diff options
| author | Martin Kagamino Lehoux <martin@lehoux.net> | 2026-09-30 22:13:07 +0200 |
|---|---|---|
| committer | Martin Kagamino Lehoux <martin@lehoux.net> | 2026-09-30 22:13:07 +0200 |
| commit | a725d4c7d28fee701b6997cc46cffddefbcd26bf (patch) | |
| tree | 1e0899dc9fa67f8c74d7e4b7023881959d571d4f /src/lib/server/services/routines.ts | |
| parent | a17b24b8e95bf85a8522fc0c2cbbdb8da31bf018 (diff) | |
Allow granular routine frequencies like 5/2w
Diffstat (limited to 'src/lib/server/services/routines.ts')
| -rw-r--r-- | src/lib/server/services/routines.ts | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/src/lib/server/services/routines.ts b/src/lib/server/services/routines.ts index 57611d6..b1e210b 100644 --- a/src/lib/server/services/routines.ts +++ b/src/lib/server/services/routines.ts @@ -23,7 +23,7 @@ export async function nextRoutineId(db: AppDatabase): Promise<number> { export async function add( projectId: number, name: string, - frequencyDays: number, + frequency: string, db = defaultDb, ): Promise<Routine> { const id = await nextRoutineId(db); @@ -34,7 +34,7 @@ export async function add( version: 1, projectId, name, - frequencyDays, + frequency, createdAt: Temporal.Now.instant().toString({ smallestUnit: 'millisecond', }), @@ -46,7 +46,7 @@ export async function add( /** Edit = insert a version+1 snapshot, copying unchanged fields forward. */ export async function edit( id: number, - fields: Partial<Pick<Routine, 'name' | 'frequencyDays' | 'description'>>, + fields: Partial<Pick<Routine, 'name' | 'frequency' | 'description'>>, db = defaultDb, ): Promise<Routine> { const [current] = await db @@ -64,7 +64,7 @@ export async function edit( version: current.version + 1, projectId: current.projectId, name: fields.name ?? current.name, - frequencyDays: fields.frequencyDays ?? current.frequencyDays, + frequency: fields.frequency ?? current.frequency, description: fields.description ?? current.description, archived: current.archived, archivedAt: current.archivedAt, @@ -96,7 +96,7 @@ export async function archive(id: number, db = defaultDb): Promise<void> { export interface ArchivedRoutine { id: number; name: string; - frequencyDays: number; + frequency: string; createdAt: string; archivedAt: string; } @@ -125,7 +125,7 @@ export async function loadArchived( .map((r) => ({ id: r.id, name: r.name, - frequencyDays: r.frequencyDays, + frequency: r.frequency, createdAt: r.createdAt, archivedAt: r.archivedAt ?? r.createdAt, })) |
