aboutsummaryrefslogtreecommitdiff
path: root/src/lib/server/services/routine-actions.ts
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/server/services/routine-actions.ts')
-rw-r--r--src/lib/server/services/routine-actions.ts15
1 files changed, 10 insertions, 5 deletions
diff --git a/src/lib/server/services/routine-actions.ts b/src/lib/server/services/routine-actions.ts
index 44ba2b8..1d7f8b5 100644
--- a/src/lib/server/services/routine-actions.ts
+++ b/src/lib/server/services/routine-actions.ts
@@ -1,7 +1,8 @@
import { fail, type ActionFailure } from '@sveltejs/kit';
import { archive, complete, edit, loadCurrent } from './routines';
-import { parseFormString, parseFrequencyDays } from './validation';
+import { parseFormString } from './validation';
import { instantFromDay } from '$lib/shared/temporal';
+import { Frequency } from '$lib/shared/frequency';
/** Shared routine edit/complete actions; rejects missing/archived routines. */
@@ -26,16 +27,20 @@ export async function editRoutineAction(
return fail(400, { error: 'Le nom est requis' });
}
- let frequencyDays: number;
+ let frequency: string;
try {
- frequencyDays = parseFrequencyDays(data.get('frequencyDays'));
+ frequency = Frequency.parse(
+ data.get('frequency')?.toString() ?? '',
+ ).toSpec();
} catch {
return fail(400, { error: 'Fréquence invalide' });
}
// Only touch description when the form sends one; list edits never wipe it.
- const fields: { name: string; frequencyDays: number; description?: string } =
- { name, frequencyDays };
+ const fields: { name: string; frequency: string; description?: string } = {
+ name,
+ frequency,
+ };
const description = data.get('description');
if (description !== null) {
fields.description = description.toString();