diff --git a/src/common/Api/LeCoffreApi/sdk/DeedTypeService.ts b/src/common/Api/LeCoffreApi/sdk/DeedTypeService.ts index 9f67c8ac..251825dc 100644 --- a/src/common/Api/LeCoffreApi/sdk/DeedTypeService.ts +++ b/src/common/Api/LeCoffreApi/sdk/DeedTypeService.ts @@ -21,6 +21,7 @@ export default class DeedTypeService extends AbstractService { isDeleted: 'false', created_at: new Date().toISOString(), updated_at: new Date().toISOString(), + document_types: [], ...deedTypeData }; @@ -63,39 +64,36 @@ export default class DeedTypeService extends AbstractService { } } - public static getDeedTypes(callback: (processes: any[]) => void): void { + public static getDeedTypes(callback: (processes: Record) => void): void { // Check if we have valid cache - const items: any[] = this.getItems('_deed_types_'); - if (items.length > 0) { - setTimeout(() => callback([...items]), 0); + const items: Record = this.getItems('_deed_types_'); + if (Object.keys(items).length > 0) { + setTimeout(() => callback(items), 0); } - this.messageBus.getProcessesDecoded((values: any) => { - return values['utype'] === 'deedType' + this.messageBus.getProcessesDecoded((_processId: string, values: any) => { + return values['utype'] + && values['utype'] === 'deedType' + && values['isDeleted'] && values['isDeleted'] === 'false'; - }).then(async (processes: any) => { - if (processes.length === 0) { - callback([...items]); + }).then(async (processes: Record) => { + if (Object.keys(processes).length === 0) { + callback(items); return; } - const updatedItems: any[] = [...items]; + console.log('[DeedTypeService/getDeedTypes] processes', processes); - for (let processIndex = 0; processIndex < processes.length; processIndex++) { - const process = processes[processIndex]; - + const updatedItems: Record = { ...items }; + + for (const [processId, process] of Object.entries(processes)) { // Update cache - this.setItem('_deed_types_', process); + this.setItem('_deed_types_', processId, process); - const existingIndex: number = updatedItems.findIndex(item => item.processData?.uid === process.processData?.uid); - if (existingIndex >= 0) { - updatedItems[existingIndex] = process; - } else { - updatedItems.push(process); - } + updatedItems[processId] = process; } - callback([...updatedItems]); + callback(updatedItems); }); } @@ -115,7 +113,7 @@ export default class DeedTypeService extends AbstractService { const processData = await this.messageBus.getProcessData(processId); // Update cache - this.setItem('_deed_types_', processData); + this.setItem('_deed_types_', processId, processData); } catch (error) { console.error('Failed to update deed type:', error); throw error; // Re-throw to allow caller to handle