/* tslint:disable */ /* eslint-disable */ /** * Tandoor * Tandoor API Docs * * The version of the OpenAPI document: 0.0.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). * https://openapi-generator.tech * Do not edit the class manually. */ import { mapValues } from '../runtime'; import type { User } from './User'; import { UserFromJSON, UserFromJSONTyped, UserToJSON, } from './User'; import type { Keyword } from './Keyword'; import { KeywordFromJSON, KeywordFromJSONTyped, KeywordToJSON, } from './Keyword'; import type { Step } from './Step'; import { StepFromJSON, StepFromJSONTyped, StepToJSON, } from './Step'; import type { Property } from './Property'; import { PropertyFromJSON, PropertyFromJSONTyped, PropertyToJSON, } from './Property'; import type { NutritionInformation } from './NutritionInformation'; import { NutritionInformationFromJSON, NutritionInformationFromJSONTyped, NutritionInformationToJSON, } from './NutritionInformation'; /** * Adds nested create feature * @export * @interface Recipe */ export interface Recipe { /** * * @type {number} * @memberof Recipe */ id?: number; /** * * @type {string} * @memberof Recipe */ name: string; /** * * @type {string} * @memberof Recipe */ description?: string; /** * * @type {string} * @memberof Recipe */ readonly image: string | null; /** * * @type {Array} * @memberof Recipe */ keywords?: Array; /** * * @type {Array} * @memberof Recipe */ steps: Array; /** * * @type {number} * @memberof Recipe */ workingTime?: number; /** * * @type {number} * @memberof Recipe */ waitingTime?: number; /** * * @type {User} * @memberof Recipe */ readonly createdBy: User; /** * * @type {Date} * @memberof Recipe */ readonly createdAt: Date; /** * * @type {Date} * @memberof Recipe */ readonly updatedAt: Date; /** * * @type {string} * @memberof Recipe */ sourceUrl?: string; /** * * @type {boolean} * @memberof Recipe */ internal?: boolean; /** * * @type {boolean} * @memberof Recipe */ showIngredientOverview?: boolean; /** * * @type {NutritionInformation} * @memberof Recipe */ nutrition?: NutritionInformation; /** * * @type {Array} * @memberof Recipe */ properties?: Array; /** * * @type {any} * @memberof Recipe */ readonly foodProperties: any | null; /** * * @type {number} * @memberof Recipe */ servings?: number; /** * * @type {string} * @memberof Recipe */ filePath?: string; /** * * @type {string} * @memberof Recipe */ servingsText?: string; /** * * @type {number} * @memberof Recipe */ readonly rating: number | null; /** * * @type {Date} * @memberof Recipe */ readonly lastCooked: Date | null; /** * * @type {boolean} * @memberof Recipe */ _private?: boolean; /** * * @type {Array} * @memberof Recipe */ shared?: Array; } /** * Check if a given object implements the Recipe interface. */ export function instanceOfRecipe(value: object): value is Recipe { if (!('name' in value) || value['name'] === undefined) return false; if (!('image' in value) || value['image'] === undefined) return false; if (!('steps' in value) || value['steps'] === undefined) return false; if (!('createdBy' in value) || value['createdBy'] === undefined) return false; if (!('createdAt' in value) || value['createdAt'] === undefined) return false; if (!('updatedAt' in value) || value['updatedAt'] === undefined) return false; if (!('foodProperties' in value) || value['foodProperties'] === undefined) return false; if (!('rating' in value) || value['rating'] === undefined) return false; if (!('lastCooked' in value) || value['lastCooked'] === undefined) return false; return true; } export function RecipeFromJSON(json: any): Recipe { return RecipeFromJSONTyped(json, false); } export function RecipeFromJSONTyped(json: any, ignoreDiscriminator: boolean): Recipe { if (json == null) { return json; } return { 'id': json['id'] == null ? undefined : json['id'], 'name': json['name'], 'description': json['description'] == null ? undefined : json['description'], 'image': json['image'], 'keywords': json['keywords'] == null ? undefined : ((json['keywords'] as Array).map(KeywordFromJSON)), 'steps': ((json['steps'] as Array).map(StepFromJSON)), 'workingTime': json['working_time'] == null ? undefined : json['working_time'], 'waitingTime': json['waiting_time'] == null ? undefined : json['waiting_time'], 'createdBy': UserFromJSON(json['created_by']), 'createdAt': (new Date(json['created_at'])), 'updatedAt': (new Date(json['updated_at'])), 'sourceUrl': json['source_url'] == null ? undefined : json['source_url'], 'internal': json['internal'] == null ? undefined : json['internal'], 'showIngredientOverview': json['show_ingredient_overview'] == null ? undefined : json['show_ingredient_overview'], 'nutrition': json['nutrition'] == null ? undefined : NutritionInformationFromJSON(json['nutrition']), 'properties': json['properties'] == null ? undefined : ((json['properties'] as Array).map(PropertyFromJSON)), 'foodProperties': json['food_properties'], 'servings': json['servings'] == null ? undefined : json['servings'], 'filePath': json['file_path'] == null ? undefined : json['file_path'], 'servingsText': json['servings_text'] == null ? undefined : json['servings_text'], 'rating': json['rating'], 'lastCooked': (json['last_cooked'] == null ? null : new Date(json['last_cooked'])), '_private': json['private'] == null ? undefined : json['private'], 'shared': json['shared'] == null ? undefined : ((json['shared'] as Array).map(UserFromJSON)), }; } export function RecipeToJSON(value?: Omit | null): any { if (value == null) { return value; } return { 'id': value['id'], 'name': value['name'], 'description': value['description'], 'keywords': value['keywords'] == null ? undefined : ((value['keywords'] as Array).map(KeywordToJSON)), 'steps': ((value['steps'] as Array).map(StepToJSON)), 'working_time': value['workingTime'], 'waiting_time': value['waitingTime'], 'source_url': value['sourceUrl'], 'internal': value['internal'], 'show_ingredient_overview': value['showIngredientOverview'], 'nutrition': NutritionInformationToJSON(value['nutrition']), 'properties': value['properties'] == null ? undefined : ((value['properties'] as Array).map(PropertyToJSON)), 'servings': value['servings'], 'file_path': value['filePath'], 'servings_text': value['servingsText'], 'private': value['_private'], 'shared': value['shared'] == null ? undefined : ((value['shared'] as Array).map(UserToJSON)), }; }