mirror of
https://github.com/TandoorRecipes/recipes.git
synced 2026-01-01 12:18:45 -05:00
278 lines
7.6 KiB
TypeScript
278 lines
7.6 KiB
TypeScript
/* 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<Keyword>}
|
|
* @memberof Recipe
|
|
*/
|
|
keywords?: Array<Keyword>;
|
|
/**
|
|
*
|
|
* @type {Array<Step>}
|
|
* @memberof Recipe
|
|
*/
|
|
steps: Array<Step>;
|
|
/**
|
|
*
|
|
* @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<Property>}
|
|
* @memberof Recipe
|
|
*/
|
|
properties?: Array<Property>;
|
|
/**
|
|
*
|
|
* @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<User>}
|
|
* @memberof Recipe
|
|
*/
|
|
shared?: Array<User>;
|
|
}
|
|
|
|
/**
|
|
* 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<any>).map(KeywordFromJSON)),
|
|
'steps': ((json['steps'] as Array<any>).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<any>).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<any>).map(UserFromJSON)),
|
|
};
|
|
}
|
|
|
|
export function RecipeToJSON(value?: Omit<Recipe, 'image'|'createdBy'|'createdAt'|'updatedAt'|'foodProperties'|'rating'|'lastCooked'> | 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<any>).map(KeywordToJSON)),
|
|
'steps': ((value['steps'] as Array<any>).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<any>).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<any>).map(UserToJSON)),
|
|
};
|
|
}
|
|
|