/* tslint:disable */ /* eslint-disable */ /** * Fabric API * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) * * The version of the OpenAPI document: 1.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 { WorkspaceRole } from './WorkspaceRole'; import { WorkspaceRoleFromJSON, WorkspaceRoleFromJSONTyped, WorkspaceRoleToJSON, WorkspaceRoleToJSONTyped, } from './WorkspaceRole'; import type { WorkspaceType } from './WorkspaceType'; import { WorkspaceTypeFromJSON, WorkspaceTypeFromJSONTyped, WorkspaceTypeToJSON, WorkspaceTypeToJSONTyped, } from './WorkspaceType'; import type { WorkspaceAllOfReferral } from './WorkspaceAllOfReferral'; import { WorkspaceAllOfReferralFromJSON, WorkspaceAllOfReferralFromJSONTyped, WorkspaceAllOfReferralToJSON, WorkspaceAllOfReferralToJSONTyped, } from './WorkspaceAllOfReferral'; /** * * @export * @interface Workspace */ export interface Workspace { /** * * @type {string} * @memberof Workspace */ 'id': string; /** * * @type {string} * @memberof Workspace */ 'parentWorkspaceId': string | null; /** * * @type {string} * @memberof Workspace */ 'title': string; /** * * @type {string} * @memberof Workspace */ 'description'?: string | null; /** * * @type {string} * @memberof Workspace */ 'slug': string; /** * * @type {WorkspaceType} * @memberof Workspace */ 'type': WorkspaceType; /** * * @type {string} * @memberof Workspace */ 'referralCode': string | null; /** * * @type {string} * @memberof Workspace */ 'avatarStoragePath': string | null; /** * * @type {WorkspaceAllOfReferral} * @memberof Workspace */ 'referral': WorkspaceAllOfReferral | null; /** * * @type {number} * @memberof Workspace */ 'membersCount': number; /** * * @type {string} * @memberof Workspace */ 'avatarUrl': string | null; /** * * @type {Array} * @memberof Workspace */ 'workspaceRoles': Array; /** * * @type {string} * @memberof Workspace */ 'createdAt': string; /** * * @type {string} * @memberof Workspace */ 'modifiedAt': string; } /** * Check if a given object implements the Workspace interface. */ export function instanceOfWorkspace(value: object): value is Workspace { if (!('id' in value) || value['id'] === undefined) return false; if (!('parentWorkspaceId' in value) || value['parentWorkspaceId'] === undefined) return false; if (!('title' in value) || value['title'] === undefined) return false; if (!('slug' in value) || value['slug'] === undefined) return false; if (!('type' in value) || value['type'] === undefined) return false; if (!('referralCode' in value) || value['referralCode'] === undefined) return false; if (!('avatarStoragePath' in value) || value['avatarStoragePath'] === undefined) return false; if (!('referral' in value) || value['referral'] === undefined) return false; if (!('membersCount' in value) || value['membersCount'] === undefined) return false; if (!('avatarUrl' in value) || value['avatarUrl'] === undefined) return false; if (!('workspaceRoles' in value) || value['workspaceRoles'] === undefined) return false; if (!('createdAt' in value) || value['createdAt'] === undefined) return false; if (!('modifiedAt' in value) || value['modifiedAt'] === undefined) return false; return true; } export function WorkspaceFromJSON(json: any): Workspace { return WorkspaceFromJSONTyped(json, false); } export function WorkspaceFromJSONTyped(json: any, ignoreDiscriminator: boolean): Workspace { if (json == null) { return json; } const result = { } as Workspace; if (json['id'] !== undefined) { result['id'] = json['id']; } if (json['parentWorkspaceId'] !== undefined) { if (json['parentWorkspaceId'] === null) { result['parentWorkspaceId'] = null; } else { result['parentWorkspaceId'] = json['parentWorkspaceId']; } } if (json['title'] !== undefined) { result['title'] = json['title']; } if (json['description'] !== undefined) { if (json['description'] === null) { result['description'] = null; } else { result['description'] = json['description']; } } if (json['slug'] !== undefined) { result['slug'] = json['slug']; } if (json['type'] !== undefined) { result['type'] = WorkspaceTypeFromJSON(json['type']); } if (json['referralCode'] !== undefined) { if (json['referralCode'] === null) { result['referralCode'] = null; } else { result['referralCode'] = json['referralCode']; } } if (json['avatarStoragePath'] !== undefined) { if (json['avatarStoragePath'] === null) { result['avatarStoragePath'] = null; } else { result['avatarStoragePath'] = json['avatarStoragePath']; } } if (json['referral'] !== undefined) { if (json['referral'] === null) { result['referral'] = null; } else { result['referral'] = WorkspaceAllOfReferralFromJSON(json['referral']); } } if (json['membersCount'] !== undefined) { result['membersCount'] = json['membersCount']; } if (json['avatarUrl'] !== undefined) { if (json['avatarUrl'] === null) { result['avatarUrl'] = null; } else { result['avatarUrl'] = json['avatarUrl']; } } if (json['workspaceRoles'] !== undefined) { result['workspaceRoles'] = (json['workspaceRoles'] as Array).map(WorkspaceRoleFromJSON); } if (json['createdAt'] !== undefined) { result['createdAt'] = json['createdAt']; } if (json['modifiedAt'] !== undefined) { result['modifiedAt'] = json['modifiedAt']; } return result; } export function WorkspaceToJSON(json: any): Workspace { return WorkspaceToJSONTyped(json, false); } export function WorkspaceToJSONTyped(value?: Workspace | null, ignoreDiscriminator: boolean = false): any { if (value == null) { return value; } return { 'id': value['id'], 'parentWorkspaceId': value['parentWorkspaceId'], 'title': value['title'], 'description': value['description'], 'slug': value['slug'], 'type': WorkspaceTypeToJSON(value['type']), 'referralCode': value['referralCode'], 'avatarStoragePath': value['avatarStoragePath'], 'referral': WorkspaceAllOfReferralToJSON(value['referral']), 'membersCount': value['membersCount'], 'avatarUrl': value['avatarUrl'], 'workspaceRoles': ((value['workspaceRoles'] as Array).map(WorkspaceRoleToJSON)), 'createdAt': value['createdAt'], 'modifiedAt': value['modifiedAt'], }; }