/* 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 { StoreListingCapability } from './StoreListingCapability'; import { StoreListingCapabilityFromJSON, StoreListingCapabilityFromJSONTyped, StoreListingCapabilityToJSON, StoreListingCapabilityToJSONTyped, } from './StoreListingCapability'; import type { StoreListingPluginData } from './StoreListingPluginData'; import { StoreListingPluginDataFromJSON, StoreListingPluginDataFromJSONTyped, StoreListingPluginDataToJSON, StoreListingPluginDataToJSONTyped, } from './StoreListingPluginData'; import type { StoreListingPermission } from './StoreListingPermission'; import { StoreListingPermissionFromJSON, StoreListingPermissionFromJSONTyped, StoreListingPermissionToJSON, StoreListingPermissionToJSONTyped, } from './StoreListingPermission'; import type { StoreListingIntegrationAvailabilityByTier } from './StoreListingIntegrationAvailabilityByTier'; import { StoreListingIntegrationAvailabilityByTierFromJSON, StoreListingIntegrationAvailabilityByTierFromJSONTyped, StoreListingIntegrationAvailabilityByTierToJSON, StoreListingIntegrationAvailabilityByTierToJSONTyped, } from './StoreListingIntegrationAvailabilityByTier'; import type { StoreListingPreviewImage } from './StoreListingPreviewImage'; import { StoreListingPreviewImageFromJSON, StoreListingPreviewImageFromJSONTyped, StoreListingPreviewImageToJSON, StoreListingPreviewImageToJSONTyped, } from './StoreListingPreviewImage'; /** * * @export * @interface StoreListingPlugin */ export interface StoreListingPlugin { /** * * @type {string} * @memberof StoreListingPlugin */ 'id': string; /** * * @type {string} * @memberof StoreListingPlugin */ 'key': string; /** * * @type {string} * @memberof StoreListingPlugin */ 'title': string; /** * * @type {string} * @memberof StoreListingPlugin */ 'description'?: string; /** * * @type {string} * @memberof StoreListingPlugin */ 'descriptionFull'?: string; /** * * @type {string} * @memberof StoreListingPlugin */ 'iconUrl'?: string; /** * * @type {Array} * @memberof StoreListingPlugin */ 'previewImages'?: Array; /** * * @type {StoreListingPreviewImage} * @memberof StoreListingPlugin */ 'previewImageMain'?: StoreListingPreviewImage; /** * * @type {Array} * @memberof StoreListingPlugin */ 'capabilities'?: Array; /** * * @type {Array} * @memberof StoreListingPlugin */ 'permissions'?: Array; /** * * @type {StoreListingIntegrationAvailabilityByTier} * @memberof StoreListingPlugin */ 'availabilityByTier': StoreListingIntegrationAvailabilityByTier; /** * * @type {boolean} * @memberof StoreListingPlugin */ 'isHidden': boolean; /** * * @type {string} * @memberof StoreListingPlugin */ 'createdAt': string; /** * * @type {string} * @memberof StoreListingPlugin */ 'modifiedAt': string; /** * * @type {number} * @memberof StoreListingPlugin */ 'installationCount': number; /** * * @type {string} * @memberof StoreListingPlugin */ 'kind': StoreListingPluginKindEnum; /** * * @type {StoreListingPluginData} * @memberof StoreListingPlugin */ 'data': StoreListingPluginData; } /** * @export */ export const StoreListingPluginKindEnum = { Plugin: 'PLUGIN' } as const; export type StoreListingPluginKindEnum = typeof StoreListingPluginKindEnum[keyof typeof StoreListingPluginKindEnum]; /** * Check if a given object implements the StoreListingPlugin interface. */ export function instanceOfStoreListingPlugin(value: object): value is StoreListingPlugin { if (!('id' in value) || value['id'] === undefined) return false; if (!('key' in value) || value['key'] === undefined) return false; if (!('title' in value) || value['title'] === undefined) return false; if (!('availabilityByTier' in value) || value['availabilityByTier'] === undefined) return false; if (!('isHidden' in value) || value['isHidden'] === undefined) return false; if (!('createdAt' in value) || value['createdAt'] === undefined) return false; if (!('modifiedAt' in value) || value['modifiedAt'] === undefined) return false; if (!('installationCount' in value) || value['installationCount'] === undefined) return false; if (!('kind' in value) || value['kind'] === undefined) return false; if (!('data' in value) || value['data'] === undefined) return false; return true; } export function StoreListingPluginFromJSON(json: any): StoreListingPlugin { return StoreListingPluginFromJSONTyped(json, false); } export function StoreListingPluginFromJSONTyped(json: any, ignoreDiscriminator: boolean): StoreListingPlugin { if (json == null) { return json; } const result = { } as StoreListingPlugin; if (json['id'] !== undefined) { result['id'] = json['id']; } if (json['key'] !== undefined) { result['key'] = json['key']; } if (json['title'] !== undefined) { result['title'] = json['title']; } if (json['description'] !== undefined) { result['description'] = json['description']; } if (json['descriptionFull'] !== undefined) { result['descriptionFull'] = json['descriptionFull']; } if (json['iconUrl'] !== undefined) { result['iconUrl'] = json['iconUrl']; } if (json['previewImages'] !== undefined) { result['previewImages'] = (json['previewImages'] as Array).map(StoreListingPreviewImageFromJSON); } if (json['previewImageMain'] !== undefined) { result['previewImageMain'] = StoreListingPreviewImageFromJSON(json['previewImageMain']); } if (json['capabilities'] !== undefined) { result['capabilities'] = (json['capabilities'] as Array).map(StoreListingCapabilityFromJSON); } if (json['permissions'] !== undefined) { result['permissions'] = (json['permissions'] as Array).map(StoreListingPermissionFromJSON); } if (json['availabilityByTier'] !== undefined) { result['availabilityByTier'] = StoreListingIntegrationAvailabilityByTierFromJSON(json['availabilityByTier']); } if (json['isHidden'] !== undefined) { result['isHidden'] = json['isHidden']; } if (json['createdAt'] !== undefined) { result['createdAt'] = json['createdAt']; } if (json['modifiedAt'] !== undefined) { result['modifiedAt'] = json['modifiedAt']; } if (json['installationCount'] !== undefined) { result['installationCount'] = json['installationCount']; } if (json['kind'] !== undefined) { result['kind'] = json['kind']; } if (json['data'] !== undefined) { result['data'] = StoreListingPluginDataFromJSON(json['data']); } return result; } export function StoreListingPluginToJSON(json: any): StoreListingPlugin { return StoreListingPluginToJSONTyped(json, false); } export function StoreListingPluginToJSONTyped(value?: StoreListingPlugin | null, ignoreDiscriminator: boolean = false): any { if (value == null) { return value; } return { 'id': value['id'], 'key': value['key'], 'title': value['title'], 'description': value['description'], 'descriptionFull': value['descriptionFull'], 'iconUrl': value['iconUrl'], 'previewImages': value['previewImages'] == null ? undefined : ((value['previewImages'] as Array).map(StoreListingPreviewImageToJSON)), 'previewImageMain': StoreListingPreviewImageToJSON(value['previewImageMain']), 'capabilities': value['capabilities'] == null ? undefined : ((value['capabilities'] as Array).map(StoreListingCapabilityToJSON)), 'permissions': value['permissions'] == null ? undefined : ((value['permissions'] as Array).map(StoreListingPermissionToJSON)), 'availabilityByTier': StoreListingIntegrationAvailabilityByTierToJSON(value['availabilityByTier']), 'isHidden': value['isHidden'], 'createdAt': value['createdAt'], 'modifiedAt': value['modifiedAt'], 'installationCount': value['installationCount'], 'kind': value['kind'], 'data': StoreListingPluginDataToJSON(value['data']), }; }