/* 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} * @memberof Space */ foodInherit: Array; /** * * @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).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 | null): any { if (value == null) { return value; } return { 'name': value['name'], 'message': value['message'], 'food_inherit': ((value['foodInherit'] as Array).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']), }; }