/* 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, ElementsUserMiniReference, ElementsUserMiniReferenceFromJSON, ElementsUserMiniReferenceFromJSONTyped, ElementsUserMiniReferenceToJSON, OneTimeAccessTokenActivity, OneTimeAccessTokenActivityFromJSON, OneTimeAccessTokenActivityFromJSONTyped, OneTimeAccessTokenActivityToJSON, OneTimeAccessTokenSharedObject, OneTimeAccessTokenSharedObjectFromJSON, OneTimeAccessTokenSharedObjectFromJSONTyped, OneTimeAccessTokenSharedObjectToJSON, } from './'; /** * * @export * @interface OneTimeAccessToken */ export interface OneTimeAccessToken { /** * * @type {number} * @memberof OneTimeAccessToken */ id: number; /** * * @type {Array} * @memberof OneTimeAccessToken */ readonly activity: Array; /** * * @type {ElementsUserMiniReference} * @memberof OneTimeAccessToken */ user: ElementsUserMiniReference; /** * * @type {ElementsUserMini} * @memberof OneTimeAccessToken */ createdBy: ElementsUserMini; /** * * @type {string} * @memberof OneTimeAccessToken */ readonly mediaRootPermissions?: string | null; /** * * @type {Array} * @memberof OneTimeAccessToken */ readonly sharedBundles: Array; /** * * @type {Array} * @memberof OneTimeAccessToken */ readonly sharedDirectories: Array; /** * * @type {string} * @memberof OneTimeAccessToken */ readonly fullUrl: string; /** * * @type {string} * @memberof OneTimeAccessToken */ url: string; /** * * @type {string} * @memberof OneTimeAccessToken */ token: string; /** * * @type {Date} * @memberof OneTimeAccessToken */ readonly createdAt: Date; /** * * @type {boolean} * @memberof OneTimeAccessToken */ viewLimitEnabled?: boolean; /** * * @type {number} * @memberof OneTimeAccessToken */ viewLimitLeft?: number; /** * * @type {Date} * @memberof OneTimeAccessToken */ expires?: Date | null; /** * * @type {boolean} * @memberof OneTimeAccessToken */ requireLogin?: boolean; /** * * @type {number} * @memberof OneTimeAccessToken */ readonly isEasySharingForBundle: number; /** * * @type {number} * @memberof OneTimeAccessToken */ readonly isEasySharingForDirectory: number; } export function OneTimeAccessTokenFromJSON(json: any): OneTimeAccessToken { return OneTimeAccessTokenFromJSONTyped(json, false); } export function OneTimeAccessTokenFromJSONTyped(json: any, ignoreDiscriminator: boolean): OneTimeAccessToken { if ((json === undefined) || (json === null)) { return json; } return { 'id': json['id'], 'activity': ((json['activity'] as Array).map(OneTimeAccessTokenActivityFromJSON)), 'user': ElementsUserMiniReferenceFromJSON(json['user']), 'createdBy': ElementsUserMiniFromJSON(json['created_by']), 'mediaRootPermissions': !exists(json, 'media_root_permissions') ? undefined : json['media_root_permissions'], 'sharedBundles': ((json['shared_bundles'] as Array).map(OneTimeAccessTokenSharedObjectFromJSON)), 'sharedDirectories': ((json['shared_directories'] as Array).map(OneTimeAccessTokenSharedObjectFromJSON)), 'fullUrl': json['full_url'], 'url': json['url'], 'token': json['token'], 'createdAt': (new Date(json['created_at'])), 'viewLimitEnabled': !exists(json, 'view_limit_enabled') ? undefined : json['view_limit_enabled'], 'viewLimitLeft': !exists(json, 'view_limit_left') ? undefined : json['view_limit_left'], 'expires': !exists(json, 'expires') ? undefined : (json['expires'] === null ? null : new Date(json['expires'])), 'requireLogin': !exists(json, 'require_login') ? undefined : json['require_login'], 'isEasySharingForBundle': json['is_easy_sharing_for_bundle'], 'isEasySharingForDirectory': json['is_easy_sharing_for_directory'], }; } export function OneTimeAccessTokenToJSON(value?: OneTimeAccessToken | null): any { if (value === undefined) { return undefined; } if (value === null) { return null; } return { 'id': value.id, 'user': ElementsUserMiniReferenceToJSON(value.user), 'created_by': ElementsUserMiniToJSON(value.createdBy), 'url': value.url, 'token': value.token, 'view_limit_enabled': value.viewLimitEnabled, 'view_limit_left': value.viewLimitLeft, 'expires': value.expires === undefined ? undefined : (value.expires === null ? null : value.expires.toISOString()), 'require_login': value.requireLogin, }; }