From 9cae9c1d2a0b4f7fa72f3075541b9ffafe1a7275 Mon Sep 17 00:00:00 2001 From: Zach Berwaldt Date: Fri, 15 Mar 2024 18:49:43 -0400 Subject: Add routes for preference, clean up and add types --- fe/src/types.ts | 45 +++++++++++++++++++++++++++++++++++++++------ 1 file changed, 39 insertions(+), 6 deletions(-) (limited to 'fe/src/types.ts') diff --git a/fe/src/types.ts b/fe/src/types.ts index 526e7eb..c8f2f00 100644 --- a/fe/src/types.ts +++ b/fe/src/types.ts @@ -1,14 +1,19 @@ -export interface Size { - size: number; - unit: string; -} +import type { Invalidator, Subscriber, Unsubscriber, Updater } from "svelte/store"; export interface Preference { + id: number; color: string; - size: Size; + size_id: number; + user_id: number; +} + +export interface Size { + size: number; + unit: string; } export interface User { + id: number; name: string; uuid: string; } @@ -17,4 +22,32 @@ export interface Statistic { user_id: string; date: string; quantity: number; -} \ No newline at end of file +} + +export type Nullable = T | null; + +export interface User { + uuid: string; + username: string; +} + +export interface TokenStore { + subscribe: (run: Subscriber>, invalidate?: Invalidator>) => Unsubscriber, + authenticate: (newToken: string) => void, + unauthenticate: () => void +} + + +export interface UserStore { + subscribe: (run: Subscriber>, invalidate?: Invalidator>) => Unsubscriber, + setUser: (user: User) => void, + reset: () => void +} + +export interface PreferenceStore { + set: (this: void, value: Preference) => void; + subscribe: (this: void, run: Subscriber>, invalidate?: Invalidator>) => Unsubscriber; + reset: () => void; + update: (this: void, updater: Updater>) => void; + setPreference: (user: Preference) => void; +} -- cgit v1.1