import { UserInfo } from '../client-user.typing'; export namespace APIExternalAPI { export interface BaseExternalAPIConfiguration { name: string; description: string; createdBy: UserInfo; createdDate: string; updatedBy: UserInfo; updatedDate: string; url: string; httpMethod: string; authenticationScheme: ExternalAPIAuthScheme; mergeModelType: ExternalAPIMergeModelType; authHeaderName: string; authHeaderKey: string; username: string; password: string; postBodyTemplate: string; oAuthClientId: string; oAuthClientSecret: string; oAuthTokenUrl: string; oAuthScope: string; responseFields: { fieldName: string; displayName: string; }[]; headers: { headerName: string; headerValue: string; }[]; } export interface ExternalAPIConfiguration extends BaseExternalAPIConfiguration { id: number; externalApiRequestGuid: string; } export interface SimpleExternalAPIConfiguration { name: string; id: number; externalApiRequestGuid: string; responseFields: { fieldName: string; displayName: string; }[]; } export interface BaseExternalAPIPayload { id?: number; name: string; description: string; url: string; httpMethod: string; authenticationScheme: ExternalAPIAuthScheme; mergeModelType: ExternalAPIMergeModelType; authHeaderName: string; authHeaderKey: string; username: string; password: string; postBodyTemplate: string; oAuthClientId: string; oAuthClientSecret: string; oAuthTokenUrl: string; oAuthScope: string; } export interface ExternalAPIPayload extends BaseExternalAPIPayload { headers: { headerName: string; headerValue: string; }[]; responseFields: { fieldName: string; displayName: string; }[]; } export enum ExternalAPIMergeModelType { Applicant = 1 } export enum ExternalAPIAuthScheme { BasicAuth = 1, HeaderAuth = 2, Unauthorized = 3, OAuth = 4 } export enum ExternalAPIHttpMethod { Get = 'GET', Post = 'POST' } export interface ExternalParamFields { value: string; displayName: string; } export interface HeaderFields { headerName: string; headerValue: string; } export interface ExternalAPIResponse { response: any; responseCode: number; } }