From f8a7231cd0d4d4fab31f75e7671b4e5221ff9af7 Mon Sep 17 00:00:00 2001 From: Julien Calixte Date: Mon, 10 Apr 2023 13:39:01 +0200 Subject: [PATCH] next step record and create / retrieve a task record --- .../record/stores/useTaskRecordStore.ts | 34 +++++++++++++++++++ 1 file changed, 34 insertions(+) diff --git a/src/modules/record/stores/useTaskRecordStore.ts b/src/modules/record/stores/useTaskRecordStore.ts index d1e94ed..5ee2fe5 100644 --- a/src/modules/record/stores/useTaskRecordStore.ts +++ b/src/modules/record/stores/useTaskRecordStore.ts @@ -56,6 +56,23 @@ export const useTaskRecordStore = defineStore('task-record-store', { stepRecord.end = params.end }, + nextStepRecord(params: { + recordId: string + currentStepId: string + nextStepId: string + tick: ISODate + }) { + this.endStepRecord({ + recordId: params.recordId, + stepId: params.currentStepId, + end: params.tick + }) + this.startStepRecord({ + recordId: params.recordId, + stepId: params.nextStepId, + start: params.tick + }) + }, addProblemToStepRecord(recordId: string, stepId: string, problem: string) { const stepRecord = this.getStepRecord(recordId, stepId) @@ -73,6 +90,23 @@ export const useTaskRecordStore = defineStore('task-record-store', { TaskRecord.fromRecordable(this.records[recordId]) ) ?? [] }, + createAndRetriveTaskRecord() { + return (taskId: string, recordId: string): TaskRecord => { + const hasTaskRecord = this.taskRecordMaps[taskId]?.some( + (rId) => rId === recordId + ) + + if (hasTaskRecord) { + return TaskRecord.fromRecordable(this.records[recordId]) + } + + const newTaskRecord = new TaskRecord(recordId, taskId) + this.taskRecordMaps[taskId]?.push(recordId) + this.records[recordId] = newTaskRecord + + return newTaskRecord + } + }, getStepRecord() { return (recordId: string, stepId: string): StepRecordable | null => this.records?.[recordId]?.stepRecords[stepId] ?? null