Files
recipes/vue3/src/openapi/models/OpenDataFoodRequest.ts
2024-04-22 19:33:09 +02:00

248 lines
8.0 KiB
TypeScript

/* tslint:disable */
/* eslint-disable */
/**
* Tandoor
* Tandoor API Docs
*
* The version of the OpenAPI document: 0.0.0
*
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
import { mapValues } from '../runtime';
import type { OpenDataCategoryRequest } from './OpenDataCategoryRequest';
import {
OpenDataCategoryRequestFromJSON,
OpenDataCategoryRequestFromJSONTyped,
OpenDataCategoryRequestToJSON,
} from './OpenDataCategoryRequest';
import type { OpenDataFoodPropertyRequest } from './OpenDataFoodPropertyRequest';
import {
OpenDataFoodPropertyRequestFromJSON,
OpenDataFoodPropertyRequestFromJSONTyped,
OpenDataFoodPropertyRequestToJSON,
} from './OpenDataFoodPropertyRequest';
import type { OpenDataUnitRequest } from './OpenDataUnitRequest';
import {
OpenDataUnitRequestFromJSON,
OpenDataUnitRequestFromJSONTyped,
OpenDataUnitRequestToJSON,
} from './OpenDataUnitRequest';
import type { OpenDataVersionRequest } from './OpenDataVersionRequest';
import {
OpenDataVersionRequestFromJSON,
OpenDataVersionRequestFromJSONTyped,
OpenDataVersionRequestToJSON,
} from './OpenDataVersionRequest';
/**
* 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 OpenDataFoodRequest
*/
export interface OpenDataFoodRequest {
/**
*
* @type {OpenDataVersionRequest}
* @memberof OpenDataFoodRequest
*/
version: OpenDataVersionRequest;
/**
*
* @type {string}
* @memberof OpenDataFoodRequest
*/
slug: string;
/**
*
* @type {string}
* @memberof OpenDataFoodRequest
*/
name: string;
/**
*
* @type {string}
* @memberof OpenDataFoodRequest
*/
pluralName: string;
/**
*
* @type {OpenDataCategoryRequest}
* @memberof OpenDataFoodRequest
*/
storeCategory: OpenDataCategoryRequest;
/**
*
* @type {OpenDataUnitRequest}
* @memberof OpenDataFoodRequest
*/
preferredUnitMetric?: OpenDataUnitRequest;
/**
*
* @type {OpenDataUnitRequest}
* @memberof OpenDataFoodRequest
*/
preferredShoppingUnitMetric?: OpenDataUnitRequest;
/**
*
* @type {OpenDataUnitRequest}
* @memberof OpenDataFoodRequest
*/
preferredUnitImperial?: OpenDataUnitRequest;
/**
*
* @type {OpenDataUnitRequest}
* @memberof OpenDataFoodRequest
*/
preferredShoppingUnitImperial?: OpenDataUnitRequest;
/**
*
* @type {Array<OpenDataFoodPropertyRequest>}
* @memberof OpenDataFoodRequest
*/
properties: Array<OpenDataFoodPropertyRequest> | null;
/**
*
* @type {number}
* @memberof OpenDataFoodRequest
*/
propertiesFoodAmount?: number;
/**
*
* @type {OpenDataUnitRequest}
* @memberof OpenDataFoodRequest
*/
propertiesFoodUnit: OpenDataUnitRequest;
/**
*
* @type {string}
* @memberof OpenDataFoodRequest
*/
propertiesSource?: string;
/**
*
* @type {string}
* @memberof OpenDataFoodRequest
*/
fdcId: string;
/**
*
* @type {string}
* @memberof OpenDataFoodRequest
*/
comment?: string;
/**
*
* @type {number}
* @memberof OpenDataFoodRequest
*/
id?: number;
}
/**
* Check if a given object implements the OpenDataFoodRequest interface.
*/
export function instanceOfOpenDataFoodRequest(value: object): boolean {
if (!('version' in value)) return false;
if (!('slug' in value)) return false;
if (!('name' in value)) return false;
if (!('pluralName' in value)) return false;
if (!('storeCategory' in value)) return false;
if (!('properties' in value)) return false;
if (!('propertiesFoodUnit' in value)) return false;
if (!('fdcId' in value)) return false;
return true;
}
export function OpenDataFoodRequestFromJSON(json: any): OpenDataFoodRequest {
return OpenDataFoodRequestFromJSONTyped(json, false);
}
export function OpenDataFoodRequestFromJSONTyped(json: any, ignoreDiscriminator: boolean): OpenDataFoodRequest {
if (json == null) {
return json;
}
return {
'version': OpenDataVersionRequestFromJSON(json['version']),
'slug': json['slug'],
'name': json['name'],
'pluralName': json['plural_name'],
'storeCategory': OpenDataCategoryRequestFromJSON(json['store_category']),
'preferredUnitMetric': json['preferred_unit_metric'] == null ? undefined : OpenDataUnitRequestFromJSON(json['preferred_unit_metric']),
'preferredShoppingUnitMetric': json['preferred_shopping_unit_metric'] == null ? undefined : OpenDataUnitRequestFromJSON(json['preferred_shopping_unit_metric']),
'preferredUnitImperial': json['preferred_unit_imperial'] == null ? undefined : OpenDataUnitRequestFromJSON(json['preferred_unit_imperial']),
'preferredShoppingUnitImperial': json['preferred_shopping_unit_imperial'] == null ? undefined : OpenDataUnitRequestFromJSON(json['preferred_shopping_unit_imperial']),
'properties': (json['properties'] == null ? null : (json['properties'] as Array<any>).map(OpenDataFoodPropertyRequestFromJSON)),
'propertiesFoodAmount': json['properties_food_amount'] == null ? undefined : json['properties_food_amount'],
'propertiesFoodUnit': OpenDataUnitRequestFromJSON(json['properties_food_unit']),
'propertiesSource': json['properties_source'] == null ? undefined : json['properties_source'],
'fdcId': json['fdc_id'],
'comment': json['comment'] == null ? undefined : json['comment'],
'id': json['id'] == null ? undefined : json['id'],
};
}
export function OpenDataFoodRequestToJSON(value?: OpenDataFoodRequest | null): any {
if (value == null) {
return value;
}
return {
'version': OpenDataVersionRequestToJSON(value['version']),
'slug': value['slug'],
'name': value['name'],
'plural_name': value['pluralName'],
'store_category': OpenDataCategoryRequestToJSON(value['storeCategory']),
'preferred_unit_metric': OpenDataUnitRequestToJSON(value['preferredUnitMetric']),
'preferred_shopping_unit_metric': OpenDataUnitRequestToJSON(value['preferredShoppingUnitMetric']),
'preferred_unit_imperial': OpenDataUnitRequestToJSON(value['preferredUnitImperial']),
'preferred_shopping_unit_imperial': OpenDataUnitRequestToJSON(value['preferredShoppingUnitImperial']),
'properties': (value['properties'] == null ? null : (value['properties'] as Array<any>).map(OpenDataFoodPropertyRequestToJSON)),
'properties_food_amount': value['propertiesFoodAmount'],
'properties_food_unit': OpenDataUnitRequestToJSON(value['propertiesFoodUnit']),
'properties_source': value['propertiesSource'],
'fdc_id': value['fdcId'],
'comment': value['comment'],
'id': value['id'],
};
}