Files
recipes/vue3/models/UserSpace.ts
2024-03-27 08:34:19 -05:00

139 lines
3.6 KiB
TypeScript

/* tslint:disable */
/* eslint-disable */
/**
* Django Recipes
* No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
*
* The version of the OpenAPI document:
*
*
* 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 { InviteLinkGroup } from './InviteLinkGroup';
import {
InviteLinkGroupFromJSON,
InviteLinkGroupFromJSONTyped,
InviteLinkGroupToJSON,
} from './InviteLinkGroup';
import type { ShoppingListEntriesInnerCreatedBy } from './ShoppingListEntriesInnerCreatedBy';
import {
ShoppingListEntriesInnerCreatedByFromJSON,
ShoppingListEntriesInnerCreatedByFromJSONTyped,
ShoppingListEntriesInnerCreatedByToJSON,
} from './ShoppingListEntriesInnerCreatedBy';
/**
*
* @export
* @interface UserSpace
*/
export interface UserSpace {
/**
*
* @type {number}
* @memberof UserSpace
*/
readonly id?: number;
/**
*
* @type {ShoppingListEntriesInnerCreatedBy}
* @memberof UserSpace
*/
user?: ShoppingListEntriesInnerCreatedBy;
/**
*
* @type {string}
* @memberof UserSpace
*/
readonly space?: string;
/**
*
* @type {Array<InviteLinkGroup>}
* @memberof UserSpace
*/
groups: Array<InviteLinkGroup>;
/**
*
* @type {boolean}
* @memberof UserSpace
*/
active?: boolean;
/**
*
* @type {string}
* @memberof UserSpace
*/
internalNote?: string | null;
/**
*
* @type {string}
* @memberof UserSpace
*/
readonly inviteLink?: string | null;
/**
*
* @type {Date}
* @memberof UserSpace
*/
readonly createdAt?: Date;
/**
*
* @type {Date}
* @memberof UserSpace
*/
readonly updatedAt?: Date;
}
/**
* Check if a given object implements the UserSpace interface.
*/
export function instanceOfUserSpace(value: object): boolean {
let isInstance = true;
isInstance = isInstance && "groups" in value;
return isInstance;
}
export function UserSpaceFromJSON(json: any): UserSpace {
return UserSpaceFromJSONTyped(json, false);
}
export function UserSpaceFromJSONTyped(json: any, ignoreDiscriminator: boolean): UserSpace {
if ((json === undefined) || (json === null)) {
return json;
}
return {
'id': !exists(json, 'id') ? undefined : json['id'],
'user': !exists(json, 'user') ? undefined : ShoppingListEntriesInnerCreatedByFromJSON(json['user']),
'space': !exists(json, 'space') ? undefined : json['space'],
'groups': ((json['groups'] as Array<any>).map(InviteLinkGroupFromJSON)),
'active': !exists(json, 'active') ? undefined : json['active'],
'internalNote': !exists(json, 'internal_note') ? undefined : json['internal_note'],
'inviteLink': !exists(json, 'invite_link') ? undefined : json['invite_link'],
'createdAt': !exists(json, 'created_at') ? undefined : (new Date(json['created_at'])),
'updatedAt': !exists(json, 'updated_at') ? undefined : (new Date(json['updated_at'])),
};
}
export function UserSpaceToJSON(value?: UserSpace | null): any {
if (value === undefined) {
return undefined;
}
if (value === null) {
return null;
}
return {
'user': ShoppingListEntriesInnerCreatedByToJSON(value.user),
'groups': ((value.groups as Array<any>).map(InviteLinkGroupToJSON)),
'active': value.active,
'internal_note': value.internalNote,
};
}