aboutsummaryrefslogtreecommitdiff
path: root/src/routes/+page.server.ts
diff options
context:
space:
mode:
Diffstat (limited to 'src/routes/+page.server.ts')
-rw-r--r--src/routes/+page.server.ts71
1 files changed, 0 insertions, 71 deletions
diff --git a/src/routes/+page.server.ts b/src/routes/+page.server.ts
deleted file mode 100644
index 1e6f60b..0000000
--- a/src/routes/+page.server.ts
+++ /dev/null
@@ -1,71 +0,0 @@
-import { fail, redirect, error } from '@sveltejs/kit';
-import {
- loadUnchecked,
- loadAll,
- toggle,
- addOrUncheck,
-} from '$lib/server/services/groceries';
-import {
- numericId,
- parseFormString,
- parseOptionalNumber,
-} from '$lib/server/services/validation';
-import type { EnrichedGrocery } from '$lib/server/services/groceries';
-import type { Category } from '$lib/server/services/types';
-import type { Actions, PageServerLoad } from './$types';
-
-export interface HomeOutput {
- items: EnrichedGrocery[];
- categories: Category[];
- catalog: EnrichedGrocery[];
-}
-
-export const load: PageServerLoad = async () => {
- const unchecked = await loadUnchecked();
- const all = await loadAll();
- return {
- items: unchecked.items,
- categories: unchecked.categories,
- catalog: all.items,
- };
-};
-
-export const actions: Actions = {
- add: async ({ request }) => {
- const data = await request.formData();
- const name = parseFormString(data.get('name'));
- const categoryId = parseOptionalNumber(data.get('category_id'));
-
- if (!name) {
- return fail(400, { error: 'Le nom est requis' });
- }
-
- await addOrUncheck(name, categoryId);
- const { items } = await loadUnchecked();
- return { success: true, items };
- },
-
- toggle: async ({ request }) => {
- const data = await request.formData();
- try {
- const id = numericId(data.get('id'));
- await toggle(id);
- } catch {
- return fail(400, { error: 'ID invalide' });
- }
- return { success: true };
- },
-
- addAndEdit: async ({ request }) => {
- const data = await request.formData();
- const name = parseFormString(data.get('name'));
- const categoryId = parseOptionalNumber(data.get('category_id'));
-
- if (!name) {
- return fail(400, { error: 'Le nom est requis' });
- }
-
- const { item, created } = await addOrUncheck(name, categoryId);
- throw redirect(303, `/grocery/${item.id}`);
- },
-};