/* 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 { AssetMini, AssetMiniFromJSON, AssetMiniFromJSONTyped, AssetMiniToJSON, Comment, CommentFromJSON, CommentFromJSONTyped, CommentToJSON, ElementsUserMini, ElementsUserMiniFromJSON, ElementsUserMiniFromJSONTyped, ElementsUserMiniToJSON, MediaFile, MediaFileFromJSON, MediaFileFromJSONTyped, MediaFileToJSON, MediaRootMini, MediaRootMiniFromJSON, MediaRootMiniFromJSONTyped, MediaRootMiniToJSON, UnfilteredTag, UnfilteredTagFromJSON, UnfilteredTagFromJSONTyped, UnfilteredTagToJSON, } from './'; /** * * @export * @interface MediaUpdate */ export interface MediaUpdate { /** * * @type {number} * @memberof MediaUpdate */ id: number; /** * * @type {AssetMini} * @memberof MediaUpdate */ asset: AssetMini; /** * * @type {Comment} * @memberof MediaUpdate */ comment: Comment; /** * * @type {MediaFile} * @memberof MediaUpdate */ directory: MediaFile; /** * * @type {MediaRootMini} * @memberof MediaUpdate */ root: MediaRootMini; /** * * @type {ElementsUserMini} * @memberof MediaUpdate */ user: ElementsUserMini; /** * * @type {{ [key: string]: string | undefined; }} * @memberof MediaUpdate */ customFieldsDiff: { [key: string]: string | undefined; }; /** * * @type {Array} * @memberof MediaUpdate */ readonly addedTags: Array; /** * * @type {Array} * @memberof MediaUpdate */ readonly removedTags: Array; /** * * @type {string} * @memberof MediaUpdate */ type: string; /** * * @type {Date} * @memberof MediaUpdate */ readonly date: Date; /** * * @type {number} * @memberof MediaUpdate */ rating?: number | null; } export function MediaUpdateFromJSON(json: any): MediaUpdate { return MediaUpdateFromJSONTyped(json, false); } export function MediaUpdateFromJSONTyped(json: any, ignoreDiscriminator: boolean): MediaUpdate { if ((json === undefined) || (json === null)) { return json; } return { 'id': json['id'], 'asset': AssetMiniFromJSON(json['asset']), 'comment': CommentFromJSON(json['comment']), 'directory': MediaFileFromJSON(json['directory']), 'root': MediaRootMiniFromJSON(json['root']), 'user': ElementsUserMiniFromJSON(json['user']), 'customFieldsDiff': json['custom_fields_diff'], 'addedTags': ((json['added_tags'] as Array).map(UnfilteredTagFromJSON)), 'removedTags': ((json['removed_tags'] as Array).map(UnfilteredTagFromJSON)), 'type': json['type'], 'date': (new Date(json['date'])), 'rating': !exists(json, 'rating') ? undefined : json['rating'], }; } export function MediaUpdateToJSON(value?: MediaUpdate | null): any { if (value === undefined) { return undefined; } if (value === null) { return null; } return { 'id': value.id, 'asset': AssetMiniToJSON(value.asset), 'comment': CommentToJSON(value.comment), 'directory': MediaFileToJSON(value.directory), 'root': MediaRootMiniToJSON(value.root), 'user': ElementsUserMiniToJSON(value.user), 'custom_fields_diff': value.customFieldsDiff, 'type': value.type, 'rating': value.rating, }; }