From f7e24657f55722f2d9d704ac00df1846fbf4bb3c Mon Sep 17 00:00:00 2001 From: june Date: Fri, 15 Aug 2025 18:02:13 +1200 Subject: [PATCH] Initial schema creation --- src/data/schema.ts | 40 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 src/data/schema.ts diff --git a/src/data/schema.ts b/src/data/schema.ts new file mode 100644 index 0000000..97e3c6f --- /dev/null +++ b/src/data/schema.ts @@ -0,0 +1,40 @@ +// Base PB type +export interface BaseRecord { + id: string, + created: string, + updated: string +} + +export interface Ingredient extends BaseRecord { + quantity: string, + unit: string, + name: string +} + +export interface Step extends BaseRecord { + index: number, + instruction: string, + ingredients?: Ingredient[] +} + +export interface Tag extends BaseRecord { + name: string +} + +// not sure Image is the best type cos it might be quite heavy to get all the fields every time but +// it is here in case it is (a good idea) +export interface Image extends BaseRecord { + url: string +} + +export interface Recipe extends BaseRecord { + name: string, + description?: string, + servings?: number, + images?: string[], // image IDs + steps: Step[], + tags?: Tag[] +} + + +