regenerate fetch API

This commit is contained in:
smilerz
2024-04-18 10:56:15 -05:00
parent f312f6028d
commit fd8411b475
119 changed files with 24359 additions and 0 deletions

View File

@@ -0,0 +1,23 @@
# OpenAPI Generator Ignore
# Generated by openapi-generator https://github.com/openapitools/openapi-generator
# Use this file to prevent files from being overwritten by the generator.
# The patterns follow closely to .gitignore or .dockerignore.
# As an example, the C# client generator defines ApiClient.cs.
# You can make changes and tell OpenAPI Generator to ignore just this file by uncommenting the following line:
#ApiClient.cs
# You can match any string of characters against a directory, file or extension with a single asterisk (*):
#foo/*/qux
# The above matches foo/bar/qux and foo/baz/qux, but not foo/bar/baz/qux
# You can recursively match patterns against a directory, file or extension with a double asterisk (**):
#foo/**/qux
# This matches foo/bar/qux, foo/baz/qux, and foo/bar/baz/qux
# You can also negate patterns with an exclamation (!).
# For example, you can ignore all files in a docs folder with the file extension .md:
#docs/*.md
# Then explicitly reverse the ignore rule for a single file:
#!docs/README.md

View File

@@ -0,0 +1,115 @@
apis/ApiApi.ts
apis/ApiImportOpenDataApi.ts
apis/ApiTokenAuthApi.ts
apis/index.ts
index.ts
models/AccessToken.ts
models/AuthToken.ts
models/Automation.ts
models/BookmarkletImport.ts
models/BookmarkletImportList.ts
models/ConnectorConfigConfig.ts
models/CookLog.ts
models/CustomFilter.ts
models/DefaultPageEnum.ts
models/DeleteEnum.ts
models/ExportLog.ts
models/Food.ts
models/FoodInheritField.ts
models/FoodShoppingUpdate.ts
models/FoodSimple.ts
models/Group.ts
models/ImportLog.ts
models/Ingredient.ts
models/InviteLink.ts
models/Keyword.ts
models/KeywordLabel.ts
models/MealPlan.ts
models/MealType.ts
models/MethodEnum.ts
models/NutritionInformation.ts
models/PaginatedAutomationList.ts
models/PaginatedCookLogList.ts
models/PaginatedCustomFilterList.ts
models/PaginatedExportLogList.ts
models/PaginatedFoodList.ts
models/PaginatedImportLogList.ts
models/PaginatedIngredientList.ts
models/PaginatedKeywordList.ts
models/PaginatedRecipeOverviewList.ts
models/PaginatedStepList.ts
models/PaginatedSupermarketCategoryRelationList.ts
models/PaginatedSyncLogList.ts
models/PaginatedUnitList.ts
models/PaginatedUserSpaceList.ts
models/PaginatedViewLogList.ts
models/PatchedAccessToken.ts
models/PatchedAutomation.ts
models/PatchedBookmarkletImport.ts
models/PatchedConnectorConfigConfig.ts
models/PatchedCookLog.ts
models/PatchedCustomFilter.ts
models/PatchedExportLog.ts
models/PatchedFood.ts
models/PatchedImportLog.ts
models/PatchedIngredient.ts
models/PatchedInviteLink.ts
models/PatchedKeyword.ts
models/PatchedMealPlan.ts
models/PatchedMealType.ts
models/PatchedProperty.ts
models/PatchedPropertyType.ts
models/PatchedRecipe.ts
models/PatchedRecipeBook.ts
models/PatchedRecipeBookEntry.ts
models/PatchedShoppingListEntry.ts
models/PatchedShoppingListRecipe.ts
models/PatchedSpace.ts
models/PatchedStep.ts
models/PatchedStorage.ts
models/PatchedSupermarket.ts
models/PatchedSupermarketCategory.ts
models/PatchedSupermarketCategoryRelation.ts
models/PatchedSync.ts
models/PatchedUnit.ts
models/PatchedUnitConversion.ts
models/PatchedUser.ts
models/PatchedUserPreference.ts
models/PatchedUserSpace.ts
models/PatchedViewLog.ts
models/Property.ts
models/PropertyType.ts
models/Recipe.ts
models/RecipeBook.ts
models/RecipeBookEntry.ts
models/RecipeFlat.ts
models/RecipeImage.ts
models/RecipeOverview.ts
models/RecipeShoppingUpdate.ts
models/RecipeSimple.ts
models/ShoppingListEntry.ts
models/ShoppingListEntryBulk.ts
models/ShoppingListRecipe.ts
models/Space.ts
models/SpaceNavTextColorEnum.ts
models/SpaceThemeEnum.ts
models/Step.ts
models/Storage.ts
models/Supermarket.ts
models/SupermarketCategory.ts
models/SupermarketCategoryRelation.ts
models/Sync.ts
models/SyncLog.ts
models/ThemeEnum.ts
models/TypeEnum.ts
models/Unit.ts
models/UnitConversion.ts
models/User.ts
models/UserFile.ts
models/UserFileView.ts
models/UserPreference.ts
models/UserPreferenceNavTextColorEnum.ts
models/UserSpace.ts
models/ViewLog.ts
models/index.ts
runtime.ts

View File

@@ -0,0 +1 @@
7.5.0

10305
vue3/apis/ApiApi.ts Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,77 @@
/* 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 * as runtime from '../runtime';
/**
*
*/
export class ApiImportOpenDataApi extends runtime.BaseAPI {
/**
*/
async apiImportOpenDataCreateRaw(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<void>> {
const queryParameters: any = {};
const headerParameters: runtime.HTTPHeaders = {};
if (this.configuration && this.configuration.apiKey) {
headerParameters["Authorization"] = await this.configuration.apiKey("Authorization"); // ApiKeyAuth authentication
}
const response = await this.request({
path: `/api-import-open-data/`,
method: 'POST',
headers: headerParameters,
query: queryParameters,
}, initOverrides);
return new runtime.VoidApiResponse(response);
}
/**
*/
async apiImportOpenDataCreate(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<void> {
await this.apiImportOpenDataCreateRaw(initOverrides);
}
/**
*/
async apiImportOpenDataRetrieveRaw(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<void>> {
const queryParameters: any = {};
const headerParameters: runtime.HTTPHeaders = {};
if (this.configuration && this.configuration.apiKey) {
headerParameters["Authorization"] = await this.configuration.apiKey("Authorization"); // ApiKeyAuth authentication
}
const response = await this.request({
path: `/api-import-open-data/`,
method: 'GET',
headers: headerParameters,
query: queryParameters,
}, initOverrides);
return new runtime.VoidApiResponse(response);
}
/**
*/
async apiImportOpenDataRetrieve(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<void> {
await this.apiImportOpenDataRetrieveRaw(initOverrides);
}
}

View File

@@ -0,0 +1,114 @@
/* 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 * as runtime from '../runtime';
import type {
AuthToken,
} from '../models/index';
import {
AuthTokenFromJSON,
AuthTokenToJSON,
} from '../models/index';
export interface ApiTokenAuthCreateRequest {
username: string;
password: string;
token: string;
}
/**
*
*/
export class ApiTokenAuthApi extends runtime.BaseAPI {
/**
*/
async apiTokenAuthCreateRaw(requestParameters: ApiTokenAuthCreateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<AuthToken>> {
if (requestParameters['username'] == null) {
throw new runtime.RequiredError(
'username',
'Required parameter "username" was null or undefined when calling apiTokenAuthCreate().'
);
}
if (requestParameters['password'] == null) {
throw new runtime.RequiredError(
'password',
'Required parameter "password" was null or undefined when calling apiTokenAuthCreate().'
);
}
if (requestParameters['token'] == null) {
throw new runtime.RequiredError(
'token',
'Required parameter "token" was null or undefined when calling apiTokenAuthCreate().'
);
}
const queryParameters: any = {};
const headerParameters: runtime.HTTPHeaders = {};
if (this.configuration && this.configuration.apiKey) {
headerParameters["Authorization"] = await this.configuration.apiKey("Authorization"); // ApiKeyAuth authentication
}
const consumes: runtime.Consume[] = [
{ contentType: 'application/x-www-form-urlencoded' },
{ contentType: 'multipart/form-data' },
{ contentType: 'application/json' },
];
// @ts-ignore: canConsumeForm may be unused
const canConsumeForm = runtime.canConsumeForm(consumes);
let formParams: { append(param: string, value: any): any };
let useForm = false;
if (useForm) {
formParams = new FormData();
} else {
formParams = new URLSearchParams();
}
if (requestParameters['username'] != null) {
formParams.append('username', requestParameters['username'] as any);
}
if (requestParameters['password'] != null) {
formParams.append('password', requestParameters['password'] as any);
}
if (requestParameters['token'] != null) {
formParams.append('token', requestParameters['token'] as any);
}
const response = await this.request({
path: `/api-token-auth/`,
method: 'POST',
headers: headerParameters,
query: queryParameters,
body: formParams,
}, initOverrides);
return new runtime.JSONApiResponse(response, (jsonValue) => AuthTokenFromJSON(jsonValue));
}
/**
*/
async apiTokenAuthCreate(requestParameters: ApiTokenAuthCreateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<AuthToken> {
const response = await this.apiTokenAuthCreateRaw(requestParameters, initOverrides);
return await response.value();
}
}

5
vue3/apis/index.ts Normal file
View File

@@ -0,0 +1,5 @@
/* tslint:disable */
/* eslint-disable */
export * from './ApiApi';
export * from './ApiImportOpenDataApi';
export * from './ApiTokenAuthApi';

5
vue3/index.ts Normal file
View File

@@ -0,0 +1,5 @@
/* tslint:disable */
/* eslint-disable */
export * from './runtime';
export * from './apis/index';
export * from './models/index';

101
vue3/models/AccessToken.ts Normal file
View File

@@ -0,0 +1,101 @@
/* 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';
/**
*
* @export
* @interface AccessToken
*/
export interface AccessToken {
/**
*
* @type {number}
* @memberof AccessToken
*/
readonly id: number;
/**
*
* @type {string}
* @memberof AccessToken
*/
readonly token: string;
/**
*
* @type {Date}
* @memberof AccessToken
*/
expires: Date;
/**
*
* @type {string}
* @memberof AccessToken
*/
scope?: string;
/**
*
* @type {Date}
* @memberof AccessToken
*/
readonly created: Date;
/**
*
* @type {Date}
* @memberof AccessToken
*/
readonly updated: Date;
}
/**
* Check if a given object implements the AccessToken interface.
*/
export function instanceOfAccessToken(value: object): boolean {
if (!('id' in value)) return false;
if (!('token' in value)) return false;
if (!('expires' in value)) return false;
if (!('created' in value)) return false;
if (!('updated' in value)) return false;
return true;
}
export function AccessTokenFromJSON(json: any): AccessToken {
return AccessTokenFromJSONTyped(json, false);
}
export function AccessTokenFromJSONTyped(json: any, ignoreDiscriminator: boolean): AccessToken {
if (json == null) {
return json;
}
return {
'id': json['id'],
'token': json['token'],
'expires': (new Date(json['expires'])),
'scope': json['scope'] == null ? undefined : json['scope'],
'created': (new Date(json['created'])),
'updated': (new Date(json['updated'])),
};
}
export function AccessTokenToJSON(value?: Omit<AccessToken, 'id'|'token'|'created'|'updated'> | null): any {
if (value == null) {
return value;
}
return {
'expires': ((value['expires']).toISOString()),
'scope': value['scope'],
};
}

78
vue3/models/AuthToken.ts Normal file
View File

@@ -0,0 +1,78 @@
/* 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';
/**
*
* @export
* @interface AuthToken
*/
export interface AuthToken {
/**
*
* @type {string}
* @memberof AuthToken
*/
username: string;
/**
*
* @type {string}
* @memberof AuthToken
*/
password: string;
/**
*
* @type {string}
* @memberof AuthToken
*/
readonly token: string;
}
/**
* Check if a given object implements the AuthToken interface.
*/
export function instanceOfAuthToken(value: object): boolean {
if (!('username' in value)) return false;
if (!('password' in value)) return false;
if (!('token' in value)) return false;
return true;
}
export function AuthTokenFromJSON(json: any): AuthToken {
return AuthTokenFromJSONTyped(json, false);
}
export function AuthTokenFromJSONTyped(json: any, ignoreDiscriminator: boolean): AuthToken {
if (json == null) {
return json;
}
return {
'username': json['username'],
'password': json['password'],
'token': json['token'],
};
}
export function AuthTokenToJSON(value?: Omit<AuthToken, 'token'> | null): any {
if (value == null) {
return value;
}
return {
'username': value['username'],
'password': value['password'],
};
}

140
vue3/models/Automation.ts Normal file
View File

@@ -0,0 +1,140 @@
/* 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 { TypeEnum } from './TypeEnum';
import {
TypeEnumFromJSON,
TypeEnumFromJSONTyped,
TypeEnumToJSON,
} from './TypeEnum';
/**
*
* @export
* @interface Automation
*/
export interface Automation {
/**
*
* @type {number}
* @memberof Automation
*/
readonly id: number;
/**
*
* @type {TypeEnum}
* @memberof Automation
*/
type: TypeEnum;
/**
*
* @type {string}
* @memberof Automation
*/
name?: string;
/**
*
* @type {string}
* @memberof Automation
*/
description?: string;
/**
*
* @type {string}
* @memberof Automation
*/
param1?: string;
/**
*
* @type {string}
* @memberof Automation
*/
param2?: string;
/**
*
* @type {string}
* @memberof Automation
*/
param3?: string;
/**
*
* @type {number}
* @memberof Automation
*/
order?: number;
/**
*
* @type {boolean}
* @memberof Automation
*/
disabled?: boolean;
/**
*
* @type {number}
* @memberof Automation
*/
readonly createdBy: number;
}
/**
* Check if a given object implements the Automation interface.
*/
export function instanceOfAutomation(value: object): boolean {
if (!('id' in value)) return false;
if (!('type' in value)) return false;
if (!('createdBy' in value)) return false;
return true;
}
export function AutomationFromJSON(json: any): Automation {
return AutomationFromJSONTyped(json, false);
}
export function AutomationFromJSONTyped(json: any, ignoreDiscriminator: boolean): Automation {
if (json == null) {
return json;
}
return {
'id': json['id'],
'type': TypeEnumFromJSON(json['type']),
'name': json['name'] == null ? undefined : json['name'],
'description': json['description'] == null ? undefined : json['description'],
'param1': json['param_1'] == null ? undefined : json['param_1'],
'param2': json['param_2'] == null ? undefined : json['param_2'],
'param3': json['param_3'] == null ? undefined : json['param_3'],
'order': json['order'] == null ? undefined : json['order'],
'disabled': json['disabled'] == null ? undefined : json['disabled'],
'createdBy': json['created_by'],
};
}
export function AutomationToJSON(value?: Omit<Automation, 'id'|'created_by'> | null): any {
if (value == null) {
return value;
}
return {
'type': TypeEnumToJSON(value['type']),
'name': value['name'],
'description': value['description'],
'param_1': value['param1'],
'param_2': value['param2'],
'param_3': value['param3'],
'order': value['order'],
'disabled': value['disabled'],
};
}

View File

@@ -0,0 +1,93 @@
/* 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';
/**
*
* @export
* @interface BookmarkletImport
*/
export interface BookmarkletImport {
/**
*
* @type {number}
* @memberof BookmarkletImport
*/
readonly id: number;
/**
*
* @type {string}
* @memberof BookmarkletImport
*/
url?: string;
/**
*
* @type {string}
* @memberof BookmarkletImport
*/
html: string;
/**
*
* @type {number}
* @memberof BookmarkletImport
*/
readonly createdBy: number;
/**
*
* @type {Date}
* @memberof BookmarkletImport
*/
readonly createdAt: Date;
}
/**
* Check if a given object implements the BookmarkletImport interface.
*/
export function instanceOfBookmarkletImport(value: object): boolean {
if (!('id' in value)) return false;
if (!('html' in value)) return false;
if (!('createdBy' in value)) return false;
if (!('createdAt' in value)) return false;
return true;
}
export function BookmarkletImportFromJSON(json: any): BookmarkletImport {
return BookmarkletImportFromJSONTyped(json, false);
}
export function BookmarkletImportFromJSONTyped(json: any, ignoreDiscriminator: boolean): BookmarkletImport {
if (json == null) {
return json;
}
return {
'id': json['id'],
'url': json['url'] == null ? undefined : json['url'],
'html': json['html'],
'createdBy': json['created_by'],
'createdAt': (new Date(json['created_at'])),
};
}
export function BookmarkletImportToJSON(value?: Omit<BookmarkletImport, 'id'|'created_by'|'created_at'> | null): any {
if (value == null) {
return value;
}
return {
'url': value['url'],
'html': value['html'],
};
}

View File

@@ -0,0 +1,84 @@
/* 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';
/**
*
* @export
* @interface BookmarkletImportList
*/
export interface BookmarkletImportList {
/**
*
* @type {number}
* @memberof BookmarkletImportList
*/
readonly id: number;
/**
*
* @type {string}
* @memberof BookmarkletImportList
*/
url?: string;
/**
*
* @type {number}
* @memberof BookmarkletImportList
*/
readonly createdBy: number;
/**
*
* @type {Date}
* @memberof BookmarkletImportList
*/
readonly createdAt: Date;
}
/**
* Check if a given object implements the BookmarkletImportList interface.
*/
export function instanceOfBookmarkletImportList(value: object): boolean {
if (!('id' in value)) return false;
if (!('createdBy' in value)) return false;
if (!('createdAt' in value)) return false;
return true;
}
export function BookmarkletImportListFromJSON(json: any): BookmarkletImportList {
return BookmarkletImportListFromJSONTyped(json, false);
}
export function BookmarkletImportListFromJSONTyped(json: any, ignoreDiscriminator: boolean): BookmarkletImportList {
if (json == null) {
return json;
}
return {
'id': json['id'],
'url': json['url'] == null ? undefined : json['url'],
'createdBy': json['created_by'],
'createdAt': (new Date(json['created_at'])),
};
}
export function BookmarkletImportListToJSON(value?: Omit<BookmarkletImportList, 'id'|'created_by'|'created_at'> | null): any {
if (value == null) {
return value;
}
return {
'url': value['url'],
};
}

View File

@@ -0,0 +1,133 @@
/* 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';
/**
*
* @export
* @interface ConnectorConfigConfig
*/
export interface ConnectorConfigConfig {
/**
*
* @type {number}
* @memberof ConnectorConfigConfig
*/
readonly id: number;
/**
*
* @type {string}
* @memberof ConnectorConfigConfig
*/
name: string;
/**
*
* @type {string}
* @memberof ConnectorConfigConfig
*/
url?: string;
/**
*
* @type {string}
* @memberof ConnectorConfigConfig
*/
token?: string;
/**
*
* @type {string}
* @memberof ConnectorConfigConfig
*/
todoEntity?: string;
/**
* Is Connector Enabled
* @type {boolean}
* @memberof ConnectorConfigConfig
*/
enabled?: boolean;
/**
*
* @type {boolean}
* @memberof ConnectorConfigConfig
*/
onShoppingListEntryCreatedEnabled?: boolean;
/**
*
* @type {boolean}
* @memberof ConnectorConfigConfig
*/
onShoppingListEntryUpdatedEnabled?: boolean;
/**
*
* @type {boolean}
* @memberof ConnectorConfigConfig
*/
onShoppingListEntryDeletedEnabled?: boolean;
/**
*
* @type {number}
* @memberof ConnectorConfigConfig
*/
readonly createdBy: number;
}
/**
* Check if a given object implements the ConnectorConfigConfig interface.
*/
export function instanceOfConnectorConfigConfig(value: object): boolean {
if (!('id' in value)) return false;
if (!('name' in value)) return false;
if (!('createdBy' in value)) return false;
return true;
}
export function ConnectorConfigConfigFromJSON(json: any): ConnectorConfigConfig {
return ConnectorConfigConfigFromJSONTyped(json, false);
}
export function ConnectorConfigConfigFromJSONTyped(json: any, ignoreDiscriminator: boolean): ConnectorConfigConfig {
if (json == null) {
return json;
}
return {
'id': json['id'],
'name': json['name'],
'url': json['url'] == null ? undefined : json['url'],
'token': json['token'] == null ? undefined : json['token'],
'todoEntity': json['todo_entity'] == null ? undefined : json['todo_entity'],
'enabled': json['enabled'] == null ? undefined : json['enabled'],
'onShoppingListEntryCreatedEnabled': json['on_shopping_list_entry_created_enabled'] == null ? undefined : json['on_shopping_list_entry_created_enabled'],
'onShoppingListEntryUpdatedEnabled': json['on_shopping_list_entry_updated_enabled'] == null ? undefined : json['on_shopping_list_entry_updated_enabled'],
'onShoppingListEntryDeletedEnabled': json['on_shopping_list_entry_deleted_enabled'] == null ? undefined : json['on_shopping_list_entry_deleted_enabled'],
'createdBy': json['created_by'],
};
}
export function ConnectorConfigConfigToJSON(value?: Omit<ConnectorConfigConfig, 'id'|'created_by'> | null): any {
if (value == null) {
return value;
}
return {
'name': value['name'],
'url': value['url'],
'token': value['token'],
'todo_entity': value['todoEntity'],
'enabled': value['enabled'],
'on_shopping_list_entry_created_enabled': value['onShoppingListEntryCreatedEnabled'],
'on_shopping_list_entry_updated_enabled': value['onShoppingListEntryUpdatedEnabled'],
'on_shopping_list_entry_deleted_enabled': value['onShoppingListEntryDeletedEnabled'],
};
}

124
vue3/models/CookLog.ts Normal file
View File

@@ -0,0 +1,124 @@
/* 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';
/**
*
* @export
* @interface CookLog
*/
export interface CookLog {
/**
*
* @type {number}
* @memberof CookLog
*/
readonly id: number;
/**
*
* @type {number}
* @memberof CookLog
*/
recipe: number;
/**
*
* @type {number}
* @memberof CookLog
*/
servings?: number;
/**
*
* @type {number}
* @memberof CookLog
*/
rating?: number;
/**
*
* @type {string}
* @memberof CookLog
*/
comment?: string;
/**
*
* @type {User}
* @memberof CookLog
*/
readonly createdBy: User;
/**
*
* @type {Date}
* @memberof CookLog
*/
createdAt?: Date;
/**
*
* @type {Date}
* @memberof CookLog
*/
readonly updatedAt: Date;
}
/**
* Check if a given object implements the CookLog interface.
*/
export function instanceOfCookLog(value: object): boolean {
if (!('id' in value)) return false;
if (!('recipe' in value)) return false;
if (!('createdBy' in value)) return false;
if (!('updatedAt' in value)) return false;
return true;
}
export function CookLogFromJSON(json: any): CookLog {
return CookLogFromJSONTyped(json, false);
}
export function CookLogFromJSONTyped(json: any, ignoreDiscriminator: boolean): CookLog {
if (json == null) {
return json;
}
return {
'id': json['id'],
'recipe': json['recipe'],
'servings': json['servings'] == null ? undefined : json['servings'],
'rating': json['rating'] == null ? undefined : json['rating'],
'comment': json['comment'] == null ? undefined : json['comment'],
'createdBy': UserFromJSON(json['created_by']),
'createdAt': json['created_at'] == null ? undefined : (new Date(json['created_at'])),
'updatedAt': (new Date(json['updated_at'])),
};
}
export function CookLogToJSON(value?: Omit<CookLog, 'id'|'created_by'|'updated_at'> | null): any {
if (value == null) {
return value;
}
return {
'recipe': value['recipe'],
'servings': value['servings'],
'rating': value['rating'],
'comment': value['comment'],
'created_at': value['createdAt'] == null ? undefined : ((value['createdAt']).toISOString()),
};
}

101
vue3/models/CustomFilter.ts Normal file
View File

@@ -0,0 +1,101 @@
/* 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';
/**
* Adds nested create feature
* @export
* @interface CustomFilter
*/
export interface CustomFilter {
/**
*
* @type {number}
* @memberof CustomFilter
*/
readonly id: number;
/**
*
* @type {string}
* @memberof CustomFilter
*/
name: string;
/**
*
* @type {string}
* @memberof CustomFilter
*/
search: string;
/**
*
* @type {Array<User>}
* @memberof CustomFilter
*/
shared?: Array<User>;
/**
*
* @type {number}
* @memberof CustomFilter
*/
readonly createdBy: number;
}
/**
* Check if a given object implements the CustomFilter interface.
*/
export function instanceOfCustomFilter(value: object): boolean {
if (!('id' in value)) return false;
if (!('name' in value)) return false;
if (!('search' in value)) return false;
if (!('createdBy' in value)) return false;
return true;
}
export function CustomFilterFromJSON(json: any): CustomFilter {
return CustomFilterFromJSONTyped(json, false);
}
export function CustomFilterFromJSONTyped(json: any, ignoreDiscriminator: boolean): CustomFilter {
if (json == null) {
return json;
}
return {
'id': json['id'],
'name': json['name'],
'search': json['search'],
'shared': json['shared'] == null ? undefined : ((json['shared'] as Array<any>).map(UserFromJSON)),
'createdBy': json['created_by'],
};
}
export function CustomFilterToJSON(value?: Omit<CustomFilter, 'id'|'created_by'> | null): any {
if (value == null) {
return value;
}
return {
'name': value['name'],
'search': value['search'],
'shared': value['shared'] == null ? undefined : ((value['shared'] as Array<any>).map(UserToJSON)),
};
}

View File

@@ -0,0 +1,47 @@
/* 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.
*/
/**
* * `SEARCH` - Search
* * `PLAN` - Meal-Plan
* * `BOOKS` - Books
* * `SHOPPING` - Shopping
* @export
*/
export const DefaultPageEnum = {
Search: 'SEARCH',
Plan: 'PLAN',
Books: 'BOOKS',
Shopping: 'SHOPPING'
} as const;
export type DefaultPageEnum = typeof DefaultPageEnum[keyof typeof DefaultPageEnum];
export function instanceOfDefaultPageEnum(value: any): boolean {
return Object.values(DefaultPageEnum).includes(value);
}
export function DefaultPageEnumFromJSON(json: any): DefaultPageEnum {
return DefaultPageEnumFromJSONTyped(json, false);
}
export function DefaultPageEnumFromJSONTyped(json: any, ignoreDiscriminator: boolean): DefaultPageEnum {
return json as DefaultPageEnum;
}
export function DefaultPageEnumToJSON(value?: DefaultPageEnum | null): any {
return value as any;
}

41
vue3/models/DeleteEnum.ts Normal file
View File

@@ -0,0 +1,41 @@
/* 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.
*/
/**
* * `true` - true
* @export
*/
export const DeleteEnum = {
True: 'true'
} as const;
export type DeleteEnum = typeof DeleteEnum[keyof typeof DeleteEnum];
export function instanceOfDeleteEnum(value: any): boolean {
return Object.values(DeleteEnum).includes(value);
}
export function DeleteEnumFromJSON(json: any): DeleteEnum {
return DeleteEnumFromJSONTyped(json, false);
}
export function DeleteEnumFromJSONTyped(json: any, ignoreDiscriminator: boolean): DeleteEnum {
return json as DeleteEnum;
}
export function DeleteEnumToJSON(value?: DeleteEnum | null): any {
return value as any;
}

133
vue3/models/ExportLog.ts Normal file
View File

@@ -0,0 +1,133 @@
/* 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';
/**
*
* @export
* @interface ExportLog
*/
export interface ExportLog {
/**
*
* @type {number}
* @memberof ExportLog
*/
readonly id: number;
/**
*
* @type {string}
* @memberof ExportLog
*/
type: string;
/**
*
* @type {string}
* @memberof ExportLog
*/
msg?: string;
/**
*
* @type {boolean}
* @memberof ExportLog
*/
running?: boolean;
/**
*
* @type {number}
* @memberof ExportLog
*/
totalRecipes?: number;
/**
*
* @type {number}
* @memberof ExportLog
*/
exportedRecipes?: number;
/**
*
* @type {number}
* @memberof ExportLog
*/
cacheDuration?: number;
/**
*
* @type {boolean}
* @memberof ExportLog
*/
possiblyNotExpired?: boolean;
/**
*
* @type {number}
* @memberof ExportLog
*/
readonly createdBy: number;
/**
*
* @type {Date}
* @memberof ExportLog
*/
readonly createdAt: Date;
}
/**
* Check if a given object implements the ExportLog interface.
*/
export function instanceOfExportLog(value: object): boolean {
if (!('id' in value)) return false;
if (!('type' in value)) return false;
if (!('createdBy' in value)) return false;
if (!('createdAt' in value)) return false;
return true;
}
export function ExportLogFromJSON(json: any): ExportLog {
return ExportLogFromJSONTyped(json, false);
}
export function ExportLogFromJSONTyped(json: any, ignoreDiscriminator: boolean): ExportLog {
if (json == null) {
return json;
}
return {
'id': json['id'],
'type': json['type'],
'msg': json['msg'] == null ? undefined : json['msg'],
'running': json['running'] == null ? undefined : json['running'],
'totalRecipes': json['total_recipes'] == null ? undefined : json['total_recipes'],
'exportedRecipes': json['exported_recipes'] == null ? undefined : json['exported_recipes'],
'cacheDuration': json['cache_duration'] == null ? undefined : json['cache_duration'],
'possiblyNotExpired': json['possibly_not_expired'] == null ? undefined : json['possibly_not_expired'],
'createdBy': json['created_by'],
'createdAt': (new Date(json['created_at'])),
};
}
export function ExportLogToJSON(value?: Omit<ExportLog, 'id'|'created_by'|'created_at'> | null): any {
if (value == null) {
return value;
}
return {
'type': value['type'],
'msg': value['msg'],
'running': value['running'],
'total_recipes': value['totalRecipes'],
'exported_recipes': value['exportedRecipes'],
'cache_duration': value['cacheDuration'],
'possibly_not_expired': value['possiblyNotExpired'],
};
}

317
vue3/models/Food.ts Normal file
View File

@@ -0,0 +1,317 @@
/* 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 { FoodInheritField } from './FoodInheritField';
import {
FoodInheritFieldFromJSON,
FoodInheritFieldFromJSONTyped,
FoodInheritFieldToJSON,
} from './FoodInheritField';
import type { FoodSimple } from './FoodSimple';
import {
FoodSimpleFromJSON,
FoodSimpleFromJSONTyped,
FoodSimpleToJSON,
} from './FoodSimple';
import type { Property } from './Property';
import {
PropertyFromJSON,
PropertyFromJSONTyped,
PropertyToJSON,
} from './Property';
import type { RecipeSimple } from './RecipeSimple';
import {
RecipeSimpleFromJSON,
RecipeSimpleFromJSONTyped,
RecipeSimpleToJSON,
} from './RecipeSimple';
import type { SupermarketCategory } from './SupermarketCategory';
import {
SupermarketCategoryFromJSON,
SupermarketCategoryFromJSONTyped,
SupermarketCategoryToJSON,
} from './SupermarketCategory';
import type { Unit } from './Unit';
import {
UnitFromJSON,
UnitFromJSONTyped,
UnitToJSON,
} from './Unit';
/**
* Moves `UniqueValidator`'s from the validation stage to the save stage.
* It solves the problem with nested validation for unique fields on update.
*
* If you want more details, you can read related issues and articles:
* https://github.com/beda-software/drf-writable-nested/issues/1
* http://www.django-rest-framework.org/api-guide/validators/#updating-nested-serializers
*
* Example of usage:
* ```
* class Child(models.Model):
* field = models.CharField(unique=True)
*
*
* class Parent(models.Model):
* child = models.ForeignKey('Child')
*
*
* class ChildSerializer(UniqueFieldsMixin, serializers.ModelSerializer):
* class Meta:
* model = Child
*
*
* class ParentSerializer(NestedUpdateMixin, serializers.ModelSerializer):
* child = ChildSerializer()
*
* class Meta:
* model = Parent
* ```
*
* Note: `UniqueFieldsMixin` must be applied only on the serializer
* which has unique fields.
*
* Note: When you are using both mixins
* (`UniqueFieldsMixin` and `NestedCreateMixin` or `NestedUpdateMixin`)
* you should put `UniqueFieldsMixin` ahead.
* @export
* @interface Food
*/
export interface Food {
/**
*
* @type {number}
* @memberof Food
*/
readonly id: number;
/**
*
* @type {string}
* @memberof Food
*/
name: string;
/**
*
* @type {string}
* @memberof Food
*/
pluralName?: string;
/**
*
* @type {string}
* @memberof Food
*/
description?: string;
/**
*
* @type {string}
* @memberof Food
*/
readonly shopping: string;
/**
*
* @type {RecipeSimple}
* @memberof Food
*/
recipe?: RecipeSimple;
/**
*
* @type {string}
* @memberof Food
*/
url?: string;
/**
*
* @type {Array<Property>}
* @memberof Food
*/
properties?: Array<Property>;
/**
*
* @type {number}
* @memberof Food
*/
propertiesFoodAmount?: number;
/**
*
* @type {Unit}
* @memberof Food
*/
propertiesFoodUnit?: Unit;
/**
*
* @type {number}
* @memberof Food
*/
fdcId?: number;
/**
*
* @type {boolean}
* @memberof Food
*/
foodOnhand?: boolean;
/**
*
* @type {SupermarketCategory}
* @memberof Food
*/
supermarketCategory?: SupermarketCategory;
/**
*
* @type {number}
* @memberof Food
*/
readonly parent: number;
/**
*
* @type {number}
* @memberof Food
*/
readonly numchild: number;
/**
*
* @type {Array<FoodInheritField>}
* @memberof Food
*/
inheritFields?: Array<FoodInheritField>;
/**
* Returns a string representation of a tree node and it's ancestors,
* e.g. 'Cuisine > Asian > Chinese > Catonese'.
* @type {string}
* @memberof Food
*/
readonly fullName: string;
/**
*
* @type {boolean}
* @memberof Food
*/
ignoreShopping?: boolean;
/**
*
* @type {Array<FoodSimple>}
* @memberof Food
*/
substitute?: Array<FoodSimple>;
/**
*
* @type {boolean}
* @memberof Food
*/
substituteSiblings?: boolean;
/**
*
* @type {boolean}
* @memberof Food
*/
substituteChildren?: boolean;
/**
*
* @type {boolean}
* @memberof Food
*/
readonly substituteOnhand: boolean;
/**
*
* @type {Array<FoodInheritField>}
* @memberof Food
*/
childInheritFields?: Array<FoodInheritField>;
/**
*
* @type {string}
* @memberof Food
*/
openDataSlug?: string;
}
/**
* Check if a given object implements the Food interface.
*/
export function instanceOfFood(value: object): boolean {
if (!('id' in value)) return false;
if (!('name' in value)) return false;
if (!('shopping' in value)) return false;
if (!('parent' in value)) return false;
if (!('numchild' in value)) return false;
if (!('fullName' in value)) return false;
if (!('substituteOnhand' in value)) return false;
return true;
}
export function FoodFromJSON(json: any): Food {
return FoodFromJSONTyped(json, false);
}
export function FoodFromJSONTyped(json: any, ignoreDiscriminator: boolean): Food {
if (json == null) {
return json;
}
return {
'id': json['id'],
'name': json['name'],
'pluralName': json['plural_name'] == null ? undefined : json['plural_name'],
'description': json['description'] == null ? undefined : json['description'],
'shopping': json['shopping'],
'recipe': json['recipe'] == null ? undefined : RecipeSimpleFromJSON(json['recipe']),
'url': json['url'] == null ? undefined : json['url'],
'properties': json['properties'] == null ? undefined : ((json['properties'] as Array<any>).map(PropertyFromJSON)),
'propertiesFoodAmount': json['properties_food_amount'] == null ? undefined : json['properties_food_amount'],
'propertiesFoodUnit': json['properties_food_unit'] == null ? undefined : UnitFromJSON(json['properties_food_unit']),
'fdcId': json['fdc_id'] == null ? undefined : json['fdc_id'],
'foodOnhand': json['food_onhand'] == null ? undefined : json['food_onhand'],
'supermarketCategory': json['supermarket_category'] == null ? undefined : SupermarketCategoryFromJSON(json['supermarket_category']),
'parent': json['parent'],
'numchild': json['numchild'],
'inheritFields': json['inherit_fields'] == null ? undefined : ((json['inherit_fields'] as Array<any>).map(FoodInheritFieldFromJSON)),
'fullName': json['full_name'],
'ignoreShopping': json['ignore_shopping'] == null ? undefined : json['ignore_shopping'],
'substitute': json['substitute'] == null ? undefined : ((json['substitute'] as Array<any>).map(FoodSimpleFromJSON)),
'substituteSiblings': json['substitute_siblings'] == null ? undefined : json['substitute_siblings'],
'substituteChildren': json['substitute_children'] == null ? undefined : json['substitute_children'],
'substituteOnhand': json['substitute_onhand'],
'childInheritFields': json['child_inherit_fields'] == null ? undefined : ((json['child_inherit_fields'] as Array<any>).map(FoodInheritFieldFromJSON)),
'openDataSlug': json['open_data_slug'] == null ? undefined : json['open_data_slug'],
};
}
export function FoodToJSON(value?: Omit<Food, 'id'|'shopping'|'parent'|'numchild'|'full_name'|'substitute_onhand'> | null): any {
if (value == null) {
return value;
}
return {
'name': value['name'],
'plural_name': value['pluralName'],
'description': value['description'],
'recipe': RecipeSimpleToJSON(value['recipe']),
'url': value['url'],
'properties': value['properties'] == null ? undefined : ((value['properties'] as Array<any>).map(PropertyToJSON)),
'properties_food_amount': value['propertiesFoodAmount'],
'properties_food_unit': UnitToJSON(value['propertiesFoodUnit']),
'fdc_id': value['fdcId'],
'food_onhand': value['foodOnhand'],
'supermarket_category': SupermarketCategoryToJSON(value['supermarketCategory']),
'inherit_fields': value['inheritFields'] == null ? undefined : ((value['inheritFields'] as Array<any>).map(FoodInheritFieldToJSON)),
'ignore_shopping': value['ignoreShopping'],
'substitute': value['substitute'] == null ? undefined : ((value['substitute'] as Array<any>).map(FoodSimpleToJSON)),
'substitute_siblings': value['substituteSiblings'],
'substitute_children': value['substituteChildren'],
'child_inherit_fields': value['childInheritFields'] == null ? undefined : ((value['childInheritFields'] as Array<any>).map(FoodInheritFieldToJSON)),
'open_data_slug': value['openDataSlug'],
};
}

View File

@@ -0,0 +1,110 @@
/* 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';
/**
* Moves `UniqueValidator`'s from the validation stage to the save stage.
* It solves the problem with nested validation for unique fields on update.
*
* If you want more details, you can read related issues and articles:
* https://github.com/beda-software/drf-writable-nested/issues/1
* http://www.django-rest-framework.org/api-guide/validators/#updating-nested-serializers
*
* Example of usage:
* ```
* class Child(models.Model):
* field = models.CharField(unique=True)
*
*
* class Parent(models.Model):
* child = models.ForeignKey('Child')
*
*
* class ChildSerializer(UniqueFieldsMixin, serializers.ModelSerializer):
* class Meta:
* model = Child
*
*
* class ParentSerializer(NestedUpdateMixin, serializers.ModelSerializer):
* child = ChildSerializer()
*
* class Meta:
* model = Parent
* ```
*
* Note: `UniqueFieldsMixin` must be applied only on the serializer
* which has unique fields.
*
* Note: When you are using both mixins
* (`UniqueFieldsMixin` and `NestedCreateMixin` or `NestedUpdateMixin`)
* you should put `UniqueFieldsMixin` ahead.
* @export
* @interface FoodInheritField
*/
export interface FoodInheritField {
/**
*
* @type {number}
* @memberof FoodInheritField
*/
readonly id: number;
/**
*
* @type {string}
* @memberof FoodInheritField
*/
name?: string;
/**
*
* @type {string}
* @memberof FoodInheritField
*/
field?: string;
}
/**
* Check if a given object implements the FoodInheritField interface.
*/
export function instanceOfFoodInheritField(value: object): boolean {
if (!('id' in value)) return false;
return true;
}
export function FoodInheritFieldFromJSON(json: any): FoodInheritField {
return FoodInheritFieldFromJSONTyped(json, false);
}
export function FoodInheritFieldFromJSONTyped(json: any, ignoreDiscriminator: boolean): FoodInheritField {
if (json == null) {
return json;
}
return {
'id': json['id'],
'name': json['name'] == null ? undefined : json['name'],
'field': json['field'] == null ? undefined : json['field'],
};
}
export function FoodInheritFieldToJSON(value?: Omit<FoodInheritField, 'id'> | null): any {
if (value == null) {
return value;
}
return {
'name': value['name'],
'field': value['field'],
};
}

View File

@@ -0,0 +1,94 @@
/* 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 { DeleteEnum } from './DeleteEnum';
import {
DeleteEnumFromJSON,
DeleteEnumFromJSONTyped,
DeleteEnumToJSON,
} from './DeleteEnum';
/**
*
* @export
* @interface FoodShoppingUpdate
*/
export interface FoodShoppingUpdate {
/**
*
* @type {number}
* @memberof FoodShoppingUpdate
*/
readonly id: number;
/**
* Amount of food to add to the shopping list
* @type {number}
* @memberof FoodShoppingUpdate
*/
amount?: number;
/**
* ID of unit to use for the shopping list
* @type {number}
* @memberof FoodShoppingUpdate
*/
unit?: number;
/**
* When set to true will delete all food from active shopping lists.
*
* * `true` - true
* @type {DeleteEnum}
* @memberof FoodShoppingUpdate
*/
_delete: DeleteEnum | null;
}
/**
* Check if a given object implements the FoodShoppingUpdate interface.
*/
export function instanceOfFoodShoppingUpdate(value: object): boolean {
if (!('id' in value)) return false;
if (!('_delete' in value)) return false;
return true;
}
export function FoodShoppingUpdateFromJSON(json: any): FoodShoppingUpdate {
return FoodShoppingUpdateFromJSONTyped(json, false);
}
export function FoodShoppingUpdateFromJSONTyped(json: any, ignoreDiscriminator: boolean): FoodShoppingUpdate {
if (json == null) {
return json;
}
return {
'id': json['id'],
'amount': json['amount'] == null ? undefined : json['amount'],
'unit': json['unit'] == null ? undefined : json['unit'],
'_delete': DeleteEnumFromJSON(json['delete']),
};
}
export function FoodShoppingUpdateToJSON(value?: Omit<FoodShoppingUpdate, 'id'> | null): any {
if (value == null) {
return value;
}
return {
'amount': value['amount'],
'unit': value['unit'],
'delete': DeleteEnumToJSON(value['_delete']),
};
}

77
vue3/models/FoodSimple.ts Normal file
View File

@@ -0,0 +1,77 @@
/* 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';
/**
*
* @export
* @interface FoodSimple
*/
export interface FoodSimple {
/**
*
* @type {number}
* @memberof FoodSimple
*/
readonly id: number;
/**
*
* @type {string}
* @memberof FoodSimple
*/
name: string;
/**
*
* @type {string}
* @memberof FoodSimple
*/
pluralName?: string;
}
/**
* Check if a given object implements the FoodSimple interface.
*/
export function instanceOfFoodSimple(value: object): boolean {
if (!('id' in value)) return false;
if (!('name' in value)) return false;
return true;
}
export function FoodSimpleFromJSON(json: any): FoodSimple {
return FoodSimpleFromJSONTyped(json, false);
}
export function FoodSimpleFromJSONTyped(json: any, ignoreDiscriminator: boolean): FoodSimple {
if (json == null) {
return json;
}
return {
'id': json['id'],
'name': json['name'],
'pluralName': json['plural_name'] == null ? undefined : json['plural_name'],
};
}
export function FoodSimpleToJSON(value?: Omit<FoodSimple, 'id'> | null): any {
if (value == null) {
return value;
}
return {
'name': value['name'],
'plural_name': value['pluralName'],
};
}

103
vue3/models/Group.ts Normal file
View File

@@ -0,0 +1,103 @@
/* 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';
/**
* Moves `UniqueValidator`'s from the validation stage to the save stage.
* It solves the problem with nested validation for unique fields on update.
*
* If you want more details, you can read related issues and articles:
* https://github.com/beda-software/drf-writable-nested/issues/1
* http://www.django-rest-framework.org/api-guide/validators/#updating-nested-serializers
*
* Example of usage:
* ```
* class Child(models.Model):
* field = models.CharField(unique=True)
*
*
* class Parent(models.Model):
* child = models.ForeignKey('Child')
*
*
* class ChildSerializer(UniqueFieldsMixin, serializers.ModelSerializer):
* class Meta:
* model = Child
*
*
* class ParentSerializer(NestedUpdateMixin, serializers.ModelSerializer):
* child = ChildSerializer()
*
* class Meta:
* model = Parent
* ```
*
* Note: `UniqueFieldsMixin` must be applied only on the serializer
* which has unique fields.
*
* Note: When you are using both mixins
* (`UniqueFieldsMixin` and `NestedCreateMixin` or `NestedUpdateMixin`)
* you should put `UniqueFieldsMixin` ahead.
* @export
* @interface Group
*/
export interface Group {
/**
*
* @type {number}
* @memberof Group
*/
readonly id: number;
/**
*
* @type {string}
* @memberof Group
*/
name: string;
}
/**
* Check if a given object implements the Group interface.
*/
export function instanceOfGroup(value: object): boolean {
if (!('id' in value)) return false;
if (!('name' in value)) return false;
return true;
}
export function GroupFromJSON(json: any): Group {
return GroupFromJSONTyped(json, false);
}
export function GroupFromJSONTyped(json: any, ignoreDiscriminator: boolean): Group {
if (json == null) {
return json;
}
return {
'id': json['id'],
'name': json['name'],
};
}
export function GroupToJSON(value?: Omit<Group, 'id'> | null): any {
if (value == null) {
return value;
}
return {
'name': value['name'],
};
}

132
vue3/models/ImportLog.ts Normal file
View File

@@ -0,0 +1,132 @@
/* 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 { Keyword } from './Keyword';
import {
KeywordFromJSON,
KeywordFromJSONTyped,
KeywordToJSON,
} from './Keyword';
/**
*
* @export
* @interface ImportLog
*/
export interface ImportLog {
/**
*
* @type {number}
* @memberof ImportLog
*/
readonly id: number;
/**
*
* @type {string}
* @memberof ImportLog
*/
type: string;
/**
*
* @type {string}
* @memberof ImportLog
*/
msg?: string;
/**
*
* @type {boolean}
* @memberof ImportLog
*/
running?: boolean;
/**
*
* @type {Keyword}
* @memberof ImportLog
*/
readonly keyword: Keyword;
/**
*
* @type {number}
* @memberof ImportLog
*/
totalRecipes?: number;
/**
*
* @type {number}
* @memberof ImportLog
*/
importedRecipes?: number;
/**
*
* @type {number}
* @memberof ImportLog
*/
readonly createdBy: number;
/**
*
* @type {Date}
* @memberof ImportLog
*/
readonly createdAt: Date;
}
/**
* Check if a given object implements the ImportLog interface.
*/
export function instanceOfImportLog(value: object): boolean {
if (!('id' in value)) return false;
if (!('type' in value)) return false;
if (!('keyword' in value)) return false;
if (!('createdBy' in value)) return false;
if (!('createdAt' in value)) return false;
return true;
}
export function ImportLogFromJSON(json: any): ImportLog {
return ImportLogFromJSONTyped(json, false);
}
export function ImportLogFromJSONTyped(json: any, ignoreDiscriminator: boolean): ImportLog {
if (json == null) {
return json;
}
return {
'id': json['id'],
'type': json['type'],
'msg': json['msg'] == null ? undefined : json['msg'],
'running': json['running'] == null ? undefined : json['running'],
'keyword': KeywordFromJSON(json['keyword']),
'totalRecipes': json['total_recipes'] == null ? undefined : json['total_recipes'],
'importedRecipes': json['imported_recipes'] == null ? undefined : json['imported_recipes'],
'createdBy': json['created_by'],
'createdAt': (new Date(json['created_at'])),
};
}
export function ImportLogToJSON(value?: Omit<ImportLog, 'id'|'keyword'|'created_by'|'created_at'> | null): any {
if (value == null) {
return value;
}
return {
'type': value['type'],
'msg': value['msg'],
'running': value['running'],
'total_recipes': value['totalRecipes'],
'imported_recipes': value['importedRecipes'],
};
}

172
vue3/models/Ingredient.ts Normal file
View File

@@ -0,0 +1,172 @@
/* 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 { Food } from './Food';
import {
FoodFromJSON,
FoodFromJSONTyped,
FoodToJSON,
} from './Food';
import type { Unit } from './Unit';
import {
UnitFromJSON,
UnitFromJSONTyped,
UnitToJSON,
} from './Unit';
/**
* Adds nested create feature
* @export
* @interface Ingredient
*/
export interface Ingredient {
/**
*
* @type {number}
* @memberof Ingredient
*/
readonly id: number;
/**
*
* @type {Food}
* @memberof Ingredient
*/
food: Food | null;
/**
*
* @type {Unit}
* @memberof Ingredient
*/
unit: Unit | null;
/**
*
* @type {number}
* @memberof Ingredient
*/
amount: number;
/**
*
* @type {Array<any>}
* @memberof Ingredient
*/
readonly conversions: Array<any>;
/**
*
* @type {string}
* @memberof Ingredient
*/
note?: string;
/**
*
* @type {number}
* @memberof Ingredient
*/
order?: number;
/**
*
* @type {boolean}
* @memberof Ingredient
*/
isHeader?: boolean;
/**
*
* @type {boolean}
* @memberof Ingredient
*/
noAmount?: boolean;
/**
*
* @type {string}
* @memberof Ingredient
*/
originalText?: string;
/**
*
* @type {Array<any>}
* @memberof Ingredient
*/
readonly usedInRecipes: Array<any>;
/**
*
* @type {boolean}
* @memberof Ingredient
*/
alwaysUsePluralUnit?: boolean;
/**
*
* @type {boolean}
* @memberof Ingredient
*/
alwaysUsePluralFood?: boolean;
}
/**
* Check if a given object implements the Ingredient interface.
*/
export function instanceOfIngredient(value: object): boolean {
if (!('id' in value)) return false;
if (!('food' in value)) return false;
if (!('unit' in value)) return false;
if (!('amount' in value)) return false;
if (!('conversions' in value)) return false;
if (!('usedInRecipes' in value)) return false;
return true;
}
export function IngredientFromJSON(json: any): Ingredient {
return IngredientFromJSONTyped(json, false);
}
export function IngredientFromJSONTyped(json: any, ignoreDiscriminator: boolean): Ingredient {
if (json == null) {
return json;
}
return {
'id': json['id'],
'food': FoodFromJSON(json['food']),
'unit': UnitFromJSON(json['unit']),
'amount': json['amount'],
'conversions': json['conversions'],
'note': json['note'] == null ? undefined : json['note'],
'order': json['order'] == null ? undefined : json['order'],
'isHeader': json['is_header'] == null ? undefined : json['is_header'],
'noAmount': json['no_amount'] == null ? undefined : json['no_amount'],
'originalText': json['original_text'] == null ? undefined : json['original_text'],
'usedInRecipes': json['used_in_recipes'],
'alwaysUsePluralUnit': json['always_use_plural_unit'] == null ? undefined : json['always_use_plural_unit'],
'alwaysUsePluralFood': json['always_use_plural_food'] == null ? undefined : json['always_use_plural_food'],
};
}
export function IngredientToJSON(value?: Omit<Ingredient, 'id'|'conversions'|'used_in_recipes'> | null): any {
if (value == null) {
return value;
}
return {
'food': FoodToJSON(value['food']),
'unit': UnitToJSON(value['unit']),
'amount': value['amount'],
'note': value['note'],
'order': value['order'],
'is_header': value['isHeader'],
'no_amount': value['noAmount'],
'original_text': value['originalText'],
'always_use_plural_unit': value['alwaysUsePluralUnit'],
'always_use_plural_food': value['alwaysUsePluralFood'],
};
}

140
vue3/models/InviteLink.ts Normal file
View File

@@ -0,0 +1,140 @@
/* 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 { Group } from './Group';
import {
GroupFromJSON,
GroupFromJSONTyped,
GroupToJSON,
} from './Group';
/**
* Adds nested create feature
* @export
* @interface InviteLink
*/
export interface InviteLink {
/**
*
* @type {number}
* @memberof InviteLink
*/
readonly id: number;
/**
*
* @type {string}
* @memberof InviteLink
*/
readonly uuid: string;
/**
*
* @type {string}
* @memberof InviteLink
*/
email?: string;
/**
*
* @type {Group}
* @memberof InviteLink
*/
group: Group;
/**
*
* @type {Date}
* @memberof InviteLink
*/
validUntil?: Date;
/**
*
* @type {number}
* @memberof InviteLink
*/
usedBy?: number;
/**
*
* @type {boolean}
* @memberof InviteLink
*/
reusable?: boolean;
/**
*
* @type {string}
* @memberof InviteLink
*/
internalNote?: string;
/**
*
* @type {number}
* @memberof InviteLink
*/
readonly createdBy: number;
/**
*
* @type {Date}
* @memberof InviteLink
*/
readonly createdAt: Date;
}
/**
* Check if a given object implements the InviteLink interface.
*/
export function instanceOfInviteLink(value: object): boolean {
if (!('id' in value)) return false;
if (!('uuid' in value)) return false;
if (!('group' in value)) return false;
if (!('createdBy' in value)) return false;
if (!('createdAt' in value)) return false;
return true;
}
export function InviteLinkFromJSON(json: any): InviteLink {
return InviteLinkFromJSONTyped(json, false);
}
export function InviteLinkFromJSONTyped(json: any, ignoreDiscriminator: boolean): InviteLink {
if (json == null) {
return json;
}
return {
'id': json['id'],
'uuid': json['uuid'],
'email': json['email'] == null ? undefined : json['email'],
'group': GroupFromJSON(json['group']),
'validUntil': json['valid_until'] == null ? undefined : (new Date(json['valid_until'])),
'usedBy': json['used_by'] == null ? undefined : json['used_by'],
'reusable': json['reusable'] == null ? undefined : json['reusable'],
'internalNote': json['internal_note'] == null ? undefined : json['internal_note'],
'createdBy': json['created_by'],
'createdAt': (new Date(json['created_at'])),
};
}
export function InviteLinkToJSON(value?: Omit<InviteLink, 'id'|'uuid'|'created_by'|'created_at'> | null): any {
if (value == null) {
return value;
}
return {
'email': value['email'],
'group': GroupToJSON(value['group']),
'valid_until': value['validUntil'] == null ? undefined : ((value['validUntil']).toISOString().substring(0,10)),
'used_by': value['usedBy'],
'reusable': value['reusable'],
'internal_note': value['internalNote'],
};
}

160
vue3/models/Keyword.ts Normal file
View File

@@ -0,0 +1,160 @@
/* 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';
/**
* Moves `UniqueValidator`'s from the validation stage to the save stage.
* It solves the problem with nested validation for unique fields on update.
*
* If you want more details, you can read related issues and articles:
* https://github.com/beda-software/drf-writable-nested/issues/1
* http://www.django-rest-framework.org/api-guide/validators/#updating-nested-serializers
*
* Example of usage:
* ```
* class Child(models.Model):
* field = models.CharField(unique=True)
*
*
* class Parent(models.Model):
* child = models.ForeignKey('Child')
*
*
* class ChildSerializer(UniqueFieldsMixin, serializers.ModelSerializer):
* class Meta:
* model = Child
*
*
* class ParentSerializer(NestedUpdateMixin, serializers.ModelSerializer):
* child = ChildSerializer()
*
* class Meta:
* model = Parent
* ```
*
* Note: `UniqueFieldsMixin` must be applied only on the serializer
* which has unique fields.
*
* Note: When you are using both mixins
* (`UniqueFieldsMixin` and `NestedCreateMixin` or `NestedUpdateMixin`)
* you should put `UniqueFieldsMixin` ahead.
* @export
* @interface Keyword
*/
export interface Keyword {
/**
*
* @type {number}
* @memberof Keyword
*/
readonly id: number;
/**
*
* @type {string}
* @memberof Keyword
*/
name: string;
/**
*
* @type {string}
* @memberof Keyword
*/
readonly label: string;
/**
*
* @type {string}
* @memberof Keyword
*/
description?: string;
/**
*
* @type {number}
* @memberof Keyword
*/
readonly parent: number;
/**
*
* @type {number}
* @memberof Keyword
*/
readonly numchild: number;
/**
*
* @type {Date}
* @memberof Keyword
*/
readonly createdAt: Date;
/**
*
* @type {Date}
* @memberof Keyword
*/
readonly updatedAt: Date;
/**
* Returns a string representation of a tree node and it's ancestors,
* e.g. 'Cuisine > Asian > Chinese > Catonese'.
* @type {string}
* @memberof Keyword
*/
readonly fullName: string;
}
/**
* Check if a given object implements the Keyword interface.
*/
export function instanceOfKeyword(value: object): boolean {
if (!('id' in value)) return false;
if (!('name' in value)) return false;
if (!('label' in value)) return false;
if (!('parent' in value)) return false;
if (!('numchild' in value)) return false;
if (!('createdAt' in value)) return false;
if (!('updatedAt' in value)) return false;
if (!('fullName' in value)) return false;
return true;
}
export function KeywordFromJSON(json: any): Keyword {
return KeywordFromJSONTyped(json, false);
}
export function KeywordFromJSONTyped(json: any, ignoreDiscriminator: boolean): Keyword {
if (json == null) {
return json;
}
return {
'id': json['id'],
'name': json['name'],
'label': json['label'],
'description': json['description'] == null ? undefined : json['description'],
'parent': json['parent'],
'numchild': json['numchild'],
'createdAt': (new Date(json['created_at'])),
'updatedAt': (new Date(json['updated_at'])),
'fullName': json['full_name'],
};
}
export function KeywordToJSON(value?: Omit<Keyword, 'id'|'label'|'parent'|'numchild'|'created_at'|'updated_at'|'full_name'> | null): any {
if (value == null) {
return value;
}
return {
'name': value['name'],
'description': value['description'],
};
}

View File

@@ -0,0 +1,68 @@
/* 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';
/**
*
* @export
* @interface KeywordLabel
*/
export interface KeywordLabel {
/**
*
* @type {number}
* @memberof KeywordLabel
*/
readonly id: number;
/**
*
* @type {string}
* @memberof KeywordLabel
*/
readonly label: string;
}
/**
* Check if a given object implements the KeywordLabel interface.
*/
export function instanceOfKeywordLabel(value: object): boolean {
if (!('id' in value)) return false;
if (!('label' in value)) return false;
return true;
}
export function KeywordLabelFromJSON(json: any): KeywordLabel {
return KeywordLabelFromJSONTyped(json, false);
}
export function KeywordLabelFromJSONTyped(json: any, ignoreDiscriminator: boolean): KeywordLabel {
if (json == null) {
return json;
}
return {
'id': json['id'],
'label': json['label'],
};
}
export function KeywordLabelToJSON(value?: Omit<KeywordLabel, 'id'|'label'> | null): any {
if (value == null) {
return value;
}
return {
};
}

186
vue3/models/MealPlan.ts Normal file
View File

@@ -0,0 +1,186 @@
/* 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 { MealType } from './MealType';
import {
MealTypeFromJSON,
MealTypeFromJSONTyped,
MealTypeToJSON,
} from './MealType';
import type { RecipeOverview } from './RecipeOverview';
import {
RecipeOverviewFromJSON,
RecipeOverviewFromJSONTyped,
RecipeOverviewToJSON,
} from './RecipeOverview';
import type { User } from './User';
import {
UserFromJSON,
UserFromJSONTyped,
UserToJSON,
} from './User';
/**
* Adds nested create feature
* @export
* @interface MealPlan
*/
export interface MealPlan {
/**
*
* @type {number}
* @memberof MealPlan
*/
readonly id: number;
/**
*
* @type {string}
* @memberof MealPlan
*/
title?: string;
/**
*
* @type {RecipeOverview}
* @memberof MealPlan
*/
recipe?: RecipeOverview;
/**
*
* @type {number}
* @memberof MealPlan
*/
servings: number;
/**
*
* @type {string}
* @memberof MealPlan
*/
note?: string;
/**
*
* @type {string}
* @memberof MealPlan
*/
readonly noteMarkdown: string;
/**
*
* @type {Date}
* @memberof MealPlan
*/
fromDate: Date;
/**
*
* @type {Date}
* @memberof MealPlan
*/
toDate?: Date;
/**
*
* @type {MealType}
* @memberof MealPlan
*/
mealType: MealType;
/**
*
* @type {number}
* @memberof MealPlan
*/
readonly createdBy: number;
/**
*
* @type {Array<User>}
* @memberof MealPlan
*/
shared?: Array<User>;
/**
*
* @type {string}
* @memberof MealPlan
*/
readonly recipeName: string;
/**
*
* @type {string}
* @memberof MealPlan
*/
readonly mealTypeName: string;
/**
*
* @type {boolean}
* @memberof MealPlan
*/
readonly shopping: boolean;
}
/**
* Check if a given object implements the MealPlan interface.
*/
export function instanceOfMealPlan(value: object): boolean {
if (!('id' in value)) return false;
if (!('servings' in value)) return false;
if (!('noteMarkdown' in value)) return false;
if (!('fromDate' in value)) return false;
if (!('mealType' in value)) return false;
if (!('createdBy' in value)) return false;
if (!('recipeName' in value)) return false;
if (!('mealTypeName' in value)) return false;
if (!('shopping' in value)) return false;
return true;
}
export function MealPlanFromJSON(json: any): MealPlan {
return MealPlanFromJSONTyped(json, false);
}
export function MealPlanFromJSONTyped(json: any, ignoreDiscriminator: boolean): MealPlan {
if (json == null) {
return json;
}
return {
'id': json['id'],
'title': json['title'] == null ? undefined : json['title'],
'recipe': json['recipe'] == null ? undefined : RecipeOverviewFromJSON(json['recipe']),
'servings': json['servings'],
'note': json['note'] == null ? undefined : json['note'],
'noteMarkdown': json['note_markdown'],
'fromDate': (new Date(json['from_date'])),
'toDate': json['to_date'] == null ? undefined : (new Date(json['to_date'])),
'mealType': MealTypeFromJSON(json['meal_type']),
'createdBy': json['created_by'],
'shared': json['shared'] == null ? undefined : ((json['shared'] as Array<any>).map(UserFromJSON)),
'recipeName': json['recipe_name'],
'mealTypeName': json['meal_type_name'],
'shopping': json['shopping'],
};
}
export function MealPlanToJSON(value?: Omit<MealPlan, 'id'|'note_markdown'|'created_by'|'recipe_name'|'meal_type_name'|'shopping'> | null): any {
if (value == null) {
return value;
}
return {
'title': value['title'],
'recipe': RecipeOverviewToJSON(value['recipe']),
'servings': value['servings'],
'note': value['note'],
'from_date': ((value['fromDate']).toISOString().substring(0,10)),
'to_date': value['toDate'] == null ? undefined : ((value['toDate']).toISOString().substring(0,10)),
'meal_type': MealTypeToJSON(value['mealType']),
'shared': value['shared'] == null ? undefined : ((value['shared'] as Array<any>).map(UserToJSON)),
};
}

101
vue3/models/MealType.ts Normal file
View File

@@ -0,0 +1,101 @@
/* 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';
/**
* Adds nested create feature
* @export
* @interface MealType
*/
export interface MealType {
/**
*
* @type {number}
* @memberof MealType
*/
readonly id: number;
/**
*
* @type {string}
* @memberof MealType
*/
name: string;
/**
*
* @type {number}
* @memberof MealType
*/
order?: number;
/**
*
* @type {string}
* @memberof MealType
*/
color?: string;
/**
*
* @type {boolean}
* @memberof MealType
*/
_default?: boolean;
/**
*
* @type {number}
* @memberof MealType
*/
readonly createdBy: number;
}
/**
* Check if a given object implements the MealType interface.
*/
export function instanceOfMealType(value: object): boolean {
if (!('id' in value)) return false;
if (!('name' in value)) return false;
if (!('createdBy' in value)) return false;
return true;
}
export function MealTypeFromJSON(json: any): MealType {
return MealTypeFromJSONTyped(json, false);
}
export function MealTypeFromJSONTyped(json: any, ignoreDiscriminator: boolean): MealType {
if (json == null) {
return json;
}
return {
'id': json['id'],
'name': json['name'],
'order': json['order'] == null ? undefined : json['order'],
'color': json['color'] == null ? undefined : json['color'],
'_default': json['default'] == null ? undefined : json['default'],
'createdBy': json['created_by'],
};
}
export function MealTypeToJSON(value?: Omit<MealType, 'id'|'created_by'> | null): any {
if (value == null) {
return value;
}
return {
'name': value['name'],
'order': value['order'],
'color': value['color'],
'default': value['_default'],
};
}

45
vue3/models/MethodEnum.ts Normal file
View File

@@ -0,0 +1,45 @@
/* 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.
*/
/**
* * `DB` - Dropbox
* * `NEXTCLOUD` - Nextcloud
* * `LOCAL` - Local
* @export
*/
export const MethodEnum = {
Db: 'DB',
Nextcloud: 'NEXTCLOUD',
Local: 'LOCAL'
} as const;
export type MethodEnum = typeof MethodEnum[keyof typeof MethodEnum];
export function instanceOfMethodEnum(value: any): boolean {
return Object.values(MethodEnum).includes(value);
}
export function MethodEnumFromJSON(json: any): MethodEnum {
return MethodEnumFromJSONTyped(json, false);
}
export function MethodEnumFromJSONTyped(json: any, ignoreDiscriminator: boolean): MethodEnum {
return json as MethodEnum;
}
export function MethodEnumToJSON(value?: MethodEnum | null): any {
return value as any;
}

View File

@@ -0,0 +1,104 @@
/* 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';
/**
*
* @export
* @interface NutritionInformation
*/
export interface NutritionInformation {
/**
*
* @type {number}
* @memberof NutritionInformation
*/
readonly id: number;
/**
*
* @type {number}
* @memberof NutritionInformation
*/
carbohydrates: number;
/**
*
* @type {number}
* @memberof NutritionInformation
*/
fats: number;
/**
*
* @type {number}
* @memberof NutritionInformation
*/
proteins: number;
/**
*
* @type {number}
* @memberof NutritionInformation
*/
calories: number;
/**
*
* @type {string}
* @memberof NutritionInformation
*/
source?: string;
}
/**
* Check if a given object implements the NutritionInformation interface.
*/
export function instanceOfNutritionInformation(value: object): boolean {
if (!('id' in value)) return false;
if (!('carbohydrates' in value)) return false;
if (!('fats' in value)) return false;
if (!('proteins' in value)) return false;
if (!('calories' in value)) return false;
return true;
}
export function NutritionInformationFromJSON(json: any): NutritionInformation {
return NutritionInformationFromJSONTyped(json, false);
}
export function NutritionInformationFromJSONTyped(json: any, ignoreDiscriminator: boolean): NutritionInformation {
if (json == null) {
return json;
}
return {
'id': json['id'],
'carbohydrates': json['carbohydrates'],
'fats': json['fats'],
'proteins': json['proteins'],
'calories': json['calories'],
'source': json['source'] == null ? undefined : json['source'],
};
}
export function NutritionInformationToJSON(value?: Omit<NutritionInformation, 'id'> | null): any {
if (value == null) {
return value;
}
return {
'carbohydrates': value['carbohydrates'],
'fats': value['fats'],
'proteins': value['proteins'],
'calories': value['calories'],
'source': value['source'],
};
}

View File

@@ -0,0 +1,91 @@
/* 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 { Automation } from './Automation';
import {
AutomationFromJSON,
AutomationFromJSONTyped,
AutomationToJSON,
} from './Automation';
/**
*
* @export
* @interface PaginatedAutomationList
*/
export interface PaginatedAutomationList {
/**
*
* @type {number}
* @memberof PaginatedAutomationList
*/
count?: number;
/**
*
* @type {string}
* @memberof PaginatedAutomationList
*/
next?: string;
/**
*
* @type {string}
* @memberof PaginatedAutomationList
*/
previous?: string;
/**
*
* @type {Array<Automation>}
* @memberof PaginatedAutomationList
*/
results?: Array<Automation>;
}
/**
* Check if a given object implements the PaginatedAutomationList interface.
*/
export function instanceOfPaginatedAutomationList(value: object): boolean {
return true;
}
export function PaginatedAutomationListFromJSON(json: any): PaginatedAutomationList {
return PaginatedAutomationListFromJSONTyped(json, false);
}
export function PaginatedAutomationListFromJSONTyped(json: any, ignoreDiscriminator: boolean): PaginatedAutomationList {
if (json == null) {
return json;
}
return {
'count': json['count'] == null ? undefined : json['count'],
'next': json['next'] == null ? undefined : json['next'],
'previous': json['previous'] == null ? undefined : json['previous'],
'results': json['results'] == null ? undefined : ((json['results'] as Array<any>).map(AutomationFromJSON)),
};
}
export function PaginatedAutomationListToJSON(value?: PaginatedAutomationList | null): any {
if (value == null) {
return value;
}
return {
'count': value['count'],
'next': value['next'],
'previous': value['previous'],
'results': value['results'] == null ? undefined : ((value['results'] as Array<any>).map(AutomationToJSON)),
};
}

View File

@@ -0,0 +1,91 @@
/* 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 { CookLog } from './CookLog';
import {
CookLogFromJSON,
CookLogFromJSONTyped,
CookLogToJSON,
} from './CookLog';
/**
*
* @export
* @interface PaginatedCookLogList
*/
export interface PaginatedCookLogList {
/**
*
* @type {number}
* @memberof PaginatedCookLogList
*/
count?: number;
/**
*
* @type {string}
* @memberof PaginatedCookLogList
*/
next?: string;
/**
*
* @type {string}
* @memberof PaginatedCookLogList
*/
previous?: string;
/**
*
* @type {Array<CookLog>}
* @memberof PaginatedCookLogList
*/
results?: Array<CookLog>;
}
/**
* Check if a given object implements the PaginatedCookLogList interface.
*/
export function instanceOfPaginatedCookLogList(value: object): boolean {
return true;
}
export function PaginatedCookLogListFromJSON(json: any): PaginatedCookLogList {
return PaginatedCookLogListFromJSONTyped(json, false);
}
export function PaginatedCookLogListFromJSONTyped(json: any, ignoreDiscriminator: boolean): PaginatedCookLogList {
if (json == null) {
return json;
}
return {
'count': json['count'] == null ? undefined : json['count'],
'next': json['next'] == null ? undefined : json['next'],
'previous': json['previous'] == null ? undefined : json['previous'],
'results': json['results'] == null ? undefined : ((json['results'] as Array<any>).map(CookLogFromJSON)),
};
}
export function PaginatedCookLogListToJSON(value?: PaginatedCookLogList | null): any {
if (value == null) {
return value;
}
return {
'count': value['count'],
'next': value['next'],
'previous': value['previous'],
'results': value['results'] == null ? undefined : ((value['results'] as Array<any>).map(CookLogToJSON)),
};
}

View File

@@ -0,0 +1,91 @@
/* 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 { CustomFilter } from './CustomFilter';
import {
CustomFilterFromJSON,
CustomFilterFromJSONTyped,
CustomFilterToJSON,
} from './CustomFilter';
/**
*
* @export
* @interface PaginatedCustomFilterList
*/
export interface PaginatedCustomFilterList {
/**
*
* @type {number}
* @memberof PaginatedCustomFilterList
*/
count?: number;
/**
*
* @type {string}
* @memberof PaginatedCustomFilterList
*/
next?: string;
/**
*
* @type {string}
* @memberof PaginatedCustomFilterList
*/
previous?: string;
/**
*
* @type {Array<CustomFilter>}
* @memberof PaginatedCustomFilterList
*/
results?: Array<CustomFilter>;
}
/**
* Check if a given object implements the PaginatedCustomFilterList interface.
*/
export function instanceOfPaginatedCustomFilterList(value: object): boolean {
return true;
}
export function PaginatedCustomFilterListFromJSON(json: any): PaginatedCustomFilterList {
return PaginatedCustomFilterListFromJSONTyped(json, false);
}
export function PaginatedCustomFilterListFromJSONTyped(json: any, ignoreDiscriminator: boolean): PaginatedCustomFilterList {
if (json == null) {
return json;
}
return {
'count': json['count'] == null ? undefined : json['count'],
'next': json['next'] == null ? undefined : json['next'],
'previous': json['previous'] == null ? undefined : json['previous'],
'results': json['results'] == null ? undefined : ((json['results'] as Array<any>).map(CustomFilterFromJSON)),
};
}
export function PaginatedCustomFilterListToJSON(value?: PaginatedCustomFilterList | null): any {
if (value == null) {
return value;
}
return {
'count': value['count'],
'next': value['next'],
'previous': value['previous'],
'results': value['results'] == null ? undefined : ((value['results'] as Array<any>).map(CustomFilterToJSON)),
};
}

View File

@@ -0,0 +1,91 @@
/* 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 { ExportLog } from './ExportLog';
import {
ExportLogFromJSON,
ExportLogFromJSONTyped,
ExportLogToJSON,
} from './ExportLog';
/**
*
* @export
* @interface PaginatedExportLogList
*/
export interface PaginatedExportLogList {
/**
*
* @type {number}
* @memberof PaginatedExportLogList
*/
count?: number;
/**
*
* @type {string}
* @memberof PaginatedExportLogList
*/
next?: string;
/**
*
* @type {string}
* @memberof PaginatedExportLogList
*/
previous?: string;
/**
*
* @type {Array<ExportLog>}
* @memberof PaginatedExportLogList
*/
results?: Array<ExportLog>;
}
/**
* Check if a given object implements the PaginatedExportLogList interface.
*/
export function instanceOfPaginatedExportLogList(value: object): boolean {
return true;
}
export function PaginatedExportLogListFromJSON(json: any): PaginatedExportLogList {
return PaginatedExportLogListFromJSONTyped(json, false);
}
export function PaginatedExportLogListFromJSONTyped(json: any, ignoreDiscriminator: boolean): PaginatedExportLogList {
if (json == null) {
return json;
}
return {
'count': json['count'] == null ? undefined : json['count'],
'next': json['next'] == null ? undefined : json['next'],
'previous': json['previous'] == null ? undefined : json['previous'],
'results': json['results'] == null ? undefined : ((json['results'] as Array<any>).map(ExportLogFromJSON)),
};
}
export function PaginatedExportLogListToJSON(value?: PaginatedExportLogList | null): any {
if (value == null) {
return value;
}
return {
'count': value['count'],
'next': value['next'],
'previous': value['previous'],
'results': value['results'] == null ? undefined : ((value['results'] as Array<any>).map(ExportLogToJSON)),
};
}

View File

@@ -0,0 +1,91 @@
/* 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 { Food } from './Food';
import {
FoodFromJSON,
FoodFromJSONTyped,
FoodToJSON,
} from './Food';
/**
*
* @export
* @interface PaginatedFoodList
*/
export interface PaginatedFoodList {
/**
*
* @type {number}
* @memberof PaginatedFoodList
*/
count?: number;
/**
*
* @type {string}
* @memberof PaginatedFoodList
*/
next?: string;
/**
*
* @type {string}
* @memberof PaginatedFoodList
*/
previous?: string;
/**
*
* @type {Array<Food>}
* @memberof PaginatedFoodList
*/
results?: Array<Food>;
}
/**
* Check if a given object implements the PaginatedFoodList interface.
*/
export function instanceOfPaginatedFoodList(value: object): boolean {
return true;
}
export function PaginatedFoodListFromJSON(json: any): PaginatedFoodList {
return PaginatedFoodListFromJSONTyped(json, false);
}
export function PaginatedFoodListFromJSONTyped(json: any, ignoreDiscriminator: boolean): PaginatedFoodList {
if (json == null) {
return json;
}
return {
'count': json['count'] == null ? undefined : json['count'],
'next': json['next'] == null ? undefined : json['next'],
'previous': json['previous'] == null ? undefined : json['previous'],
'results': json['results'] == null ? undefined : ((json['results'] as Array<any>).map(FoodFromJSON)),
};
}
export function PaginatedFoodListToJSON(value?: PaginatedFoodList | null): any {
if (value == null) {
return value;
}
return {
'count': value['count'],
'next': value['next'],
'previous': value['previous'],
'results': value['results'] == null ? undefined : ((value['results'] as Array<any>).map(FoodToJSON)),
};
}

View File

@@ -0,0 +1,91 @@
/* 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 { ImportLog } from './ImportLog';
import {
ImportLogFromJSON,
ImportLogFromJSONTyped,
ImportLogToJSON,
} from './ImportLog';
/**
*
* @export
* @interface PaginatedImportLogList
*/
export interface PaginatedImportLogList {
/**
*
* @type {number}
* @memberof PaginatedImportLogList
*/
count?: number;
/**
*
* @type {string}
* @memberof PaginatedImportLogList
*/
next?: string;
/**
*
* @type {string}
* @memberof PaginatedImportLogList
*/
previous?: string;
/**
*
* @type {Array<ImportLog>}
* @memberof PaginatedImportLogList
*/
results?: Array<ImportLog>;
}
/**
* Check if a given object implements the PaginatedImportLogList interface.
*/
export function instanceOfPaginatedImportLogList(value: object): boolean {
return true;
}
export function PaginatedImportLogListFromJSON(json: any): PaginatedImportLogList {
return PaginatedImportLogListFromJSONTyped(json, false);
}
export function PaginatedImportLogListFromJSONTyped(json: any, ignoreDiscriminator: boolean): PaginatedImportLogList {
if (json == null) {
return json;
}
return {
'count': json['count'] == null ? undefined : json['count'],
'next': json['next'] == null ? undefined : json['next'],
'previous': json['previous'] == null ? undefined : json['previous'],
'results': json['results'] == null ? undefined : ((json['results'] as Array<any>).map(ImportLogFromJSON)),
};
}
export function PaginatedImportLogListToJSON(value?: PaginatedImportLogList | null): any {
if (value == null) {
return value;
}
return {
'count': value['count'],
'next': value['next'],
'previous': value['previous'],
'results': value['results'] == null ? undefined : ((value['results'] as Array<any>).map(ImportLogToJSON)),
};
}

View File

@@ -0,0 +1,91 @@
/* 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 { Ingredient } from './Ingredient';
import {
IngredientFromJSON,
IngredientFromJSONTyped,
IngredientToJSON,
} from './Ingredient';
/**
*
* @export
* @interface PaginatedIngredientList
*/
export interface PaginatedIngredientList {
/**
*
* @type {number}
* @memberof PaginatedIngredientList
*/
count?: number;
/**
*
* @type {string}
* @memberof PaginatedIngredientList
*/
next?: string;
/**
*
* @type {string}
* @memberof PaginatedIngredientList
*/
previous?: string;
/**
*
* @type {Array<Ingredient>}
* @memberof PaginatedIngredientList
*/
results?: Array<Ingredient>;
}
/**
* Check if a given object implements the PaginatedIngredientList interface.
*/
export function instanceOfPaginatedIngredientList(value: object): boolean {
return true;
}
export function PaginatedIngredientListFromJSON(json: any): PaginatedIngredientList {
return PaginatedIngredientListFromJSONTyped(json, false);
}
export function PaginatedIngredientListFromJSONTyped(json: any, ignoreDiscriminator: boolean): PaginatedIngredientList {
if (json == null) {
return json;
}
return {
'count': json['count'] == null ? undefined : json['count'],
'next': json['next'] == null ? undefined : json['next'],
'previous': json['previous'] == null ? undefined : json['previous'],
'results': json['results'] == null ? undefined : ((json['results'] as Array<any>).map(IngredientFromJSON)),
};
}
export function PaginatedIngredientListToJSON(value?: PaginatedIngredientList | null): any {
if (value == null) {
return value;
}
return {
'count': value['count'],
'next': value['next'],
'previous': value['previous'],
'results': value['results'] == null ? undefined : ((value['results'] as Array<any>).map(IngredientToJSON)),
};
}

View File

@@ -0,0 +1,91 @@
/* 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 { Keyword } from './Keyword';
import {
KeywordFromJSON,
KeywordFromJSONTyped,
KeywordToJSON,
} from './Keyword';
/**
*
* @export
* @interface PaginatedKeywordList
*/
export interface PaginatedKeywordList {
/**
*
* @type {number}
* @memberof PaginatedKeywordList
*/
count?: number;
/**
*
* @type {string}
* @memberof PaginatedKeywordList
*/
next?: string;
/**
*
* @type {string}
* @memberof PaginatedKeywordList
*/
previous?: string;
/**
*
* @type {Array<Keyword>}
* @memberof PaginatedKeywordList
*/
results?: Array<Keyword>;
}
/**
* Check if a given object implements the PaginatedKeywordList interface.
*/
export function instanceOfPaginatedKeywordList(value: object): boolean {
return true;
}
export function PaginatedKeywordListFromJSON(json: any): PaginatedKeywordList {
return PaginatedKeywordListFromJSONTyped(json, false);
}
export function PaginatedKeywordListFromJSONTyped(json: any, ignoreDiscriminator: boolean): PaginatedKeywordList {
if (json == null) {
return json;
}
return {
'count': json['count'] == null ? undefined : json['count'],
'next': json['next'] == null ? undefined : json['next'],
'previous': json['previous'] == null ? undefined : json['previous'],
'results': json['results'] == null ? undefined : ((json['results'] as Array<any>).map(KeywordFromJSON)),
};
}
export function PaginatedKeywordListToJSON(value?: PaginatedKeywordList | null): any {
if (value == null) {
return value;
}
return {
'count': value['count'],
'next': value['next'],
'previous': value['previous'],
'results': value['results'] == null ? undefined : ((value['results'] as Array<any>).map(KeywordToJSON)),
};
}

View File

@@ -0,0 +1,91 @@
/* 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 { RecipeOverview } from './RecipeOverview';
import {
RecipeOverviewFromJSON,
RecipeOverviewFromJSONTyped,
RecipeOverviewToJSON,
} from './RecipeOverview';
/**
*
* @export
* @interface PaginatedRecipeOverviewList
*/
export interface PaginatedRecipeOverviewList {
/**
*
* @type {number}
* @memberof PaginatedRecipeOverviewList
*/
count?: number;
/**
*
* @type {string}
* @memberof PaginatedRecipeOverviewList
*/
next?: string;
/**
*
* @type {string}
* @memberof PaginatedRecipeOverviewList
*/
previous?: string;
/**
*
* @type {Array<RecipeOverview>}
* @memberof PaginatedRecipeOverviewList
*/
results?: Array<RecipeOverview>;
}
/**
* Check if a given object implements the PaginatedRecipeOverviewList interface.
*/
export function instanceOfPaginatedRecipeOverviewList(value: object): boolean {
return true;
}
export function PaginatedRecipeOverviewListFromJSON(json: any): PaginatedRecipeOverviewList {
return PaginatedRecipeOverviewListFromJSONTyped(json, false);
}
export function PaginatedRecipeOverviewListFromJSONTyped(json: any, ignoreDiscriminator: boolean): PaginatedRecipeOverviewList {
if (json == null) {
return json;
}
return {
'count': json['count'] == null ? undefined : json['count'],
'next': json['next'] == null ? undefined : json['next'],
'previous': json['previous'] == null ? undefined : json['previous'],
'results': json['results'] == null ? undefined : ((json['results'] as Array<any>).map(RecipeOverviewFromJSON)),
};
}
export function PaginatedRecipeOverviewListToJSON(value?: PaginatedRecipeOverviewList | null): any {
if (value == null) {
return value;
}
return {
'count': value['count'],
'next': value['next'],
'previous': value['previous'],
'results': value['results'] == null ? undefined : ((value['results'] as Array<any>).map(RecipeOverviewToJSON)),
};
}

View File

@@ -0,0 +1,91 @@
/* 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 { Step } from './Step';
import {
StepFromJSON,
StepFromJSONTyped,
StepToJSON,
} from './Step';
/**
*
* @export
* @interface PaginatedStepList
*/
export interface PaginatedStepList {
/**
*
* @type {number}
* @memberof PaginatedStepList
*/
count?: number;
/**
*
* @type {string}
* @memberof PaginatedStepList
*/
next?: string;
/**
*
* @type {string}
* @memberof PaginatedStepList
*/
previous?: string;
/**
*
* @type {Array<Step>}
* @memberof PaginatedStepList
*/
results?: Array<Step>;
}
/**
* Check if a given object implements the PaginatedStepList interface.
*/
export function instanceOfPaginatedStepList(value: object): boolean {
return true;
}
export function PaginatedStepListFromJSON(json: any): PaginatedStepList {
return PaginatedStepListFromJSONTyped(json, false);
}
export function PaginatedStepListFromJSONTyped(json: any, ignoreDiscriminator: boolean): PaginatedStepList {
if (json == null) {
return json;
}
return {
'count': json['count'] == null ? undefined : json['count'],
'next': json['next'] == null ? undefined : json['next'],
'previous': json['previous'] == null ? undefined : json['previous'],
'results': json['results'] == null ? undefined : ((json['results'] as Array<any>).map(StepFromJSON)),
};
}
export function PaginatedStepListToJSON(value?: PaginatedStepList | null): any {
if (value == null) {
return value;
}
return {
'count': value['count'],
'next': value['next'],
'previous': value['previous'],
'results': value['results'] == null ? undefined : ((value['results'] as Array<any>).map(StepToJSON)),
};
}

View File

@@ -0,0 +1,91 @@
/* 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 { SupermarketCategoryRelation } from './SupermarketCategoryRelation';
import {
SupermarketCategoryRelationFromJSON,
SupermarketCategoryRelationFromJSONTyped,
SupermarketCategoryRelationToJSON,
} from './SupermarketCategoryRelation';
/**
*
* @export
* @interface PaginatedSupermarketCategoryRelationList
*/
export interface PaginatedSupermarketCategoryRelationList {
/**
*
* @type {number}
* @memberof PaginatedSupermarketCategoryRelationList
*/
count?: number;
/**
*
* @type {string}
* @memberof PaginatedSupermarketCategoryRelationList
*/
next?: string;
/**
*
* @type {string}
* @memberof PaginatedSupermarketCategoryRelationList
*/
previous?: string;
/**
*
* @type {Array<SupermarketCategoryRelation>}
* @memberof PaginatedSupermarketCategoryRelationList
*/
results?: Array<SupermarketCategoryRelation>;
}
/**
* Check if a given object implements the PaginatedSupermarketCategoryRelationList interface.
*/
export function instanceOfPaginatedSupermarketCategoryRelationList(value: object): boolean {
return true;
}
export function PaginatedSupermarketCategoryRelationListFromJSON(json: any): PaginatedSupermarketCategoryRelationList {
return PaginatedSupermarketCategoryRelationListFromJSONTyped(json, false);
}
export function PaginatedSupermarketCategoryRelationListFromJSONTyped(json: any, ignoreDiscriminator: boolean): PaginatedSupermarketCategoryRelationList {
if (json == null) {
return json;
}
return {
'count': json['count'] == null ? undefined : json['count'],
'next': json['next'] == null ? undefined : json['next'],
'previous': json['previous'] == null ? undefined : json['previous'],
'results': json['results'] == null ? undefined : ((json['results'] as Array<any>).map(SupermarketCategoryRelationFromJSON)),
};
}
export function PaginatedSupermarketCategoryRelationListToJSON(value?: PaginatedSupermarketCategoryRelationList | null): any {
if (value == null) {
return value;
}
return {
'count': value['count'],
'next': value['next'],
'previous': value['previous'],
'results': value['results'] == null ? undefined : ((value['results'] as Array<any>).map(SupermarketCategoryRelationToJSON)),
};
}

View File

@@ -0,0 +1,91 @@
/* 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 { SyncLog } from './SyncLog';
import {
SyncLogFromJSON,
SyncLogFromJSONTyped,
SyncLogToJSON,
} from './SyncLog';
/**
*
* @export
* @interface PaginatedSyncLogList
*/
export interface PaginatedSyncLogList {
/**
*
* @type {number}
* @memberof PaginatedSyncLogList
*/
count?: number;
/**
*
* @type {string}
* @memberof PaginatedSyncLogList
*/
next?: string;
/**
*
* @type {string}
* @memberof PaginatedSyncLogList
*/
previous?: string;
/**
*
* @type {Array<SyncLog>}
* @memberof PaginatedSyncLogList
*/
results?: Array<SyncLog>;
}
/**
* Check if a given object implements the PaginatedSyncLogList interface.
*/
export function instanceOfPaginatedSyncLogList(value: object): boolean {
return true;
}
export function PaginatedSyncLogListFromJSON(json: any): PaginatedSyncLogList {
return PaginatedSyncLogListFromJSONTyped(json, false);
}
export function PaginatedSyncLogListFromJSONTyped(json: any, ignoreDiscriminator: boolean): PaginatedSyncLogList {
if (json == null) {
return json;
}
return {
'count': json['count'] == null ? undefined : json['count'],
'next': json['next'] == null ? undefined : json['next'],
'previous': json['previous'] == null ? undefined : json['previous'],
'results': json['results'] == null ? undefined : ((json['results'] as Array<any>).map(SyncLogFromJSON)),
};
}
export function PaginatedSyncLogListToJSON(value?: PaginatedSyncLogList | null): any {
if (value == null) {
return value;
}
return {
'count': value['count'],
'next': value['next'],
'previous': value['previous'],
'results': value['results'] == null ? undefined : ((value['results'] as Array<any>).map(SyncLogToJSON)),
};
}

View File

@@ -0,0 +1,91 @@
/* 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 { Unit } from './Unit';
import {
UnitFromJSON,
UnitFromJSONTyped,
UnitToJSON,
} from './Unit';
/**
*
* @export
* @interface PaginatedUnitList
*/
export interface PaginatedUnitList {
/**
*
* @type {number}
* @memberof PaginatedUnitList
*/
count?: number;
/**
*
* @type {string}
* @memberof PaginatedUnitList
*/
next?: string;
/**
*
* @type {string}
* @memberof PaginatedUnitList
*/
previous?: string;
/**
*
* @type {Array<Unit>}
* @memberof PaginatedUnitList
*/
results?: Array<Unit>;
}
/**
* Check if a given object implements the PaginatedUnitList interface.
*/
export function instanceOfPaginatedUnitList(value: object): boolean {
return true;
}
export function PaginatedUnitListFromJSON(json: any): PaginatedUnitList {
return PaginatedUnitListFromJSONTyped(json, false);
}
export function PaginatedUnitListFromJSONTyped(json: any, ignoreDiscriminator: boolean): PaginatedUnitList {
if (json == null) {
return json;
}
return {
'count': json['count'] == null ? undefined : json['count'],
'next': json['next'] == null ? undefined : json['next'],
'previous': json['previous'] == null ? undefined : json['previous'],
'results': json['results'] == null ? undefined : ((json['results'] as Array<any>).map(UnitFromJSON)),
};
}
export function PaginatedUnitListToJSON(value?: PaginatedUnitList | null): any {
if (value == null) {
return value;
}
return {
'count': value['count'],
'next': value['next'],
'previous': value['previous'],
'results': value['results'] == null ? undefined : ((value['results'] as Array<any>).map(UnitToJSON)),
};
}

View File

@@ -0,0 +1,91 @@
/* 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 { UserSpace } from './UserSpace';
import {
UserSpaceFromJSON,
UserSpaceFromJSONTyped,
UserSpaceToJSON,
} from './UserSpace';
/**
*
* @export
* @interface PaginatedUserSpaceList
*/
export interface PaginatedUserSpaceList {
/**
*
* @type {number}
* @memberof PaginatedUserSpaceList
*/
count?: number;
/**
*
* @type {string}
* @memberof PaginatedUserSpaceList
*/
next?: string;
/**
*
* @type {string}
* @memberof PaginatedUserSpaceList
*/
previous?: string;
/**
*
* @type {Array<UserSpace>}
* @memberof PaginatedUserSpaceList
*/
results?: Array<UserSpace>;
}
/**
* Check if a given object implements the PaginatedUserSpaceList interface.
*/
export function instanceOfPaginatedUserSpaceList(value: object): boolean {
return true;
}
export function PaginatedUserSpaceListFromJSON(json: any): PaginatedUserSpaceList {
return PaginatedUserSpaceListFromJSONTyped(json, false);
}
export function PaginatedUserSpaceListFromJSONTyped(json: any, ignoreDiscriminator: boolean): PaginatedUserSpaceList {
if (json == null) {
return json;
}
return {
'count': json['count'] == null ? undefined : json['count'],
'next': json['next'] == null ? undefined : json['next'],
'previous': json['previous'] == null ? undefined : json['previous'],
'results': json['results'] == null ? undefined : ((json['results'] as Array<any>).map(UserSpaceFromJSON)),
};
}
export function PaginatedUserSpaceListToJSON(value?: PaginatedUserSpaceList | null): any {
if (value == null) {
return value;
}
return {
'count': value['count'],
'next': value['next'],
'previous': value['previous'],
'results': value['results'] == null ? undefined : ((value['results'] as Array<any>).map(UserSpaceToJSON)),
};
}

View File

@@ -0,0 +1,91 @@
/* 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 { ViewLog } from './ViewLog';
import {
ViewLogFromJSON,
ViewLogFromJSONTyped,
ViewLogToJSON,
} from './ViewLog';
/**
*
* @export
* @interface PaginatedViewLogList
*/
export interface PaginatedViewLogList {
/**
*
* @type {number}
* @memberof PaginatedViewLogList
*/
count?: number;
/**
*
* @type {string}
* @memberof PaginatedViewLogList
*/
next?: string;
/**
*
* @type {string}
* @memberof PaginatedViewLogList
*/
previous?: string;
/**
*
* @type {Array<ViewLog>}
* @memberof PaginatedViewLogList
*/
results?: Array<ViewLog>;
}
/**
* Check if a given object implements the PaginatedViewLogList interface.
*/
export function instanceOfPaginatedViewLogList(value: object): boolean {
return true;
}
export function PaginatedViewLogListFromJSON(json: any): PaginatedViewLogList {
return PaginatedViewLogListFromJSONTyped(json, false);
}
export function PaginatedViewLogListFromJSONTyped(json: any, ignoreDiscriminator: boolean): PaginatedViewLogList {
if (json == null) {
return json;
}
return {
'count': json['count'] == null ? undefined : json['count'],
'next': json['next'] == null ? undefined : json['next'],
'previous': json['previous'] == null ? undefined : json['previous'],
'results': json['results'] == null ? undefined : ((json['results'] as Array<any>).map(ViewLogFromJSON)),
};
}
export function PaginatedViewLogListToJSON(value?: PaginatedViewLogList | null): any {
if (value == null) {
return value;
}
return {
'count': value['count'],
'next': value['next'],
'previous': value['previous'],
'results': value['results'] == null ? undefined : ((value['results'] as Array<any>).map(ViewLogToJSON)),
};
}

View File

@@ -0,0 +1,96 @@
/* 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';
/**
*
* @export
* @interface PatchedAccessToken
*/
export interface PatchedAccessToken {
/**
*
* @type {number}
* @memberof PatchedAccessToken
*/
readonly id?: number;
/**
*
* @type {string}
* @memberof PatchedAccessToken
*/
readonly token?: string;
/**
*
* @type {Date}
* @memberof PatchedAccessToken
*/
expires?: Date;
/**
*
* @type {string}
* @memberof PatchedAccessToken
*/
scope?: string;
/**
*
* @type {Date}
* @memberof PatchedAccessToken
*/
readonly created?: Date;
/**
*
* @type {Date}
* @memberof PatchedAccessToken
*/
readonly updated?: Date;
}
/**
* Check if a given object implements the PatchedAccessToken interface.
*/
export function instanceOfPatchedAccessToken(value: object): boolean {
return true;
}
export function PatchedAccessTokenFromJSON(json: any): PatchedAccessToken {
return PatchedAccessTokenFromJSONTyped(json, false);
}
export function PatchedAccessTokenFromJSONTyped(json: any, ignoreDiscriminator: boolean): PatchedAccessToken {
if (json == null) {
return json;
}
return {
'id': json['id'] == null ? undefined : json['id'],
'token': json['token'] == null ? undefined : json['token'],
'expires': json['expires'] == null ? undefined : (new Date(json['expires'])),
'scope': json['scope'] == null ? undefined : json['scope'],
'created': json['created'] == null ? undefined : (new Date(json['created'])),
'updated': json['updated'] == null ? undefined : (new Date(json['updated'])),
};
}
export function PatchedAccessTokenToJSON(value?: Omit<PatchedAccessToken, 'id'|'token'|'created'|'updated'> | null): any {
if (value == null) {
return value;
}
return {
'expires': value['expires'] == null ? undefined : ((value['expires']).toISOString()),
'scope': value['scope'],
};
}

View File

@@ -0,0 +1,137 @@
/* 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 { TypeEnum } from './TypeEnum';
import {
TypeEnumFromJSON,
TypeEnumFromJSONTyped,
TypeEnumToJSON,
} from './TypeEnum';
/**
*
* @export
* @interface PatchedAutomation
*/
export interface PatchedAutomation {
/**
*
* @type {number}
* @memberof PatchedAutomation
*/
readonly id?: number;
/**
*
* @type {TypeEnum}
* @memberof PatchedAutomation
*/
type?: TypeEnum;
/**
*
* @type {string}
* @memberof PatchedAutomation
*/
name?: string;
/**
*
* @type {string}
* @memberof PatchedAutomation
*/
description?: string;
/**
*
* @type {string}
* @memberof PatchedAutomation
*/
param1?: string;
/**
*
* @type {string}
* @memberof PatchedAutomation
*/
param2?: string;
/**
*
* @type {string}
* @memberof PatchedAutomation
*/
param3?: string;
/**
*
* @type {number}
* @memberof PatchedAutomation
*/
order?: number;
/**
*
* @type {boolean}
* @memberof PatchedAutomation
*/
disabled?: boolean;
/**
*
* @type {number}
* @memberof PatchedAutomation
*/
readonly createdBy?: number;
}
/**
* Check if a given object implements the PatchedAutomation interface.
*/
export function instanceOfPatchedAutomation(value: object): boolean {
return true;
}
export function PatchedAutomationFromJSON(json: any): PatchedAutomation {
return PatchedAutomationFromJSONTyped(json, false);
}
export function PatchedAutomationFromJSONTyped(json: any, ignoreDiscriminator: boolean): PatchedAutomation {
if (json == null) {
return json;
}
return {
'id': json['id'] == null ? undefined : json['id'],
'type': json['type'] == null ? undefined : TypeEnumFromJSON(json['type']),
'name': json['name'] == null ? undefined : json['name'],
'description': json['description'] == null ? undefined : json['description'],
'param1': json['param_1'] == null ? undefined : json['param_1'],
'param2': json['param_2'] == null ? undefined : json['param_2'],
'param3': json['param_3'] == null ? undefined : json['param_3'],
'order': json['order'] == null ? undefined : json['order'],
'disabled': json['disabled'] == null ? undefined : json['disabled'],
'createdBy': json['created_by'] == null ? undefined : json['created_by'],
};
}
export function PatchedAutomationToJSON(value?: Omit<PatchedAutomation, 'id'|'created_by'> | null): any {
if (value == null) {
return value;
}
return {
'type': TypeEnumToJSON(value['type']),
'name': value['name'],
'description': value['description'],
'param_1': value['param1'],
'param_2': value['param2'],
'param_3': value['param3'],
'order': value['order'],
'disabled': value['disabled'],
};
}

View File

@@ -0,0 +1,89 @@
/* 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';
/**
*
* @export
* @interface PatchedBookmarkletImport
*/
export interface PatchedBookmarkletImport {
/**
*
* @type {number}
* @memberof PatchedBookmarkletImport
*/
readonly id?: number;
/**
*
* @type {string}
* @memberof PatchedBookmarkletImport
*/
url?: string;
/**
*
* @type {string}
* @memberof PatchedBookmarkletImport
*/
html?: string;
/**
*
* @type {number}
* @memberof PatchedBookmarkletImport
*/
readonly createdBy?: number;
/**
*
* @type {Date}
* @memberof PatchedBookmarkletImport
*/
readonly createdAt?: Date;
}
/**
* Check if a given object implements the PatchedBookmarkletImport interface.
*/
export function instanceOfPatchedBookmarkletImport(value: object): boolean {
return true;
}
export function PatchedBookmarkletImportFromJSON(json: any): PatchedBookmarkletImport {
return PatchedBookmarkletImportFromJSONTyped(json, false);
}
export function PatchedBookmarkletImportFromJSONTyped(json: any, ignoreDiscriminator: boolean): PatchedBookmarkletImport {
if (json == null) {
return json;
}
return {
'id': json['id'] == null ? undefined : json['id'],
'url': json['url'] == null ? undefined : json['url'],
'html': json['html'] == null ? undefined : json['html'],
'createdBy': json['created_by'] == null ? undefined : json['created_by'],
'createdAt': json['created_at'] == null ? undefined : (new Date(json['created_at'])),
};
}
export function PatchedBookmarkletImportToJSON(value?: Omit<PatchedBookmarkletImport, 'id'|'created_by'|'created_at'> | null): any {
if (value == null) {
return value;
}
return {
'url': value['url'],
'html': value['html'],
};
}

View File

@@ -0,0 +1,130 @@
/* 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';
/**
*
* @export
* @interface PatchedConnectorConfigConfig
*/
export interface PatchedConnectorConfigConfig {
/**
*
* @type {number}
* @memberof PatchedConnectorConfigConfig
*/
readonly id?: number;
/**
*
* @type {string}
* @memberof PatchedConnectorConfigConfig
*/
name?: string;
/**
*
* @type {string}
* @memberof PatchedConnectorConfigConfig
*/
url?: string;
/**
*
* @type {string}
* @memberof PatchedConnectorConfigConfig
*/
token?: string;
/**
*
* @type {string}
* @memberof PatchedConnectorConfigConfig
*/
todoEntity?: string;
/**
* Is Connector Enabled
* @type {boolean}
* @memberof PatchedConnectorConfigConfig
*/
enabled?: boolean;
/**
*
* @type {boolean}
* @memberof PatchedConnectorConfigConfig
*/
onShoppingListEntryCreatedEnabled?: boolean;
/**
*
* @type {boolean}
* @memberof PatchedConnectorConfigConfig
*/
onShoppingListEntryUpdatedEnabled?: boolean;
/**
*
* @type {boolean}
* @memberof PatchedConnectorConfigConfig
*/
onShoppingListEntryDeletedEnabled?: boolean;
/**
*
* @type {number}
* @memberof PatchedConnectorConfigConfig
*/
readonly createdBy?: number;
}
/**
* Check if a given object implements the PatchedConnectorConfigConfig interface.
*/
export function instanceOfPatchedConnectorConfigConfig(value: object): boolean {
return true;
}
export function PatchedConnectorConfigConfigFromJSON(json: any): PatchedConnectorConfigConfig {
return PatchedConnectorConfigConfigFromJSONTyped(json, false);
}
export function PatchedConnectorConfigConfigFromJSONTyped(json: any, ignoreDiscriminator: boolean): PatchedConnectorConfigConfig {
if (json == null) {
return json;
}
return {
'id': json['id'] == null ? undefined : json['id'],
'name': json['name'] == null ? undefined : json['name'],
'url': json['url'] == null ? undefined : json['url'],
'token': json['token'] == null ? undefined : json['token'],
'todoEntity': json['todo_entity'] == null ? undefined : json['todo_entity'],
'enabled': json['enabled'] == null ? undefined : json['enabled'],
'onShoppingListEntryCreatedEnabled': json['on_shopping_list_entry_created_enabled'] == null ? undefined : json['on_shopping_list_entry_created_enabled'],
'onShoppingListEntryUpdatedEnabled': json['on_shopping_list_entry_updated_enabled'] == null ? undefined : json['on_shopping_list_entry_updated_enabled'],
'onShoppingListEntryDeletedEnabled': json['on_shopping_list_entry_deleted_enabled'] == null ? undefined : json['on_shopping_list_entry_deleted_enabled'],
'createdBy': json['created_by'] == null ? undefined : json['created_by'],
};
}
export function PatchedConnectorConfigConfigToJSON(value?: Omit<PatchedConnectorConfigConfig, 'id'|'created_by'> | null): any {
if (value == null) {
return value;
}
return {
'name': value['name'],
'url': value['url'],
'token': value['token'],
'todo_entity': value['todoEntity'],
'enabled': value['enabled'],
'on_shopping_list_entry_created_enabled': value['onShoppingListEntryCreatedEnabled'],
'on_shopping_list_entry_updated_enabled': value['onShoppingListEntryUpdatedEnabled'],
'on_shopping_list_entry_deleted_enabled': value['onShoppingListEntryDeletedEnabled'],
};
}

View File

@@ -0,0 +1,120 @@
/* 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';
/**
*
* @export
* @interface PatchedCookLog
*/
export interface PatchedCookLog {
/**
*
* @type {number}
* @memberof PatchedCookLog
*/
readonly id?: number;
/**
*
* @type {number}
* @memberof PatchedCookLog
*/
recipe?: number;
/**
*
* @type {number}
* @memberof PatchedCookLog
*/
servings?: number;
/**
*
* @type {number}
* @memberof PatchedCookLog
*/
rating?: number;
/**
*
* @type {string}
* @memberof PatchedCookLog
*/
comment?: string;
/**
*
* @type {User}
* @memberof PatchedCookLog
*/
readonly createdBy?: User;
/**
*
* @type {Date}
* @memberof PatchedCookLog
*/
createdAt?: Date;
/**
*
* @type {Date}
* @memberof PatchedCookLog
*/
readonly updatedAt?: Date;
}
/**
* Check if a given object implements the PatchedCookLog interface.
*/
export function instanceOfPatchedCookLog(value: object): boolean {
return true;
}
export function PatchedCookLogFromJSON(json: any): PatchedCookLog {
return PatchedCookLogFromJSONTyped(json, false);
}
export function PatchedCookLogFromJSONTyped(json: any, ignoreDiscriminator: boolean): PatchedCookLog {
if (json == null) {
return json;
}
return {
'id': json['id'] == null ? undefined : json['id'],
'recipe': json['recipe'] == null ? undefined : json['recipe'],
'servings': json['servings'] == null ? undefined : json['servings'],
'rating': json['rating'] == null ? undefined : json['rating'],
'comment': json['comment'] == null ? undefined : json['comment'],
'createdBy': json['created_by'] == null ? undefined : UserFromJSON(json['created_by']),
'createdAt': json['created_at'] == null ? undefined : (new Date(json['created_at'])),
'updatedAt': json['updated_at'] == null ? undefined : (new Date(json['updated_at'])),
};
}
export function PatchedCookLogToJSON(value?: Omit<PatchedCookLog, 'id'|'created_by'|'updated_at'> | null): any {
if (value == null) {
return value;
}
return {
'recipe': value['recipe'],
'servings': value['servings'],
'rating': value['rating'],
'comment': value['comment'],
'created_at': value['createdAt'] == null ? undefined : ((value['createdAt']).toISOString()),
};
}

View File

@@ -0,0 +1,97 @@
/* 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';
/**
* Adds nested create feature
* @export
* @interface PatchedCustomFilter
*/
export interface PatchedCustomFilter {
/**
*
* @type {number}
* @memberof PatchedCustomFilter
*/
readonly id?: number;
/**
*
* @type {string}
* @memberof PatchedCustomFilter
*/
name?: string;
/**
*
* @type {string}
* @memberof PatchedCustomFilter
*/
search?: string;
/**
*
* @type {Array<User>}
* @memberof PatchedCustomFilter
*/
shared?: Array<User>;
/**
*
* @type {number}
* @memberof PatchedCustomFilter
*/
readonly createdBy?: number;
}
/**
* Check if a given object implements the PatchedCustomFilter interface.
*/
export function instanceOfPatchedCustomFilter(value: object): boolean {
return true;
}
export function PatchedCustomFilterFromJSON(json: any): PatchedCustomFilter {
return PatchedCustomFilterFromJSONTyped(json, false);
}
export function PatchedCustomFilterFromJSONTyped(json: any, ignoreDiscriminator: boolean): PatchedCustomFilter {
if (json == null) {
return json;
}
return {
'id': json['id'] == null ? undefined : json['id'],
'name': json['name'] == null ? undefined : json['name'],
'search': json['search'] == null ? undefined : json['search'],
'shared': json['shared'] == null ? undefined : ((json['shared'] as Array<any>).map(UserFromJSON)),
'createdBy': json['created_by'] == null ? undefined : json['created_by'],
};
}
export function PatchedCustomFilterToJSON(value?: Omit<PatchedCustomFilter, 'id'|'created_by'> | null): any {
if (value == null) {
return value;
}
return {
'name': value['name'],
'search': value['search'],
'shared': value['shared'] == null ? undefined : ((value['shared'] as Array<any>).map(UserToJSON)),
};
}

View File

@@ -0,0 +1,129 @@
/* 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';
/**
*
* @export
* @interface PatchedExportLog
*/
export interface PatchedExportLog {
/**
*
* @type {number}
* @memberof PatchedExportLog
*/
readonly id?: number;
/**
*
* @type {string}
* @memberof PatchedExportLog
*/
type?: string;
/**
*
* @type {string}
* @memberof PatchedExportLog
*/
msg?: string;
/**
*
* @type {boolean}
* @memberof PatchedExportLog
*/
running?: boolean;
/**
*
* @type {number}
* @memberof PatchedExportLog
*/
totalRecipes?: number;
/**
*
* @type {number}
* @memberof PatchedExportLog
*/
exportedRecipes?: number;
/**
*
* @type {number}
* @memberof PatchedExportLog
*/
cacheDuration?: number;
/**
*
* @type {boolean}
* @memberof PatchedExportLog
*/
possiblyNotExpired?: boolean;
/**
*
* @type {number}
* @memberof PatchedExportLog
*/
readonly createdBy?: number;
/**
*
* @type {Date}
* @memberof PatchedExportLog
*/
readonly createdAt?: Date;
}
/**
* Check if a given object implements the PatchedExportLog interface.
*/
export function instanceOfPatchedExportLog(value: object): boolean {
return true;
}
export function PatchedExportLogFromJSON(json: any): PatchedExportLog {
return PatchedExportLogFromJSONTyped(json, false);
}
export function PatchedExportLogFromJSONTyped(json: any, ignoreDiscriminator: boolean): PatchedExportLog {
if (json == null) {
return json;
}
return {
'id': json['id'] == null ? undefined : json['id'],
'type': json['type'] == null ? undefined : json['type'],
'msg': json['msg'] == null ? undefined : json['msg'],
'running': json['running'] == null ? undefined : json['running'],
'totalRecipes': json['total_recipes'] == null ? undefined : json['total_recipes'],
'exportedRecipes': json['exported_recipes'] == null ? undefined : json['exported_recipes'],
'cacheDuration': json['cache_duration'] == null ? undefined : json['cache_duration'],
'possiblyNotExpired': json['possibly_not_expired'] == null ? undefined : json['possibly_not_expired'],
'createdBy': json['created_by'] == null ? undefined : json['created_by'],
'createdAt': json['created_at'] == null ? undefined : (new Date(json['created_at'])),
};
}
export function PatchedExportLogToJSON(value?: Omit<PatchedExportLog, 'id'|'created_by'|'created_at'> | null): any {
if (value == null) {
return value;
}
return {
'type': value['type'],
'msg': value['msg'],
'running': value['running'],
'total_recipes': value['totalRecipes'],
'exported_recipes': value['exportedRecipes'],
'cache_duration': value['cacheDuration'],
'possibly_not_expired': value['possiblyNotExpired'],
};
}

310
vue3/models/PatchedFood.ts Normal file
View File

@@ -0,0 +1,310 @@
/* 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 { FoodInheritField } from './FoodInheritField';
import {
FoodInheritFieldFromJSON,
FoodInheritFieldFromJSONTyped,
FoodInheritFieldToJSON,
} from './FoodInheritField';
import type { FoodSimple } from './FoodSimple';
import {
FoodSimpleFromJSON,
FoodSimpleFromJSONTyped,
FoodSimpleToJSON,
} from './FoodSimple';
import type { Property } from './Property';
import {
PropertyFromJSON,
PropertyFromJSONTyped,
PropertyToJSON,
} from './Property';
import type { RecipeSimple } from './RecipeSimple';
import {
RecipeSimpleFromJSON,
RecipeSimpleFromJSONTyped,
RecipeSimpleToJSON,
} from './RecipeSimple';
import type { SupermarketCategory } from './SupermarketCategory';
import {
SupermarketCategoryFromJSON,
SupermarketCategoryFromJSONTyped,
SupermarketCategoryToJSON,
} from './SupermarketCategory';
import type { Unit } from './Unit';
import {
UnitFromJSON,
UnitFromJSONTyped,
UnitToJSON,
} from './Unit';
/**
* Moves `UniqueValidator`'s from the validation stage to the save stage.
* It solves the problem with nested validation for unique fields on update.
*
* If you want more details, you can read related issues and articles:
* https://github.com/beda-software/drf-writable-nested/issues/1
* http://www.django-rest-framework.org/api-guide/validators/#updating-nested-serializers
*
* Example of usage:
* ```
* class Child(models.Model):
* field = models.CharField(unique=True)
*
*
* class Parent(models.Model):
* child = models.ForeignKey('Child')
*
*
* class ChildSerializer(UniqueFieldsMixin, serializers.ModelSerializer):
* class Meta:
* model = Child
*
*
* class ParentSerializer(NestedUpdateMixin, serializers.ModelSerializer):
* child = ChildSerializer()
*
* class Meta:
* model = Parent
* ```
*
* Note: `UniqueFieldsMixin` must be applied only on the serializer
* which has unique fields.
*
* Note: When you are using both mixins
* (`UniqueFieldsMixin` and `NestedCreateMixin` or `NestedUpdateMixin`)
* you should put `UniqueFieldsMixin` ahead.
* @export
* @interface PatchedFood
*/
export interface PatchedFood {
/**
*
* @type {number}
* @memberof PatchedFood
*/
readonly id?: number;
/**
*
* @type {string}
* @memberof PatchedFood
*/
name?: string;
/**
*
* @type {string}
* @memberof PatchedFood
*/
pluralName?: string;
/**
*
* @type {string}
* @memberof PatchedFood
*/
description?: string;
/**
*
* @type {string}
* @memberof PatchedFood
*/
readonly shopping?: string;
/**
*
* @type {RecipeSimple}
* @memberof PatchedFood
*/
recipe?: RecipeSimple;
/**
*
* @type {string}
* @memberof PatchedFood
*/
url?: string;
/**
*
* @type {Array<Property>}
* @memberof PatchedFood
*/
properties?: Array<Property>;
/**
*
* @type {number}
* @memberof PatchedFood
*/
propertiesFoodAmount?: number;
/**
*
* @type {Unit}
* @memberof PatchedFood
*/
propertiesFoodUnit?: Unit;
/**
*
* @type {number}
* @memberof PatchedFood
*/
fdcId?: number;
/**
*
* @type {boolean}
* @memberof PatchedFood
*/
foodOnhand?: boolean;
/**
*
* @type {SupermarketCategory}
* @memberof PatchedFood
*/
supermarketCategory?: SupermarketCategory;
/**
*
* @type {number}
* @memberof PatchedFood
*/
readonly parent?: number;
/**
*
* @type {number}
* @memberof PatchedFood
*/
readonly numchild?: number;
/**
*
* @type {Array<FoodInheritField>}
* @memberof PatchedFood
*/
inheritFields?: Array<FoodInheritField>;
/**
* Returns a string representation of a tree node and it's ancestors,
* e.g. 'Cuisine > Asian > Chinese > Catonese'.
* @type {string}
* @memberof PatchedFood
*/
readonly fullName?: string;
/**
*
* @type {boolean}
* @memberof PatchedFood
*/
ignoreShopping?: boolean;
/**
*
* @type {Array<FoodSimple>}
* @memberof PatchedFood
*/
substitute?: Array<FoodSimple>;
/**
*
* @type {boolean}
* @memberof PatchedFood
*/
substituteSiblings?: boolean;
/**
*
* @type {boolean}
* @memberof PatchedFood
*/
substituteChildren?: boolean;
/**
*
* @type {boolean}
* @memberof PatchedFood
*/
readonly substituteOnhand?: boolean;
/**
*
* @type {Array<FoodInheritField>}
* @memberof PatchedFood
*/
childInheritFields?: Array<FoodInheritField>;
/**
*
* @type {string}
* @memberof PatchedFood
*/
openDataSlug?: string;
}
/**
* Check if a given object implements the PatchedFood interface.
*/
export function instanceOfPatchedFood(value: object): boolean {
return true;
}
export function PatchedFoodFromJSON(json: any): PatchedFood {
return PatchedFoodFromJSONTyped(json, false);
}
export function PatchedFoodFromJSONTyped(json: any, ignoreDiscriminator: boolean): PatchedFood {
if (json == null) {
return json;
}
return {
'id': json['id'] == null ? undefined : json['id'],
'name': json['name'] == null ? undefined : json['name'],
'pluralName': json['plural_name'] == null ? undefined : json['plural_name'],
'description': json['description'] == null ? undefined : json['description'],
'shopping': json['shopping'] == null ? undefined : json['shopping'],
'recipe': json['recipe'] == null ? undefined : RecipeSimpleFromJSON(json['recipe']),
'url': json['url'] == null ? undefined : json['url'],
'properties': json['properties'] == null ? undefined : ((json['properties'] as Array<any>).map(PropertyFromJSON)),
'propertiesFoodAmount': json['properties_food_amount'] == null ? undefined : json['properties_food_amount'],
'propertiesFoodUnit': json['properties_food_unit'] == null ? undefined : UnitFromJSON(json['properties_food_unit']),
'fdcId': json['fdc_id'] == null ? undefined : json['fdc_id'],
'foodOnhand': json['food_onhand'] == null ? undefined : json['food_onhand'],
'supermarketCategory': json['supermarket_category'] == null ? undefined : SupermarketCategoryFromJSON(json['supermarket_category']),
'parent': json['parent'] == null ? undefined : json['parent'],
'numchild': json['numchild'] == null ? undefined : json['numchild'],
'inheritFields': json['inherit_fields'] == null ? undefined : ((json['inherit_fields'] as Array<any>).map(FoodInheritFieldFromJSON)),
'fullName': json['full_name'] == null ? undefined : json['full_name'],
'ignoreShopping': json['ignore_shopping'] == null ? undefined : json['ignore_shopping'],
'substitute': json['substitute'] == null ? undefined : ((json['substitute'] as Array<any>).map(FoodSimpleFromJSON)),
'substituteSiblings': json['substitute_siblings'] == null ? undefined : json['substitute_siblings'],
'substituteChildren': json['substitute_children'] == null ? undefined : json['substitute_children'],
'substituteOnhand': json['substitute_onhand'] == null ? undefined : json['substitute_onhand'],
'childInheritFields': json['child_inherit_fields'] == null ? undefined : ((json['child_inherit_fields'] as Array<any>).map(FoodInheritFieldFromJSON)),
'openDataSlug': json['open_data_slug'] == null ? undefined : json['open_data_slug'],
};
}
export function PatchedFoodToJSON(value?: Omit<PatchedFood, 'id'|'shopping'|'parent'|'numchild'|'full_name'|'substitute_onhand'> | null): any {
if (value == null) {
return value;
}
return {
'name': value['name'],
'plural_name': value['pluralName'],
'description': value['description'],
'recipe': RecipeSimpleToJSON(value['recipe']),
'url': value['url'],
'properties': value['properties'] == null ? undefined : ((value['properties'] as Array<any>).map(PropertyToJSON)),
'properties_food_amount': value['propertiesFoodAmount'],
'properties_food_unit': UnitToJSON(value['propertiesFoodUnit']),
'fdc_id': value['fdcId'],
'food_onhand': value['foodOnhand'],
'supermarket_category': SupermarketCategoryToJSON(value['supermarketCategory']),
'inherit_fields': value['inheritFields'] == null ? undefined : ((value['inheritFields'] as Array<any>).map(FoodInheritFieldToJSON)),
'ignore_shopping': value['ignoreShopping'],
'substitute': value['substitute'] == null ? undefined : ((value['substitute'] as Array<any>).map(FoodSimpleToJSON)),
'substitute_siblings': value['substituteSiblings'],
'substitute_children': value['substituteChildren'],
'child_inherit_fields': value['childInheritFields'] == null ? undefined : ((value['childInheritFields'] as Array<any>).map(FoodInheritFieldToJSON)),
'open_data_slug': value['openDataSlug'],
};
}

View File

@@ -0,0 +1,127 @@
/* 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 { Keyword } from './Keyword';
import {
KeywordFromJSON,
KeywordFromJSONTyped,
KeywordToJSON,
} from './Keyword';
/**
*
* @export
* @interface PatchedImportLog
*/
export interface PatchedImportLog {
/**
*
* @type {number}
* @memberof PatchedImportLog
*/
readonly id?: number;
/**
*
* @type {string}
* @memberof PatchedImportLog
*/
type?: string;
/**
*
* @type {string}
* @memberof PatchedImportLog
*/
msg?: string;
/**
*
* @type {boolean}
* @memberof PatchedImportLog
*/
running?: boolean;
/**
*
* @type {Keyword}
* @memberof PatchedImportLog
*/
readonly keyword?: Keyword;
/**
*
* @type {number}
* @memberof PatchedImportLog
*/
totalRecipes?: number;
/**
*
* @type {number}
* @memberof PatchedImportLog
*/
importedRecipes?: number;
/**
*
* @type {number}
* @memberof PatchedImportLog
*/
readonly createdBy?: number;
/**
*
* @type {Date}
* @memberof PatchedImportLog
*/
readonly createdAt?: Date;
}
/**
* Check if a given object implements the PatchedImportLog interface.
*/
export function instanceOfPatchedImportLog(value: object): boolean {
return true;
}
export function PatchedImportLogFromJSON(json: any): PatchedImportLog {
return PatchedImportLogFromJSONTyped(json, false);
}
export function PatchedImportLogFromJSONTyped(json: any, ignoreDiscriminator: boolean): PatchedImportLog {
if (json == null) {
return json;
}
return {
'id': json['id'] == null ? undefined : json['id'],
'type': json['type'] == null ? undefined : json['type'],
'msg': json['msg'] == null ? undefined : json['msg'],
'running': json['running'] == null ? undefined : json['running'],
'keyword': json['keyword'] == null ? undefined : KeywordFromJSON(json['keyword']),
'totalRecipes': json['total_recipes'] == null ? undefined : json['total_recipes'],
'importedRecipes': json['imported_recipes'] == null ? undefined : json['imported_recipes'],
'createdBy': json['created_by'] == null ? undefined : json['created_by'],
'createdAt': json['created_at'] == null ? undefined : (new Date(json['created_at'])),
};
}
export function PatchedImportLogToJSON(value?: Omit<PatchedImportLog, 'id'|'keyword'|'created_by'|'created_at'> | null): any {
if (value == null) {
return value;
}
return {
'type': value['type'],
'msg': value['msg'],
'running': value['running'],
'total_recipes': value['totalRecipes'],
'imported_recipes': value['importedRecipes'],
};
}

View File

@@ -0,0 +1,166 @@
/* 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 { Food } from './Food';
import {
FoodFromJSON,
FoodFromJSONTyped,
FoodToJSON,
} from './Food';
import type { Unit } from './Unit';
import {
UnitFromJSON,
UnitFromJSONTyped,
UnitToJSON,
} from './Unit';
/**
* Adds nested create feature
* @export
* @interface PatchedIngredient
*/
export interface PatchedIngredient {
/**
*
* @type {number}
* @memberof PatchedIngredient
*/
readonly id?: number;
/**
*
* @type {Food}
* @memberof PatchedIngredient
*/
food?: Food;
/**
*
* @type {Unit}
* @memberof PatchedIngredient
*/
unit?: Unit;
/**
*
* @type {number}
* @memberof PatchedIngredient
*/
amount?: number;
/**
*
* @type {Array<any>}
* @memberof PatchedIngredient
*/
readonly conversions?: Array<any>;
/**
*
* @type {string}
* @memberof PatchedIngredient
*/
note?: string;
/**
*
* @type {number}
* @memberof PatchedIngredient
*/
order?: number;
/**
*
* @type {boolean}
* @memberof PatchedIngredient
*/
isHeader?: boolean;
/**
*
* @type {boolean}
* @memberof PatchedIngredient
*/
noAmount?: boolean;
/**
*
* @type {string}
* @memberof PatchedIngredient
*/
originalText?: string;
/**
*
* @type {Array<any>}
* @memberof PatchedIngredient
*/
readonly usedInRecipes?: Array<any>;
/**
*
* @type {boolean}
* @memberof PatchedIngredient
*/
alwaysUsePluralUnit?: boolean;
/**
*
* @type {boolean}
* @memberof PatchedIngredient
*/
alwaysUsePluralFood?: boolean;
}
/**
* Check if a given object implements the PatchedIngredient interface.
*/
export function instanceOfPatchedIngredient(value: object): boolean {
return true;
}
export function PatchedIngredientFromJSON(json: any): PatchedIngredient {
return PatchedIngredientFromJSONTyped(json, false);
}
export function PatchedIngredientFromJSONTyped(json: any, ignoreDiscriminator: boolean): PatchedIngredient {
if (json == null) {
return json;
}
return {
'id': json['id'] == null ? undefined : json['id'],
'food': json['food'] == null ? undefined : FoodFromJSON(json['food']),
'unit': json['unit'] == null ? undefined : UnitFromJSON(json['unit']),
'amount': json['amount'] == null ? undefined : json['amount'],
'conversions': json['conversions'] == null ? undefined : json['conversions'],
'note': json['note'] == null ? undefined : json['note'],
'order': json['order'] == null ? undefined : json['order'],
'isHeader': json['is_header'] == null ? undefined : json['is_header'],
'noAmount': json['no_amount'] == null ? undefined : json['no_amount'],
'originalText': json['original_text'] == null ? undefined : json['original_text'],
'usedInRecipes': json['used_in_recipes'] == null ? undefined : json['used_in_recipes'],
'alwaysUsePluralUnit': json['always_use_plural_unit'] == null ? undefined : json['always_use_plural_unit'],
'alwaysUsePluralFood': json['always_use_plural_food'] == null ? undefined : json['always_use_plural_food'],
};
}
export function PatchedIngredientToJSON(value?: Omit<PatchedIngredient, 'id'|'conversions'|'used_in_recipes'> | null): any {
if (value == null) {
return value;
}
return {
'food': FoodToJSON(value['food']),
'unit': UnitToJSON(value['unit']),
'amount': value['amount'],
'note': value['note'],
'order': value['order'],
'is_header': value['isHeader'],
'no_amount': value['noAmount'],
'original_text': value['originalText'],
'always_use_plural_unit': value['alwaysUsePluralUnit'],
'always_use_plural_food': value['alwaysUsePluralFood'],
};
}

View File

@@ -0,0 +1,135 @@
/* 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 { Group } from './Group';
import {
GroupFromJSON,
GroupFromJSONTyped,
GroupToJSON,
} from './Group';
/**
* Adds nested create feature
* @export
* @interface PatchedInviteLink
*/
export interface PatchedInviteLink {
/**
*
* @type {number}
* @memberof PatchedInviteLink
*/
readonly id?: number;
/**
*
* @type {string}
* @memberof PatchedInviteLink
*/
readonly uuid?: string;
/**
*
* @type {string}
* @memberof PatchedInviteLink
*/
email?: string;
/**
*
* @type {Group}
* @memberof PatchedInviteLink
*/
group?: Group;
/**
*
* @type {Date}
* @memberof PatchedInviteLink
*/
validUntil?: Date;
/**
*
* @type {number}
* @memberof PatchedInviteLink
*/
usedBy?: number;
/**
*
* @type {boolean}
* @memberof PatchedInviteLink
*/
reusable?: boolean;
/**
*
* @type {string}
* @memberof PatchedInviteLink
*/
internalNote?: string;
/**
*
* @type {number}
* @memberof PatchedInviteLink
*/
readonly createdBy?: number;
/**
*
* @type {Date}
* @memberof PatchedInviteLink
*/
readonly createdAt?: Date;
}
/**
* Check if a given object implements the PatchedInviteLink interface.
*/
export function instanceOfPatchedInviteLink(value: object): boolean {
return true;
}
export function PatchedInviteLinkFromJSON(json: any): PatchedInviteLink {
return PatchedInviteLinkFromJSONTyped(json, false);
}
export function PatchedInviteLinkFromJSONTyped(json: any, ignoreDiscriminator: boolean): PatchedInviteLink {
if (json == null) {
return json;
}
return {
'id': json['id'] == null ? undefined : json['id'],
'uuid': json['uuid'] == null ? undefined : json['uuid'],
'email': json['email'] == null ? undefined : json['email'],
'group': json['group'] == null ? undefined : GroupFromJSON(json['group']),
'validUntil': json['valid_until'] == null ? undefined : (new Date(json['valid_until'])),
'usedBy': json['used_by'] == null ? undefined : json['used_by'],
'reusable': json['reusable'] == null ? undefined : json['reusable'],
'internalNote': json['internal_note'] == null ? undefined : json['internal_note'],
'createdBy': json['created_by'] == null ? undefined : json['created_by'],
'createdAt': json['created_at'] == null ? undefined : (new Date(json['created_at'])),
};
}
export function PatchedInviteLinkToJSON(value?: Omit<PatchedInviteLink, 'id'|'uuid'|'created_by'|'created_at'> | null): any {
if (value == null) {
return value;
}
return {
'email': value['email'],
'group': GroupToJSON(value['group']),
'valid_until': value['validUntil'] == null ? undefined : ((value['validUntil']).toISOString().substring(0,10)),
'used_by': value['usedBy'],
'reusable': value['reusable'],
'internal_note': value['internalNote'],
};
}

View File

@@ -0,0 +1,152 @@
/* 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';
/**
* Moves `UniqueValidator`'s from the validation stage to the save stage.
* It solves the problem with nested validation for unique fields on update.
*
* If you want more details, you can read related issues and articles:
* https://github.com/beda-software/drf-writable-nested/issues/1
* http://www.django-rest-framework.org/api-guide/validators/#updating-nested-serializers
*
* Example of usage:
* ```
* class Child(models.Model):
* field = models.CharField(unique=True)
*
*
* class Parent(models.Model):
* child = models.ForeignKey('Child')
*
*
* class ChildSerializer(UniqueFieldsMixin, serializers.ModelSerializer):
* class Meta:
* model = Child
*
*
* class ParentSerializer(NestedUpdateMixin, serializers.ModelSerializer):
* child = ChildSerializer()
*
* class Meta:
* model = Parent
* ```
*
* Note: `UniqueFieldsMixin` must be applied only on the serializer
* which has unique fields.
*
* Note: When you are using both mixins
* (`UniqueFieldsMixin` and `NestedCreateMixin` or `NestedUpdateMixin`)
* you should put `UniqueFieldsMixin` ahead.
* @export
* @interface PatchedKeyword
*/
export interface PatchedKeyword {
/**
*
* @type {number}
* @memberof PatchedKeyword
*/
readonly id?: number;
/**
*
* @type {string}
* @memberof PatchedKeyword
*/
name?: string;
/**
*
* @type {string}
* @memberof PatchedKeyword
*/
readonly label?: string;
/**
*
* @type {string}
* @memberof PatchedKeyword
*/
description?: string;
/**
*
* @type {number}
* @memberof PatchedKeyword
*/
readonly parent?: number;
/**
*
* @type {number}
* @memberof PatchedKeyword
*/
readonly numchild?: number;
/**
*
* @type {Date}
* @memberof PatchedKeyword
*/
readonly createdAt?: Date;
/**
*
* @type {Date}
* @memberof PatchedKeyword
*/
readonly updatedAt?: Date;
/**
* Returns a string representation of a tree node and it's ancestors,
* e.g. 'Cuisine > Asian > Chinese > Catonese'.
* @type {string}
* @memberof PatchedKeyword
*/
readonly fullName?: string;
}
/**
* Check if a given object implements the PatchedKeyword interface.
*/
export function instanceOfPatchedKeyword(value: object): boolean {
return true;
}
export function PatchedKeywordFromJSON(json: any): PatchedKeyword {
return PatchedKeywordFromJSONTyped(json, false);
}
export function PatchedKeywordFromJSONTyped(json: any, ignoreDiscriminator: boolean): PatchedKeyword {
if (json == null) {
return json;
}
return {
'id': json['id'] == null ? undefined : json['id'],
'name': json['name'] == null ? undefined : json['name'],
'label': json['label'] == null ? undefined : json['label'],
'description': json['description'] == null ? undefined : json['description'],
'parent': json['parent'] == null ? undefined : json['parent'],
'numchild': json['numchild'] == null ? undefined : json['numchild'],
'createdAt': json['created_at'] == null ? undefined : (new Date(json['created_at'])),
'updatedAt': json['updated_at'] == null ? undefined : (new Date(json['updated_at'])),
'fullName': json['full_name'] == null ? undefined : json['full_name'],
};
}
export function PatchedKeywordToJSON(value?: Omit<PatchedKeyword, 'id'|'label'|'parent'|'numchild'|'created_at'|'updated_at'|'full_name'> | null): any {
if (value == null) {
return value;
}
return {
'name': value['name'],
'description': value['description'],
};
}

View File

@@ -0,0 +1,177 @@
/* 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 { MealType } from './MealType';
import {
MealTypeFromJSON,
MealTypeFromJSONTyped,
MealTypeToJSON,
} from './MealType';
import type { RecipeOverview } from './RecipeOverview';
import {
RecipeOverviewFromJSON,
RecipeOverviewFromJSONTyped,
RecipeOverviewToJSON,
} from './RecipeOverview';
import type { User } from './User';
import {
UserFromJSON,
UserFromJSONTyped,
UserToJSON,
} from './User';
/**
* Adds nested create feature
* @export
* @interface PatchedMealPlan
*/
export interface PatchedMealPlan {
/**
*
* @type {number}
* @memberof PatchedMealPlan
*/
readonly id?: number;
/**
*
* @type {string}
* @memberof PatchedMealPlan
*/
title?: string;
/**
*
* @type {RecipeOverview}
* @memberof PatchedMealPlan
*/
recipe?: RecipeOverview;
/**
*
* @type {number}
* @memberof PatchedMealPlan
*/
servings?: number;
/**
*
* @type {string}
* @memberof PatchedMealPlan
*/
note?: string;
/**
*
* @type {string}
* @memberof PatchedMealPlan
*/
readonly noteMarkdown?: string;
/**
*
* @type {Date}
* @memberof PatchedMealPlan
*/
fromDate?: Date;
/**
*
* @type {Date}
* @memberof PatchedMealPlan
*/
toDate?: Date;
/**
*
* @type {MealType}
* @memberof PatchedMealPlan
*/
mealType?: MealType;
/**
*
* @type {number}
* @memberof PatchedMealPlan
*/
readonly createdBy?: number;
/**
*
* @type {Array<User>}
* @memberof PatchedMealPlan
*/
shared?: Array<User>;
/**
*
* @type {string}
* @memberof PatchedMealPlan
*/
readonly recipeName?: string;
/**
*
* @type {string}
* @memberof PatchedMealPlan
*/
readonly mealTypeName?: string;
/**
*
* @type {boolean}
* @memberof PatchedMealPlan
*/
readonly shopping?: boolean;
}
/**
* Check if a given object implements the PatchedMealPlan interface.
*/
export function instanceOfPatchedMealPlan(value: object): boolean {
return true;
}
export function PatchedMealPlanFromJSON(json: any): PatchedMealPlan {
return PatchedMealPlanFromJSONTyped(json, false);
}
export function PatchedMealPlanFromJSONTyped(json: any, ignoreDiscriminator: boolean): PatchedMealPlan {
if (json == null) {
return json;
}
return {
'id': json['id'] == null ? undefined : json['id'],
'title': json['title'] == null ? undefined : json['title'],
'recipe': json['recipe'] == null ? undefined : RecipeOverviewFromJSON(json['recipe']),
'servings': json['servings'] == null ? undefined : json['servings'],
'note': json['note'] == null ? undefined : json['note'],
'noteMarkdown': json['note_markdown'] == null ? undefined : json['note_markdown'],
'fromDate': json['from_date'] == null ? undefined : (new Date(json['from_date'])),
'toDate': json['to_date'] == null ? undefined : (new Date(json['to_date'])),
'mealType': json['meal_type'] == null ? undefined : MealTypeFromJSON(json['meal_type']),
'createdBy': json['created_by'] == null ? undefined : json['created_by'],
'shared': json['shared'] == null ? undefined : ((json['shared'] as Array<any>).map(UserFromJSON)),
'recipeName': json['recipe_name'] == null ? undefined : json['recipe_name'],
'mealTypeName': json['meal_type_name'] == null ? undefined : json['meal_type_name'],
'shopping': json['shopping'] == null ? undefined : json['shopping'],
};
}
export function PatchedMealPlanToJSON(value?: Omit<PatchedMealPlan, 'id'|'note_markdown'|'created_by'|'recipe_name'|'meal_type_name'|'shopping'> | null): any {
if (value == null) {
return value;
}
return {
'title': value['title'],
'recipe': RecipeOverviewToJSON(value['recipe']),
'servings': value['servings'],
'note': value['note'],
'from_date': value['fromDate'] == null ? undefined : ((value['fromDate']).toISOString().substring(0,10)),
'to_date': value['toDate'] == null ? undefined : ((value['toDate']).toISOString().substring(0,10)),
'meal_type': MealTypeToJSON(value['mealType']),
'shared': value['shared'] == null ? undefined : ((value['shared'] as Array<any>).map(UserToJSON)),
};
}

View File

@@ -0,0 +1,98 @@
/* 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';
/**
* Adds nested create feature
* @export
* @interface PatchedMealType
*/
export interface PatchedMealType {
/**
*
* @type {number}
* @memberof PatchedMealType
*/
readonly id?: number;
/**
*
* @type {string}
* @memberof PatchedMealType
*/
name?: string;
/**
*
* @type {number}
* @memberof PatchedMealType
*/
order?: number;
/**
*
* @type {string}
* @memberof PatchedMealType
*/
color?: string;
/**
*
* @type {boolean}
* @memberof PatchedMealType
*/
_default?: boolean;
/**
*
* @type {number}
* @memberof PatchedMealType
*/
readonly createdBy?: number;
}
/**
* Check if a given object implements the PatchedMealType interface.
*/
export function instanceOfPatchedMealType(value: object): boolean {
return true;
}
export function PatchedMealTypeFromJSON(json: any): PatchedMealType {
return PatchedMealTypeFromJSONTyped(json, false);
}
export function PatchedMealTypeFromJSONTyped(json: any, ignoreDiscriminator: boolean): PatchedMealType {
if (json == null) {
return json;
}
return {
'id': json['id'] == null ? undefined : json['id'],
'name': json['name'] == null ? undefined : json['name'],
'order': json['order'] == null ? undefined : json['order'],
'color': json['color'] == null ? undefined : json['color'],
'_default': json['default'] == null ? undefined : json['default'],
'createdBy': json['created_by'] == null ? undefined : json['created_by'],
};
}
export function PatchedMealTypeToJSON(value?: Omit<PatchedMealType, 'id'|'created_by'> | null): any {
if (value == null) {
return value;
}
return {
'name': value['name'],
'order': value['order'],
'color': value['color'],
'default': value['_default'],
};
}

View File

@@ -0,0 +1,116 @@
/* 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 { PropertyType } from './PropertyType';
import {
PropertyTypeFromJSON,
PropertyTypeFromJSONTyped,
PropertyTypeToJSON,
} from './PropertyType';
/**
* Moves `UniqueValidator`'s from the validation stage to the save stage.
* It solves the problem with nested validation for unique fields on update.
*
* If you want more details, you can read related issues and articles:
* https://github.com/beda-software/drf-writable-nested/issues/1
* http://www.django-rest-framework.org/api-guide/validators/#updating-nested-serializers
*
* Example of usage:
* ```
* class Child(models.Model):
* field = models.CharField(unique=True)
*
*
* class Parent(models.Model):
* child = models.ForeignKey('Child')
*
*
* class ChildSerializer(UniqueFieldsMixin, serializers.ModelSerializer):
* class Meta:
* model = Child
*
*
* class ParentSerializer(NestedUpdateMixin, serializers.ModelSerializer):
* child = ChildSerializer()
*
* class Meta:
* model = Parent
* ```
*
* Note: `UniqueFieldsMixin` must be applied only on the serializer
* which has unique fields.
*
* Note: When you are using both mixins
* (`UniqueFieldsMixin` and `NestedCreateMixin` or `NestedUpdateMixin`)
* you should put `UniqueFieldsMixin` ahead.
* @export
* @interface PatchedProperty
*/
export interface PatchedProperty {
/**
*
* @type {number}
* @memberof PatchedProperty
*/
readonly id?: number;
/**
*
* @type {number}
* @memberof PatchedProperty
*/
propertyAmount?: number;
/**
*
* @type {PropertyType}
* @memberof PatchedProperty
*/
propertyType?: PropertyType;
}
/**
* Check if a given object implements the PatchedProperty interface.
*/
export function instanceOfPatchedProperty(value: object): boolean {
return true;
}
export function PatchedPropertyFromJSON(json: any): PatchedProperty {
return PatchedPropertyFromJSONTyped(json, false);
}
export function PatchedPropertyFromJSONTyped(json: any, ignoreDiscriminator: boolean): PatchedProperty {
if (json == null) {
return json;
}
return {
'id': json['id'] == null ? undefined : json['id'],
'propertyAmount': json['property_amount'] == null ? undefined : json['property_amount'],
'propertyType': json['property_type'] == null ? undefined : PropertyTypeFromJSON(json['property_type']),
};
}
export function PatchedPropertyToJSON(value?: Omit<PatchedProperty, 'id'> | null): any {
if (value == null) {
return value;
}
return {
'property_amount': value['propertyAmount'],
'property_type': PropertyTypeToJSON(value['propertyType']),
};
}

View File

@@ -0,0 +1,108 @@
/* 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';
/**
* Adds nested create feature
* @export
* @interface PatchedPropertyType
*/
export interface PatchedPropertyType {
/**
*
* @type {number}
* @memberof PatchedPropertyType
*/
id?: number;
/**
*
* @type {string}
* @memberof PatchedPropertyType
*/
name?: string;
/**
*
* @type {string}
* @memberof PatchedPropertyType
*/
unit?: string;
/**
*
* @type {string}
* @memberof PatchedPropertyType
*/
description?: string;
/**
*
* @type {number}
* @memberof PatchedPropertyType
*/
order?: number;
/**
*
* @type {string}
* @memberof PatchedPropertyType
*/
openDataSlug?: string;
/**
*
* @type {number}
* @memberof PatchedPropertyType
*/
fdcId?: number;
}
/**
* Check if a given object implements the PatchedPropertyType interface.
*/
export function instanceOfPatchedPropertyType(value: object): boolean {
return true;
}
export function PatchedPropertyTypeFromJSON(json: any): PatchedPropertyType {
return PatchedPropertyTypeFromJSONTyped(json, false);
}
export function PatchedPropertyTypeFromJSONTyped(json: any, ignoreDiscriminator: boolean): PatchedPropertyType {
if (json == null) {
return json;
}
return {
'id': json['id'] == null ? undefined : json['id'],
'name': json['name'] == null ? undefined : json['name'],
'unit': json['unit'] == null ? undefined : json['unit'],
'description': json['description'] == null ? undefined : json['description'],
'order': json['order'] == null ? undefined : json['order'],
'openDataSlug': json['open_data_slug'] == null ? undefined : json['open_data_slug'],
'fdcId': json['fdc_id'] == null ? undefined : json['fdc_id'],
};
}
export function PatchedPropertyTypeToJSON(value?: PatchedPropertyType | null): any {
if (value == null) {
return value;
}
return {
'id': value['id'],
'name': value['name'],
'unit': value['unit'],
'description': value['description'],
'order': value['order'],
'open_data_slug': value['openDataSlug'],
'fdc_id': value['fdcId'],
};
}

View File

@@ -0,0 +1,267 @@
/* 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 { Keyword } from './Keyword';
import {
KeywordFromJSON,
KeywordFromJSONTyped,
KeywordToJSON,
} from './Keyword';
import type { NutritionInformation } from './NutritionInformation';
import {
NutritionInformationFromJSON,
NutritionInformationFromJSONTyped,
NutritionInformationToJSON,
} from './NutritionInformation';
import type { Property } from './Property';
import {
PropertyFromJSON,
PropertyFromJSONTyped,
PropertyToJSON,
} from './Property';
import type { Step } from './Step';
import {
StepFromJSON,
StepFromJSONTyped,
StepToJSON,
} from './Step';
import type { User } from './User';
import {
UserFromJSON,
UserFromJSONTyped,
UserToJSON,
} from './User';
/**
* Adds nested create feature
* @export
* @interface PatchedRecipe
*/
export interface PatchedRecipe {
/**
*
* @type {number}
* @memberof PatchedRecipe
*/
readonly id?: number;
/**
*
* @type {string}
* @memberof PatchedRecipe
*/
name?: string;
/**
*
* @type {string}
* @memberof PatchedRecipe
*/
description?: string;
/**
*
* @type {string}
* @memberof PatchedRecipe
*/
readonly image?: string;
/**
*
* @type {Array<Keyword>}
* @memberof PatchedRecipe
*/
keywords?: Array<Keyword>;
/**
*
* @type {Array<Step>}
* @memberof PatchedRecipe
*/
steps?: Array<Step>;
/**
*
* @type {number}
* @memberof PatchedRecipe
*/
workingTime?: number;
/**
*
* @type {number}
* @memberof PatchedRecipe
*/
waitingTime?: number;
/**
*
* @type {number}
* @memberof PatchedRecipe
*/
readonly createdBy?: number;
/**
*
* @type {Date}
* @memberof PatchedRecipe
*/
readonly createdAt?: Date;
/**
*
* @type {Date}
* @memberof PatchedRecipe
*/
readonly updatedAt?: Date;
/**
*
* @type {string}
* @memberof PatchedRecipe
*/
sourceUrl?: string;
/**
*
* @type {boolean}
* @memberof PatchedRecipe
*/
internal?: boolean;
/**
*
* @type {boolean}
* @memberof PatchedRecipe
*/
showIngredientOverview?: boolean;
/**
*
* @type {NutritionInformation}
* @memberof PatchedRecipe
*/
nutrition?: NutritionInformation;
/**
*
* @type {Array<Property>}
* @memberof PatchedRecipe
*/
properties?: Array<Property>;
/**
*
* @type {any}
* @memberof PatchedRecipe
*/
readonly foodProperties?: any;
/**
*
* @type {number}
* @memberof PatchedRecipe
*/
servings?: number;
/**
*
* @type {string}
* @memberof PatchedRecipe
*/
filePath?: string;
/**
*
* @type {string}
* @memberof PatchedRecipe
*/
servingsText?: string;
/**
*
* @type {number}
* @memberof PatchedRecipe
*/
readonly rating?: number;
/**
*
* @type {Date}
* @memberof PatchedRecipe
*/
readonly lastCooked?: Date;
/**
*
* @type {boolean}
* @memberof PatchedRecipe
*/
_private?: boolean;
/**
*
* @type {Array<User>}
* @memberof PatchedRecipe
*/
shared?: Array<User>;
}
/**
* Check if a given object implements the PatchedRecipe interface.
*/
export function instanceOfPatchedRecipe(value: object): boolean {
return true;
}
export function PatchedRecipeFromJSON(json: any): PatchedRecipe {
return PatchedRecipeFromJSONTyped(json, false);
}
export function PatchedRecipeFromJSONTyped(json: any, ignoreDiscriminator: boolean): PatchedRecipe {
if (json == null) {
return json;
}
return {
'id': json['id'] == null ? undefined : json['id'],
'name': json['name'] == null ? undefined : json['name'],
'description': json['description'] == null ? undefined : json['description'],
'image': json['image'] == null ? undefined : json['image'],
'keywords': json['keywords'] == null ? undefined : ((json['keywords'] as Array<any>).map(KeywordFromJSON)),
'steps': json['steps'] == null ? undefined : ((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': json['created_by'] == null ? undefined : json['created_by'],
'createdAt': json['created_at'] == null ? undefined : (new Date(json['created_at'])),
'updatedAt': json['updated_at'] == null ? undefined : (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'] == null ? undefined : 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'] == null ? undefined : json['rating'],
'lastCooked': json['last_cooked'] == null ? undefined : (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 PatchedRecipeToJSON(value?: Omit<PatchedRecipe, 'id'|'image'|'created_by'|'created_at'|'updated_at'|'food_properties'|'rating'|'last_cooked'> | null): any {
if (value == null) {
return value;
}
return {
'name': value['name'],
'description': value['description'],
'keywords': value['keywords'] == null ? undefined : ((value['keywords'] as Array<any>).map(KeywordToJSON)),
'steps': value['steps'] == null ? undefined : ((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)),
};
}

View File

@@ -0,0 +1,119 @@
/* 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 { CustomFilter } from './CustomFilter';
import {
CustomFilterFromJSON,
CustomFilterFromJSONTyped,
CustomFilterToJSON,
} from './CustomFilter';
import type { User } from './User';
import {
UserFromJSON,
UserFromJSONTyped,
UserToJSON,
} from './User';
/**
* Adds nested create feature
* @export
* @interface PatchedRecipeBook
*/
export interface PatchedRecipeBook {
/**
*
* @type {number}
* @memberof PatchedRecipeBook
*/
readonly id?: number;
/**
*
* @type {string}
* @memberof PatchedRecipeBook
*/
name?: string;
/**
*
* @type {string}
* @memberof PatchedRecipeBook
*/
description?: string;
/**
*
* @type {Array<User>}
* @memberof PatchedRecipeBook
*/
shared?: Array<User>;
/**
*
* @type {number}
* @memberof PatchedRecipeBook
*/
readonly createdBy?: number;
/**
*
* @type {CustomFilter}
* @memberof PatchedRecipeBook
*/
filter?: CustomFilter;
/**
*
* @type {number}
* @memberof PatchedRecipeBook
*/
order?: number;
}
/**
* Check if a given object implements the PatchedRecipeBook interface.
*/
export function instanceOfPatchedRecipeBook(value: object): boolean {
return true;
}
export function PatchedRecipeBookFromJSON(json: any): PatchedRecipeBook {
return PatchedRecipeBookFromJSONTyped(json, false);
}
export function PatchedRecipeBookFromJSONTyped(json: any, ignoreDiscriminator: boolean): PatchedRecipeBook {
if (json == null) {
return json;
}
return {
'id': json['id'] == null ? undefined : json['id'],
'name': json['name'] == null ? undefined : json['name'],
'description': json['description'] == null ? undefined : json['description'],
'shared': json['shared'] == null ? undefined : ((json['shared'] as Array<any>).map(UserFromJSON)),
'createdBy': json['created_by'] == null ? undefined : json['created_by'],
'filter': json['filter'] == null ? undefined : CustomFilterFromJSON(json['filter']),
'order': json['order'] == null ? undefined : json['order'],
};
}
export function PatchedRecipeBookToJSON(value?: Omit<PatchedRecipeBook, 'id'|'created_by'> | null): any {
if (value == null) {
return value;
}
return {
'name': value['name'],
'description': value['description'],
'shared': value['shared'] == null ? undefined : ((value['shared'] as Array<any>).map(UserToJSON)),
'filter': CustomFilterToJSON(value['filter']),
'order': value['order'],
};
}

View File

@@ -0,0 +1,102 @@
/* 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 { RecipeBook } from './RecipeBook';
import {
RecipeBookFromJSON,
RecipeBookFromJSONTyped,
RecipeBookToJSON,
} from './RecipeBook';
import type { RecipeOverview } from './RecipeOverview';
import {
RecipeOverviewFromJSON,
RecipeOverviewFromJSONTyped,
RecipeOverviewToJSON,
} from './RecipeOverview';
/**
*
* @export
* @interface PatchedRecipeBookEntry
*/
export interface PatchedRecipeBookEntry {
/**
*
* @type {number}
* @memberof PatchedRecipeBookEntry
*/
readonly id?: number;
/**
*
* @type {number}
* @memberof PatchedRecipeBookEntry
*/
book?: number;
/**
*
* @type {RecipeBook}
* @memberof PatchedRecipeBookEntry
*/
readonly bookContent?: RecipeBook;
/**
*
* @type {number}
* @memberof PatchedRecipeBookEntry
*/
recipe?: number;
/**
*
* @type {RecipeOverview}
* @memberof PatchedRecipeBookEntry
*/
readonly recipeContent?: RecipeOverview;
}
/**
* Check if a given object implements the PatchedRecipeBookEntry interface.
*/
export function instanceOfPatchedRecipeBookEntry(value: object): boolean {
return true;
}
export function PatchedRecipeBookEntryFromJSON(json: any): PatchedRecipeBookEntry {
return PatchedRecipeBookEntryFromJSONTyped(json, false);
}
export function PatchedRecipeBookEntryFromJSONTyped(json: any, ignoreDiscriminator: boolean): PatchedRecipeBookEntry {
if (json == null) {
return json;
}
return {
'id': json['id'] == null ? undefined : json['id'],
'book': json['book'] == null ? undefined : json['book'],
'bookContent': json['book_content'] == null ? undefined : RecipeBookFromJSON(json['book_content']),
'recipe': json['recipe'] == null ? undefined : json['recipe'],
'recipeContent': json['recipe_content'] == null ? undefined : RecipeOverviewFromJSON(json['recipe_content']),
};
}
export function PatchedRecipeBookEntryToJSON(value?: Omit<PatchedRecipeBookEntry, 'id'|'book_content'|'recipe_content'> | null): any {
if (value == null) {
return value;
}
return {
'book': value['book'],
'recipe': value['recipe'],
};
}

View File

@@ -0,0 +1,176 @@
/* 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 { Food } from './Food';
import {
FoodFromJSON,
FoodFromJSONTyped,
FoodToJSON,
} from './Food';
import type { ShoppingListRecipe } from './ShoppingListRecipe';
import {
ShoppingListRecipeFromJSON,
ShoppingListRecipeFromJSONTyped,
ShoppingListRecipeToJSON,
} from './ShoppingListRecipe';
import type { Unit } from './Unit';
import {
UnitFromJSON,
UnitFromJSONTyped,
UnitToJSON,
} from './Unit';
import type { User } from './User';
import {
UserFromJSON,
UserFromJSONTyped,
UserToJSON,
} from './User';
/**
* Adds nested create feature
* @export
* @interface PatchedShoppingListEntry
*/
export interface PatchedShoppingListEntry {
/**
*
* @type {number}
* @memberof PatchedShoppingListEntry
*/
readonly id?: number;
/**
*
* @type {number}
* @memberof PatchedShoppingListEntry
*/
listRecipe?: number;
/**
*
* @type {Food}
* @memberof PatchedShoppingListEntry
*/
food?: Food;
/**
*
* @type {Unit}
* @memberof PatchedShoppingListEntry
*/
unit?: Unit;
/**
*
* @type {number}
* @memberof PatchedShoppingListEntry
*/
amount?: number;
/**
*
* @type {number}
* @memberof PatchedShoppingListEntry
*/
order?: number;
/**
*
* @type {boolean}
* @memberof PatchedShoppingListEntry
*/
checked?: boolean;
/**
*
* @type {ShoppingListRecipe}
* @memberof PatchedShoppingListEntry
*/
readonly recipeMealplan?: ShoppingListRecipe;
/**
*
* @type {User}
* @memberof PatchedShoppingListEntry
*/
readonly createdBy?: User;
/**
*
* @type {Date}
* @memberof PatchedShoppingListEntry
*/
readonly createdAt?: Date;
/**
*
* @type {Date}
* @memberof PatchedShoppingListEntry
*/
readonly updatedAt?: Date;
/**
*
* @type {Date}
* @memberof PatchedShoppingListEntry
*/
completedAt?: Date;
/**
*
* @type {Date}
* @memberof PatchedShoppingListEntry
*/
delayUntil?: Date;
}
/**
* Check if a given object implements the PatchedShoppingListEntry interface.
*/
export function instanceOfPatchedShoppingListEntry(value: object): boolean {
return true;
}
export function PatchedShoppingListEntryFromJSON(json: any): PatchedShoppingListEntry {
return PatchedShoppingListEntryFromJSONTyped(json, false);
}
export function PatchedShoppingListEntryFromJSONTyped(json: any, ignoreDiscriminator: boolean): PatchedShoppingListEntry {
if (json == null) {
return json;
}
return {
'id': json['id'] == null ? undefined : json['id'],
'listRecipe': json['list_recipe'] == null ? undefined : json['list_recipe'],
'food': json['food'] == null ? undefined : FoodFromJSON(json['food']),
'unit': json['unit'] == null ? undefined : UnitFromJSON(json['unit']),
'amount': json['amount'] == null ? undefined : json['amount'],
'order': json['order'] == null ? undefined : json['order'],
'checked': json['checked'] == null ? undefined : json['checked'],
'recipeMealplan': json['recipe_mealplan'] == null ? undefined : ShoppingListRecipeFromJSON(json['recipe_mealplan']),
'createdBy': json['created_by'] == null ? undefined : UserFromJSON(json['created_by']),
'createdAt': json['created_at'] == null ? undefined : (new Date(json['created_at'])),
'updatedAt': json['updated_at'] == null ? undefined : (new Date(json['updated_at'])),
'completedAt': json['completed_at'] == null ? undefined : (new Date(json['completed_at'])),
'delayUntil': json['delay_until'] == null ? undefined : (new Date(json['delay_until'])),
};
}
export function PatchedShoppingListEntryToJSON(value?: Omit<PatchedShoppingListEntry, 'id'|'recipe_mealplan'|'created_by'|'created_at'|'updated_at'> | null): any {
if (value == null) {
return value;
}
return {
'list_recipe': value['listRecipe'],
'food': FoodToJSON(value['food']),
'unit': UnitToJSON(value['unit']),
'amount': value['amount'],
'order': value['order'],
'checked': value['checked'],
'completed_at': value['completedAt'] == null ? undefined : ((value['completedAt'] as any).toISOString()),
'delay_until': value['delayUntil'] == null ? undefined : ((value['delayUntil'] as any).toISOString()),
};
}

View File

@@ -0,0 +1,118 @@
/* 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';
/**
*
* @export
* @interface PatchedShoppingListRecipe
*/
export interface PatchedShoppingListRecipe {
/**
*
* @type {number}
* @memberof PatchedShoppingListRecipe
*/
readonly id?: number;
/**
*
* @type {string}
* @memberof PatchedShoppingListRecipe
*/
readonly recipeName?: string;
/**
*
* @type {string}
* @memberof PatchedShoppingListRecipe
*/
readonly name?: string;
/**
*
* @type {number}
* @memberof PatchedShoppingListRecipe
*/
recipe?: number;
/**
*
* @type {number}
* @memberof PatchedShoppingListRecipe
*/
mealplan?: number;
/**
*
* @type {number}
* @memberof PatchedShoppingListRecipe
*/
servings?: number;
/**
*
* @type {string}
* @memberof PatchedShoppingListRecipe
*/
readonly mealplanNote?: string;
/**
*
* @type {Date}
* @memberof PatchedShoppingListRecipe
*/
readonly mealplanFromDate?: Date;
/**
*
* @type {string}
* @memberof PatchedShoppingListRecipe
*/
readonly mealplanType?: string;
}
/**
* Check if a given object implements the PatchedShoppingListRecipe interface.
*/
export function instanceOfPatchedShoppingListRecipe(value: object): boolean {
return true;
}
export function PatchedShoppingListRecipeFromJSON(json: any): PatchedShoppingListRecipe {
return PatchedShoppingListRecipeFromJSONTyped(json, false);
}
export function PatchedShoppingListRecipeFromJSONTyped(json: any, ignoreDiscriminator: boolean): PatchedShoppingListRecipe {
if (json == null) {
return json;
}
return {
'id': json['id'] == null ? undefined : json['id'],
'recipeName': json['recipe_name'] == null ? undefined : json['recipe_name'],
'name': json['name'] == null ? undefined : json['name'],
'recipe': json['recipe'] == null ? undefined : json['recipe'],
'mealplan': json['mealplan'] == null ? undefined : json['mealplan'],
'servings': json['servings'] == null ? undefined : json['servings'],
'mealplanNote': json['mealplan_note'] == null ? undefined : json['mealplan_note'],
'mealplanFromDate': json['mealplan_from_date'] == null ? undefined : (new Date(json['mealplan_from_date'])),
'mealplanType': json['mealplan_type'] == null ? undefined : json['mealplan_type'],
};
}
export function PatchedShoppingListRecipeToJSON(value?: Omit<PatchedShoppingListRecipe, 'id'|'recipe_name'|'name'|'mealplan_note'|'mealplan_from_date'|'mealplan_type'> | null): any {
if (value == null) {
return value;
}
return {
'recipe': value['recipe'],
'mealplan': value['mealplan'],
'servings': value['servings'],
};
}

282
vue3/models/PatchedSpace.ts Normal file
View File

@@ -0,0 +1,282 @@
/* 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 { FoodInheritField } from './FoodInheritField';
import {
FoodInheritFieldFromJSON,
FoodInheritFieldFromJSONTyped,
FoodInheritFieldToJSON,
} from './FoodInheritField';
import type { SpaceNavTextColorEnum } from './SpaceNavTextColorEnum';
import {
SpaceNavTextColorEnumFromJSON,
SpaceNavTextColorEnumFromJSONTyped,
SpaceNavTextColorEnumToJSON,
} from './SpaceNavTextColorEnum';
import type { SpaceThemeEnum } from './SpaceThemeEnum';
import {
SpaceThemeEnumFromJSON,
SpaceThemeEnumFromJSONTyped,
SpaceThemeEnumToJSON,
} from './SpaceThemeEnum';
import type { UserFileView } from './UserFileView';
import {
UserFileViewFromJSON,
UserFileViewFromJSONTyped,
UserFileViewToJSON,
} from './UserFileView';
/**
* Adds nested create feature
* @export
* @interface PatchedSpace
*/
export interface PatchedSpace {
/**
*
* @type {number}
* @memberof PatchedSpace
*/
readonly id?: number;
/**
*
* @type {string}
* @memberof PatchedSpace
*/
name?: string;
/**
*
* @type {number}
* @memberof PatchedSpace
*/
readonly createdBy?: number;
/**
*
* @type {Date}
* @memberof PatchedSpace
*/
readonly createdAt?: Date;
/**
*
* @type {string}
* @memberof PatchedSpace
*/
message?: string;
/**
*
* @type {number}
* @memberof PatchedSpace
*/
readonly maxRecipes?: number;
/**
* Maximum file storage for space in MB. 0 for unlimited, -1 to disable file upload.
* @type {number}
* @memberof PatchedSpace
*/
readonly maxFileStorageMb?: number;
/**
*
* @type {number}
* @memberof PatchedSpace
*/
readonly maxUsers?: number;
/**
*
* @type {boolean}
* @memberof PatchedSpace
*/
readonly allowSharing?: boolean;
/**
*
* @type {boolean}
* @memberof PatchedSpace
*/
readonly demo?: boolean;
/**
*
* @type {Array<FoodInheritField>}
* @memberof PatchedSpace
*/
foodInherit?: Array<FoodInheritField>;
/**
*
* @type {number}
* @memberof PatchedSpace
*/
readonly userCount?: number;
/**
*
* @type {number}
* @memberof PatchedSpace
*/
readonly recipeCount?: number;
/**
*
* @type {number}
* @memberof PatchedSpace
*/
readonly fileSizeMb?: number;
/**
*
* @type {UserFileView}
* @memberof PatchedSpace
*/
image?: UserFileView;
/**
*
* @type {UserFileView}
* @memberof PatchedSpace
*/
navLogo?: UserFileView;
/**
*
* @type {SpaceThemeEnum}
* @memberof PatchedSpace
*/
spaceTheme?: SpaceThemeEnum;
/**
*
* @type {UserFileView}
* @memberof PatchedSpace
*/
customSpaceTheme?: UserFileView;
/**
*
* @type {string}
* @memberof PatchedSpace
*/
navBgColor?: string;
/**
*
* @type {SpaceNavTextColorEnum}
* @memberof PatchedSpace
*/
navTextColor?: SpaceNavTextColorEnum;
/**
*
* @type {UserFileView}
* @memberof PatchedSpace
*/
logoColor32?: UserFileView;
/**
*
* @type {UserFileView}
* @memberof PatchedSpace
*/
logoColor128?: UserFileView;
/**
*
* @type {UserFileView}
* @memberof PatchedSpace
*/
logoColor144?: UserFileView;
/**
*
* @type {UserFileView}
* @memberof PatchedSpace
*/
logoColor180?: UserFileView;
/**
*
* @type {UserFileView}
* @memberof PatchedSpace
*/
logoColor192?: UserFileView;
/**
*
* @type {UserFileView}
* @memberof PatchedSpace
*/
logoColor512?: UserFileView;
/**
*
* @type {UserFileView}
* @memberof PatchedSpace
*/
logoColorSvg?: UserFileView;
}
/**
* Check if a given object implements the PatchedSpace interface.
*/
export function instanceOfPatchedSpace(value: object): boolean {
return true;
}
export function PatchedSpaceFromJSON(json: any): PatchedSpace {
return PatchedSpaceFromJSONTyped(json, false);
}
export function PatchedSpaceFromJSONTyped(json: any, ignoreDiscriminator: boolean): PatchedSpace {
if (json == null) {
return json;
}
return {
'id': json['id'] == null ? undefined : json['id'],
'name': json['name'] == null ? undefined : json['name'],
'createdBy': json['created_by'] == null ? undefined : json['created_by'],
'createdAt': json['created_at'] == null ? undefined : (new Date(json['created_at'])),
'message': json['message'] == null ? undefined : json['message'],
'maxRecipes': json['max_recipes'] == null ? undefined : json['max_recipes'],
'maxFileStorageMb': json['max_file_storage_mb'] == null ? undefined : json['max_file_storage_mb'],
'maxUsers': json['max_users'] == null ? undefined : json['max_users'],
'allowSharing': json['allow_sharing'] == null ? undefined : json['allow_sharing'],
'demo': json['demo'] == null ? undefined : json['demo'],
'foodInherit': json['food_inherit'] == null ? undefined : ((json['food_inherit'] as Array<any>).map(FoodInheritFieldFromJSON)),
'userCount': json['user_count'] == null ? undefined : json['user_count'],
'recipeCount': json['recipe_count'] == null ? undefined : json['recipe_count'],
'fileSizeMb': json['file_size_mb'] == null ? undefined : json['file_size_mb'],
'image': json['image'] == null ? undefined : UserFileViewFromJSON(json['image']),
'navLogo': json['nav_logo'] == null ? undefined : UserFileViewFromJSON(json['nav_logo']),
'spaceTheme': json['space_theme'] == null ? undefined : SpaceThemeEnumFromJSON(json['space_theme']),
'customSpaceTheme': json['custom_space_theme'] == null ? undefined : UserFileViewFromJSON(json['custom_space_theme']),
'navBgColor': json['nav_bg_color'] == null ? undefined : json['nav_bg_color'],
'navTextColor': json['nav_text_color'] == null ? undefined : SpaceNavTextColorEnumFromJSON(json['nav_text_color']),
'logoColor32': json['logo_color_32'] == null ? undefined : UserFileViewFromJSON(json['logo_color_32']),
'logoColor128': json['logo_color_128'] == null ? undefined : UserFileViewFromJSON(json['logo_color_128']),
'logoColor144': json['logo_color_144'] == null ? undefined : UserFileViewFromJSON(json['logo_color_144']),
'logoColor180': json['logo_color_180'] == null ? undefined : UserFileViewFromJSON(json['logo_color_180']),
'logoColor192': json['logo_color_192'] == null ? undefined : UserFileViewFromJSON(json['logo_color_192']),
'logoColor512': json['logo_color_512'] == null ? undefined : UserFileViewFromJSON(json['logo_color_512']),
'logoColorSvg': json['logo_color_svg'] == null ? undefined : UserFileViewFromJSON(json['logo_color_svg']),
};
}
export function PatchedSpaceToJSON(value?: Omit<PatchedSpace, 'id'|'created_by'|'created_at'|'max_recipes'|'max_file_storage_mb'|'max_users'|'allow_sharing'|'demo'|'user_count'|'recipe_count'|'file_size_mb'> | null): any {
if (value == null) {
return value;
}
return {
'name': value['name'],
'message': value['message'],
'food_inherit': value['foodInherit'] == null ? undefined : ((value['foodInherit'] as Array<any>).map(FoodInheritFieldToJSON)),
'image': UserFileViewToJSON(value['image']),
'nav_logo': UserFileViewToJSON(value['navLogo']),
'space_theme': SpaceThemeEnumToJSON(value['spaceTheme']),
'custom_space_theme': UserFileViewToJSON(value['customSpaceTheme']),
'nav_bg_color': value['navBgColor'],
'nav_text_color': SpaceNavTextColorEnumToJSON(value['navTextColor']),
'logo_color_32': UserFileViewToJSON(value['logoColor32']),
'logo_color_128': UserFileViewToJSON(value['logoColor128']),
'logo_color_144': UserFileViewToJSON(value['logoColor144']),
'logo_color_180': UserFileViewToJSON(value['logoColor180']),
'logo_color_192': UserFileViewToJSON(value['logoColor192']),
'logo_color_512': UserFileViewToJSON(value['logoColor512']),
'logo_color_svg': UserFileViewToJSON(value['logoColorSvg']),
};
}

165
vue3/models/PatchedStep.ts Normal file
View File

@@ -0,0 +1,165 @@
/* 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 { Ingredient } from './Ingredient';
import {
IngredientFromJSON,
IngredientFromJSONTyped,
IngredientToJSON,
} from './Ingredient';
import type { UserFileView } from './UserFileView';
import {
UserFileViewFromJSON,
UserFileViewFromJSONTyped,
UserFileViewToJSON,
} from './UserFileView';
/**
* Adds nested create feature
* @export
* @interface PatchedStep
*/
export interface PatchedStep {
/**
*
* @type {number}
* @memberof PatchedStep
*/
readonly id?: number;
/**
*
* @type {string}
* @memberof PatchedStep
*/
name?: string;
/**
*
* @type {string}
* @memberof PatchedStep
*/
instruction?: string;
/**
*
* @type {Array<Ingredient>}
* @memberof PatchedStep
*/
ingredients?: Array<Ingredient>;
/**
*
* @type {string}
* @memberof PatchedStep
*/
readonly instructionsMarkdown?: string;
/**
*
* @type {number}
* @memberof PatchedStep
*/
time?: number;
/**
*
* @type {number}
* @memberof PatchedStep
*/
order?: number;
/**
*
* @type {boolean}
* @memberof PatchedStep
*/
showAsHeader?: boolean;
/**
*
* @type {UserFileView}
* @memberof PatchedStep
*/
file?: UserFileView;
/**
*
* @type {number}
* @memberof PatchedStep
*/
stepRecipe?: number;
/**
*
* @type {any}
* @memberof PatchedStep
*/
readonly stepRecipeData?: any;
/**
*
* @type {number}
* @memberof PatchedStep
*/
readonly numrecipe?: number;
/**
*
* @type {boolean}
* @memberof PatchedStep
*/
showIngredientsTable?: boolean;
}
/**
* Check if a given object implements the PatchedStep interface.
*/
export function instanceOfPatchedStep(value: object): boolean {
return true;
}
export function PatchedStepFromJSON(json: any): PatchedStep {
return PatchedStepFromJSONTyped(json, false);
}
export function PatchedStepFromJSONTyped(json: any, ignoreDiscriminator: boolean): PatchedStep {
if (json == null) {
return json;
}
return {
'id': json['id'] == null ? undefined : json['id'],
'name': json['name'] == null ? undefined : json['name'],
'instruction': json['instruction'] == null ? undefined : json['instruction'],
'ingredients': json['ingredients'] == null ? undefined : ((json['ingredients'] as Array<any>).map(IngredientFromJSON)),
'instructionsMarkdown': json['instructions_markdown'] == null ? undefined : json['instructions_markdown'],
'time': json['time'] == null ? undefined : json['time'],
'order': json['order'] == null ? undefined : json['order'],
'showAsHeader': json['show_as_header'] == null ? undefined : json['show_as_header'],
'file': json['file'] == null ? undefined : UserFileViewFromJSON(json['file']),
'stepRecipe': json['step_recipe'] == null ? undefined : json['step_recipe'],
'stepRecipeData': json['step_recipe_data'] == null ? undefined : json['step_recipe_data'],
'numrecipe': json['numrecipe'] == null ? undefined : json['numrecipe'],
'showIngredientsTable': json['show_ingredients_table'] == null ? undefined : json['show_ingredients_table'],
};
}
export function PatchedStepToJSON(value?: Omit<PatchedStep, 'id'|'instructions_markdown'|'step_recipe_data'|'numrecipe'> | null): any {
if (value == null) {
return value;
}
return {
'name': value['name'],
'instruction': value['instruction'],
'ingredients': value['ingredients'] == null ? undefined : ((value['ingredients'] as Array<any>).map(IngredientToJSON)),
'time': value['time'],
'order': value['order'],
'show_as_header': value['showAsHeader'],
'file': UserFileViewToJSON(value['file']),
'step_recipe': value['stepRecipe'],
'show_ingredients_table': value['showIngredientsTable'],
};
}

View File

@@ -0,0 +1,113 @@
/* 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 { MethodEnum } from './MethodEnum';
import {
MethodEnumFromJSON,
MethodEnumFromJSONTyped,
MethodEnumToJSON,
} from './MethodEnum';
/**
*
* @export
* @interface PatchedStorage
*/
export interface PatchedStorage {
/**
*
* @type {number}
* @memberof PatchedStorage
*/
readonly id?: number;
/**
*
* @type {string}
* @memberof PatchedStorage
*/
name?: string;
/**
*
* @type {MethodEnum}
* @memberof PatchedStorage
*/
method?: MethodEnum;
/**
*
* @type {string}
* @memberof PatchedStorage
*/
username?: string;
/**
*
* @type {string}
* @memberof PatchedStorage
*/
password?: string;
/**
*
* @type {string}
* @memberof PatchedStorage
*/
token?: string;
/**
*
* @type {number}
* @memberof PatchedStorage
*/
readonly createdBy?: number;
}
/**
* Check if a given object implements the PatchedStorage interface.
*/
export function instanceOfPatchedStorage(value: object): boolean {
return true;
}
export function PatchedStorageFromJSON(json: any): PatchedStorage {
return PatchedStorageFromJSONTyped(json, false);
}
export function PatchedStorageFromJSONTyped(json: any, ignoreDiscriminator: boolean): PatchedStorage {
if (json == null) {
return json;
}
return {
'id': json['id'] == null ? undefined : json['id'],
'name': json['name'] == null ? undefined : json['name'],
'method': json['method'] == null ? undefined : MethodEnumFromJSON(json['method']),
'username': json['username'] == null ? undefined : json['username'],
'password': json['password'] == null ? undefined : json['password'],
'token': json['token'] == null ? undefined : json['token'],
'createdBy': json['created_by'] == null ? undefined : json['created_by'],
};
}
export function PatchedStorageToJSON(value?: Omit<PatchedStorage, 'id'|'created_by'> | null): any {
if (value == null) {
return value;
}
return {
'name': value['name'],
'method': MethodEnumToJSON(value['method']),
'username': value['username'],
'password': value['password'],
'token': value['token'],
};
}

View File

@@ -0,0 +1,131 @@
/* 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 { SupermarketCategoryRelation } from './SupermarketCategoryRelation';
import {
SupermarketCategoryRelationFromJSON,
SupermarketCategoryRelationFromJSONTyped,
SupermarketCategoryRelationToJSON,
} from './SupermarketCategoryRelation';
/**
* Moves `UniqueValidator`'s from the validation stage to the save stage.
* It solves the problem with nested validation for unique fields on update.
*
* If you want more details, you can read related issues and articles:
* https://github.com/beda-software/drf-writable-nested/issues/1
* http://www.django-rest-framework.org/api-guide/validators/#updating-nested-serializers
*
* Example of usage:
* ```
* class Child(models.Model):
* field = models.CharField(unique=True)
*
*
* class Parent(models.Model):
* child = models.ForeignKey('Child')
*
*
* class ChildSerializer(UniqueFieldsMixin, serializers.ModelSerializer):
* class Meta:
* model = Child
*
*
* class ParentSerializer(NestedUpdateMixin, serializers.ModelSerializer):
* child = ChildSerializer()
*
* class Meta:
* model = Parent
* ```
*
* Note: `UniqueFieldsMixin` must be applied only on the serializer
* which has unique fields.
*
* Note: When you are using both mixins
* (`UniqueFieldsMixin` and `NestedCreateMixin` or `NestedUpdateMixin`)
* you should put `UniqueFieldsMixin` ahead.
* @export
* @interface PatchedSupermarket
*/
export interface PatchedSupermarket {
/**
*
* @type {number}
* @memberof PatchedSupermarket
*/
readonly id?: number;
/**
*
* @type {string}
* @memberof PatchedSupermarket
*/
name?: string;
/**
*
* @type {string}
* @memberof PatchedSupermarket
*/
description?: string;
/**
*
* @type {Array<SupermarketCategoryRelation>}
* @memberof PatchedSupermarket
*/
readonly categoryToSupermarket?: Array<SupermarketCategoryRelation>;
/**
*
* @type {string}
* @memberof PatchedSupermarket
*/
openDataSlug?: string;
}
/**
* Check if a given object implements the PatchedSupermarket interface.
*/
export function instanceOfPatchedSupermarket(value: object): boolean {
return true;
}
export function PatchedSupermarketFromJSON(json: any): PatchedSupermarket {
return PatchedSupermarketFromJSONTyped(json, false);
}
export function PatchedSupermarketFromJSONTyped(json: any, ignoreDiscriminator: boolean): PatchedSupermarket {
if (json == null) {
return json;
}
return {
'id': json['id'] == null ? undefined : json['id'],
'name': json['name'] == null ? undefined : json['name'],
'description': json['description'] == null ? undefined : json['description'],
'categoryToSupermarket': json['category_to_supermarket'] == null ? undefined : ((json['category_to_supermarket'] as Array<any>).map(SupermarketCategoryRelationFromJSON)),
'openDataSlug': json['open_data_slug'] == null ? undefined : json['open_data_slug'],
};
}
export function PatchedSupermarketToJSON(value?: Omit<PatchedSupermarket, 'id'|'category_to_supermarket'> | null): any {
if (value == null) {
return value;
}
return {
'name': value['name'],
'description': value['description'],
'open_data_slug': value['openDataSlug'],
};
}

View File

@@ -0,0 +1,109 @@
/* 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';
/**
* Moves `UniqueValidator`'s from the validation stage to the save stage.
* It solves the problem with nested validation for unique fields on update.
*
* If you want more details, you can read related issues and articles:
* https://github.com/beda-software/drf-writable-nested/issues/1
* http://www.django-rest-framework.org/api-guide/validators/#updating-nested-serializers
*
* Example of usage:
* ```
* class Child(models.Model):
* field = models.CharField(unique=True)
*
*
* class Parent(models.Model):
* child = models.ForeignKey('Child')
*
*
* class ChildSerializer(UniqueFieldsMixin, serializers.ModelSerializer):
* class Meta:
* model = Child
*
*
* class ParentSerializer(NestedUpdateMixin, serializers.ModelSerializer):
* child = ChildSerializer()
*
* class Meta:
* model = Parent
* ```
*
* Note: `UniqueFieldsMixin` must be applied only on the serializer
* which has unique fields.
*
* Note: When you are using both mixins
* (`UniqueFieldsMixin` and `NestedCreateMixin` or `NestedUpdateMixin`)
* you should put `UniqueFieldsMixin` ahead.
* @export
* @interface PatchedSupermarketCategory
*/
export interface PatchedSupermarketCategory {
/**
*
* @type {number}
* @memberof PatchedSupermarketCategory
*/
readonly id?: number;
/**
*
* @type {string}
* @memberof PatchedSupermarketCategory
*/
name?: string;
/**
*
* @type {string}
* @memberof PatchedSupermarketCategory
*/
description?: string;
}
/**
* Check if a given object implements the PatchedSupermarketCategory interface.
*/
export function instanceOfPatchedSupermarketCategory(value: object): boolean {
return true;
}
export function PatchedSupermarketCategoryFromJSON(json: any): PatchedSupermarketCategory {
return PatchedSupermarketCategoryFromJSONTyped(json, false);
}
export function PatchedSupermarketCategoryFromJSONTyped(json: any, ignoreDiscriminator: boolean): PatchedSupermarketCategory {
if (json == null) {
return json;
}
return {
'id': json['id'] == null ? undefined : json['id'],
'name': json['name'] == null ? undefined : json['name'],
'description': json['description'] == null ? undefined : json['description'],
};
}
export function PatchedSupermarketCategoryToJSON(value?: Omit<PatchedSupermarketCategory, 'id'> | null): any {
if (value == null) {
return value;
}
return {
'name': value['name'],
'description': value['description'],
};
}

View File

@@ -0,0 +1,90 @@
/* 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 { SupermarketCategory } from './SupermarketCategory';
import {
SupermarketCategoryFromJSON,
SupermarketCategoryFromJSONTyped,
SupermarketCategoryToJSON,
} from './SupermarketCategory';
/**
* Adds nested create feature
* @export
* @interface PatchedSupermarketCategoryRelation
*/
export interface PatchedSupermarketCategoryRelation {
/**
*
* @type {number}
* @memberof PatchedSupermarketCategoryRelation
*/
readonly id?: number;
/**
*
* @type {SupermarketCategory}
* @memberof PatchedSupermarketCategoryRelation
*/
category?: SupermarketCategory;
/**
*
* @type {number}
* @memberof PatchedSupermarketCategoryRelation
*/
supermarket?: number;
/**
*
* @type {number}
* @memberof PatchedSupermarketCategoryRelation
*/
order?: number;
}
/**
* Check if a given object implements the PatchedSupermarketCategoryRelation interface.
*/
export function instanceOfPatchedSupermarketCategoryRelation(value: object): boolean {
return true;
}
export function PatchedSupermarketCategoryRelationFromJSON(json: any): PatchedSupermarketCategoryRelation {
return PatchedSupermarketCategoryRelationFromJSONTyped(json, false);
}
export function PatchedSupermarketCategoryRelationFromJSONTyped(json: any, ignoreDiscriminator: boolean): PatchedSupermarketCategoryRelation {
if (json == null) {
return json;
}
return {
'id': json['id'] == null ? undefined : json['id'],
'category': json['category'] == null ? undefined : SupermarketCategoryFromJSON(json['category']),
'supermarket': json['supermarket'] == null ? undefined : json['supermarket'],
'order': json['order'] == null ? undefined : json['order'],
};
}
export function PatchedSupermarketCategoryRelationToJSON(value?: Omit<PatchedSupermarketCategoryRelation, 'id'> | null): any {
if (value == null) {
return value;
}
return {
'category': SupermarketCategoryToJSON(value['category']),
'supermarket': value['supermarket'],
'order': value['order'],
};
}

105
vue3/models/PatchedSync.ts Normal file
View File

@@ -0,0 +1,105 @@
/* 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';
/**
*
* @export
* @interface PatchedSync
*/
export interface PatchedSync {
/**
*
* @type {number}
* @memberof PatchedSync
*/
readonly id?: number;
/**
*
* @type {number}
* @memberof PatchedSync
*/
storage?: number;
/**
*
* @type {string}
* @memberof PatchedSync
*/
path?: string;
/**
*
* @type {boolean}
* @memberof PatchedSync
*/
active?: boolean;
/**
*
* @type {Date}
* @memberof PatchedSync
*/
lastChecked?: Date;
/**
*
* @type {Date}
* @memberof PatchedSync
*/
readonly createdAt?: Date;
/**
*
* @type {Date}
* @memberof PatchedSync
*/
readonly updatedAt?: Date;
}
/**
* Check if a given object implements the PatchedSync interface.
*/
export function instanceOfPatchedSync(value: object): boolean {
return true;
}
export function PatchedSyncFromJSON(json: any): PatchedSync {
return PatchedSyncFromJSONTyped(json, false);
}
export function PatchedSyncFromJSONTyped(json: any, ignoreDiscriminator: boolean): PatchedSync {
if (json == null) {
return json;
}
return {
'id': json['id'] == null ? undefined : json['id'],
'storage': json['storage'] == null ? undefined : json['storage'],
'path': json['path'] == null ? undefined : json['path'],
'active': json['active'] == null ? undefined : json['active'],
'lastChecked': json['last_checked'] == null ? undefined : (new Date(json['last_checked'])),
'createdAt': json['created_at'] == null ? undefined : (new Date(json['created_at'])),
'updatedAt': json['updated_at'] == null ? undefined : (new Date(json['updated_at'])),
};
}
export function PatchedSyncToJSON(value?: Omit<PatchedSync, 'id'|'created_at'|'updated_at'> | null): any {
if (value == null) {
return value;
}
return {
'storage': value['storage'],
'path': value['path'],
'active': value['active'],
'last_checked': value['lastChecked'] == null ? undefined : ((value['lastChecked'] as any).toISOString()),
};
}

133
vue3/models/PatchedUnit.ts Normal file
View File

@@ -0,0 +1,133 @@
/* 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';
/**
* Moves `UniqueValidator`'s from the validation stage to the save stage.
* It solves the problem with nested validation for unique fields on update.
*
* If you want more details, you can read related issues and articles:
* https://github.com/beda-software/drf-writable-nested/issues/1
* http://www.django-rest-framework.org/api-guide/validators/#updating-nested-serializers
*
* Example of usage:
* ```
* class Child(models.Model):
* field = models.CharField(unique=True)
*
*
* class Parent(models.Model):
* child = models.ForeignKey('Child')
*
*
* class ChildSerializer(UniqueFieldsMixin, serializers.ModelSerializer):
* class Meta:
* model = Child
*
*
* class ParentSerializer(NestedUpdateMixin, serializers.ModelSerializer):
* child = ChildSerializer()
*
* class Meta:
* model = Parent
* ```
*
* Note: `UniqueFieldsMixin` must be applied only on the serializer
* which has unique fields.
*
* Note: When you are using both mixins
* (`UniqueFieldsMixin` and `NestedCreateMixin` or `NestedUpdateMixin`)
* you should put `UniqueFieldsMixin` ahead.
* @export
* @interface PatchedUnit
*/
export interface PatchedUnit {
/**
*
* @type {number}
* @memberof PatchedUnit
*/
readonly id?: number;
/**
*
* @type {string}
* @memberof PatchedUnit
*/
name?: string;
/**
*
* @type {string}
* @memberof PatchedUnit
*/
pluralName?: string;
/**
*
* @type {string}
* @memberof PatchedUnit
*/
description?: string;
/**
*
* @type {string}
* @memberof PatchedUnit
*/
baseUnit?: string;
/**
*
* @type {string}
* @memberof PatchedUnit
*/
openDataSlug?: string;
}
/**
* Check if a given object implements the PatchedUnit interface.
*/
export function instanceOfPatchedUnit(value: object): boolean {
return true;
}
export function PatchedUnitFromJSON(json: any): PatchedUnit {
return PatchedUnitFromJSONTyped(json, false);
}
export function PatchedUnitFromJSONTyped(json: any, ignoreDiscriminator: boolean): PatchedUnit {
if (json == null) {
return json;
}
return {
'id': json['id'] == null ? undefined : json['id'],
'name': json['name'] == null ? undefined : json['name'],
'pluralName': json['plural_name'] == null ? undefined : json['plural_name'],
'description': json['description'] == null ? undefined : json['description'],
'baseUnit': json['base_unit'] == null ? undefined : json['base_unit'],
'openDataSlug': json['open_data_slug'] == null ? undefined : json['open_data_slug'],
};
}
export function PatchedUnitToJSON(value?: Omit<PatchedUnit, 'id'> | null): any {
if (value == null) {
return value;
}
return {
'name': value['name'],
'plural_name': value['pluralName'],
'description': value['description'],
'base_unit': value['baseUnit'],
'open_data_slug': value['openDataSlug'],
};
}

View File

@@ -0,0 +1,127 @@
/* 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 { Food } from './Food';
import {
FoodFromJSON,
FoodFromJSONTyped,
FoodToJSON,
} from './Food';
import type { Unit } from './Unit';
import {
UnitFromJSON,
UnitFromJSONTyped,
UnitToJSON,
} from './Unit';
/**
* Adds nested create feature
* @export
* @interface PatchedUnitConversion
*/
export interface PatchedUnitConversion {
/**
*
* @type {number}
* @memberof PatchedUnitConversion
*/
readonly id?: number;
/**
*
* @type {string}
* @memberof PatchedUnitConversion
*/
readonly name?: string;
/**
*
* @type {number}
* @memberof PatchedUnitConversion
*/
baseAmount?: number;
/**
*
* @type {Unit}
* @memberof PatchedUnitConversion
*/
baseUnit?: Unit;
/**
*
* @type {number}
* @memberof PatchedUnitConversion
*/
convertedAmount?: number;
/**
*
* @type {Unit}
* @memberof PatchedUnitConversion
*/
convertedUnit?: Unit;
/**
*
* @type {Food}
* @memberof PatchedUnitConversion
*/
food?: Food;
/**
*
* @type {string}
* @memberof PatchedUnitConversion
*/
openDataSlug?: string;
}
/**
* Check if a given object implements the PatchedUnitConversion interface.
*/
export function instanceOfPatchedUnitConversion(value: object): boolean {
return true;
}
export function PatchedUnitConversionFromJSON(json: any): PatchedUnitConversion {
return PatchedUnitConversionFromJSONTyped(json, false);
}
export function PatchedUnitConversionFromJSONTyped(json: any, ignoreDiscriminator: boolean): PatchedUnitConversion {
if (json == null) {
return json;
}
return {
'id': json['id'] == null ? undefined : json['id'],
'name': json['name'] == null ? undefined : json['name'],
'baseAmount': json['base_amount'] == null ? undefined : json['base_amount'],
'baseUnit': json['base_unit'] == null ? undefined : UnitFromJSON(json['base_unit']),
'convertedAmount': json['converted_amount'] == null ? undefined : json['converted_amount'],
'convertedUnit': json['converted_unit'] == null ? undefined : UnitFromJSON(json['converted_unit']),
'food': json['food'] == null ? undefined : FoodFromJSON(json['food']),
'openDataSlug': json['open_data_slug'] == null ? undefined : json['open_data_slug'],
};
}
export function PatchedUnitConversionToJSON(value?: Omit<PatchedUnitConversion, 'id'|'name'> | null): any {
if (value == null) {
return value;
}
return {
'base_amount': value['baseAmount'],
'base_unit': UnitToJSON(value['baseUnit']),
'converted_amount': value['convertedAmount'],
'converted_unit': UnitToJSON(value['convertedUnit']),
'food': FoodToJSON(value['food']),
'open_data_slug': value['openDataSlug'],
};
}

View File

@@ -0,0 +1,89 @@
/* 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';
/**
* Adds nested create feature
* @export
* @interface PatchedUser
*/
export interface PatchedUser {
/**
*
* @type {number}
* @memberof PatchedUser
*/
readonly id?: number;
/**
* Required. 150 characters or fewer. Letters, digits and @/./+/-/_ only.
* @type {string}
* @memberof PatchedUser
*/
readonly username?: string;
/**
*
* @type {string}
* @memberof PatchedUser
*/
firstName?: string;
/**
*
* @type {string}
* @memberof PatchedUser
*/
lastName?: string;
/**
*
* @type {string}
* @memberof PatchedUser
*/
readonly displayName?: string;
}
/**
* Check if a given object implements the PatchedUser interface.
*/
export function instanceOfPatchedUser(value: object): boolean {
return true;
}
export function PatchedUserFromJSON(json: any): PatchedUser {
return PatchedUserFromJSONTyped(json, false);
}
export function PatchedUserFromJSONTyped(json: any, ignoreDiscriminator: boolean): PatchedUser {
if (json == null) {
return json;
}
return {
'id': json['id'] == null ? undefined : json['id'],
'username': json['username'] == null ? undefined : json['username'],
'firstName': json['first_name'] == null ? undefined : json['first_name'],
'lastName': json['last_name'] == null ? undefined : json['last_name'],
'displayName': json['display_name'] == null ? undefined : json['display_name'],
};
}
export function PatchedUserToJSON(value?: Omit<PatchedUser, 'id'|'username'|'display_name'> | null): any {
if (value == null) {
return value;
}
return {
'first_name': value['firstName'],
'last_name': value['lastName'],
};
}

View File

@@ -0,0 +1,319 @@
/* 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 { DefaultPageEnum } from './DefaultPageEnum';
import {
DefaultPageEnumFromJSON,
DefaultPageEnumFromJSONTyped,
DefaultPageEnumToJSON,
} from './DefaultPageEnum';
import type { FoodInheritField } from './FoodInheritField';
import {
FoodInheritFieldFromJSON,
FoodInheritFieldFromJSONTyped,
FoodInheritFieldToJSON,
} from './FoodInheritField';
import type { ThemeEnum } from './ThemeEnum';
import {
ThemeEnumFromJSON,
ThemeEnumFromJSONTyped,
ThemeEnumToJSON,
} from './ThemeEnum';
import type { User } from './User';
import {
UserFromJSON,
UserFromJSONTyped,
UserToJSON,
} from './User';
import type { UserFileView } from './UserFileView';
import {
UserFileViewFromJSON,
UserFileViewFromJSONTyped,
UserFileViewToJSON,
} from './UserFileView';
import type { UserPreferenceNavTextColorEnum } from './UserPreferenceNavTextColorEnum';
import {
UserPreferenceNavTextColorEnumFromJSON,
UserPreferenceNavTextColorEnumFromJSONTyped,
UserPreferenceNavTextColorEnumToJSON,
} from './UserPreferenceNavTextColorEnum';
/**
* Adds nested create feature
* @export
* @interface PatchedUserPreference
*/
export interface PatchedUserPreference {
/**
*
* @type {number}
* @memberof PatchedUserPreference
*/
user?: number;
/**
*
* @type {UserFileView}
* @memberof PatchedUserPreference
*/
image?: UserFileView;
/**
*
* @type {ThemeEnum}
* @memberof PatchedUserPreference
*/
theme?: ThemeEnum;
/**
*
* @type {string}
* @memberof PatchedUserPreference
*/
navBgColor?: string;
/**
*
* @type {UserPreferenceNavTextColorEnum}
* @memberof PatchedUserPreference
*/
navTextColor?: UserPreferenceNavTextColorEnum;
/**
*
* @type {boolean}
* @memberof PatchedUserPreference
*/
navShowLogo?: boolean;
/**
*
* @type {string}
* @memberof PatchedUserPreference
*/
defaultUnit?: string;
/**
*
* @type {DefaultPageEnum}
* @memberof PatchedUserPreference
*/
defaultPage?: DefaultPageEnum;
/**
*
* @type {boolean}
* @memberof PatchedUserPreference
*/
useFractions?: boolean;
/**
*
* @type {boolean}
* @memberof PatchedUserPreference
*/
useKj?: boolean;
/**
*
* @type {Array<User>}
* @memberof PatchedUserPreference
*/
planShare?: Array<User>;
/**
*
* @type {boolean}
* @memberof PatchedUserPreference
*/
navSticky?: boolean;
/**
*
* @type {number}
* @memberof PatchedUserPreference
*/
ingredientDecimals?: number;
/**
*
* @type {boolean}
* @memberof PatchedUserPreference
*/
comments?: boolean;
/**
*
* @type {number}
* @memberof PatchedUserPreference
*/
shoppingAutoSync?: number;
/**
*
* @type {boolean}
* @memberof PatchedUserPreference
*/
mealplanAutoaddShopping?: boolean;
/**
*
* @type {FoodInheritField}
* @memberof PatchedUserPreference
*/
readonly foodInheritDefault?: FoodInheritField;
/**
*
* @type {number}
* @memberof PatchedUserPreference
*/
defaultDelay?: number;
/**
*
* @type {boolean}
* @memberof PatchedUserPreference
*/
mealplanAutoincludeRelated?: boolean;
/**
*
* @type {boolean}
* @memberof PatchedUserPreference
*/
mealplanAutoexcludeOnhand?: boolean;
/**
*
* @type {Array<User>}
* @memberof PatchedUserPreference
*/
shoppingShare?: Array<User>;
/**
*
* @type {number}
* @memberof PatchedUserPreference
*/
shoppingRecentDays?: number;
/**
*
* @type {string}
* @memberof PatchedUserPreference
*/
csvDelim?: string;
/**
*
* @type {string}
* @memberof PatchedUserPreference
*/
csvPrefix?: string;
/**
*
* @type {boolean}
* @memberof PatchedUserPreference
*/
filterToSupermarket?: boolean;
/**
*
* @type {boolean}
* @memberof PatchedUserPreference
*/
shoppingAddOnhand?: boolean;
/**
*
* @type {boolean}
* @memberof PatchedUserPreference
*/
leftHanded?: boolean;
/**
*
* @type {boolean}
* @memberof PatchedUserPreference
*/
showStepIngredients?: boolean;
/**
*
* @type {boolean}
* @memberof PatchedUserPreference
*/
readonly foodChildrenExist?: boolean;
}
/**
* Check if a given object implements the PatchedUserPreference interface.
*/
export function instanceOfPatchedUserPreference(value: object): boolean {
return true;
}
export function PatchedUserPreferenceFromJSON(json: any): PatchedUserPreference {
return PatchedUserPreferenceFromJSONTyped(json, false);
}
export function PatchedUserPreferenceFromJSONTyped(json: any, ignoreDiscriminator: boolean): PatchedUserPreference {
if (json == null) {
return json;
}
return {
'user': json['user'] == null ? undefined : json['user'],
'image': json['image'] == null ? undefined : UserFileViewFromJSON(json['image']),
'theme': json['theme'] == null ? undefined : ThemeEnumFromJSON(json['theme']),
'navBgColor': json['nav_bg_color'] == null ? undefined : json['nav_bg_color'],
'navTextColor': json['nav_text_color'] == null ? undefined : UserPreferenceNavTextColorEnumFromJSON(json['nav_text_color']),
'navShowLogo': json['nav_show_logo'] == null ? undefined : json['nav_show_logo'],
'defaultUnit': json['default_unit'] == null ? undefined : json['default_unit'],
'defaultPage': json['default_page'] == null ? undefined : DefaultPageEnumFromJSON(json['default_page']),
'useFractions': json['use_fractions'] == null ? undefined : json['use_fractions'],
'useKj': json['use_kj'] == null ? undefined : json['use_kj'],
'planShare': json['plan_share'] == null ? undefined : ((json['plan_share'] as Array<any>).map(UserFromJSON)),
'navSticky': json['nav_sticky'] == null ? undefined : json['nav_sticky'],
'ingredientDecimals': json['ingredient_decimals'] == null ? undefined : json['ingredient_decimals'],
'comments': json['comments'] == null ? undefined : json['comments'],
'shoppingAutoSync': json['shopping_auto_sync'] == null ? undefined : json['shopping_auto_sync'],
'mealplanAutoaddShopping': json['mealplan_autoadd_shopping'] == null ? undefined : json['mealplan_autoadd_shopping'],
'foodInheritDefault': json['food_inherit_default'] == null ? undefined : FoodInheritFieldFromJSON(json['food_inherit_default']),
'defaultDelay': json['default_delay'] == null ? undefined : json['default_delay'],
'mealplanAutoincludeRelated': json['mealplan_autoinclude_related'] == null ? undefined : json['mealplan_autoinclude_related'],
'mealplanAutoexcludeOnhand': json['mealplan_autoexclude_onhand'] == null ? undefined : json['mealplan_autoexclude_onhand'],
'shoppingShare': json['shopping_share'] == null ? undefined : ((json['shopping_share'] as Array<any>).map(UserFromJSON)),
'shoppingRecentDays': json['shopping_recent_days'] == null ? undefined : json['shopping_recent_days'],
'csvDelim': json['csv_delim'] == null ? undefined : json['csv_delim'],
'csvPrefix': json['csv_prefix'] == null ? undefined : json['csv_prefix'],
'filterToSupermarket': json['filter_to_supermarket'] == null ? undefined : json['filter_to_supermarket'],
'shoppingAddOnhand': json['shopping_add_onhand'] == null ? undefined : json['shopping_add_onhand'],
'leftHanded': json['left_handed'] == null ? undefined : json['left_handed'],
'showStepIngredients': json['show_step_ingredients'] == null ? undefined : json['show_step_ingredients'],
'foodChildrenExist': json['food_children_exist'] == null ? undefined : json['food_children_exist'],
};
}
export function PatchedUserPreferenceToJSON(value?: Omit<PatchedUserPreference, 'food_inherit_default'|'food_children_exist'> | null): any {
if (value == null) {
return value;
}
return {
'user': value['user'],
'image': UserFileViewToJSON(value['image']),
'theme': ThemeEnumToJSON(value['theme']),
'nav_bg_color': value['navBgColor'],
'nav_text_color': UserPreferenceNavTextColorEnumToJSON(value['navTextColor']),
'nav_show_logo': value['navShowLogo'],
'default_unit': value['defaultUnit'],
'default_page': DefaultPageEnumToJSON(value['defaultPage']),
'use_fractions': value['useFractions'],
'use_kj': value['useKj'],
'plan_share': value['planShare'] == null ? undefined : ((value['planShare'] as Array<any>).map(UserToJSON)),
'nav_sticky': value['navSticky'],
'ingredient_decimals': value['ingredientDecimals'],
'comments': value['comments'],
'shopping_auto_sync': value['shoppingAutoSync'],
'mealplan_autoadd_shopping': value['mealplanAutoaddShopping'],
'default_delay': value['defaultDelay'],
'mealplan_autoinclude_related': value['mealplanAutoincludeRelated'],
'mealplan_autoexclude_onhand': value['mealplanAutoexcludeOnhand'],
'shopping_share': value['shoppingShare'] == null ? undefined : ((value['shoppingShare'] as Array<any>).map(UserToJSON)),
'shopping_recent_days': value['shoppingRecentDays'],
'csv_delim': value['csvDelim'],
'csv_prefix': value['csvPrefix'],
'filter_to_supermarket': value['filterToSupermarket'],
'shopping_add_onhand': value['shoppingAddOnhand'],
'left_handed': value['leftHanded'],
'show_step_ingredients': value['showStepIngredients'],
};
}

View File

@@ -0,0 +1,131 @@
/* 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 { Group } from './Group';
import {
GroupFromJSON,
GroupFromJSONTyped,
GroupToJSON,
} from './Group';
import type { User } from './User';
import {
UserFromJSON,
UserFromJSONTyped,
UserToJSON,
} from './User';
/**
* Adds nested create feature
* @export
* @interface PatchedUserSpace
*/
export interface PatchedUserSpace {
/**
*
* @type {number}
* @memberof PatchedUserSpace
*/
readonly id?: number;
/**
*
* @type {User}
* @memberof PatchedUserSpace
*/
readonly user?: User;
/**
*
* @type {number}
* @memberof PatchedUserSpace
*/
readonly space?: number;
/**
*
* @type {Array<Group>}
* @memberof PatchedUserSpace
*/
groups?: Array<Group>;
/**
*
* @type {boolean}
* @memberof PatchedUserSpace
*/
active?: boolean;
/**
*
* @type {string}
* @memberof PatchedUserSpace
*/
internalNote?: string;
/**
*
* @type {number}
* @memberof PatchedUserSpace
*/
readonly inviteLink?: number;
/**
*
* @type {Date}
* @memberof PatchedUserSpace
*/
readonly createdAt?: Date;
/**
*
* @type {Date}
* @memberof PatchedUserSpace
*/
readonly updatedAt?: Date;
}
/**
* Check if a given object implements the PatchedUserSpace interface.
*/
export function instanceOfPatchedUserSpace(value: object): boolean {
return true;
}
export function PatchedUserSpaceFromJSON(json: any): PatchedUserSpace {
return PatchedUserSpaceFromJSONTyped(json, false);
}
export function PatchedUserSpaceFromJSONTyped(json: any, ignoreDiscriminator: boolean): PatchedUserSpace {
if (json == null) {
return json;
}
return {
'id': json['id'] == null ? undefined : json['id'],
'user': json['user'] == null ? undefined : UserFromJSON(json['user']),
'space': json['space'] == null ? undefined : json['space'],
'groups': json['groups'] == null ? undefined : ((json['groups'] as Array<any>).map(GroupFromJSON)),
'active': json['active'] == null ? undefined : json['active'],
'internalNote': json['internal_note'] == null ? undefined : json['internal_note'],
'inviteLink': json['invite_link'] == null ? undefined : json['invite_link'],
'createdAt': json['created_at'] == null ? undefined : (new Date(json['created_at'])),
'updatedAt': json['updated_at'] == null ? undefined : (new Date(json['updated_at'])),
};
}
export function PatchedUserSpaceToJSON(value?: Omit<PatchedUserSpace, 'id'|'user'|'space'|'invite_link'|'created_at'|'updated_at'> | null): any {
if (value == null) {
return value;
}
return {
'groups': value['groups'] == null ? undefined : ((value['groups'] as Array<any>).map(GroupToJSON)),
'active': value['active'],
'internal_note': value['internalNote'],
};
}

View File

@@ -0,0 +1,81 @@
/* 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';
/**
*
* @export
* @interface PatchedViewLog
*/
export interface PatchedViewLog {
/**
*
* @type {number}
* @memberof PatchedViewLog
*/
readonly id?: number;
/**
*
* @type {number}
* @memberof PatchedViewLog
*/
recipe?: number;
/**
*
* @type {number}
* @memberof PatchedViewLog
*/
readonly createdBy?: number;
/**
*
* @type {Date}
* @memberof PatchedViewLog
*/
readonly createdAt?: Date;
}
/**
* Check if a given object implements the PatchedViewLog interface.
*/
export function instanceOfPatchedViewLog(value: object): boolean {
return true;
}
export function PatchedViewLogFromJSON(json: any): PatchedViewLog {
return PatchedViewLogFromJSONTyped(json, false);
}
export function PatchedViewLogFromJSONTyped(json: any, ignoreDiscriminator: boolean): PatchedViewLog {
if (json == null) {
return json;
}
return {
'id': json['id'] == null ? undefined : json['id'],
'recipe': json['recipe'] == null ? undefined : json['recipe'],
'createdBy': json['created_by'] == null ? undefined : json['created_by'],
'createdAt': json['created_at'] == null ? undefined : (new Date(json['created_at'])),
};
}
export function PatchedViewLogToJSON(value?: Omit<PatchedViewLog, 'id'|'created_by'|'created_at'> | null): any {
if (value == null) {
return value;
}
return {
'recipe': value['recipe'],
};
}

119
vue3/models/Property.ts Normal file
View File

@@ -0,0 +1,119 @@
/* 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 { PropertyType } from './PropertyType';
import {
PropertyTypeFromJSON,
PropertyTypeFromJSONTyped,
PropertyTypeToJSON,
} from './PropertyType';
/**
* Moves `UniqueValidator`'s from the validation stage to the save stage.
* It solves the problem with nested validation for unique fields on update.
*
* If you want more details, you can read related issues and articles:
* https://github.com/beda-software/drf-writable-nested/issues/1
* http://www.django-rest-framework.org/api-guide/validators/#updating-nested-serializers
*
* Example of usage:
* ```
* class Child(models.Model):
* field = models.CharField(unique=True)
*
*
* class Parent(models.Model):
* child = models.ForeignKey('Child')
*
*
* class ChildSerializer(UniqueFieldsMixin, serializers.ModelSerializer):
* class Meta:
* model = Child
*
*
* class ParentSerializer(NestedUpdateMixin, serializers.ModelSerializer):
* child = ChildSerializer()
*
* class Meta:
* model = Parent
* ```
*
* Note: `UniqueFieldsMixin` must be applied only on the serializer
* which has unique fields.
*
* Note: When you are using both mixins
* (`UniqueFieldsMixin` and `NestedCreateMixin` or `NestedUpdateMixin`)
* you should put `UniqueFieldsMixin` ahead.
* @export
* @interface Property
*/
export interface Property {
/**
*
* @type {number}
* @memberof Property
*/
readonly id: number;
/**
*
* @type {number}
* @memberof Property
*/
propertyAmount: number | null;
/**
*
* @type {PropertyType}
* @memberof Property
*/
propertyType: PropertyType;
}
/**
* Check if a given object implements the Property interface.
*/
export function instanceOfProperty(value: object): boolean {
if (!('id' in value)) return false;
if (!('propertyAmount' in value)) return false;
if (!('propertyType' in value)) return false;
return true;
}
export function PropertyFromJSON(json: any): Property {
return PropertyFromJSONTyped(json, false);
}
export function PropertyFromJSONTyped(json: any, ignoreDiscriminator: boolean): Property {
if (json == null) {
return json;
}
return {
'id': json['id'],
'propertyAmount': json['property_amount'],
'propertyType': PropertyTypeFromJSON(json['property_type']),
};
}
export function PropertyToJSON(value?: Omit<Property, 'id'> | null): any {
if (value == null) {
return value;
}
return {
'property_amount': value['propertyAmount'],
'property_type': PropertyTypeToJSON(value['propertyType']),
};
}

109
vue3/models/PropertyType.ts Normal file
View File

@@ -0,0 +1,109 @@
/* 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';
/**
* Adds nested create feature
* @export
* @interface PropertyType
*/
export interface PropertyType {
/**
*
* @type {number}
* @memberof PropertyType
*/
id?: number;
/**
*
* @type {string}
* @memberof PropertyType
*/
name: string;
/**
*
* @type {string}
* @memberof PropertyType
*/
unit?: string;
/**
*
* @type {string}
* @memberof PropertyType
*/
description?: string;
/**
*
* @type {number}
* @memberof PropertyType
*/
order?: number;
/**
*
* @type {string}
* @memberof PropertyType
*/
openDataSlug?: string;
/**
*
* @type {number}
* @memberof PropertyType
*/
fdcId?: number;
}
/**
* Check if a given object implements the PropertyType interface.
*/
export function instanceOfPropertyType(value: object): boolean {
if (!('name' in value)) return false;
return true;
}
export function PropertyTypeFromJSON(json: any): PropertyType {
return PropertyTypeFromJSONTyped(json, false);
}
export function PropertyTypeFromJSONTyped(json: any, ignoreDiscriminator: boolean): PropertyType {
if (json == null) {
return json;
}
return {
'id': json['id'] == null ? undefined : json['id'],
'name': json['name'],
'unit': json['unit'] == null ? undefined : json['unit'],
'description': json['description'] == null ? undefined : json['description'],
'order': json['order'] == null ? undefined : json['order'],
'openDataSlug': json['open_data_slug'] == null ? undefined : json['open_data_slug'],
'fdcId': json['fdc_id'] == null ? undefined : json['fdc_id'],
};
}
export function PropertyTypeToJSON(value?: PropertyType | null): any {
if (value == null) {
return value;
}
return {
'id': value['id'],
'name': value['name'],
'unit': value['unit'],
'description': value['description'],
'order': value['order'],
'open_data_slug': value['openDataSlug'],
'fdc_id': value['fdcId'],
};
}

277
vue3/models/Recipe.ts Normal file
View File

@@ -0,0 +1,277 @@
/* 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 { Keyword } from './Keyword';
import {
KeywordFromJSON,
KeywordFromJSONTyped,
KeywordToJSON,
} from './Keyword';
import type { NutritionInformation } from './NutritionInformation';
import {
NutritionInformationFromJSON,
NutritionInformationFromJSONTyped,
NutritionInformationToJSON,
} from './NutritionInformation';
import type { Property } from './Property';
import {
PropertyFromJSON,
PropertyFromJSONTyped,
PropertyToJSON,
} from './Property';
import type { Step } from './Step';
import {
StepFromJSON,
StepFromJSONTyped,
StepToJSON,
} from './Step';
import type { User } from './User';
import {
UserFromJSON,
UserFromJSONTyped,
UserToJSON,
} from './User';
/**
* Adds nested create feature
* @export
* @interface Recipe
*/
export interface Recipe {
/**
*
* @type {number}
* @memberof Recipe
*/
readonly 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 {number}
* @memberof Recipe
*/
readonly createdBy: number;
/**
*
* @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): boolean {
if (!('id' in value)) return false;
if (!('name' in value)) return false;
if (!('image' in value)) return false;
if (!('steps' in value)) return false;
if (!('createdBy' in value)) return false;
if (!('createdAt' in value)) return false;
if (!('updatedAt' in value)) return false;
if (!('foodProperties' in value)) return false;
if (!('rating' in value)) return false;
if (!('lastCooked' in value)) 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'],
'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': 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, 'id'|'image'|'created_by'|'created_at'|'updated_at'|'food_properties'|'rating'|'last_cooked'> | null): any {
if (value == null) {
return value;
}
return {
'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)),
};
}

123
vue3/models/RecipeBook.ts Normal file
View File

@@ -0,0 +1,123 @@
/* 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 { CustomFilter } from './CustomFilter';
import {
CustomFilterFromJSON,
CustomFilterFromJSONTyped,
CustomFilterToJSON,
} from './CustomFilter';
import type { User } from './User';
import {
UserFromJSON,
UserFromJSONTyped,
UserToJSON,
} from './User';
/**
* Adds nested create feature
* @export
* @interface RecipeBook
*/
export interface RecipeBook {
/**
*
* @type {number}
* @memberof RecipeBook
*/
readonly id: number;
/**
*
* @type {string}
* @memberof RecipeBook
*/
name: string;
/**
*
* @type {string}
* @memberof RecipeBook
*/
description?: string;
/**
*
* @type {Array<User>}
* @memberof RecipeBook
*/
shared: Array<User>;
/**
*
* @type {number}
* @memberof RecipeBook
*/
readonly createdBy: number;
/**
*
* @type {CustomFilter}
* @memberof RecipeBook
*/
filter?: CustomFilter;
/**
*
* @type {number}
* @memberof RecipeBook
*/
order?: number;
}
/**
* Check if a given object implements the RecipeBook interface.
*/
export function instanceOfRecipeBook(value: object): boolean {
if (!('id' in value)) return false;
if (!('name' in value)) return false;
if (!('shared' in value)) return false;
if (!('createdBy' in value)) return false;
return true;
}
export function RecipeBookFromJSON(json: any): RecipeBook {
return RecipeBookFromJSONTyped(json, false);
}
export function RecipeBookFromJSONTyped(json: any, ignoreDiscriminator: boolean): RecipeBook {
if (json == null) {
return json;
}
return {
'id': json['id'],
'name': json['name'],
'description': json['description'] == null ? undefined : json['description'],
'shared': ((json['shared'] as Array<any>).map(UserFromJSON)),
'createdBy': json['created_by'],
'filter': json['filter'] == null ? undefined : CustomFilterFromJSON(json['filter']),
'order': json['order'] == null ? undefined : json['order'],
};
}
export function RecipeBookToJSON(value?: Omit<RecipeBook, 'id'|'created_by'> | null): any {
if (value == null) {
return value;
}
return {
'name': value['name'],
'description': value['description'],
'shared': ((value['shared'] as Array<any>).map(UserToJSON)),
'filter': CustomFilterToJSON(value['filter']),
'order': value['order'],
};
}

View File

@@ -0,0 +1,107 @@
/* 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 { RecipeBook } from './RecipeBook';
import {
RecipeBookFromJSON,
RecipeBookFromJSONTyped,
RecipeBookToJSON,
} from './RecipeBook';
import type { RecipeOverview } from './RecipeOverview';
import {
RecipeOverviewFromJSON,
RecipeOverviewFromJSONTyped,
RecipeOverviewToJSON,
} from './RecipeOverview';
/**
*
* @export
* @interface RecipeBookEntry
*/
export interface RecipeBookEntry {
/**
*
* @type {number}
* @memberof RecipeBookEntry
*/
readonly id: number;
/**
*
* @type {number}
* @memberof RecipeBookEntry
*/
book: number;
/**
*
* @type {RecipeBook}
* @memberof RecipeBookEntry
*/
readonly bookContent: RecipeBook;
/**
*
* @type {number}
* @memberof RecipeBookEntry
*/
recipe: number;
/**
*
* @type {RecipeOverview}
* @memberof RecipeBookEntry
*/
readonly recipeContent: RecipeOverview;
}
/**
* Check if a given object implements the RecipeBookEntry interface.
*/
export function instanceOfRecipeBookEntry(value: object): boolean {
if (!('id' in value)) return false;
if (!('book' in value)) return false;
if (!('bookContent' in value)) return false;
if (!('recipe' in value)) return false;
if (!('recipeContent' in value)) return false;
return true;
}
export function RecipeBookEntryFromJSON(json: any): RecipeBookEntry {
return RecipeBookEntryFromJSONTyped(json, false);
}
export function RecipeBookEntryFromJSONTyped(json: any, ignoreDiscriminator: boolean): RecipeBookEntry {
if (json == null) {
return json;
}
return {
'id': json['id'],
'book': json['book'],
'bookContent': RecipeBookFromJSON(json['book_content']),
'recipe': json['recipe'],
'recipeContent': RecipeOverviewFromJSON(json['recipe_content']),
};
}
export function RecipeBookEntryToJSON(value?: Omit<RecipeBookEntry, 'id'|'book_content'|'recipe_content'> | null): any {
if (value == null) {
return value;
}
return {
'book': value['book'],
'recipe': value['recipe'],
};
}

77
vue3/models/RecipeFlat.ts Normal file
View File

@@ -0,0 +1,77 @@
/* 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';
/**
* Adds nested create feature
* @export
* @interface RecipeFlat
*/
export interface RecipeFlat {
/**
*
* @type {number}
* @memberof RecipeFlat
*/
readonly id: number;
/**
*
* @type {string}
* @memberof RecipeFlat
*/
name: string;
/**
*
* @type {string}
* @memberof RecipeFlat
*/
image?: string;
}
/**
* Check if a given object implements the RecipeFlat interface.
*/
export function instanceOfRecipeFlat(value: object): boolean {
if (!('id' in value)) return false;
if (!('name' in value)) return false;
return true;
}
export function RecipeFlatFromJSON(json: any): RecipeFlat {
return RecipeFlatFromJSONTyped(json, false);
}
export function RecipeFlatFromJSONTyped(json: any, ignoreDiscriminator: boolean): RecipeFlat {
if (json == null) {
return json;
}
return {
'id': json['id'],
'name': json['name'],
'image': json['image'] == null ? undefined : json['image'],
};
}
export function RecipeFlatToJSON(value?: Omit<RecipeFlat, 'id'> | null): any {
if (value == null) {
return value;
}
return {
'name': value['name'],
'image': value['image'],
};
}

View File

@@ -0,0 +1,68 @@
/* 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';
/**
* Adds nested create feature
* @export
* @interface RecipeImage
*/
export interface RecipeImage {
/**
*
* @type {string}
* @memberof RecipeImage
*/
image?: string;
/**
*
* @type {string}
* @memberof RecipeImage
*/
imageUrl?: string;
}
/**
* Check if a given object implements the RecipeImage interface.
*/
export function instanceOfRecipeImage(value: object): boolean {
return true;
}
export function RecipeImageFromJSON(json: any): RecipeImage {
return RecipeImageFromJSONTyped(json, false);
}
export function RecipeImageFromJSONTyped(json: any, ignoreDiscriminator: boolean): RecipeImage {
if (json == null) {
return json;
}
return {
'image': json['image'] == null ? undefined : json['image'],
'imageUrl': json['image_url'] == null ? undefined : json['image_url'],
};
}
export function RecipeImageToJSON(value?: RecipeImage | null): any {
if (value == null) {
return value;
}
return {
'image': value['image'],
'image_url': value['imageUrl'],
};
}

View File

@@ -0,0 +1,195 @@
/* 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 { KeywordLabel } from './KeywordLabel';
import {
KeywordLabelFromJSON,
KeywordLabelFromJSONTyped,
KeywordLabelToJSON,
} from './KeywordLabel';
/**
* Adds nested create feature
* @export
* @interface RecipeOverview
*/
export interface RecipeOverview {
/**
*
* @type {number}
* @memberof RecipeOverview
*/
readonly id: number;
/**
*
* @type {string}
* @memberof RecipeOverview
*/
readonly name: string;
/**
*
* @type {string}
* @memberof RecipeOverview
*/
readonly description: string | null;
/**
*
* @type {string}
* @memberof RecipeOverview
*/
readonly image: string | null;
/**
*
* @type {Array<KeywordLabel>}
* @memberof RecipeOverview
*/
readonly keywords: Array<KeywordLabel>;
/**
*
* @type {number}
* @memberof RecipeOverview
*/
readonly workingTime: number;
/**
*
* @type {number}
* @memberof RecipeOverview
*/
readonly waitingTime: number;
/**
*
* @type {number}
* @memberof RecipeOverview
*/
readonly createdBy: number;
/**
*
* @type {Date}
* @memberof RecipeOverview
*/
readonly createdAt: Date;
/**
*
* @type {Date}
* @memberof RecipeOverview
*/
readonly updatedAt: Date;
/**
*
* @type {boolean}
* @memberof RecipeOverview
*/
readonly internal: boolean;
/**
*
* @type {number}
* @memberof RecipeOverview
*/
readonly servings: number;
/**
*
* @type {string}
* @memberof RecipeOverview
*/
readonly servingsText: string;
/**
*
* @type {number}
* @memberof RecipeOverview
*/
readonly rating: number | null;
/**
*
* @type {Date}
* @memberof RecipeOverview
*/
readonly lastCooked: Date | null;
/**
*
* @type {boolean}
* @memberof RecipeOverview
*/
readonly _new: boolean;
/**
*
* @type {string}
* @memberof RecipeOverview
*/
readonly recent: string;
}
/**
* Check if a given object implements the RecipeOverview interface.
*/
export function instanceOfRecipeOverview(value: object): boolean {
if (!('id' in value)) return false;
if (!('name' in value)) return false;
if (!('description' in value)) return false;
if (!('image' in value)) return false;
if (!('keywords' in value)) return false;
if (!('workingTime' in value)) return false;
if (!('waitingTime' in value)) return false;
if (!('createdBy' in value)) return false;
if (!('createdAt' in value)) return false;
if (!('updatedAt' in value)) return false;
if (!('internal' in value)) return false;
if (!('servings' in value)) return false;
if (!('servingsText' in value)) return false;
if (!('rating' in value)) return false;
if (!('lastCooked' in value)) return false;
if (!('_new' in value)) return false;
if (!('recent' in value)) return false;
return true;
}
export function RecipeOverviewFromJSON(json: any): RecipeOverview {
return RecipeOverviewFromJSONTyped(json, false);
}
export function RecipeOverviewFromJSONTyped(json: any, ignoreDiscriminator: boolean): RecipeOverview {
if (json == null) {
return json;
}
return {
'id': json['id'],
'name': json['name'],
'description': json['description'],
'image': json['image'],
'keywords': ((json['keywords'] as Array<any>).map(KeywordLabelFromJSON)),
'workingTime': json['working_time'],
'waitingTime': json['waiting_time'],
'createdBy': json['created_by'],
'createdAt': (new Date(json['created_at'])),
'updatedAt': (new Date(json['updated_at'])),
'internal': json['internal'],
'servings': json['servings'],
'servingsText': json['servings_text'],
'rating': json['rating'],
'lastCooked': (json['last_cooked'] == null ? null : new Date(json['last_cooked'])),
'_new': json['new'],
'recent': json['recent'],
};
}
export function RecipeOverviewToJSON(value?: Omit<RecipeOverview, 'id'|'name'|'description'|'image'|'keywords'|'working_time'|'waiting_time'|'created_by'|'created_at'|'updated_at'|'internal'|'servings'|'servings_text'|'rating'|'last_cooked'|'new'|'recent'> | null): any {
if (value == null) {
return value;
}
return {
};
}

View File

@@ -0,0 +1,84 @@
/* 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';
/**
*
* @export
* @interface RecipeShoppingUpdate
*/
export interface RecipeShoppingUpdate {
/**
*
* @type {number}
* @memberof RecipeShoppingUpdate
*/
readonly id: number;
/**
* Existing shopping list to update
* @type {number}
* @memberof RecipeShoppingUpdate
*/
listRecipe?: number;
/**
* List of ingredient IDs from the recipe to add, if not provided all ingredients will be added.
* @type {number}
* @memberof RecipeShoppingUpdate
*/
ingredients?: number;
/**
* Providing a list_recipe ID and servings of 0 will delete that shopping list.
* @type {number}
* @memberof RecipeShoppingUpdate
*/
servings?: number;
}
/**
* Check if a given object implements the RecipeShoppingUpdate interface.
*/
export function instanceOfRecipeShoppingUpdate(value: object): boolean {
if (!('id' in value)) return false;
return true;
}
export function RecipeShoppingUpdateFromJSON(json: any): RecipeShoppingUpdate {
return RecipeShoppingUpdateFromJSONTyped(json, false);
}
export function RecipeShoppingUpdateFromJSONTyped(json: any, ignoreDiscriminator: boolean): RecipeShoppingUpdate {
if (json == null) {
return json;
}
return {
'id': json['id'],
'listRecipe': json['list_recipe'] == null ? undefined : json['list_recipe'],
'ingredients': json['ingredients'] == null ? undefined : json['ingredients'],
'servings': json['servings'] == null ? undefined : json['servings'],
};
}
export function RecipeShoppingUpdateToJSON(value?: Omit<RecipeShoppingUpdate, 'id'> | null): any {
if (value == null) {
return value;
}
return {
'list_recipe': value['listRecipe'],
'ingredients': value['ingredients'],
'servings': value['servings'],
};
}

View File

@@ -0,0 +1,77 @@
/* 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';
/**
* Adds nested create feature
* @export
* @interface RecipeSimple
*/
export interface RecipeSimple {
/**
*
* @type {number}
* @memberof RecipeSimple
*/
readonly id: number;
/**
*
* @type {string}
* @memberof RecipeSimple
*/
name: string;
/**
*
* @type {string}
* @memberof RecipeSimple
*/
readonly url: string;
}
/**
* Check if a given object implements the RecipeSimple interface.
*/
export function instanceOfRecipeSimple(value: object): boolean {
if (!('id' in value)) return false;
if (!('name' in value)) return false;
if (!('url' in value)) return false;
return true;
}
export function RecipeSimpleFromJSON(json: any): RecipeSimple {
return RecipeSimpleFromJSONTyped(json, false);
}
export function RecipeSimpleFromJSONTyped(json: any, ignoreDiscriminator: boolean): RecipeSimple {
if (json == null) {
return json;
}
return {
'id': json['id'],
'name': json['name'],
'url': json['url'],
};
}
export function RecipeSimpleToJSON(value?: Omit<RecipeSimple, 'id'|'url'> | null): any {
if (value == null) {
return value;
}
return {
'name': value['name'],
};
}

View File

@@ -0,0 +1,183 @@
/* 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 { Food } from './Food';
import {
FoodFromJSON,
FoodFromJSONTyped,
FoodToJSON,
} from './Food';
import type { ShoppingListRecipe } from './ShoppingListRecipe';
import {
ShoppingListRecipeFromJSON,
ShoppingListRecipeFromJSONTyped,
ShoppingListRecipeToJSON,
} from './ShoppingListRecipe';
import type { Unit } from './Unit';
import {
UnitFromJSON,
UnitFromJSONTyped,
UnitToJSON,
} from './Unit';
import type { User } from './User';
import {
UserFromJSON,
UserFromJSONTyped,
UserToJSON,
} from './User';
/**
* Adds nested create feature
* @export
* @interface ShoppingListEntry
*/
export interface ShoppingListEntry {
/**
*
* @type {number}
* @memberof ShoppingListEntry
*/
readonly id: number;
/**
*
* @type {number}
* @memberof ShoppingListEntry
*/
listRecipe?: number;
/**
*
* @type {Food}
* @memberof ShoppingListEntry
*/
food: Food | null;
/**
*
* @type {Unit}
* @memberof ShoppingListEntry
*/
unit?: Unit;
/**
*
* @type {number}
* @memberof ShoppingListEntry
*/
amount: number;
/**
*
* @type {number}
* @memberof ShoppingListEntry
*/
order?: number;
/**
*
* @type {boolean}
* @memberof ShoppingListEntry
*/
checked?: boolean;
/**
*
* @type {ShoppingListRecipe}
* @memberof ShoppingListEntry
*/
readonly recipeMealplan: ShoppingListRecipe;
/**
*
* @type {User}
* @memberof ShoppingListEntry
*/
readonly createdBy: User;
/**
*
* @type {Date}
* @memberof ShoppingListEntry
*/
readonly createdAt: Date;
/**
*
* @type {Date}
* @memberof ShoppingListEntry
*/
readonly updatedAt: Date;
/**
*
* @type {Date}
* @memberof ShoppingListEntry
*/
completedAt?: Date;
/**
*
* @type {Date}
* @memberof ShoppingListEntry
*/
delayUntil?: Date;
}
/**
* Check if a given object implements the ShoppingListEntry interface.
*/
export function instanceOfShoppingListEntry(value: object): boolean {
if (!('id' in value)) return false;
if (!('food' in value)) return false;
if (!('amount' in value)) return false;
if (!('recipeMealplan' in value)) return false;
if (!('createdBy' in value)) return false;
if (!('createdAt' in value)) return false;
if (!('updatedAt' in value)) return false;
return true;
}
export function ShoppingListEntryFromJSON(json: any): ShoppingListEntry {
return ShoppingListEntryFromJSONTyped(json, false);
}
export function ShoppingListEntryFromJSONTyped(json: any, ignoreDiscriminator: boolean): ShoppingListEntry {
if (json == null) {
return json;
}
return {
'id': json['id'],
'listRecipe': json['list_recipe'] == null ? undefined : json['list_recipe'],
'food': FoodFromJSON(json['food']),
'unit': json['unit'] == null ? undefined : UnitFromJSON(json['unit']),
'amount': json['amount'],
'order': json['order'] == null ? undefined : json['order'],
'checked': json['checked'] == null ? undefined : json['checked'],
'recipeMealplan': ShoppingListRecipeFromJSON(json['recipe_mealplan']),
'createdBy': UserFromJSON(json['created_by']),
'createdAt': (new Date(json['created_at'])),
'updatedAt': (new Date(json['updated_at'])),
'completedAt': json['completed_at'] == null ? undefined : (new Date(json['completed_at'])),
'delayUntil': json['delay_until'] == null ? undefined : (new Date(json['delay_until'])),
};
}
export function ShoppingListEntryToJSON(value?: Omit<ShoppingListEntry, 'id'|'recipe_mealplan'|'created_by'|'created_at'|'updated_at'> | null): any {
if (value == null) {
return value;
}
return {
'list_recipe': value['listRecipe'],
'food': FoodToJSON(value['food']),
'unit': UnitToJSON(value['unit']),
'amount': value['amount'],
'order': value['order'],
'checked': value['checked'],
'completed_at': value['completedAt'] == null ? undefined : ((value['completedAt'] as any).toISOString()),
'delay_until': value['delayUntil'] == null ? undefined : ((value['delayUntil'] as any).toISOString()),
};
}

View File

@@ -0,0 +1,70 @@
/* 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';
/**
*
* @export
* @interface ShoppingListEntryBulk
*/
export interface ShoppingListEntryBulk {
/**
*
* @type {Array<any>}
* @memberof ShoppingListEntryBulk
*/
ids: Array<any>;
/**
*
* @type {boolean}
* @memberof ShoppingListEntryBulk
*/
checked: boolean;
}
/**
* Check if a given object implements the ShoppingListEntryBulk interface.
*/
export function instanceOfShoppingListEntryBulk(value: object): boolean {
if (!('ids' in value)) return false;
if (!('checked' in value)) return false;
return true;
}
export function ShoppingListEntryBulkFromJSON(json: any): ShoppingListEntryBulk {
return ShoppingListEntryBulkFromJSONTyped(json, false);
}
export function ShoppingListEntryBulkFromJSONTyped(json: any, ignoreDiscriminator: boolean): ShoppingListEntryBulk {
if (json == null) {
return json;
}
return {
'ids': json['ids'],
'checked': json['checked'],
};
}
export function ShoppingListEntryBulkToJSON(value?: ShoppingListEntryBulk | null): any {
if (value == null) {
return value;
}
return {
'ids': value['ids'],
'checked': value['checked'],
};
}

View File

@@ -0,0 +1,125 @@
/* 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';
/**
*
* @export
* @interface ShoppingListRecipe
*/
export interface ShoppingListRecipe {
/**
*
* @type {number}
* @memberof ShoppingListRecipe
*/
readonly id: number;
/**
*
* @type {string}
* @memberof ShoppingListRecipe
*/
readonly recipeName: string;
/**
*
* @type {string}
* @memberof ShoppingListRecipe
*/
readonly name: string;
/**
*
* @type {number}
* @memberof ShoppingListRecipe
*/
recipe?: number;
/**
*
* @type {number}
* @memberof ShoppingListRecipe
*/
mealplan?: number;
/**
*
* @type {number}
* @memberof ShoppingListRecipe
*/
servings: number;
/**
*
* @type {string}
* @memberof ShoppingListRecipe
*/
readonly mealplanNote: string;
/**
*
* @type {Date}
* @memberof ShoppingListRecipe
*/
readonly mealplanFromDate: Date;
/**
*
* @type {string}
* @memberof ShoppingListRecipe
*/
readonly mealplanType: string;
}
/**
* Check if a given object implements the ShoppingListRecipe interface.
*/
export function instanceOfShoppingListRecipe(value: object): boolean {
if (!('id' in value)) return false;
if (!('recipeName' in value)) return false;
if (!('name' in value)) return false;
if (!('servings' in value)) return false;
if (!('mealplanNote' in value)) return false;
if (!('mealplanFromDate' in value)) return false;
if (!('mealplanType' in value)) return false;
return true;
}
export function ShoppingListRecipeFromJSON(json: any): ShoppingListRecipe {
return ShoppingListRecipeFromJSONTyped(json, false);
}
export function ShoppingListRecipeFromJSONTyped(json: any, ignoreDiscriminator: boolean): ShoppingListRecipe {
if (json == null) {
return json;
}
return {
'id': json['id'],
'recipeName': json['recipe_name'],
'name': json['name'],
'recipe': json['recipe'] == null ? undefined : json['recipe'],
'mealplan': json['mealplan'] == null ? undefined : json['mealplan'],
'servings': json['servings'],
'mealplanNote': json['mealplan_note'],
'mealplanFromDate': (new Date(json['mealplan_from_date'])),
'mealplanType': json['mealplan_type'],
};
}
export function ShoppingListRecipeToJSON(value?: Omit<ShoppingListRecipe, 'id'|'recipe_name'|'name'|'mealplan_note'|'mealplan_from_date'|'mealplan_type'> | null): any {
if (value == null) {
return value;
}
return {
'recipe': value['recipe'],
'mealplan': value['mealplan'],
'servings': value['servings'],
};
}

294
vue3/models/Space.ts Normal file
View File

@@ -0,0 +1,294 @@
/* 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 { FoodInheritField } from './FoodInheritField';
import {
FoodInheritFieldFromJSON,
FoodInheritFieldFromJSONTyped,
FoodInheritFieldToJSON,
} from './FoodInheritField';
import type { SpaceNavTextColorEnum } from './SpaceNavTextColorEnum';
import {
SpaceNavTextColorEnumFromJSON,
SpaceNavTextColorEnumFromJSONTyped,
SpaceNavTextColorEnumToJSON,
} from './SpaceNavTextColorEnum';
import type { SpaceThemeEnum } from './SpaceThemeEnum';
import {
SpaceThemeEnumFromJSON,
SpaceThemeEnumFromJSONTyped,
SpaceThemeEnumToJSON,
} from './SpaceThemeEnum';
import type { UserFileView } from './UserFileView';
import {
UserFileViewFromJSON,
UserFileViewFromJSONTyped,
UserFileViewToJSON,
} from './UserFileView';
/**
* Adds nested create feature
* @export
* @interface Space
*/
export interface Space {
/**
*
* @type {number}
* @memberof Space
*/
readonly id: number;
/**
*
* @type {string}
* @memberof Space
*/
name?: string;
/**
*
* @type {number}
* @memberof Space
*/
readonly createdBy: number | null;
/**
*
* @type {Date}
* @memberof Space
*/
readonly createdAt: Date;
/**
*
* @type {string}
* @memberof Space
*/
message?: string;
/**
*
* @type {number}
* @memberof Space
*/
readonly maxRecipes: number;
/**
* Maximum file storage for space in MB. 0 for unlimited, -1 to disable file upload.
* @type {number}
* @memberof Space
*/
readonly maxFileStorageMb: number;
/**
*
* @type {number}
* @memberof Space
*/
readonly maxUsers: number;
/**
*
* @type {boolean}
* @memberof Space
*/
readonly allowSharing: boolean;
/**
*
* @type {boolean}
* @memberof Space
*/
readonly demo: boolean;
/**
*
* @type {Array<FoodInheritField>}
* @memberof Space
*/
foodInherit: Array<FoodInheritField>;
/**
*
* @type {number}
* @memberof Space
*/
readonly userCount: number;
/**
*
* @type {number}
* @memberof Space
*/
readonly recipeCount: number;
/**
*
* @type {number}
* @memberof Space
*/
readonly fileSizeMb: number;
/**
*
* @type {UserFileView}
* @memberof Space
*/
image?: UserFileView;
/**
*
* @type {UserFileView}
* @memberof Space
*/
navLogo?: UserFileView;
/**
*
* @type {SpaceThemeEnum}
* @memberof Space
*/
spaceTheme?: SpaceThemeEnum;
/**
*
* @type {UserFileView}
* @memberof Space
*/
customSpaceTheme?: UserFileView;
/**
*
* @type {string}
* @memberof Space
*/
navBgColor?: string;
/**
*
* @type {SpaceNavTextColorEnum}
* @memberof Space
*/
navTextColor?: SpaceNavTextColorEnum;
/**
*
* @type {UserFileView}
* @memberof Space
*/
logoColor32?: UserFileView;
/**
*
* @type {UserFileView}
* @memberof Space
*/
logoColor128?: UserFileView;
/**
*
* @type {UserFileView}
* @memberof Space
*/
logoColor144?: UserFileView;
/**
*
* @type {UserFileView}
* @memberof Space
*/
logoColor180?: UserFileView;
/**
*
* @type {UserFileView}
* @memberof Space
*/
logoColor192?: UserFileView;
/**
*
* @type {UserFileView}
* @memberof Space
*/
logoColor512?: UserFileView;
/**
*
* @type {UserFileView}
* @memberof Space
*/
logoColorSvg?: UserFileView;
}
/**
* Check if a given object implements the Space interface.
*/
export function instanceOfSpace(value: object): boolean {
if (!('id' in value)) return false;
if (!('createdBy' in value)) return false;
if (!('createdAt' in value)) return false;
if (!('maxRecipes' in value)) return false;
if (!('maxFileStorageMb' in value)) return false;
if (!('maxUsers' in value)) return false;
if (!('allowSharing' in value)) return false;
if (!('demo' in value)) return false;
if (!('foodInherit' in value)) return false;
if (!('userCount' in value)) return false;
if (!('recipeCount' in value)) return false;
if (!('fileSizeMb' in value)) return false;
return true;
}
export function SpaceFromJSON(json: any): Space {
return SpaceFromJSONTyped(json, false);
}
export function SpaceFromJSONTyped(json: any, ignoreDiscriminator: boolean): Space {
if (json == null) {
return json;
}
return {
'id': json['id'],
'name': json['name'] == null ? undefined : json['name'],
'createdBy': json['created_by'],
'createdAt': (new Date(json['created_at'])),
'message': json['message'] == null ? undefined : json['message'],
'maxRecipes': json['max_recipes'],
'maxFileStorageMb': json['max_file_storage_mb'],
'maxUsers': json['max_users'],
'allowSharing': json['allow_sharing'],
'demo': json['demo'],
'foodInherit': ((json['food_inherit'] as Array<any>).map(FoodInheritFieldFromJSON)),
'userCount': json['user_count'],
'recipeCount': json['recipe_count'],
'fileSizeMb': json['file_size_mb'],
'image': json['image'] == null ? undefined : UserFileViewFromJSON(json['image']),
'navLogo': json['nav_logo'] == null ? undefined : UserFileViewFromJSON(json['nav_logo']),
'spaceTheme': json['space_theme'] == null ? undefined : SpaceThemeEnumFromJSON(json['space_theme']),
'customSpaceTheme': json['custom_space_theme'] == null ? undefined : UserFileViewFromJSON(json['custom_space_theme']),
'navBgColor': json['nav_bg_color'] == null ? undefined : json['nav_bg_color'],
'navTextColor': json['nav_text_color'] == null ? undefined : SpaceNavTextColorEnumFromJSON(json['nav_text_color']),
'logoColor32': json['logo_color_32'] == null ? undefined : UserFileViewFromJSON(json['logo_color_32']),
'logoColor128': json['logo_color_128'] == null ? undefined : UserFileViewFromJSON(json['logo_color_128']),
'logoColor144': json['logo_color_144'] == null ? undefined : UserFileViewFromJSON(json['logo_color_144']),
'logoColor180': json['logo_color_180'] == null ? undefined : UserFileViewFromJSON(json['logo_color_180']),
'logoColor192': json['logo_color_192'] == null ? undefined : UserFileViewFromJSON(json['logo_color_192']),
'logoColor512': json['logo_color_512'] == null ? undefined : UserFileViewFromJSON(json['logo_color_512']),
'logoColorSvg': json['logo_color_svg'] == null ? undefined : UserFileViewFromJSON(json['logo_color_svg']),
};
}
export function SpaceToJSON(value?: Omit<Space, 'id'|'created_by'|'created_at'|'max_recipes'|'max_file_storage_mb'|'max_users'|'allow_sharing'|'demo'|'user_count'|'recipe_count'|'file_size_mb'> | null): any {
if (value == null) {
return value;
}
return {
'name': value['name'],
'message': value['message'],
'food_inherit': ((value['foodInherit'] as Array<any>).map(FoodInheritFieldToJSON)),
'image': UserFileViewToJSON(value['image']),
'nav_logo': UserFileViewToJSON(value['navLogo']),
'space_theme': SpaceThemeEnumToJSON(value['spaceTheme']),
'custom_space_theme': UserFileViewToJSON(value['customSpaceTheme']),
'nav_bg_color': value['navBgColor'],
'nav_text_color': SpaceNavTextColorEnumToJSON(value['navTextColor']),
'logo_color_32': UserFileViewToJSON(value['logoColor32']),
'logo_color_128': UserFileViewToJSON(value['logoColor128']),
'logo_color_144': UserFileViewToJSON(value['logoColor144']),
'logo_color_180': UserFileViewToJSON(value['logoColor180']),
'logo_color_192': UserFileViewToJSON(value['logoColor192']),
'logo_color_512': UserFileViewToJSON(value['logoColor512']),
'logo_color_svg': UserFileViewToJSON(value['logoColorSvg']),
};
}

View File

@@ -0,0 +1,45 @@
/* 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.
*/
/**
* * `BLANK` - -------
* * `LIGHT` - Light
* * `DARK` - Dark
* @export
*/
export const SpaceNavTextColorEnum = {
Blank: 'BLANK',
Light: 'LIGHT',
Dark: 'DARK'
} as const;
export type SpaceNavTextColorEnum = typeof SpaceNavTextColorEnum[keyof typeof SpaceNavTextColorEnum];
export function instanceOfSpaceNavTextColorEnum(value: any): boolean {
return Object.values(SpaceNavTextColorEnum).includes(value);
}
export function SpaceNavTextColorEnumFromJSON(json: any): SpaceNavTextColorEnum {
return SpaceNavTextColorEnumFromJSONTyped(json, false);
}
export function SpaceNavTextColorEnumFromJSONTyped(json: any, ignoreDiscriminator: boolean): SpaceNavTextColorEnum {
return json as SpaceNavTextColorEnum;
}
export function SpaceNavTextColorEnumToJSON(value?: SpaceNavTextColorEnum | null): any {
return value as any;
}

View File

@@ -0,0 +1,53 @@
/* 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.
*/
/**
* * `BLANK` - -------
* * `TANDOOR` - Tandoor
* * `BOOTSTRAP` - Bootstrap
* * `DARKLY` - Darkly
* * `FLATLY` - Flatly
* * `SUPERHERO` - Superhero
* * `TANDOOR_DARK` - Tandoor Dark (INCOMPLETE)
* @export
*/
export const SpaceThemeEnum = {
Blank: 'BLANK',
Tandoor: 'TANDOOR',
Bootstrap: 'BOOTSTRAP',
Darkly: 'DARKLY',
Flatly: 'FLATLY',
Superhero: 'SUPERHERO',
TandoorDark: 'TANDOOR_DARK'
} as const;
export type SpaceThemeEnum = typeof SpaceThemeEnum[keyof typeof SpaceThemeEnum];
export function instanceOfSpaceThemeEnum(value: any): boolean {
return Object.values(SpaceThemeEnum).includes(value);
}
export function SpaceThemeEnumFromJSON(json: any): SpaceThemeEnum {
return SpaceThemeEnumFromJSONTyped(json, false);
}
export function SpaceThemeEnumFromJSONTyped(json: any, ignoreDiscriminator: boolean): SpaceThemeEnum {
return json as SpaceThemeEnum;
}
export function SpaceThemeEnumToJSON(value?: SpaceThemeEnum | null): any {
return value as any;
}

170
vue3/models/Step.ts Normal file
View File

@@ -0,0 +1,170 @@
/* 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 { Ingredient } from './Ingredient';
import {
IngredientFromJSON,
IngredientFromJSONTyped,
IngredientToJSON,
} from './Ingredient';
import type { UserFileView } from './UserFileView';
import {
UserFileViewFromJSON,
UserFileViewFromJSONTyped,
UserFileViewToJSON,
} from './UserFileView';
/**
* Adds nested create feature
* @export
* @interface Step
*/
export interface Step {
/**
*
* @type {number}
* @memberof Step
*/
readonly id: number;
/**
*
* @type {string}
* @memberof Step
*/
name?: string;
/**
*
* @type {string}
* @memberof Step
*/
instruction?: string;
/**
*
* @type {Array<Ingredient>}
* @memberof Step
*/
ingredients: Array<Ingredient>;
/**
*
* @type {string}
* @memberof Step
*/
readonly instructionsMarkdown: string;
/**
*
* @type {number}
* @memberof Step
*/
time?: number;
/**
*
* @type {number}
* @memberof Step
*/
order?: number;
/**
*
* @type {boolean}
* @memberof Step
*/
showAsHeader?: boolean;
/**
*
* @type {UserFileView}
* @memberof Step
*/
file?: UserFileView;
/**
*
* @type {number}
* @memberof Step
*/
stepRecipe?: number;
/**
*
* @type {any}
* @memberof Step
*/
readonly stepRecipeData: any | null;
/**
*
* @type {number}
* @memberof Step
*/
readonly numrecipe: number;
/**
*
* @type {boolean}
* @memberof Step
*/
showIngredientsTable?: boolean;
}
/**
* Check if a given object implements the Step interface.
*/
export function instanceOfStep(value: object): boolean {
if (!('id' in value)) return false;
if (!('ingredients' in value)) return false;
if (!('instructionsMarkdown' in value)) return false;
if (!('stepRecipeData' in value)) return false;
if (!('numrecipe' in value)) return false;
return true;
}
export function StepFromJSON(json: any): Step {
return StepFromJSONTyped(json, false);
}
export function StepFromJSONTyped(json: any, ignoreDiscriminator: boolean): Step {
if (json == null) {
return json;
}
return {
'id': json['id'],
'name': json['name'] == null ? undefined : json['name'],
'instruction': json['instruction'] == null ? undefined : json['instruction'],
'ingredients': ((json['ingredients'] as Array<any>).map(IngredientFromJSON)),
'instructionsMarkdown': json['instructions_markdown'],
'time': json['time'] == null ? undefined : json['time'],
'order': json['order'] == null ? undefined : json['order'],
'showAsHeader': json['show_as_header'] == null ? undefined : json['show_as_header'],
'file': json['file'] == null ? undefined : UserFileViewFromJSON(json['file']),
'stepRecipe': json['step_recipe'] == null ? undefined : json['step_recipe'],
'stepRecipeData': json['step_recipe_data'],
'numrecipe': json['numrecipe'],
'showIngredientsTable': json['show_ingredients_table'] == null ? undefined : json['show_ingredients_table'],
};
}
export function StepToJSON(value?: Omit<Step, 'id'|'instructions_markdown'|'step_recipe_data'|'numrecipe'> | null): any {
if (value == null) {
return value;
}
return {
'name': value['name'],
'instruction': value['instruction'],
'ingredients': ((value['ingredients'] as Array<any>).map(IngredientToJSON)),
'time': value['time'],
'order': value['order'],
'show_as_header': value['showAsHeader'],
'file': UserFileViewToJSON(value['file']),
'step_recipe': value['stepRecipe'],
'show_ingredients_table': value['showIngredientsTable'],
};
}

116
vue3/models/Storage.ts Normal file
View File

@@ -0,0 +1,116 @@
/* 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 { MethodEnum } from './MethodEnum';
import {
MethodEnumFromJSON,
MethodEnumFromJSONTyped,
MethodEnumToJSON,
} from './MethodEnum';
/**
*
* @export
* @interface Storage
*/
export interface Storage {
/**
*
* @type {number}
* @memberof Storage
*/
readonly id: number;
/**
*
* @type {string}
* @memberof Storage
*/
name: string;
/**
*
* @type {MethodEnum}
* @memberof Storage
*/
method?: MethodEnum;
/**
*
* @type {string}
* @memberof Storage
*/
username?: string;
/**
*
* @type {string}
* @memberof Storage
*/
password?: string;
/**
*
* @type {string}
* @memberof Storage
*/
token?: string;
/**
*
* @type {number}
* @memberof Storage
*/
readonly createdBy: number;
}
/**
* Check if a given object implements the Storage interface.
*/
export function instanceOfStorage(value: object): boolean {
if (!('id' in value)) return false;
if (!('name' in value)) return false;
if (!('createdBy' in value)) return false;
return true;
}
export function StorageFromJSON(json: any): Storage {
return StorageFromJSONTyped(json, false);
}
export function StorageFromJSONTyped(json: any, ignoreDiscriminator: boolean): Storage {
if (json == null) {
return json;
}
return {
'id': json['id'],
'name': json['name'],
'method': json['method'] == null ? undefined : MethodEnumFromJSON(json['method']),
'username': json['username'] == null ? undefined : json['username'],
'password': json['password'] == null ? undefined : json['password'],
'token': json['token'] == null ? undefined : json['token'],
'createdBy': json['created_by'],
};
}
export function StorageToJSON(value?: Omit<Storage, 'id'|'created_by'> | null): any {
if (value == null) {
return value;
}
return {
'name': value['name'],
'method': MethodEnumToJSON(value['method']),
'username': value['username'],
'password': value['password'],
'token': value['token'],
};
}

Some files were not shown because too many files have changed in this diff Show More