Improved loadFoldersFrom4NK to get retrieve folder with his messages
This commit is contained in:
parent
15d9d80b52
commit
dd5e55f089
@ -4,7 +4,7 @@ import { createContext, useContext, useState, useEffect, useCallback, ReactNode
|
||||
import MessageBus from "@/lib/4nk/MessageBus";
|
||||
import { iframeUrl } from "@/app/page";
|
||||
import UserStore from "@/lib/4nk/UserStore";
|
||||
import { FolderData } from "@/lib/4nk/models/FolderData";
|
||||
import { FolderChatData, FolderData } from "@/lib/4nk/models/FolderData";
|
||||
|
||||
// Interface enrichie qui inclut maintenant les membres ET les fichiers
|
||||
export interface EnrichedFolderData extends FolderData {
|
||||
@ -82,11 +82,13 @@ export function FourNKProvider({ children }: { children: ReactNode }) {
|
||||
return;
|
||||
}
|
||||
|
||||
// console.log(validStates);
|
||||
let basePrivateData;
|
||||
let mergedMessages: FolderChatData[] = [];
|
||||
let mergedMessagesOwner: FolderChatData[] = [];
|
||||
|
||||
// validStates.forEach(state => {
|
||||
validStates.forEach((state: any) => {
|
||||
hasFoldersToLoad = true;
|
||||
const stateToProcess = referenceState;
|
||||
const stateToProcess = state;
|
||||
|
||||
const privateData = folderPrivateData[stateToProcess.state_id];
|
||||
|
||||
@ -98,29 +100,33 @@ export function FourNKProvider({ children }: { children: ReactNode }) {
|
||||
}
|
||||
// console.log("Données déchiffrées pour le state:", stateToProcess.state_id, privateData);
|
||||
|
||||
/*
|
||||
// 4. CONDITION B: On vérifie si cet état contient des messages.
|
||||
const hasMessages = (privateData.messages && privateData.messages.length > 0);
|
||||
const hasMessagesOwner = (privateData.messages_owner && privateData.messages_owner.length > 0);
|
||||
|
||||
// Si cet état n'a pas de messages, on l'ignore (return)
|
||||
if (!hasMessages && !hasMessagesOwner) {
|
||||
return; // Passe à l'état suivant
|
||||
if (privateData.messages_owner instanceof Map) {
|
||||
const messageOwnerObj = Object.fromEntries(privateData.messages_owner);
|
||||
mergedMessagesOwner.push(messageOwnerObj);
|
||||
}
|
||||
*/
|
||||
|
||||
if (privateData.messages instanceof Map) {
|
||||
const messageObj = Object.fromEntries(privateData.messages);
|
||||
mergedMessages.push(messageObj);
|
||||
}
|
||||
|
||||
if (privateData.folderNumber) {
|
||||
basePrivateData = privateData;
|
||||
}
|
||||
});
|
||||
|
||||
if (!basePrivateData) return;
|
||||
folderData.push({
|
||||
processId: processId,
|
||||
folderNumber: mainFolderNumber, // La clé unique
|
||||
name: privateData.name || `Dossier ${mainFolderNumber}`,
|
||||
description: privateData.description || '',
|
||||
created_at: privateData.created_at || new Date().toISOString(),
|
||||
updated_at: privateData.updated_at || new Date().toISOString(),
|
||||
notes: privateData.notes || [],
|
||||
messages: privateData.messages || [],
|
||||
messages_owner: privateData.messages_owner || [],
|
||||
folderNumber: mainFolderNumber,
|
||||
name: basePrivateData.name || `Dossier ${mainFolderNumber}`,
|
||||
description: basePrivateData.description || '',
|
||||
created_at: basePrivateData.created_at || new Date().toISOString(),
|
||||
updated_at: basePrivateData.updated_at || new Date().toISOString(),
|
||||
notes: basePrivateData.notes || [],
|
||||
messages: mergedMessages || [],
|
||||
messages_owner: mergedMessagesOwner || [],
|
||||
});
|
||||
// });
|
||||
});
|
||||
|
||||
|
||||
@ -136,7 +142,7 @@ export function FourNKProvider({ children }: { children: ReactNode }) {
|
||||
setFolders(folderData);
|
||||
setLoadingFolders(false);
|
||||
}
|
||||
}, [folderProcesses, myFolderProcesses, folderPrivateData, fetchFolderPrivateData, setFolders, setLoadingFolders]); // J'ai ajouté setFolders et setLoadingFolders aux dépendances
|
||||
}, [folderProcesses, myFolderProcesses, folderPrivateData, fetchFolderPrivateData, setFolders, setLoadingFolders]);
|
||||
|
||||
const loadMembersFrom4NK = useCallback(() => {
|
||||
if (!processes || !userPairingId) return;
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user