Files
recipes/models/UserPreference.ts

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