UNPKG

@tcatche/swagger-ts

Version:

Codegen from swagger to TS & Axios Functions

198 lines (171 loc) 6.54 kB
/* eslint-disable */ import axios, { AxiosInstance, AxiosResponse } from 'axios' import qs from 'qs' export interface ObjectType { [key: string]: any; } export interface Config { $domain?: string; $config?: any; } export interface Parameters { [key: string]: any; } let domain = '' let axiosInstance = axios.create() export function getDomain(): string { return domain } export function setDomain($domain: string): void { domain = $domain } export function getAxiosInstance(): AxiosInstance { return axiosInstance } export function setAxiosInstance($axiosInstance: AxiosInstance): void { axiosInstance = $axiosInstance } type RequestMethod = 'get' | 'post' | 'put' | 'delete' | 'head' | 'option' | 'patch' export function request(method: RequestMethod, url: string, body?: ObjectType, config: ObjectType = {}) { let queryUrl = url if (method === 'delete') { return axiosInstance[method](queryUrl,{...config, data: body || {} }) } else if (method === 'get') { let params = body ? qs.stringify(body) : '' if (params) { if (queryUrl.indexOf('?') < 0) { params = '?' + params } else if (!queryUrl.endsWith('?')) { params = '&' + params } } return axiosInstance[method](queryUrl + params, config) } else if(method === 'post' || method === 'put' || method === 'patch'){ return axiosInstance[method](queryUrl, body, config) } else if (method === 'head' || method === 'option') { return axiosInstance[method](queryUrl, config) } } // ExecutorRequest export interface ExecutorRequest { executeType: string; // 执行器类型,可选:mysql(mysql执行器),ch(clickhouse执行器),hql(hive执行器),sqoop(sqoop执行器),ssql(spark sql执行器),so(park object执行器),flink(flink执行器) jobName: string; // 作业名称 param: string; // 执行参数(k=v,多个时用逗号分隔),必须包含d=xx(日期) projectCode: string; // 项目编号 } // InitSysRequest export interface InitSysRequest { jobName: string; // 作业名称 param: string; // 执行参数(k=v,多个时用逗号分隔),必须包含d=xx(日期) projectCode: string; // 项目编号 } // InterfaceRequest export interface InterfaceRequest { executeType: string; // 执行器类型,可选:interface(接口查询执行器) jobName: string; // 作业名称 param: string; // 执行参数(k=v,多个时用逗号分隔),必须包含d=xx(日期) projectCode: string; // 项目编号 } // 公共响应对象 export interface 公共响应对象 { data?: ObjectType; // 业务数据 errorCode?: string; // 错误码 errorMsg?: string; // 错误信息 status?: boolean; // 响应状态 } export interface InterfaceServiceexecuteParameters { request: ExecutorRequest; // request } /** * @name: InterfaceServiceexecute * @date: 2022/1/21 * @description: 脚本执行器 * @param: {request} [ExecutorRequest] * @return: Promise<AxiosResponse<公共响应对象>> */ export function InterfaceServiceexecute(parameters: Config & InterfaceServiceexecuteParameters): Promise<AxiosResponse<公共响应对象>> { const { $config, $domain, ...body} = parameters const host = $domain ? $domain : getDomain() let path = '/admin/api/v1/BDCommon/service/executor' return request('post', host + path, body, $config) } export interface InterfaceServiceinitSysJobParameters { request: InitSysRequest; // request } /** * @name: InterfaceServiceinitSysJob * @date: 2022/1/21 * @description: 初始化系统job数据,创建系统表 * @param: {request} [InitSysRequest] * @return: Promise<AxiosResponse<公共响应对象>> */ export function InterfaceServiceinitSysJob(parameters: Config & InterfaceServiceinitSysJobParameters): Promise<AxiosResponse<公共响应对象>> { const { $config, $domain, ...body} = parameters const host = $domain ? $domain : getDomain() let path = '/admin/api/v1/BDCommon/service/initSysJob' return request('post', host + path, body, $config) } export interface InterfaceServicequeryParameters { request: InterfaceRequest; // request } /** * @name: InterfaceServicequery * @date: 2022/1/21 * @description: 接口查询 * @param: {request} [InterfaceRequest] * @return: Promise<AxiosResponse<公共响应对象>> */ export function InterfaceServicequery(parameters: Config & InterfaceServicequeryParameters): Promise<AxiosResponse<公共响应对象>> { const { $config, $domain, ...body} = parameters const host = $domain ? $domain : getDomain() let path = '/admin/api/v1/BDCommon/service/interface' return request('post', host + path, body, $config) } export interface ExecutorServiceexecuteParameters { request: ExecutorRequest; // request } /** * @name: ExecutorServiceexecute * @date: 2022/1/21 * @description: 脚本执行器 * @param: {request} [ExecutorRequest] * @return: Promise<AxiosResponse<公共响应对象>> */ export function ExecutorServiceexecute(parameters: Config & ExecutorServiceexecuteParameters): Promise<AxiosResponse<公共响应对象>> { const { $config, $domain, ...body} = parameters const host = $domain ? $domain : getDomain() let path = '/internal/api/v1/BDCommon/service/executor' return request('post', host + path, body, $config) } export interface ExecutorServiceinitSysJobParameters { request: InitSysRequest; // request } /** * @name: ExecutorServiceinitSysJob * @date: 2022/1/21 * @description: 初始化系统job数据,创建系统表 * @param: {request} [InitSysRequest] * @return: Promise<AxiosResponse<公共响应对象>> */ export function ExecutorServiceinitSysJob(parameters: Config & ExecutorServiceinitSysJobParameters): Promise<AxiosResponse<公共响应对象>> { const { $config, $domain, ...body} = parameters const host = $domain ? $domain : getDomain() let path = '/internal/api/v1/BDCommon/service/initSysJob' return request('post', host + path, body, $config) } export interface ExecutorServicequeryParameters { request: InterfaceRequest; // request } /** * @name: ExecutorServicequery * @date: 2022/1/21 * @description: 接口查询 * @param: {request} [InterfaceRequest] * @return: Promise<AxiosResponse<公共响应对象>> */ export function ExecutorServicequery(parameters: Config & ExecutorServicequeryParameters): Promise<AxiosResponse<公共响应对象>> { const { $config, $domain, ...body} = parameters const host = $domain ? $domain : getDomain() let path = '/internal/api/v1/BDCommon/service/interface' return request('post', host + path, body, $config) }