Changes
6 changed files (+46/-44)
-
-
@@ -23,7 +23,7 @@ }} export async function idbBackend(): Promise<IDBBackend> { const db = await openDB<YamoriDB>("yamori", 10, { const db = await openDB<YamoriDB>("yamori", 11, { // TODO: マイグレーションを個別のファイルに切り分ける async upgrade(db, oldVersion, _newVersion, transaction, _event) { // v1
-
@@ -349,6 +349,26 @@ id: generateID(),workspaceId: workspace.value.id, baseId: table.id, }); } } } // v11 if (oldVersion < 11) { const store = transaction.objectStore("workRecords"); for await (const record of store.iterate()) { switch (record.value.record?.type) { case "legal_leave": case "special_leave": store.put({ ...record.value, record: { type: "workspace_defined_leave", leave_id: record.value.record.leave_id, }, }); break; } } }
-
-
-
@@ -88,11 +88,21 @@ type: "paid_leave";providedAtPacked?: number; } | { /** * @deprecated */ type: "legal_leave"; leave_id: string; } | { /** * @deprecated */ type: "special_leave"; leave_id: string; } | { type: "workspace_defined_leave"; leave_id: string; }; };
-
-
-
@@ -43,7 +43,7 @@ leaveDefinitions: [],updatedAt: Date.now(), }, mask: proto.create(WorkRecordReadMaskSchema, { legalLeaveReadMask: {}, workspaceDefinedLeaveMask: {}, }), }, ),
-
-
-
@@ -187,23 +187,13 @@ } else if (value.record?.type === "paid_leave") {value.record = undefined; } break; case WorkRecordBatchWriteInputSchema.field.legalLeaveId.number: if (message.record.case === "legalLeaveId") { value.record = { type: "legal_leave", leave_id: message.record.value.value, }; } else if (value.record?.type === "legal_leave") { value.record = undefined; } break; case WorkRecordBatchWriteInputSchema.field.specialLeaveId.number: if (message.record.case === "specialLeaveId") { case WorkRecordBatchWriteInputSchema.field.workspaceDefinedLeaveId.number: if (message.record.case === "workspaceDefinedLeaveId") { value.record = { type: "special_leave", type: "workspace_defined_leave", leave_id: message.record.value.value, }; } else if (value.record?.type === "special_leave") { } else if (value.record?.type === "workspace_defined_leave") { value.record = undefined; } break;
-
@@ -334,32 +324,17 @@ },}; } break; case WorkRecordSchema.field.legalLeave.number: if (entry.record?.type === "legal_leave") { case WorkRecordSchema.field.workspaceDefinedLeave.number: if (entry.record?.type === "workspace_defined_leave") { const id = entry.record.leave_id; const found = workspace.leaveDefinitions.find((def) => def.id === id); init.record = found && { case: "legalLeave", case: "workspaceDefinedLeave", value: leave.build(found, { date: unpackDate(entry.datePacked), mask: mask.legalLeaveReadMask, }), }; } break; case WorkRecordSchema.field.specialLeave.number: if (entry.record?.type === "special_leave") { const id = entry.record.leave_id; const found = workspace.leaveDefinitions.find((def) => def.id === id); init.record = found && { case: "specialLeave", value: leave.build(found, { date: unpackDate(entry.datePacked), mask: mask.specialLeaveReadMask, mask: mask.workspaceDefinedLeaveMask, }), }; }
-
-
-
@@ -194,7 +194,7 @@ writeWorkRecordKey: worker.writeWorkRecordKey,workRecord: { dates: [{ year: 2024, month: 1, day: 1 }], record: { case: "legalLeaveId", case: "workspaceDefinedLeaveId", value: { value: leave.id?.value + "-000" }, }, },
-
@@ -238,7 +238,7 @@ { year: 2024, month: 1, day: 1 },{ year: 2024, month: 1, day: 2 }, ], record: { case: "legalLeaveId", case: "workspaceDefinedLeaveId", value: leave.id!, }, },
-
@@ -592,7 +592,7 @@ writeWorkRecordKey: worker.writeWorkRecordKey,workRecord: { dates: [{ year: 2024, month: 1, day: 1 }], record: { case: "specialLeaveId", case: "workspaceDefinedLeaveId", value: leave.id!, }, },
-
@@ -610,7 +610,7 @@ month: 1,day: 1, }), record: expect.objectContaining({ case: "specialLeave", case: "workspaceDefinedLeave", value: expect.objectContaining({ id: leave.id, }),
-
@@ -647,7 +647,7 @@ month: 1,day: 1, }), record: expect.objectContaining({ case: "specialLeave", case: "workspaceDefinedLeave", value: expect.objectContaining({ id: leave.id, }),
-
-
-
@@ -109,10 +109,7 @@ },}); } if ( req.workRecord.record.case === "legalLeaveId" || req.workRecord.record.case === "specialLeaveId" ) { if (req.workRecord.record.case === "workspaceDefinedLeaveId") { const leaveId = req.workRecord.record.value.value; const match = found.leaveDefinitions.find((def) => def.id === leaveId); if (!match) {
-