/* 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 { ElementsUserMini, ElementsUserMiniFromJSON, ElementsUserMiniFromJSONTyped, ElementsUserMiniToJSON, FormatMetadata, FormatMetadataFromJSON, FormatMetadataFromJSONTyped, FormatMetadataToJSON, MediaFileBundleMini, MediaFileBundleMiniFromJSON, MediaFileBundleMiniFromJSONTyped, MediaFileBundleMiniToJSON, MediaRootPermission, MediaRootPermissionFromJSON, MediaRootPermissionFromJSONTyped, MediaRootPermissionToJSON, Proxy, ProxyFromJSON, ProxyFromJSONTyped, ProxyToJSON, } from './'; /** * * @export * @interface Asset */ export interface Asset { /** * * @type {number} * @memberof Asset */ id: number; /** * * @type {Array} * @memberof Asset */ readonly proxies?: Array; /** * * @type {Proxy} * @memberof Asset */ defaultProxy?: Proxy; /** * * @type {{ [key: string]: string | undefined; }} * @memberof Asset */ readonly info: { [key: string]: string | undefined; }; /** * * @type {{ [key: string]: string | undefined; }} * @memberof Asset */ readonly proxyInfo: { [key: string]: string | undefined; }; /** * * @type {{ [key: string]: string | undefined; }} * @memberof Asset */ customFields: { [key: string]: string | undefined; }; /** * * @type {Array} * @memberof Asset */ tags: Array; /** * * @type {MediaRootPermission} * @memberof Asset */ resolvedPermission?: MediaRootPermission; /** * * @type {string} * @memberof Asset */ readonly backups: string; /** * * @type {boolean} * @memberof Asset */ readonly proxiesGenerated: boolean; /** * * @type {boolean} * @memberof Asset */ readonly proxiesFailed: boolean; /** * * @type {ElementsUserMini} * @memberof Asset */ modifiedBy?: ElementsUserMini; /** * * @type {Array} * @memberof Asset */ readonly bundles: Array; /** * * @type {number} * @memberof Asset */ readonly rating?: number | null; /** * * @type {FormatMetadata} * @memberof Asset */ format: FormatMetadata; /** * * @type {string} * @memberof Asset */ readonly syncId: string; /** * * @type {string} * @memberof Asset */ readonly displayName: string; /** * * @type {boolean} * @memberof Asset */ readonly hasFiles: boolean; /** * * @type {boolean} * @memberof Asset */ readonly hasBackups: boolean; /** * * @type {boolean} * @memberof Asset */ readonly hasCloudLinks: boolean; /** * * @type {string} * @memberof Asset */ readonly checksum: string; /** * * @type {string} * @memberof Asset */ readonly type: string; /** * * @type {boolean} * @memberof Asset */ readonly thumbnailGenerated: boolean; /** * * @type {string} * @memberof Asset */ readonly matchedScanner: string; /** * * @type {number} * @memberof Asset */ workflowState?: number; /** * * @type {boolean} * @memberof Asset */ readonly isTemporary: boolean; /** * * @type {Date} * @memberof Asset */ readonly created: Date; /** * * @type {Date} * @memberof Asset */ readonly modified: Date; /** * * @type {number} * @memberof Asset */ set?: number | null; } export function AssetFromJSON(json: any): Asset { return AssetFromJSONTyped(json, false); } export function AssetFromJSONTyped(json: any, ignoreDiscriminator: boolean): Asset { if ((json === undefined) || (json === null)) { return json; } return { 'id': json['id'], 'proxies': !exists(json, 'proxies') ? undefined : ((json['proxies'] as Array).map(ProxyFromJSON)), 'defaultProxy': !exists(json, 'default_proxy') ? undefined : ProxyFromJSON(json['default_proxy']), 'info': json['info'], 'proxyInfo': json['proxy_info'], 'customFields': json['custom_fields'], 'tags': json['tags'], 'resolvedPermission': !exists(json, 'resolved_permission') ? undefined : MediaRootPermissionFromJSON(json['resolved_permission']), 'backups': json['backups'], 'proxiesGenerated': json['proxies_generated'], 'proxiesFailed': json['proxies_failed'], 'modifiedBy': !exists(json, 'modified_by') ? undefined : ElementsUserMiniFromJSON(json['modified_by']), 'bundles': ((json['bundles'] as Array).map(MediaFileBundleMiniFromJSON)), 'rating': !exists(json, 'rating') ? undefined : json['rating'], 'format': FormatMetadataFromJSON(json['format']), 'syncId': json['sync_id'], 'displayName': json['display_name'], 'hasFiles': json['has_files'], 'hasBackups': json['has_backups'], 'hasCloudLinks': json['has_cloud_links'], 'checksum': json['checksum'], 'type': json['type'], 'thumbnailGenerated': json['thumbnail_generated'], 'matchedScanner': json['matched_scanner'], 'workflowState': !exists(json, 'workflow_state') ? undefined : json['workflow_state'], 'isTemporary': json['is_temporary'], 'created': (new Date(json['created'])), 'modified': (new Date(json['modified'])), 'set': !exists(json, 'set') ? undefined : json['set'], }; } export function AssetToJSON(value?: Asset | null): any { if (value === undefined) { return undefined; } if (value === null) { return null; } return { 'id': value.id, 'default_proxy': ProxyToJSON(value.defaultProxy), 'custom_fields': value.customFields, 'tags': value.tags, 'resolved_permission': MediaRootPermissionToJSON(value.resolvedPermission), 'modified_by': ElementsUserMiniToJSON(value.modifiedBy), 'format': FormatMetadataToJSON(value.format), 'workflow_state': value.workflowState, 'set': value.set, }; }