From 0685e9ece66fbcb09c9457027cf7bb2107cc0171 Mon Sep 17 00:00:00 2001 From: Martin Kagamino Lehoux Date: Sun, 18 Oct 2026 22:02:02 +0200 Subject: refactor: inject the database into services via a constructor Pilot on the categories service: a CategoriesService class holds the Drizzle handle, and services/index.ts wires the real instance once for the server while tests build their own on an in-memory database. AppDatabase moves from groceries.ts to db/types.ts. --- src/lib/server/services/grocery-actions.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'src/lib/server/services/grocery-actions.ts') diff --git a/src/lib/server/services/grocery-actions.ts b/src/lib/server/services/grocery-actions.ts index cedb46e..2eff205 100644 --- a/src/lib/server/services/grocery-actions.ts +++ b/src/lib/server/services/grocery-actions.ts @@ -1,6 +1,6 @@ import { fail, redirect, type ActionFailure } from '@sveltejs/kit'; import { addOrUncheck, loadUnchecked, toggle } from './groceries'; -import { add as addCategory } from './categories'; +import { categoriesService } from '$lib/server/services'; import { numericId, parseFormString, parseOptionalNumber } from './validation'; import { isUniqueViolation } from '$lib/server/db/errors'; @@ -52,7 +52,7 @@ export async function addCategoryAction(request: Request) { } try { - await addCategory(name); + await categoriesService.add(name); } catch (error) { if (isUniqueViolation(error)) { return fail(400, { error: 'Cette catégorie existe déjà' }); -- cgit v1.3