UNPKG

@apistudio/apim-cli

Version:

CLI for API Management Products

108 lines (95 loc) 3.73 kB
/** * Copyright Super iPaaS Integration LLC, an IBM Company 2024 */ /* eslint-disable @typescript-eslint/no-explicit-any */ import { Variable as Variable_Ref } from '@apic/api-model/test/common/Variable.js'; import { Test_Environment as Environment_Ref, Test_Assertions, Test_Auth, Test_Auth_BasicAuth, Test_Headers, Test_Parameters, Test_Payload, Test_Request } from '@apic/api-model/test/Test.js'; import { Metadata as Metadata_Ref } from '@apic/api-model/common/Metadata.js'; import { PolicySequence_Spec } from '@apic/api-model/policy/PolicySeq.js'; import { Assert } from '@apic/api-model/test/common/Assert.js'; import { Ref as Reference } from '@apic/api-model/common/Ref.js'; import { KindEnums } from '@apic/api-model/common/StudioEnums.js'; import { RefAndEndpoint } from '@apic/api-model/test/common/RefAndEndpoint.js'; import { PayLoadIdentifier } from '@apic/api-model/policy/common/PayLoadIdentifier.js'; import { CORS_Spec } from '@apic/api-model/policy/ResProcessing/CORS.js'; import { AuthorizeUser_Spec } from '@apic/api-model/policy/iam/AuthorizeUser.js'; import { Api } from '@apic/api-model/api/Api.js'; type WithRequired<Type, Key extends keyof Type> = Type & { [Property in Key]-?: Type[Property]; }; export type Metadata = WithRequired<Metadata_Ref, 'name' | 'version'>; export type API_Spec_Ref = { $ref: string $path: string } export type Path = { path: string } export type PolicySequenceSpec = PolicySequence_Spec; export type TestAssertions = Test_Assertions; export type AssertSpec = Assert; export type Cors_Spec = CORS_Spec; export type Authorize_Spec = AuthorizeUser_Spec; export type TestBasicAuth = Test_Auth_BasicAuth; export type TestHeaders = Test_Headers; export type TestParamters = Test_Parameters; export type TestPayload = Test_Payload; export type TestAuth = Test_Auth; export type RefEndpoint = RefAndEndpoint; export type Ref = Required<Reference>; export type Variable = Required<Variable_Ref>; export type Environment = Environment_Ref; export type PolicySequence = PolicySequence_Spec; export type Expression = Required<Assert>; export type Assertion = Required<Test_Assertions>; export type Request = Required<Test_Request>; export type Specification = { 'api-spec'?: API_Spec_Ref | string 'policy-sequence'?: Ref[] 'api'?: Ref | string; scopes?: Ref[]; environment?: Ref | Environment; request?: Request[]; } export type BaseAsset = { kind: string; metadata: Metadata; spec: Specification | string | any; paths?: any; info?: any; } export type ApiObject = Api; export type IAMPayloadIdentifier = PayLoadIdentifier; export const POLICY_KINDS: string[] = [ KindEnums.CORS, KindEnums.Log, KindEnums.Route, KindEnums.Transport, KindEnums.CacheServiceResult, KindEnums.DataMasking, KindEnums.ErrorProcessing, KindEnums.HTTPInvoke, KindEnums.IdentifyAndAuthorize, KindEnums.InvokeAWSLambdaFunction, KindEnums.InvokeMessagingExtension, KindEnums.MonitorTraffic, KindEnums.RateLimiter, KindEnums.SetContextVariable, KindEnums.TransformRequest, KindEnums.ValidateAPISpecification, KindEnums.HTTPEndpoint, KindEnums.TransformResponse, KindEnums.SetMediaType, KindEnums.WebMethodsISService, KindEnums.InboundBulkHead, KindEnums.InboundMessaging, KindEnums.AuthorizeUser, KindEnums.CustomHttpHeader, KindEnums.MessageConfig, ]; export { KindEnums as AssetModelKindConstants }; export class AssetModelInternalKindConstants { public static readonly POLICY: string = 'Policy'; public static readonly MOCK_END_POINT: string = 'MockEndpoint'; public static readonly MOCK_RESPONSE: string = 'MockResponse'; }