// 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 { id: string filename: string url?: string } export interface Recipe extends BaseRecord { name: string, description?: string, servings?: number, images?: string[], // image IDs ingredients: string[] steps: string[], tags?: string[] expand: { images?: Image[], // image IDs, ingredients: Ingredient[] steps: Step[], tags?: Tag[] } } export const Collection = { RECIPES: 'recipes', STEPS: 'steps', INGREDIENTS: 'ingredients', TAGS: 'tags', IMAGES: 'images' }