/** * Apimatic APILib * * This file was automatically generated by APIMATIC v3.0 ( https://www.apimatic.io ). */ import { array, boolean, lazy, optional, Schema, string, typedExpandoObject, unknown, } from '../schema.js'; import { Authentication, authenticationSchema } from './authentication.js'; import { CodeGenSettings, codeGenSettingsSchema } from './codeGenSettings.js'; import { EndpointsGroup, endpointsGroupSchema } from './endpointsGroup.js'; import { MetaData, metaDataSchema } from './metaData.js'; import { ServerConfiguration, serverConfigurationSchema, } from './serverConfiguration.js'; import { TestGenSettings, testGenSettingsSchema } from './testGenSettings.js'; /** The API Entity Structure encapsulates all the details of an API Entity. An API entity is a unique API Version. */ export interface ApiEntity { /** Unique API Entity identifier */ id: string; /** Enrcypted API Entity Id */ encryptedId: string; /** API Integration Key. Obtain from API Card on Dashboard. */ apiKey: string; /** Unique API Group Identifier */ apiGroupId: string; /** Cover Image */ imageUri: string; /** Entity creation date */ creationDate: string; /** API Status (Deprecated) */ mPublic: boolean; /** API Entity Name */ name: string; /** Description of the API */ description: string; /** Entity Version Number */ version: string; /** Header Content */ additionalHeaders: string[]; /** This Structure encapsulates all details of API authentication. */ authentication: Authentication; /** APIMatic’s code generation engine has various code generation configurations to customise the behaviour and outlook across the generated SDKS. This structure encapsulates all settings for CodeGeneration. */ codeGenSettings: CodeGenSettings; /** This structure helps specify additional test configurations which affects how test cases are generated. */ testGenSettings: TestGenSettings; /** API Errors */ errors: string[]; /** Server configurations can be used to create multiple environments, multiple servers that can be used with specific endpoints and server URLs with template paramters. */ serverConfiguration: ServerConfiguration; /** API Endpoint Groups */ endpointsGroup: EndpointsGroup[]; metaData: MetaData; additionalProperties?: Record; } export const apiEntitySchema: Schema = lazy(() => typedExpandoObject( { id: ['id', string()], encryptedId: ['encryptedId', string()], apiKey: ['apiKey', string()], apiGroupId: ['apiGroupId', string()], imageUri: ['imageUri', string()], creationDate: ['creationDate', string()], mPublic: ['public', boolean()], name: ['name', string()], description: ['description', string()], version: ['version', string()], additionalHeaders: ['additionalHeaders', array(string())], authentication: ['authentication', authenticationSchema], codeGenSettings: ['codeGenSettings', codeGenSettingsSchema], testGenSettings: ['testGenSettings', testGenSettingsSchema], errors: ['errors', array(string())], serverConfiguration: ['serverConfiguration', serverConfigurationSchema], endpointsGroup: ['endpointsGroup', array(endpointsGroupSchema)], metaData: ['metaData', metaDataSchema], }, 'additionalProperties', optional(unknown()) ) );