Skip to content

Commit 69f270b

Browse files
committed
nit
1 parent c511e96 commit 69f270b

File tree

4 files changed

+63
-3
lines changed

4 files changed

+63
-3
lines changed

src/platform/assets/components/MediaAssetCard.vue

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -305,6 +305,7 @@ const showActionsOverlay = computed(
305305
!!asset &&
306306
(isCardOrOverlayHovered.value || isVideoPlaying.value)
307307
)
308+
308309
const handleOverlayMouseEnter = () => {
309310
isOverlayHovered.value = true
310311
}

src/platform/assets/components/MediaAssetMoreMenu.vue

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -122,8 +122,6 @@ const shouldShowDeleteButton = computed(() => {
122122
return propAllows && typeAllows
123123
})
124124
125-
// (showCopyJobId is defined above based on assetType)
126-
127125
const handleInspect = () => {
128126
emit('inspect')
129127
close()

src/platform/assets/composables/media/assetMappers.ts

Lines changed: 61 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,8 @@
1+
import type { AssetItem } from '@/platform/assets/schemas/assetSchema'
2+
import type { OutputAssetMetadata } from '@/platform/assets/schemas/assetMetadataSchema'
13
import type { AssetContext } from '@/platform/assets/schemas/mediaAssetSchema'
4+
import { api } from '@/scripts/api'
5+
import type { ResultItemImpl, TaskItemImpl } from '@/stores/queueStore'
26

37
/**
48
* Extract asset type from tags array
@@ -10,3 +14,60 @@ export function getAssetType(tags?: string[]): AssetContext['type'] {
1014
if (tag === 'output') return 'output'
1115
return 'input'
1216
}
17+
18+
/**
19+
* Maps a TaskItemImpl output to an AssetItem format
20+
* @param taskItem The task item containing execution data
21+
* @param output The output from the task
22+
* @param useDisplayName Whether to truncate the filename for display
23+
* @returns AssetItem formatted object
24+
*/
25+
export function mapTaskOutputToAssetItem(
26+
taskItem: TaskItemImpl,
27+
output: ResultItemImpl
28+
): AssetItem {
29+
const metadata: OutputAssetMetadata = {
30+
promptId: taskItem.promptId,
31+
nodeId: output.nodeId,
32+
subfolder: output.subfolder,
33+
executionTimeInSeconds: taskItem.executionTimeInSeconds,
34+
format: output.format,
35+
workflow: taskItem.workflow
36+
}
37+
38+
return {
39+
id: taskItem.promptId,
40+
name: output.filename,
41+
size: 0,
42+
created_at: taskItem.executionStartTimestamp
43+
? new Date(taskItem.executionStartTimestamp).toISOString()
44+
: new Date().toISOString(),
45+
tags: ['output'],
46+
preview_url: output.url,
47+
user_metadata: metadata
48+
}
49+
}
50+
51+
/**
52+
* Maps input directory file to AssetItem format
53+
* @param filename The filename
54+
* @param index File index for unique ID
55+
* @param directory The directory type
56+
* @returns AssetItem formatted object
57+
*/
58+
export function mapInputFileToAssetItem(
59+
filename: string,
60+
index: number,
61+
directory: 'input' | 'output' = 'input'
62+
): AssetItem {
63+
return {
64+
id: `${directory}-${index}-${filename}`,
65+
name: filename,
66+
size: 0,
67+
created_at: new Date().toISOString(),
68+
tags: [directory],
69+
preview_url: api.apiURL(
70+
`/view?filename=${encodeURIComponent(filename)}&type=${directory}`
71+
)
72+
}
73+
}

src/stores/assetsStore.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ import { defineStore } from 'pinia'
44
import {
55
mapInputFileToAssetItem,
66
mapTaskOutputToAssetItem
7-
} from '@/platform/assets/composables/useMediaAssets/assetMappers'
7+
} from '@/platform/assets/composables/media/assetMappers'
88
import type { AssetItem } from '@/platform/assets/schemas/assetSchema'
99
import { assetService } from '@/platform/assets/services/assetService'
1010
import { isCloud } from '@/platform/distribution/types'

0 commit comments

Comments
 (0)