Update query video for picklist
This commit is contained in:
28
src/service/KSVideoService.js
Normal file
28
src/service/KSVideoService.js
Normal file
@@ -0,0 +1,28 @@
|
|||||||
|
import axios from 'axios';
|
||||||
|
|
||||||
|
export const KSVideoService = {
|
||||||
|
/**
|
||||||
|
* Recupera tutti i KSVideo per il progetto selezionato dall'utente corrente
|
||||||
|
* @returns {Promise} Promise con la lista di KSVideo
|
||||||
|
*/
|
||||||
|
getKSVideos() {
|
||||||
|
return axios.get('/ksVideos');
|
||||||
|
},
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Recupera tutti i KSVideo completati per il progetto selezionato dall'utente corrente
|
||||||
|
* @returns {Promise} Promise con la lista di KSVideo completati
|
||||||
|
*/
|
||||||
|
getCompletedKSVideos() {
|
||||||
|
return axios.get('/ksVideos/completed');
|
||||||
|
},
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Recupera tutti i KSVideo per un progetto specifico
|
||||||
|
* @param {string} projectId - ID del progetto
|
||||||
|
* @returns {Promise} Promise con la lista di KSVideo
|
||||||
|
*/
|
||||||
|
getKSVideosByProject(projectId) {
|
||||||
|
return axios.post('/ksVideos/byProject', projectId);
|
||||||
|
}
|
||||||
|
};
|
||||||
@@ -6,6 +6,7 @@ import MarkdownViewer from '@/components/MarkdownViewer.vue';
|
|||||||
import ScenarioFileUpload from '@/components/ScenarioFileUpload.vue';
|
import ScenarioFileUpload from '@/components/ScenarioFileUpload.vue';
|
||||||
import WorkflowResponsePanel from '@/components/WorkflowResponsePanel.vue';
|
import WorkflowResponsePanel from '@/components/WorkflowResponsePanel.vue';
|
||||||
import { KSDocumentService } from '@/service/KSDocumentService';
|
import { KSDocumentService } from '@/service/KSDocumentService';
|
||||||
|
import { KSVideoService } from '@/service/KSVideoService';
|
||||||
import { FileUploadStore } from '@/stores/FileUploadStore';
|
import { FileUploadStore } from '@/stores/FileUploadStore';
|
||||||
import { KsVideoGroupStore } from '@/stores/KsVideoGroupStore';
|
import { KsVideoGroupStore } from '@/stores/KsVideoGroupStore';
|
||||||
import { LoadingStore } from '@/stores/LoadingStore';
|
import { LoadingStore } from '@/stores/LoadingStore';
|
||||||
@@ -215,10 +216,18 @@ const extractFoldersFromItems = (items) => {
|
|||||||
|
|
||||||
const loadKsFolders = async () => {
|
const loadKsFolders = async () => {
|
||||||
try {
|
try {
|
||||||
const docsResponse = await KSDocumentService.getKSDocuments();
|
// Carica sia documenti che video con query separate
|
||||||
const documents = docsResponse.data || [];
|
const [docsResponse, videosResponse] = await Promise.all([
|
||||||
|
KSDocumentService.getKSDocuments(),
|
||||||
|
KSVideoService.getKSVideos()
|
||||||
|
]);
|
||||||
|
|
||||||
const allItems = [...documents, ...videoGroups.value];
|
const documents = docsResponse.data || [];
|
||||||
|
const videos = videosResponse.data || [];
|
||||||
|
|
||||||
|
// Combina documenti e video per l'estrazione dei folder
|
||||||
|
// Facciamo distinct sui ksKnowledgePath
|
||||||
|
const allItems = [...documents, ...videos];
|
||||||
const { folders, folderMap } = extractFoldersFromItems(allItems);
|
const { folders, folderMap } = extractFoldersFromItems(allItems);
|
||||||
|
|
||||||
// Calcola il numero di subfolder per ogni folder
|
// Calcola il numero di subfolder per ogni folder
|
||||||
|
|||||||
Reference in New Issue
Block a user