1
0
mirror of https://github.com/TandoorRecipes/recipes.git synced 2026-01-11 17:16:59 -05:00

added support for external recipes to new frontend

This commit is contained in:
vabene1111
2025-06-04 20:35:35 +02:00
parent cd707d20a1
commit 63069dd716
56 changed files with 1428 additions and 75 deletions

View File

@@ -66,11 +66,13 @@ models/PaginatedPropertyList.ts
models/PaginatedPropertyTypeList.ts
models/PaginatedRecipeBookEntryList.ts
models/PaginatedRecipeBookList.ts
models/PaginatedRecipeImportList.ts
models/PaginatedRecipeOverviewList.ts
models/PaginatedShoppingListEntryList.ts
models/PaginatedShoppingListRecipeList.ts
models/PaginatedSpaceList.ts
models/PaginatedStepList.ts
models/PaginatedStorageList.ts
models/PaginatedSupermarketCategoryList.ts
models/PaginatedSupermarketCategoryRelationList.ts
models/PaginatedSupermarketList.ts
@@ -108,6 +110,7 @@ models/PatchedPropertyType.ts
models/PatchedRecipe.ts
models/PatchedRecipeBook.ts
models/PatchedRecipeBookEntry.ts
models/PatchedRecipeImport.ts
models/PatchedShoppingListEntry.ts
models/PatchedShoppingListRecipe.ts
models/PatchedSpace.ts
@@ -132,6 +135,7 @@ models/RecipeFlat.ts
models/RecipeFromSource.ts
models/RecipeFromSourceResponse.ts
models/RecipeImage.ts
models/RecipeImport.ts
models/RecipeOverview.ts
models/RecipeShoppingUpdate.ts
models/RecipeSimple.ts

View File

@@ -63,11 +63,13 @@ import type {
PaginatedPropertyTypeList,
PaginatedRecipeBookEntryList,
PaginatedRecipeBookList,
PaginatedRecipeImportList,
PaginatedRecipeOverviewList,
PaginatedShoppingListEntryList,
PaginatedShoppingListRecipeList,
PaginatedSpaceList,
PaginatedStepList,
PaginatedStorageList,
PaginatedSupermarketCategoryList,
PaginatedSupermarketCategoryRelationList,
PaginatedSupermarketList,
@@ -105,6 +107,7 @@ import type {
PatchedRecipe,
PatchedRecipeBook,
PatchedRecipeBookEntry,
PatchedRecipeImport,
PatchedShoppingListEntry,
PatchedShoppingListRecipe,
PatchedSpace,
@@ -129,6 +132,7 @@ import type {
RecipeFromSource,
RecipeFromSourceResponse,
RecipeImage,
RecipeImport,
RecipeShoppingUpdate,
RecipeSimple,
ServerSettings,
@@ -250,6 +254,8 @@ import {
PaginatedRecipeBookEntryListToJSON,
PaginatedRecipeBookListFromJSON,
PaginatedRecipeBookListToJSON,
PaginatedRecipeImportListFromJSON,
PaginatedRecipeImportListToJSON,
PaginatedRecipeOverviewListFromJSON,
PaginatedRecipeOverviewListToJSON,
PaginatedShoppingListEntryListFromJSON,
@@ -260,6 +266,8 @@ import {
PaginatedSpaceListToJSON,
PaginatedStepListFromJSON,
PaginatedStepListToJSON,
PaginatedStorageListFromJSON,
PaginatedStorageListToJSON,
PaginatedSupermarketCategoryListFromJSON,
PaginatedSupermarketCategoryListToJSON,
PaginatedSupermarketCategoryRelationListFromJSON,
@@ -334,6 +342,8 @@ import {
PatchedRecipeBookToJSON,
PatchedRecipeBookEntryFromJSON,
PatchedRecipeBookEntryToJSON,
PatchedRecipeImportFromJSON,
PatchedRecipeImportToJSON,
PatchedShoppingListEntryFromJSON,
PatchedShoppingListEntryToJSON,
PatchedShoppingListRecipeFromJSON,
@@ -382,6 +392,8 @@ import {
RecipeFromSourceResponseToJSON,
RecipeImageFromJSON,
RecipeImageToJSON,
RecipeImportFromJSON,
RecipeImportToJSON,
RecipeShoppingUpdateFromJSON,
RecipeShoppingUpdateToJSON,
RecipeSimpleFromJSON,
@@ -1211,6 +1223,42 @@ export interface ApiRecipeImageUpdateRequest {
imageUrl?: string;
}
export interface ApiRecipeImportCreateRequest {
recipeImport: Omit<RecipeImport, 'createdAt'>;
}
export interface ApiRecipeImportDestroyRequest {
id: number;
}
export interface ApiRecipeImportImportAllCreateRequest {
recipeImport: Omit<RecipeImport, 'createdAt'>;
}
export interface ApiRecipeImportImportRecipeCreateRequest {
id: number;
recipeImport: Omit<RecipeImport, 'createdAt'>;
}
export interface ApiRecipeImportListRequest {
page?: number;
pageSize?: number;
}
export interface ApiRecipeImportPartialUpdateRequest {
id: number;
patchedRecipeImport?: Omit<PatchedRecipeImport, 'createdAt'>;
}
export interface ApiRecipeImportRetrieveRequest {
id: number;
}
export interface ApiRecipeImportUpdateRequest {
id: number;
recipeImport: Omit<RecipeImport, 'createdAt'>;
}
export interface ApiRecipeListRequest {
books?: Array<number>;
booksAnd?: Array<number>;
@@ -1402,6 +1450,11 @@ export interface ApiStorageDestroyRequest {
id: number;
}
export interface ApiStorageListRequest {
page?: number;
pageSize?: number;
}
export interface ApiStoragePartialUpdateRequest {
id: number;
patchedStorage?: Omit<PatchedStorage, 'createdBy'>;
@@ -1546,6 +1599,11 @@ export interface ApiSyncPartialUpdateRequest {
patchedSync?: Omit<PatchedSync, 'createdAt'|'updatedAt'>;
}
export interface ApiSyncPerformUpdateCreateRequest {
id: number;
sync: Omit<Sync, 'createdAt'|'updatedAt'>;
}
export interface ApiSyncRetrieveRequest {
id: number;
}
@@ -8928,6 +8986,331 @@ export class ApiApi extends runtime.BaseAPI {
return await response.value();
}
/**
* logs request counts to redis cache total/per user/
*/
async apiRecipeImportCreateRaw(requestParameters: ApiRecipeImportCreateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<RecipeImport>> {
if (requestParameters['recipeImport'] == null) {
throw new runtime.RequiredError(
'recipeImport',
'Required parameter "recipeImport" was null or undefined when calling apiRecipeImportCreate().'
);
}
const queryParameters: any = {};
const headerParameters: runtime.HTTPHeaders = {};
headerParameters['Content-Type'] = 'application/json';
if (this.configuration && this.configuration.apiKey) {
headerParameters["Authorization"] = await this.configuration.apiKey("Authorization"); // ApiKeyAuth authentication
}
const response = await this.request({
path: `/api/recipe-import/`,
method: 'POST',
headers: headerParameters,
query: queryParameters,
body: RecipeImportToJSON(requestParameters['recipeImport']),
}, initOverrides);
return new runtime.JSONApiResponse(response, (jsonValue) => RecipeImportFromJSON(jsonValue));
}
/**
* logs request counts to redis cache total/per user/
*/
async apiRecipeImportCreate(requestParameters: ApiRecipeImportCreateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<RecipeImport> {
const response = await this.apiRecipeImportCreateRaw(requestParameters, initOverrides);
return await response.value();
}
/**
* logs request counts to redis cache total/per user/
*/
async apiRecipeImportDestroyRaw(requestParameters: ApiRecipeImportDestroyRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<void>> {
if (requestParameters['id'] == null) {
throw new runtime.RequiredError(
'id',
'Required parameter "id" was null or undefined when calling apiRecipeImportDestroy().'
);
}
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/recipe-import/{id}/`.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters['id']))),
method: 'DELETE',
headers: headerParameters,
query: queryParameters,
}, initOverrides);
return new runtime.VoidApiResponse(response);
}
/**
* logs request counts to redis cache total/per user/
*/
async apiRecipeImportDestroy(requestParameters: ApiRecipeImportDestroyRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<void> {
await this.apiRecipeImportDestroyRaw(requestParameters, initOverrides);
}
/**
* logs request counts to redis cache total/per user/
*/
async apiRecipeImportImportAllCreateRaw(requestParameters: ApiRecipeImportImportAllCreateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<RecipeImport>> {
if (requestParameters['recipeImport'] == null) {
throw new runtime.RequiredError(
'recipeImport',
'Required parameter "recipeImport" was null or undefined when calling apiRecipeImportImportAllCreate().'
);
}
const queryParameters: any = {};
const headerParameters: runtime.HTTPHeaders = {};
headerParameters['Content-Type'] = 'application/json';
if (this.configuration && this.configuration.apiKey) {
headerParameters["Authorization"] = await this.configuration.apiKey("Authorization"); // ApiKeyAuth authentication
}
const response = await this.request({
path: `/api/recipe-import/import_all/`,
method: 'POST',
headers: headerParameters,
query: queryParameters,
body: RecipeImportToJSON(requestParameters['recipeImport']),
}, initOverrides);
return new runtime.JSONApiResponse(response, (jsonValue) => RecipeImportFromJSON(jsonValue));
}
/**
* logs request counts to redis cache total/per user/
*/
async apiRecipeImportImportAllCreate(requestParameters: ApiRecipeImportImportAllCreateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<RecipeImport> {
const response = await this.apiRecipeImportImportAllCreateRaw(requestParameters, initOverrides);
return await response.value();
}
/**
* logs request counts to redis cache total/per user/
*/
async apiRecipeImportImportRecipeCreateRaw(requestParameters: ApiRecipeImportImportRecipeCreateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<Recipe>> {
if (requestParameters['id'] == null) {
throw new runtime.RequiredError(
'id',
'Required parameter "id" was null or undefined when calling apiRecipeImportImportRecipeCreate().'
);
}
if (requestParameters['recipeImport'] == null) {
throw new runtime.RequiredError(
'recipeImport',
'Required parameter "recipeImport" was null or undefined when calling apiRecipeImportImportRecipeCreate().'
);
}
const queryParameters: any = {};
const headerParameters: runtime.HTTPHeaders = {};
headerParameters['Content-Type'] = 'application/json';
if (this.configuration && this.configuration.apiKey) {
headerParameters["Authorization"] = await this.configuration.apiKey("Authorization"); // ApiKeyAuth authentication
}
const response = await this.request({
path: `/api/recipe-import/{id}/import_recipe/`.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters['id']))),
method: 'POST',
headers: headerParameters,
query: queryParameters,
body: RecipeImportToJSON(requestParameters['recipeImport']),
}, initOverrides);
return new runtime.JSONApiResponse(response, (jsonValue) => RecipeFromJSON(jsonValue));
}
/**
* logs request counts to redis cache total/per user/
*/
async apiRecipeImportImportRecipeCreate(requestParameters: ApiRecipeImportImportRecipeCreateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<Recipe> {
const response = await this.apiRecipeImportImportRecipeCreateRaw(requestParameters, initOverrides);
return await response.value();
}
/**
* logs request counts to redis cache total/per user/
*/
async apiRecipeImportListRaw(requestParameters: ApiRecipeImportListRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<PaginatedRecipeImportList>> {
const queryParameters: any = {};
if (requestParameters['page'] != null) {
queryParameters['page'] = requestParameters['page'];
}
if (requestParameters['pageSize'] != null) {
queryParameters['page_size'] = requestParameters['pageSize'];
}
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/recipe-import/`,
method: 'GET',
headers: headerParameters,
query: queryParameters,
}, initOverrides);
return new runtime.JSONApiResponse(response, (jsonValue) => PaginatedRecipeImportListFromJSON(jsonValue));
}
/**
* logs request counts to redis cache total/per user/
*/
async apiRecipeImportList(requestParameters: ApiRecipeImportListRequest = {}, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<PaginatedRecipeImportList> {
const response = await this.apiRecipeImportListRaw(requestParameters, initOverrides);
return await response.value();
}
/**
* logs request counts to redis cache total/per user/
*/
async apiRecipeImportPartialUpdateRaw(requestParameters: ApiRecipeImportPartialUpdateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<RecipeImport>> {
if (requestParameters['id'] == null) {
throw new runtime.RequiredError(
'id',
'Required parameter "id" was null or undefined when calling apiRecipeImportPartialUpdate().'
);
}
const queryParameters: any = {};
const headerParameters: runtime.HTTPHeaders = {};
headerParameters['Content-Type'] = 'application/json';
if (this.configuration && this.configuration.apiKey) {
headerParameters["Authorization"] = await this.configuration.apiKey("Authorization"); // ApiKeyAuth authentication
}
const response = await this.request({
path: `/api/recipe-import/{id}/`.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters['id']))),
method: 'PATCH',
headers: headerParameters,
query: queryParameters,
body: PatchedRecipeImportToJSON(requestParameters['patchedRecipeImport']),
}, initOverrides);
return new runtime.JSONApiResponse(response, (jsonValue) => RecipeImportFromJSON(jsonValue));
}
/**
* logs request counts to redis cache total/per user/
*/
async apiRecipeImportPartialUpdate(requestParameters: ApiRecipeImportPartialUpdateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<RecipeImport> {
const response = await this.apiRecipeImportPartialUpdateRaw(requestParameters, initOverrides);
return await response.value();
}
/**
* logs request counts to redis cache total/per user/
*/
async apiRecipeImportRetrieveRaw(requestParameters: ApiRecipeImportRetrieveRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<RecipeImport>> {
if (requestParameters['id'] == null) {
throw new runtime.RequiredError(
'id',
'Required parameter "id" was null or undefined when calling apiRecipeImportRetrieve().'
);
}
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/recipe-import/{id}/`.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters['id']))),
method: 'GET',
headers: headerParameters,
query: queryParameters,
}, initOverrides);
return new runtime.JSONApiResponse(response, (jsonValue) => RecipeImportFromJSON(jsonValue));
}
/**
* logs request counts to redis cache total/per user/
*/
async apiRecipeImportRetrieve(requestParameters: ApiRecipeImportRetrieveRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<RecipeImport> {
const response = await this.apiRecipeImportRetrieveRaw(requestParameters, initOverrides);
return await response.value();
}
/**
* logs request counts to redis cache total/per user/
*/
async apiRecipeImportUpdateRaw(requestParameters: ApiRecipeImportUpdateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<RecipeImport>> {
if (requestParameters['id'] == null) {
throw new runtime.RequiredError(
'id',
'Required parameter "id" was null or undefined when calling apiRecipeImportUpdate().'
);
}
if (requestParameters['recipeImport'] == null) {
throw new runtime.RequiredError(
'recipeImport',
'Required parameter "recipeImport" was null or undefined when calling apiRecipeImportUpdate().'
);
}
const queryParameters: any = {};
const headerParameters: runtime.HTTPHeaders = {};
headerParameters['Content-Type'] = 'application/json';
if (this.configuration && this.configuration.apiKey) {
headerParameters["Authorization"] = await this.configuration.apiKey("Authorization"); // ApiKeyAuth authentication
}
const response = await this.request({
path: `/api/recipe-import/{id}/`.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters['id']))),
method: 'PUT',
headers: headerParameters,
query: queryParameters,
body: RecipeImportToJSON(requestParameters['recipeImport']),
}, initOverrides);
return new runtime.JSONApiResponse(response, (jsonValue) => RecipeImportFromJSON(jsonValue));
}
/**
* logs request counts to redis cache total/per user/
*/
async apiRecipeImportUpdate(requestParameters: ApiRecipeImportUpdateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<RecipeImport> {
const response = await this.apiRecipeImportUpdateRaw(requestParameters, initOverrides);
return await response.value();
}
/**
* logs request counts to redis cache total/per user/
*/
@@ -10479,9 +10862,17 @@ export class ApiApi extends runtime.BaseAPI {
/**
* logs request counts to redis cache total/per user/
*/
async apiStorageListRaw(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<Array<Storage>>> {
async apiStorageListRaw(requestParameters: ApiStorageListRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<PaginatedStorageList>> {
const queryParameters: any = {};
if (requestParameters['page'] != null) {
queryParameters['page'] = requestParameters['page'];
}
if (requestParameters['pageSize'] != null) {
queryParameters['page_size'] = requestParameters['pageSize'];
}
const headerParameters: runtime.HTTPHeaders = {};
if (this.configuration && this.configuration.apiKey) {
@@ -10495,14 +10886,14 @@ export class ApiApi extends runtime.BaseAPI {
query: queryParameters,
}, initOverrides);
return new runtime.JSONApiResponse(response, (jsonValue) => jsonValue.map(StorageFromJSON));
return new runtime.JSONApiResponse(response, (jsonValue) => PaginatedStorageListFromJSON(jsonValue));
}
/**
* logs request counts to redis cache total/per user/
*/
async apiStorageList(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<Array<Storage>> {
const response = await this.apiStorageListRaw(initOverrides);
async apiStorageList(requestParameters: ApiStorageListRequest = {}, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<PaginatedStorageList> {
const response = await this.apiStorageListRaw(requestParameters, initOverrides);
return await response.value();
}
@@ -11711,6 +12102,53 @@ export class ApiApi extends runtime.BaseAPI {
return await response.value();
}
/**
* logs request counts to redis cache total/per user/
*/
async apiSyncPerformUpdateCreateRaw(requestParameters: ApiSyncPerformUpdateCreateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<SyncLog>> {
if (requestParameters['id'] == null) {
throw new runtime.RequiredError(
'id',
'Required parameter "id" was null or undefined when calling apiSyncPerformUpdateCreate().'
);
}
if (requestParameters['sync'] == null) {
throw new runtime.RequiredError(
'sync',
'Required parameter "sync" was null or undefined when calling apiSyncPerformUpdateCreate().'
);
}
const queryParameters: any = {};
const headerParameters: runtime.HTTPHeaders = {};
headerParameters['Content-Type'] = 'application/json';
if (this.configuration && this.configuration.apiKey) {
headerParameters["Authorization"] = await this.configuration.apiKey("Authorization"); // ApiKeyAuth authentication
}
const response = await this.request({
path: `/api/sync/{id}/perform_update/`.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters['id']))),
method: 'POST',
headers: headerParameters,
query: queryParameters,
body: SyncToJSON(requestParameters['sync']),
}, initOverrides);
return new runtime.JSONApiResponse(response, (jsonValue) => SyncLogFromJSON(jsonValue));
}
/**
* logs request counts to redis cache total/per user/
*/
async apiSyncPerformUpdateCreate(requestParameters: ApiSyncPerformUpdateCreateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<SyncLog> {
const response = await this.apiSyncPerformUpdateCreateRaw(requestParameters, initOverrides);
return await response.value();
}
/**
* logs request counts to redis cache total/per user/
*/

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 { RecipeImport } from './RecipeImport';
import {
RecipeImportFromJSON,
RecipeImportFromJSONTyped,
RecipeImportToJSON,
} from './RecipeImport';
/**
*
* @export
* @interface PaginatedRecipeImportList
*/
export interface PaginatedRecipeImportList {
/**
*
* @type {number}
* @memberof PaginatedRecipeImportList
*/
count: number;
/**
*
* @type {string}
* @memberof PaginatedRecipeImportList
*/
next?: string;
/**
*
* @type {string}
* @memberof PaginatedRecipeImportList
*/
previous?: string;
/**
*
* @type {Array<RecipeImport>}
* @memberof PaginatedRecipeImportList
*/
results: Array<RecipeImport>;
/**
*
* @type {Date}
* @memberof PaginatedRecipeImportList
*/
timestamp?: Date;
}
/**
* Check if a given object implements the PaginatedRecipeImportList interface.
*/
export function instanceOfPaginatedRecipeImportList(value: object): value is PaginatedRecipeImportList {
if (!('count' in value) || value['count'] === undefined) return false;
if (!('results' in value) || value['results'] === undefined) return false;
return true;
}
export function PaginatedRecipeImportListFromJSON(json: any): PaginatedRecipeImportList {
return PaginatedRecipeImportListFromJSONTyped(json, false);
}
export function PaginatedRecipeImportListFromJSONTyped(json: any, ignoreDiscriminator: boolean): PaginatedRecipeImportList {
if (json == null) {
return json;
}
return {
'count': json['count'],
'next': json['next'] == null ? undefined : json['next'],
'previous': json['previous'] == null ? undefined : json['previous'],
'results': ((json['results'] as Array<any>).map(RecipeImportFromJSON)),
'timestamp': json['timestamp'] == null ? undefined : (new Date(json['timestamp'])),
};
}
export function PaginatedRecipeImportListToJSON(value?: PaginatedRecipeImportList | null): any {
if (value == null) {
return value;
}
return {
'count': value['count'],
'next': value['next'],
'previous': value['previous'],
'results': ((value['results'] as Array<any>).map(RecipeImportToJSON)),
'timestamp': value['timestamp'] == null ? undefined : ((value['timestamp']).toISOString()),
};
}

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 { Storage } from './Storage';
import {
StorageFromJSON,
StorageFromJSONTyped,
StorageToJSON,
} from './Storage';
/**
*
* @export
* @interface PaginatedStorageList
*/
export interface PaginatedStorageList {
/**
*
* @type {number}
* @memberof PaginatedStorageList
*/
count: number;
/**
*
* @type {string}
* @memberof PaginatedStorageList
*/
next?: string;
/**
*
* @type {string}
* @memberof PaginatedStorageList
*/
previous?: string;
/**
*
* @type {Array<Storage>}
* @memberof PaginatedStorageList
*/
results: Array<Storage>;
/**
*
* @type {Date}
* @memberof PaginatedStorageList
*/
timestamp?: Date;
}
/**
* Check if a given object implements the PaginatedStorageList interface.
*/
export function instanceOfPaginatedStorageList(value: object): value is PaginatedStorageList {
if (!('count' in value) || value['count'] === undefined) return false;
if (!('results' in value) || value['results'] === undefined) return false;
return true;
}
export function PaginatedStorageListFromJSON(json: any): PaginatedStorageList {
return PaginatedStorageListFromJSONTyped(json, false);
}
export function PaginatedStorageListFromJSONTyped(json: any, ignoreDiscriminator: boolean): PaginatedStorageList {
if (json == null) {
return json;
}
return {
'count': json['count'],
'next': json['next'] == null ? undefined : json['next'],
'previous': json['previous'] == null ? undefined : json['previous'],
'results': ((json['results'] as Array<any>).map(StorageFromJSON)),
'timestamp': json['timestamp'] == null ? undefined : (new Date(json['timestamp'])),
};
}
export function PaginatedStorageListToJSON(value?: PaginatedStorageList | null): any {
if (value == null) {
return value;
}
return {
'count': value['count'],
'next': value['next'],
'previous': value['previous'],
'results': ((value['results'] as Array<any>).map(StorageToJSON)),
'timestamp': value['timestamp'] == null ? undefined : ((value['timestamp']).toISOString()),
};
}

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';
/**
*
* @export
* @interface PatchedRecipeImport
*/
export interface PatchedRecipeImport {
/**
*
* @type {number}
* @memberof PatchedRecipeImport
*/
id?: number;
/**
*
* @type {string}
* @memberof PatchedRecipeImport
*/
name?: string;
/**
*
* @type {string}
* @memberof PatchedRecipeImport
*/
fileUid?: string;
/**
*
* @type {string}
* @memberof PatchedRecipeImport
*/
filePath?: string;
/**
*
* @type {Date}
* @memberof PatchedRecipeImport
*/
readonly createdAt?: Date;
/**
*
* @type {number}
* @memberof PatchedRecipeImport
*/
storage?: number;
/**
*
* @type {number}
* @memberof PatchedRecipeImport
*/
space?: number;
}
/**
* Check if a given object implements the PatchedRecipeImport interface.
*/
export function instanceOfPatchedRecipeImport(value: object): value is PatchedRecipeImport {
return true;
}
export function PatchedRecipeImportFromJSON(json: any): PatchedRecipeImport {
return PatchedRecipeImportFromJSONTyped(json, false);
}
export function PatchedRecipeImportFromJSONTyped(json: any, ignoreDiscriminator: boolean): PatchedRecipeImport {
if (json == null) {
return json;
}
return {
'id': json['id'] == null ? undefined : json['id'],
'name': json['name'] == null ? undefined : json['name'],
'fileUid': json['file_uid'] == null ? undefined : json['file_uid'],
'filePath': json['file_path'] == null ? undefined : json['file_path'],
'createdAt': json['created_at'] == null ? undefined : (new Date(json['created_at'])),
'storage': json['storage'] == null ? undefined : json['storage'],
'space': json['space'] == null ? undefined : json['space'],
};
}
export function PatchedRecipeImportToJSON(value?: Omit<PatchedRecipeImport, 'createdAt'> | null): any {
if (value == null) {
return value;
}
return {
'id': value['id'],
'name': value['name'],
'file_uid': value['fileUid'],
'file_path': value['filePath'],
'storage': value['storage'],
'space': value['space'],
};
}

View File

@@ -21,7 +21,7 @@ import {
} from './MethodEnum';
/**
*
* Adds nested create feature
* @export
* @interface PatchedStorage
*/
@@ -62,6 +62,18 @@ export interface PatchedStorage {
* @memberof PatchedStorage
*/
token?: string;
/**
*
* @type {string}
* @memberof PatchedStorage
*/
url?: string;
/**
*
* @type {string}
* @memberof PatchedStorage
*/
path?: string;
/**
*
* @type {number}
@@ -93,6 +105,8 @@ export function PatchedStorageFromJSONTyped(json: any, ignoreDiscriminator: bool
'username': json['username'] == null ? undefined : json['username'],
'password': json['password'] == null ? undefined : json['password'],
'token': json['token'] == null ? undefined : json['token'],
'url': json['url'] == null ? undefined : json['url'],
'path': json['path'] == null ? undefined : json['path'],
'createdBy': json['created_by'] == null ? undefined : json['created_by'],
};
}
@@ -109,6 +123,8 @@ export function PatchedStorageToJSON(value?: Omit<PatchedStorage, 'createdBy'> |
'username': value['username'],
'password': value['password'],
'token': value['token'],
'url': value['url'],
'path': value['path'],
};
}

View File

@@ -13,8 +13,15 @@
*/
import { mapValues } from '../runtime';
import type { Storage } from './Storage';
import {
StorageFromJSON,
StorageFromJSONTyped,
StorageToJSON,
} from './Storage';
/**
*
* Adds nested create feature
* @export
* @interface PatchedSync
*/
@@ -27,10 +34,10 @@ export interface PatchedSync {
id?: number;
/**
*
* @type {number}
* @type {Storage}
* @memberof PatchedSync
*/
storage?: number;
storage?: Storage;
/**
*
* @type {string}
@@ -81,7 +88,7 @@ export function PatchedSyncFromJSONTyped(json: any, ignoreDiscriminator: boolean
return {
'id': json['id'] == null ? undefined : json['id'],
'storage': json['storage'] == null ? undefined : json['storage'],
'storage': json['storage'] == null ? undefined : StorageFromJSON(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'])),
@@ -97,7 +104,7 @@ export function PatchedSyncToJSON(value?: Omit<PatchedSync, 'createdAt'|'updated
return {
'id': value['id'],
'storage': value['storage'],
'storage': StorageToJSON(value['storage']),
'path': value['path'],
'active': value['active'],
'last_checked': value['lastChecked'] == null ? undefined : ((value['lastChecked'] as any).toISOString()),

View File

@@ -0,0 +1,111 @@
/* 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 RecipeImport
*/
export interface RecipeImport {
/**
*
* @type {number}
* @memberof RecipeImport
*/
id?: number;
/**
*
* @type {string}
* @memberof RecipeImport
*/
name: string;
/**
*
* @type {string}
* @memberof RecipeImport
*/
fileUid?: string;
/**
*
* @type {string}
* @memberof RecipeImport
*/
filePath?: string;
/**
*
* @type {Date}
* @memberof RecipeImport
*/
readonly createdAt: Date;
/**
*
* @type {number}
* @memberof RecipeImport
*/
storage: number;
/**
*
* @type {number}
* @memberof RecipeImport
*/
space: number;
}
/**
* Check if a given object implements the RecipeImport interface.
*/
export function instanceOfRecipeImport(value: object): value is RecipeImport {
if (!('name' in value) || value['name'] === undefined) return false;
if (!('createdAt' in value) || value['createdAt'] === undefined) return false;
if (!('storage' in value) || value['storage'] === undefined) return false;
if (!('space' in value) || value['space'] === undefined) return false;
return true;
}
export function RecipeImportFromJSON(json: any): RecipeImport {
return RecipeImportFromJSONTyped(json, false);
}
export function RecipeImportFromJSONTyped(json: any, ignoreDiscriminator: boolean): RecipeImport {
if (json == null) {
return json;
}
return {
'id': json['id'] == null ? undefined : json['id'],
'name': json['name'],
'fileUid': json['file_uid'] == null ? undefined : json['file_uid'],
'filePath': json['file_path'] == null ? undefined : json['file_path'],
'createdAt': (new Date(json['created_at'])),
'storage': json['storage'],
'space': json['space'],
};
}
export function RecipeImportToJSON(value?: Omit<RecipeImport, 'createdAt'> | null): any {
if (value == null) {
return value;
}
return {
'id': value['id'],
'name': value['name'],
'file_uid': value['fileUid'],
'file_path': value['filePath'],
'storage': value['storage'],
'space': value['space'],
};
}

View File

@@ -21,7 +21,7 @@ import {
} from './MethodEnum';
/**
*
* Adds nested create feature
* @export
* @interface Storage
*/
@@ -62,6 +62,18 @@ export interface Storage {
* @memberof Storage
*/
token?: string;
/**
*
* @type {string}
* @memberof Storage
*/
url?: string;
/**
*
* @type {string}
* @memberof Storage
*/
path?: string;
/**
*
* @type {number}
@@ -95,6 +107,8 @@ export function StorageFromJSONTyped(json: any, ignoreDiscriminator: boolean): S
'username': json['username'] == null ? undefined : json['username'],
'password': json['password'] == null ? undefined : json['password'],
'token': json['token'] == null ? undefined : json['token'],
'url': json['url'] == null ? undefined : json['url'],
'path': json['path'] == null ? undefined : json['path'],
'createdBy': json['created_by'],
};
}
@@ -111,6 +125,8 @@ export function StorageToJSON(value?: Omit<Storage, 'createdBy'> | null): any {
'username': value['username'],
'password': value['password'],
'token': value['token'],
'url': value['url'],
'path': value['path'],
};
}

View File

@@ -13,8 +13,15 @@
*/
import { mapValues } from '../runtime';
import type { Storage } from './Storage';
import {
StorageFromJSON,
StorageFromJSONTyped,
StorageToJSON,
} from './Storage';
/**
*
* Adds nested create feature
* @export
* @interface Sync
*/
@@ -27,10 +34,10 @@ export interface Sync {
id?: number;
/**
*
* @type {number}
* @type {Storage}
* @memberof Sync
*/
storage: number;
storage: Storage;
/**
*
* @type {string}
@@ -84,7 +91,7 @@ export function SyncFromJSONTyped(json: any, ignoreDiscriminator: boolean): Sync
return {
'id': json['id'] == null ? undefined : json['id'],
'storage': json['storage'],
'storage': StorageFromJSON(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'])),
@@ -100,7 +107,7 @@ export function SyncToJSON(value?: Omit<Sync, 'createdAt'|'updatedAt'> | null):
return {
'id': value['id'],
'storage': value['storage'],
'storage': StorageToJSON(value['storage']),
'path': value['path'],
'active': value['active'],
'last_checked': value['lastChecked'] == null ? undefined : ((value['lastChecked'] as any).toISOString()),

View File

@@ -13,6 +13,13 @@
*/
import { mapValues } from '../runtime';
import type { Sync } from './Sync';
import {
SyncFromJSON,
SyncFromJSONTyped,
SyncToJSON,
} from './Sync';
/**
*
* @export
@@ -27,10 +34,10 @@ export interface SyncLog {
id?: number;
/**
*
* @type {number}
* @type {Sync}
* @memberof SyncLog
*/
sync: number;
readonly sync: Sync;
/**
*
* @type {string}
@@ -72,21 +79,20 @@ export function SyncLogFromJSONTyped(json: any, ignoreDiscriminator: boolean): S
return {
'id': json['id'] == null ? undefined : json['id'],
'sync': json['sync'],
'sync': SyncFromJSON(json['sync']),
'status': json['status'],
'msg': json['msg'] == null ? undefined : json['msg'],
'createdAt': (new Date(json['created_at'])),
};
}
export function SyncLogToJSON(value?: Omit<SyncLog, 'createdAt'> | null): any {
export function SyncLogToJSON(value?: Omit<SyncLog, 'sync'|'createdAt'> | null): any {
if (value == null) {
return value;
}
return {
'id': value['id'],
'sync': value['sync'],
'status': value['status'],
'msg': value['msg'],
};

View File

@@ -64,11 +64,13 @@ export * from './PaginatedPropertyList';
export * from './PaginatedPropertyTypeList';
export * from './PaginatedRecipeBookEntryList';
export * from './PaginatedRecipeBookList';
export * from './PaginatedRecipeImportList';
export * from './PaginatedRecipeOverviewList';
export * from './PaginatedShoppingListEntryList';
export * from './PaginatedShoppingListRecipeList';
export * from './PaginatedSpaceList';
export * from './PaginatedStepList';
export * from './PaginatedStorageList';
export * from './PaginatedSupermarketCategoryList';
export * from './PaginatedSupermarketCategoryRelationList';
export * from './PaginatedSupermarketList';
@@ -106,6 +108,7 @@ export * from './PatchedPropertyType';
export * from './PatchedRecipe';
export * from './PatchedRecipeBook';
export * from './PatchedRecipeBookEntry';
export * from './PatchedRecipeImport';
export * from './PatchedShoppingListEntry';
export * from './PatchedShoppingListRecipe';
export * from './PatchedSpace';
@@ -130,6 +133,7 @@ export * from './RecipeFlat';
export * from './RecipeFromSource';
export * from './RecipeFromSourceResponse';
export * from './RecipeImage';
export * from './RecipeImport';
export * from './RecipeOverview';
export * from './RecipeShoppingUpdate';
export * from './RecipeSimple';