aboutsummaryrefslogtreecommitdiff
path: root/src/routes/groceries/+page.server.ts
blob: 1cae2753a3693e09161ac59c3ac82b91237fb990 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33

import { loadUnchecked, loadAll } from '$lib/server/services/groceries';
import {
	addGroceryAction,
	addGroceryAndEditAction,
	toggleGroceryAction,
} from '$lib/server/services/grocery-actions';
import type { EnrichedGrocery } from '$lib/server/services/groceries';
import type { Category } from '$lib/server/services/types';
import type { Actions, PageServerLoad } from './$types';

export interface GroceriesOutput {
	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: ({ request }) => addGroceryAction(request),

	toggle: ({ request }) => toggleGroceryAction(request),

	addAndEdit: ({ request }) => addGroceryAndEditAction(request),
};