mirror of
https://github.com/TandoorRecipes/recipes.git
synced 2026-01-06 14:48:02 -05:00
114 lines
2.6 KiB
TypeScript
114 lines
2.6 KiB
TypeScript
/* tslint:disable */
|
|
/* eslint-disable */
|
|
/**
|
|
* Tandoor
|
|
* Tandoor API Docs
|
|
*
|
|
* The version of the OpenAPI document: 0.0.0
|
|
*
|
|
*
|
|
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
|
|
* https://openapi-generator.tech
|
|
* Do not edit the class manually.
|
|
*/
|
|
|
|
import { exists, mapValues } from '../runtime';
|
|
import {
|
|
PropertyType,
|
|
PropertyTypeFromJSON,
|
|
PropertyTypeFromJSONTyped,
|
|
PropertyTypeToJSON,
|
|
} from './';
|
|
|
|
/**
|
|
* 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 {string}
|
|
* @memberof Property
|
|
*/
|
|
propertyAmount: string | null;
|
|
/**
|
|
*
|
|
* @type {PropertyType}
|
|
* @memberof Property
|
|
*/
|
|
propertyType: PropertyType;
|
|
}
|
|
|
|
export function PropertyFromJSON(json: any): Property {
|
|
return PropertyFromJSONTyped(json, false);
|
|
}
|
|
|
|
export function PropertyFromJSONTyped(json: any, ignoreDiscriminator: boolean): Property {
|
|
if ((json === undefined) || (json === null)) {
|
|
return json;
|
|
}
|
|
return {
|
|
|
|
'id': json['id'],
|
|
'propertyAmount': json['property_amount'],
|
|
'propertyType': PropertyTypeFromJSON(json['property_type']),
|
|
};
|
|
}
|
|
|
|
export function PropertyToJSON(value?: Property | null): any {
|
|
if (value === undefined) {
|
|
return undefined;
|
|
}
|
|
if (value === null) {
|
|
return null;
|
|
}
|
|
return {
|
|
|
|
'property_amount': value.propertyAmount,
|
|
'property_type': PropertyTypeToJSON(value.propertyType),
|
|
};
|
|
}
|
|
|
|
|