Skip to content

Commit 6769687

Browse files
committed
refactor: useQueueStore
1 parent b9e8bd4 commit 6769687

File tree

2 files changed

+28
-71
lines changed

2 files changed

+28
-71
lines changed

src/platform/assets/composables/useMediaAssets/useAssetsApi.ts

Lines changed: 15 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,7 @@ import { ref } from 'vue'
22

33
import type { AssetItem } from '@/platform/assets/schemas/assetSchema'
44
import { assetService } from '@/platform/assets/services/assetService'
5-
import type { HistoryTaskItem } from '@/schemas/apiSchema'
6-
import { api } from '@/scripts/api'
7-
import { TaskItemImpl } from '@/stores/queueStore'
5+
import { useQueueStore } from '@/stores/queueStore'
86
import { truncateFilename } from '@/utils/formatUtil'
97

108
import { mapTaskOutputToAssetItem } from './assetMappers'
@@ -43,41 +41,22 @@ export function useAssetsApi() {
4341
}))
4442
}
4543

46-
// For output directory, fetch history data and convert to AssetItem format
47-
const historyResponse = await api.getHistory(200)
44+
// For output directory, use QueueStore's flatTasks
45+
const queueStore = useQueueStore()
4846

49-
if (!historyResponse?.History) {
50-
return []
51-
}
52-
53-
// Convert history items to AssetItem format
54-
const assetItems: AssetItem[] = []
55-
56-
historyResponse.History.forEach((historyItem: HistoryTaskItem) => {
57-
// Create TaskItemImpl to use existing logic
58-
const taskItem = new TaskItemImpl(
59-
historyItem.taskType,
60-
historyItem.prompt,
61-
historyItem.status,
62-
historyItem.outputs
47+
// Get all flat tasks that have preview outputs
48+
const assetItems: AssetItem[] = queueStore.flatTasks
49+
.filter(
50+
(task) => task.previewOutput && task.displayStatus === 'Completed'
6351
)
64-
65-
// Only process completed tasks
66-
if (taskItem.displayStatus === 'Completed' && taskItem.outputs) {
67-
// Process each output
68-
taskItem.flatOutputs.forEach((output) => {
69-
// Only include output type files (not temp previews)
70-
if (output.type === 'output' && output.supportsPreview) {
71-
const assetItem = mapTaskOutputToAssetItem(
72-
taskItem,
73-
output,
74-
true // Use display name for cloud
75-
)
76-
assetItems.push(assetItem)
77-
}
78-
})
79-
}
80-
})
52+
.map((task) => {
53+
const output = task.previewOutput!
54+
return mapTaskOutputToAssetItem(
55+
task,
56+
output,
57+
true // Use display name for cloud
58+
)
59+
})
8160

8261
return assetItems
8362
} catch (err) {

src/platform/assets/composables/useMediaAssets/useInternalFilesApi.ts

Lines changed: 13 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,8 @@
11
import { ref } from 'vue'
22

33
import type { AssetItem } from '@/platform/assets/schemas/assetSchema'
4-
import type { HistoryTaskItem } from '@/schemas/apiSchema'
54
import { api } from '@/scripts/api'
6-
import { TaskItemImpl } from '@/stores/queueStore'
5+
import { useQueueStore } from '@/stores/queueStore'
76

87
import {
98
mapInputFileToAssetItem,
@@ -47,41 +46,20 @@ export function useInternalFilesApi() {
4746
)
4847
}
4948

50-
// For output directory, use history data like QueueSidebarTab
51-
const historyResponse = await api.getHistory(200)
49+
const queueStore = useQueueStore()
5250

53-
if (!historyResponse?.History) {
54-
return []
55-
}
56-
57-
const assetItems: AssetItem[] = []
58-
59-
// Process history items using TaskItemImpl like QueueSidebarTab
60-
historyResponse.History.forEach((historyItem: HistoryTaskItem) => {
61-
// Create TaskItemImpl to use the same logic as QueueSidebarTab
62-
const taskItem = new TaskItemImpl(
63-
'History',
64-
historyItem.prompt,
65-
historyItem.status,
66-
historyItem.outputs
51+
const assetItems: AssetItem[] = queueStore.flatTasks
52+
.filter(
53+
(task) => task.previewOutput && task.displayStatus === 'Completed'
6754
)
68-
69-
// Only process completed tasks
70-
if (taskItem.displayStatus === 'Completed' && taskItem.outputs) {
71-
// Process each output using flatOutputs like QueueSidebarTab
72-
taskItem.flatOutputs.forEach((output) => {
73-
// Only include output type files (not temp previews)
74-
if (output.type === 'output' && output.supportsPreview) {
75-
const assetItem = mapTaskOutputToAssetItem(
76-
taskItem,
77-
output,
78-
false // Don't use display name for internal
79-
)
80-
assetItems.push(assetItem)
81-
}
82-
})
83-
}
84-
})
55+
.map((task) => {
56+
const output = task.previewOutput!
57+
return mapTaskOutputToAssetItem(
58+
task,
59+
output,
60+
false // Don't use display name for internal
61+
)
62+
})
8563

8664
// Sort by creation date (newest first)
8765
return assetItems.sort(

0 commit comments

Comments
 (0)