All files / src/lib/graphql/resolvers/recipe types.ts

0% Statements 0/0
0% Branches 0/0
0% Functions 0/0
0% Lines 0/0

Press n or j to go to the next uncovered block, b, p or k for the previous block.

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 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58                                                                                                                   
import type {
  RecipeIngredient,
  RecipeMetadataOption,
  RecipePreparationStep,
} from '@/types/recipe';
 
export type IngredientInput = RecipeIngredient;
 
export type PreparationStepInput = RecipePreparationStep;
 
export type MetaInputPartial = RecipeMetadataOption;
 
export interface RecipeInputBase {
  title: string;
  description?: string;
  ingredients: IngredientInput[];
  preparationSteps: PreparationStepInput[];
  category: MetaInputPartial;
  labels?: MetaInputPartial[];
  imgSrc?: string;
  cookingTime: number;
  difficultyLevel: MetaInputPartial;
  servings: number;
  youtubeLink?: string;
 
  // New time fields
  prepTimeMinutes?: number;
  cookTimeMinutes?: number;
  restTimeMinutes?: number;
 
  // New metadata fields
  servingUnit?: MetaInputPartial;
  cuisine?: MetaInputPartial;
  dietaryFlags?: MetaInputPartial[];
  allergens?: MetaInputPartial[];
  equipment?: MetaInputPartial[];
  costLevel?: MetaInputPartial;
 
  // Text fields
  tips?: string;
  substitutions?: string;
 
  // SEO fields
  slug?: string;
  seoTitle?: string;
  seoDescription?: string;
  socialImage?: string;
}
 
export interface RecipeCreateInput extends RecipeInputBase {}
 
export interface RecipeEditInput extends RecipeInputBase {}
 
export interface RatingInput {
  recipeId: string;
  ratingValue: number;
}