/* tslint:disable */ /* eslint-disable */ /** * ELEMENTS API * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) * * The version of the OpenAPI document: 2 * * * 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 { Asset, AssetFromJSON, AssetFromJSONTyped, AssetToJSON, ElementsUserMiniReference, ElementsUserMiniReferenceFromJSON, ElementsUserMiniReferenceFromJSONTyped, ElementsUserMiniReferenceToJSON, TagReference, TagReferenceFromJSON, TagReferenceFromJSONTyped, TagReferenceToJSON, } from './'; /** * * @export * @interface Comment */ export interface Comment { /** * * @type {number} * @memberof Comment */ id: number; /** * * @type {ElementsUserMiniReference} * @memberof Comment */ assignee?: ElementsUserMiniReference; /** * * @type {ElementsUserMiniReference} * @memberof Comment */ user?: ElementsUserMiniReference; /** * * @type {{ [key: string]: string | undefined; }} * @memberof Comment */ drawing?: { [key: string]: string | undefined; } | null; /** * * @type {Array} * @memberof Comment */ tags?: Array; /** * * @type {Asset} * @memberof Comment */ fullAsset?: Asset; /** * * @type {string} * @memberof Comment */ readonly syncId: string; /** * * @type {Date} * @memberof Comment */ readonly date: Date; /** * * @type {string} * @memberof Comment */ text?: string; /** * * @type {number} * @memberof Comment */ time?: number | null; /** * * @type {boolean} * @memberof Comment */ isCloud?: boolean; /** * * @type {boolean} * @memberof Comment */ resolved?: boolean; /** * * @type {Date} * @memberof Comment */ resolvedDate?: Date | null; /** * * @type {number} * @memberof Comment */ asset: number; /** * * @type {number} * @memberof Comment */ root?: number | null; /** * * @type {number} * @memberof Comment */ parent?: number | null; } export function CommentFromJSON(json: any): Comment { return CommentFromJSONTyped(json, false); } export function CommentFromJSONTyped(json: any, ignoreDiscriminator: boolean): Comment { if ((json === undefined) || (json === null)) { return json; } return { 'id': json['id'], 'assignee': !exists(json, 'assignee') ? undefined : ElementsUserMiniReferenceFromJSON(json['assignee']), 'user': !exists(json, 'user') ? undefined : ElementsUserMiniReferenceFromJSON(json['user']), 'drawing': !exists(json, 'drawing') ? undefined : json['drawing'], 'tags': !exists(json, 'tags') ? undefined : ((json['tags'] as Array).map(TagReferenceFromJSON)), 'fullAsset': !exists(json, 'full_asset') ? undefined : AssetFromJSON(json['full_asset']), 'syncId': json['sync_id'], 'date': (new Date(json['date'])), 'text': !exists(json, 'text') ? undefined : json['text'], 'time': !exists(json, 'time') ? undefined : json['time'], 'isCloud': !exists(json, 'is_cloud') ? undefined : json['is_cloud'], 'resolved': !exists(json, 'resolved') ? undefined : json['resolved'], 'resolvedDate': !exists(json, 'resolved_date') ? undefined : (json['resolved_date'] === null ? null : new Date(json['resolved_date'])), 'asset': json['asset'], 'root': !exists(json, 'root') ? undefined : json['root'], 'parent': !exists(json, 'parent') ? undefined : json['parent'], }; } export function CommentToJSON(value?: Comment | null): any { if (value === undefined) { return undefined; } if (value === null) { return null; } return { 'id': value.id, 'assignee': ElementsUserMiniReferenceToJSON(value.assignee), 'user': ElementsUserMiniReferenceToJSON(value.user), 'drawing': value.drawing, 'tags': value.tags === undefined ? undefined : ((value.tags as Array).map(TagReferenceToJSON)), 'full_asset': AssetToJSON(value.fullAsset), 'text': value.text, 'time': value.time, 'is_cloud': value.isCloud, 'resolved': value.resolved, 'resolved_date': value.resolvedDate === undefined ? undefined : (value.resolvedDate === null ? null : value.resolvedDate.toISOString()), 'asset': value.asset, 'root': value.root, 'parent': value.parent, }; }