diff --git a/package.json b/package.json index 5521217..dee0ad5 100644 --- a/package.json +++ b/package.json @@ -43,15 +43,13 @@ "node": ">=10" }, "dependencies": { - "@bitauth/libauth": "^1.17.1", - "request": "^2.88.2" + "@bitauth/libauth": "^1.17.1" }, "devDependencies": { "@ava/typescript": "^1.1.1", "@istanbuljs/nyc-config-typescript": "^1.0.1", "@types/jest": "^29.5.14", "@types/node": "^22.7.9", - "@types/request": "^2.48.12", "@typescript-eslint/eslint-plugin": "^4.0.1", "@typescript-eslint/parser": "^4.0.1", "ava": "^3.12.1", diff --git a/src/internal/api.ts b/src/internal/api.ts deleted file mode 100644 index b1119f1..0000000 --- a/src/internal/api.ts +++ /dev/null @@ -1,3 +0,0 @@ -// This is the entrypoint for the package -export * from './api/apis'; -export * from './model/models'; diff --git a/src/internal/api/analyticsApi.ts b/src/internal/api/analyticsApi.ts deleted file mode 100644 index 52909d6..0000000 --- a/src/internal/api/analyticsApi.ts +++ /dev/null @@ -1,1840 +0,0 @@ -/** - * Juno - * Juno Public API Docs - * - * The version of the OpenAPI document: 1.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 http from 'http'; -import localVarRequest from 'request'; - -/* tslint:disable:no-unused-locals */ -import { ClickEventResponse } from '../model/clickEventResponse'; -import { CustomEventResponse } from '../model/customEventResponse'; -import { CustomGraphTypeResponse } from '../model/customGraphTypeResponse'; -import { GetAllClickEventsResponse } from '../model/getAllClickEventsResponse'; -import { GetAllCustomEventTypeResponse } from '../model/getAllCustomEventTypeResponse'; -import { GetAllCustomEventsResponse } from '../model/getAllCustomEventsResponse'; -import { GetAllInputEventsResponse } from '../model/getAllInputEventsResponse'; -import { GetAllVisitEventsResponse } from '../model/getAllVisitEventsResponse'; -import { GetClickEventsResponse } from '../model/getClickEventsResponse'; -import { GetCustomEventsResponse } from '../model/getCustomEventsResponse'; -import { GetInputEventsResponse } from '../model/getInputEventsResponse'; -import { GetVisitEventsResponse } from '../model/getVisitEventsResponse'; -import { InputEventResponse } from '../model/inputEventResponse'; -import { LogClickEventRequest } from '../model/logClickEventRequest'; -import { LogCustomEventRequest } from '../model/logCustomEventRequest'; -import { LogInputEventRequest } from '../model/logInputEventRequest'; -import { LogVisitEventRequest } from '../model/logVisitEventRequest'; -import { VisitEventResponse } from '../model/visitEventResponse'; - -import { - Authentication, - HttpBearerAuth, - Interceptor, - ObjectSerializer, - VoidAuth, -} from '../model/models'; - -import { HttpError } from './apis'; - -let defaultBasePath = 'http://localhost'; - -// =============================================== -// This file is autogenerated - Please do not edit -// =============================================== - -export enum AnalyticsApiApiKeys {} - -export class AnalyticsApi { - protected _basePath = defaultBasePath; - protected _defaultHeaders: any = {}; - protected _useQuerystring: boolean = false; - - protected authentications = { - default: new VoidAuth(), - API_Key: new HttpBearerAuth(), - }; - - protected interceptors: Interceptor[] = []; - - constructor(basePath?: string); - constructor( - basePathOrUsername: string, - password?: string, - basePath?: string - ) { - if (password) { - if (basePath) { - this.basePath = basePath; - } - } else { - if (basePathOrUsername) { - this.basePath = basePathOrUsername; - } - } - } - - set useQuerystring(value: boolean) { - this._useQuerystring = value; - } - - set basePath(basePath: string) { - this._basePath = basePath; - } - - set defaultHeaders(defaultHeaders: any) { - this._defaultHeaders = defaultHeaders; - } - - get defaultHeaders() { - return this._defaultHeaders; - } - - get basePath() { - return this._basePath; - } - - public setDefaultAuthentication(auth: Authentication) { - this.authentications.default = auth; - } - - public setApiKey(key: AnalyticsApiApiKeys, value: string) { - (this.authentications as any)[AnalyticsApiApiKeys[key]].apiKey = value; - } - - set accessToken(accessToken: string | (() => string)) { - this.authentications.API_Key.accessToken = accessToken; - } - - public addInterceptor(interceptor: Interceptor) { - this.interceptors.push(interceptor); - } - - /** - * - * @summary Get all click events - * @param projectName Project name - * @param afterTime Filter after timestamp - * @param limit Max results - */ - public async analyticsControllerGetAllClickEvents( - projectName: string, - afterTime?: string, - limit?: number, - options: { headers: { [name: string]: string } } = { headers: {} } - ): Promise<{ - response: http.IncomingMessage; - body: GetAllClickEventsResponse; - }> { - const localVarPath = this.basePath + '/analytics/events/click/all'; - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign( - {}, - this._defaultHeaders - ); - const produces = ['application/json']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - // verify required parameter 'projectName' is not null or undefined - if (projectName === null || projectName === undefined) { - throw new Error( - 'Required parameter projectName was null or undefined when calling analyticsControllerGetAllClickEvents.' - ); - } - - if (projectName !== undefined) { - localVarQueryParameters['projectName'] = ObjectSerializer.serialize( - projectName, - 'string' - ); - } - - if (afterTime !== undefined) { - localVarQueryParameters['afterTime'] = ObjectSerializer.serialize( - afterTime, - 'string' - ); - } - - if (limit !== undefined) { - localVarQueryParameters['limit'] = ObjectSerializer.serialize( - limit, - 'number' - ); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'GET', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.API_Key.accessToken) { - authenticationPromise = authenticationPromise.then(() => - this.authentications.API_Key.applyToRequest(localVarRequestOptions) - ); - } - authenticationPromise = authenticationPromise.then(() => - this.authentications.default.applyToRequest(localVarRequestOptions) - ); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => - interceptor(localVarRequestOptions) - ); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ - response: http.IncomingMessage; - body: GetAllClickEventsResponse; - }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if ( - response.statusCode && - response.statusCode >= 200 && - response.statusCode <= 299 - ) { - body = ObjectSerializer.deserialize( - body, - 'GetAllClickEventsResponse' - ); - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Get all custom events - * @param projectName Project name - * @param category Event category - * @param subcategory Event subcategory - * @param afterTime Filter after timestamp - * @param limit Max results - */ - public async analyticsControllerGetAllCustomEvents( - projectName: string, - category: string, - subcategory: string, - afterTime?: string, - limit?: number, - options: { headers: { [name: string]: string } } = { headers: {} } - ): Promise<{ - response: http.IncomingMessage; - body: GetAllCustomEventsResponse; - }> { - const localVarPath = this.basePath + '/analytics/events/custom/all'; - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign( - {}, - this._defaultHeaders - ); - const produces = ['application/json']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - // verify required parameter 'projectName' is not null or undefined - if (projectName === null || projectName === undefined) { - throw new Error( - 'Required parameter projectName was null or undefined when calling analyticsControllerGetAllCustomEvents.' - ); - } - - // verify required parameter 'category' is not null or undefined - if (category === null || category === undefined) { - throw new Error( - 'Required parameter category was null or undefined when calling analyticsControllerGetAllCustomEvents.' - ); - } - - // verify required parameter 'subcategory' is not null or undefined - if (subcategory === null || subcategory === undefined) { - throw new Error( - 'Required parameter subcategory was null or undefined when calling analyticsControllerGetAllCustomEvents.' - ); - } - - if (projectName !== undefined) { - localVarQueryParameters['projectName'] = ObjectSerializer.serialize( - projectName, - 'string' - ); - } - - if (afterTime !== undefined) { - localVarQueryParameters['afterTime'] = ObjectSerializer.serialize( - afterTime, - 'string' - ); - } - - if (limit !== undefined) { - localVarQueryParameters['limit'] = ObjectSerializer.serialize( - limit, - 'number' - ); - } - - if (category !== undefined) { - localVarQueryParameters['category'] = ObjectSerializer.serialize( - category, - 'string' - ); - } - - if (subcategory !== undefined) { - localVarQueryParameters['subcategory'] = ObjectSerializer.serialize( - subcategory, - 'string' - ); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'GET', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.API_Key.accessToken) { - authenticationPromise = authenticationPromise.then(() => - this.authentications.API_Key.applyToRequest(localVarRequestOptions) - ); - } - authenticationPromise = authenticationPromise.then(() => - this.authentications.default.applyToRequest(localVarRequestOptions) - ); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => - interceptor(localVarRequestOptions) - ); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ - response: http.IncomingMessage; - body: GetAllCustomEventsResponse; - }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if ( - response.statusCode && - response.statusCode >= 200 && - response.statusCode <= 299 - ) { - body = ObjectSerializer.deserialize( - body, - 'GetAllCustomEventsResponse' - ); - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Get all input events - * @param projectName Project name - * @param afterTime Filter after timestamp - * @param limit Max results - */ - public async analyticsControllerGetAllInputEvents( - projectName: string, - afterTime?: string, - limit?: number, - options: { headers: { [name: string]: string } } = { headers: {} } - ): Promise<{ - response: http.IncomingMessage; - body: GetAllInputEventsResponse; - }> { - const localVarPath = this.basePath + '/analytics/events/input/all'; - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign( - {}, - this._defaultHeaders - ); - const produces = ['application/json']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - // verify required parameter 'projectName' is not null or undefined - if (projectName === null || projectName === undefined) { - throw new Error( - 'Required parameter projectName was null or undefined when calling analyticsControllerGetAllInputEvents.' - ); - } - - if (projectName !== undefined) { - localVarQueryParameters['projectName'] = ObjectSerializer.serialize( - projectName, - 'string' - ); - } - - if (afterTime !== undefined) { - localVarQueryParameters['afterTime'] = ObjectSerializer.serialize( - afterTime, - 'string' - ); - } - - if (limit !== undefined) { - localVarQueryParameters['limit'] = ObjectSerializer.serialize( - limit, - 'number' - ); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'GET', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.API_Key.accessToken) { - authenticationPromise = authenticationPromise.then(() => - this.authentications.API_Key.applyToRequest(localVarRequestOptions) - ); - } - authenticationPromise = authenticationPromise.then(() => - this.authentications.default.applyToRequest(localVarRequestOptions) - ); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => - interceptor(localVarRequestOptions) - ); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ - response: http.IncomingMessage; - body: GetAllInputEventsResponse; - }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if ( - response.statusCode && - response.statusCode >= 200 && - response.statusCode <= 299 - ) { - body = ObjectSerializer.deserialize( - body, - 'GetAllInputEventsResponse' - ); - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Get all visit events - * @param projectName Project name - * @param afterTime Filter after timestamp - * @param limit Max results - */ - public async analyticsControllerGetAllVisitEvents( - projectName: string, - afterTime?: string, - limit?: number, - options: { headers: { [name: string]: string } } = { headers: {} } - ): Promise<{ - response: http.IncomingMessage; - body: GetAllVisitEventsResponse; - }> { - const localVarPath = this.basePath + '/analytics/events/visit/all'; - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign( - {}, - this._defaultHeaders - ); - const produces = ['application/json']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - // verify required parameter 'projectName' is not null or undefined - if (projectName === null || projectName === undefined) { - throw new Error( - 'Required parameter projectName was null or undefined when calling analyticsControllerGetAllVisitEvents.' - ); - } - - if (projectName !== undefined) { - localVarQueryParameters['projectName'] = ObjectSerializer.serialize( - projectName, - 'string' - ); - } - - if (afterTime !== undefined) { - localVarQueryParameters['afterTime'] = ObjectSerializer.serialize( - afterTime, - 'string' - ); - } - - if (limit !== undefined) { - localVarQueryParameters['limit'] = ObjectSerializer.serialize( - limit, - 'number' - ); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'GET', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.API_Key.accessToken) { - authenticationPromise = authenticationPromise.then(() => - this.authentications.API_Key.applyToRequest(localVarRequestOptions) - ); - } - authenticationPromise = authenticationPromise.then(() => - this.authentications.default.applyToRequest(localVarRequestOptions) - ); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => - interceptor(localVarRequestOptions) - ); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ - response: http.IncomingMessage; - body: GetAllVisitEventsResponse; - }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if ( - response.statusCode && - response.statusCode >= 200 && - response.statusCode <= 299 - ) { - body = ObjectSerializer.deserialize( - body, - 'GetAllVisitEventsResponse' - ); - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Get click events with pagination - * @param projectName Project name - * @param afterId Pagination cursor - * @param environment Environment filter - * @param limit Max results - * @param afterTime Filter after timestamp - */ - public async analyticsControllerGetClickEventsPaginated( - projectName: string, - afterId?: string, - environment?: string, - limit?: number, - afterTime?: string, - options: { headers: { [name: string]: string } } = { headers: {} } - ): Promise<{ response: http.IncomingMessage; body: GetClickEventsResponse }> { - const localVarPath = this.basePath + '/analytics/events/click'; - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign( - {}, - this._defaultHeaders - ); - const produces = ['application/json']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - // verify required parameter 'projectName' is not null or undefined - if (projectName === null || projectName === undefined) { - throw new Error( - 'Required parameter projectName was null or undefined when calling analyticsControllerGetClickEventsPaginated.' - ); - } - - if (projectName !== undefined) { - localVarQueryParameters['projectName'] = ObjectSerializer.serialize( - projectName, - 'string' - ); - } - - if (afterId !== undefined) { - localVarQueryParameters['afterId'] = ObjectSerializer.serialize( - afterId, - 'string' - ); - } - - if (environment !== undefined) { - localVarQueryParameters['environment'] = ObjectSerializer.serialize( - environment, - 'string' - ); - } - - if (limit !== undefined) { - localVarQueryParameters['limit'] = ObjectSerializer.serialize( - limit, - 'number' - ); - } - - if (afterTime !== undefined) { - localVarQueryParameters['afterTime'] = ObjectSerializer.serialize( - afterTime, - 'string' - ); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'GET', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.API_Key.accessToken) { - authenticationPromise = authenticationPromise.then(() => - this.authentications.API_Key.applyToRequest(localVarRequestOptions) - ); - } - authenticationPromise = authenticationPromise.then(() => - this.authentications.default.applyToRequest(localVarRequestOptions) - ); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => - interceptor(localVarRequestOptions) - ); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ - response: http.IncomingMessage; - body: GetClickEventsResponse; - }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if ( - response.statusCode && - response.statusCode >= 200 && - response.statusCode <= 299 - ) { - body = ObjectSerializer.deserialize( - body, - 'GetClickEventsResponse' - ); - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Get custom event types for a project - * @param projectName Project name - */ - public async analyticsControllerGetCustomEventTypes( - projectName: string, - options: { headers: { [name: string]: string } } = { headers: {} } - ): Promise<{ - response: http.IncomingMessage; - body: GetAllCustomEventTypeResponse; - }> { - const localVarPath = this.basePath + '/analytics/custom-event-types'; - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign( - {}, - this._defaultHeaders - ); - const produces = ['application/json']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - // verify required parameter 'projectName' is not null or undefined - if (projectName === null || projectName === undefined) { - throw new Error( - 'Required parameter projectName was null or undefined when calling analyticsControllerGetCustomEventTypes.' - ); - } - - if (projectName !== undefined) { - localVarQueryParameters['projectName'] = ObjectSerializer.serialize( - projectName, - 'string' - ); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'GET', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.API_Key.accessToken) { - authenticationPromise = authenticationPromise.then(() => - this.authentications.API_Key.applyToRequest(localVarRequestOptions) - ); - } - authenticationPromise = authenticationPromise.then(() => - this.authentications.default.applyToRequest(localVarRequestOptions) - ); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => - interceptor(localVarRequestOptions) - ); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ - response: http.IncomingMessage; - body: GetAllCustomEventTypeResponse; - }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if ( - response.statusCode && - response.statusCode >= 200 && - response.statusCode <= 299 - ) { - body = ObjectSerializer.deserialize( - body, - 'GetAllCustomEventTypeResponse' - ); - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Get custom events with pagination - * @param projectName Project name - * @param category Event category - * @param subcategory Event subcategory - * @param afterId Pagination cursor - * @param environment Environment filter - * @param limit Max results - * @param afterTime Filter after timestamp - */ - public async analyticsControllerGetCustomEventsPaginated( - projectName: string, - category: string, - subcategory: string, - afterId?: string, - environment?: string, - limit?: number, - afterTime?: string, - options: { headers: { [name: string]: string } } = { headers: {} } - ): Promise<{ - response: http.IncomingMessage; - body: GetCustomEventsResponse; - }> { - const localVarPath = this.basePath + '/analytics/events/custom'; - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign( - {}, - this._defaultHeaders - ); - const produces = ['application/json']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - // verify required parameter 'projectName' is not null or undefined - if (projectName === null || projectName === undefined) { - throw new Error( - 'Required parameter projectName was null or undefined when calling analyticsControllerGetCustomEventsPaginated.' - ); - } - - // verify required parameter 'category' is not null or undefined - if (category === null || category === undefined) { - throw new Error( - 'Required parameter category was null or undefined when calling analyticsControllerGetCustomEventsPaginated.' - ); - } - - // verify required parameter 'subcategory' is not null or undefined - if (subcategory === null || subcategory === undefined) { - throw new Error( - 'Required parameter subcategory was null or undefined when calling analyticsControllerGetCustomEventsPaginated.' - ); - } - - if (projectName !== undefined) { - localVarQueryParameters['projectName'] = ObjectSerializer.serialize( - projectName, - 'string' - ); - } - - if (afterId !== undefined) { - localVarQueryParameters['afterId'] = ObjectSerializer.serialize( - afterId, - 'string' - ); - } - - if (environment !== undefined) { - localVarQueryParameters['environment'] = ObjectSerializer.serialize( - environment, - 'string' - ); - } - - if (limit !== undefined) { - localVarQueryParameters['limit'] = ObjectSerializer.serialize( - limit, - 'number' - ); - } - - if (afterTime !== undefined) { - localVarQueryParameters['afterTime'] = ObjectSerializer.serialize( - afterTime, - 'string' - ); - } - - if (category !== undefined) { - localVarQueryParameters['category'] = ObjectSerializer.serialize( - category, - 'string' - ); - } - - if (subcategory !== undefined) { - localVarQueryParameters['subcategory'] = ObjectSerializer.serialize( - subcategory, - 'string' - ); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'GET', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.API_Key.accessToken) { - authenticationPromise = authenticationPromise.then(() => - this.authentications.API_Key.applyToRequest(localVarRequestOptions) - ); - } - authenticationPromise = authenticationPromise.then(() => - this.authentications.default.applyToRequest(localVarRequestOptions) - ); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => - interceptor(localVarRequestOptions) - ); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ - response: http.IncomingMessage; - body: GetCustomEventsResponse; - }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if ( - response.statusCode && - response.statusCode >= 200 && - response.statusCode <= 299 - ) { - body = ObjectSerializer.deserialize( - body, - 'GetCustomEventsResponse' - ); - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Get custom graph types by event type ID - * @param projectName Project name - * @param eventTypeId Event type ID - */ - public async analyticsControllerGetCustomGraphTypesById( - projectName: string, - eventTypeId: string, - options: { headers: { [name: string]: string } } = { headers: {} } - ): Promise<{ - response: http.IncomingMessage; - body: CustomGraphTypeResponse; - }> { - const localVarPath = this.basePath + '/analytics/custom-graph-types'; - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign( - {}, - this._defaultHeaders - ); - const produces = ['application/json']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - // verify required parameter 'projectName' is not null or undefined - if (projectName === null || projectName === undefined) { - throw new Error( - 'Required parameter projectName was null or undefined when calling analyticsControllerGetCustomGraphTypesById.' - ); - } - - // verify required parameter 'eventTypeId' is not null or undefined - if (eventTypeId === null || eventTypeId === undefined) { - throw new Error( - 'Required parameter eventTypeId was null or undefined when calling analyticsControllerGetCustomGraphTypesById.' - ); - } - - if (projectName !== undefined) { - localVarQueryParameters['projectName'] = ObjectSerializer.serialize( - projectName, - 'string' - ); - } - - if (eventTypeId !== undefined) { - localVarQueryParameters['eventTypeId'] = ObjectSerializer.serialize( - eventTypeId, - 'string' - ); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'GET', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.API_Key.accessToken) { - authenticationPromise = authenticationPromise.then(() => - this.authentications.API_Key.applyToRequest(localVarRequestOptions) - ); - } - authenticationPromise = authenticationPromise.then(() => - this.authentications.default.applyToRequest(localVarRequestOptions) - ); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => - interceptor(localVarRequestOptions) - ); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ - response: http.IncomingMessage; - body: CustomGraphTypeResponse; - }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if ( - response.statusCode && - response.statusCode >= 200 && - response.statusCode <= 299 - ) { - body = ObjectSerializer.deserialize( - body, - 'CustomGraphTypeResponse' - ); - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Get input events with pagination - * @param projectName Project name - * @param afterId Pagination cursor - * @param environment Environment filter - * @param limit Max results - * @param afterTime Filter after timestamp - */ - public async analyticsControllerGetInputEventsPaginated( - projectName: string, - afterId?: string, - environment?: string, - limit?: number, - afterTime?: string, - options: { headers: { [name: string]: string } } = { headers: {} } - ): Promise<{ response: http.IncomingMessage; body: GetInputEventsResponse }> { - const localVarPath = this.basePath + '/analytics/events/input'; - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign( - {}, - this._defaultHeaders - ); - const produces = ['application/json']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - // verify required parameter 'projectName' is not null or undefined - if (projectName === null || projectName === undefined) { - throw new Error( - 'Required parameter projectName was null or undefined when calling analyticsControllerGetInputEventsPaginated.' - ); - } - - if (projectName !== undefined) { - localVarQueryParameters['projectName'] = ObjectSerializer.serialize( - projectName, - 'string' - ); - } - - if (afterId !== undefined) { - localVarQueryParameters['afterId'] = ObjectSerializer.serialize( - afterId, - 'string' - ); - } - - if (environment !== undefined) { - localVarQueryParameters['environment'] = ObjectSerializer.serialize( - environment, - 'string' - ); - } - - if (limit !== undefined) { - localVarQueryParameters['limit'] = ObjectSerializer.serialize( - limit, - 'number' - ); - } - - if (afterTime !== undefined) { - localVarQueryParameters['afterTime'] = ObjectSerializer.serialize( - afterTime, - 'string' - ); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'GET', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.API_Key.accessToken) { - authenticationPromise = authenticationPromise.then(() => - this.authentications.API_Key.applyToRequest(localVarRequestOptions) - ); - } - authenticationPromise = authenticationPromise.then(() => - this.authentications.default.applyToRequest(localVarRequestOptions) - ); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => - interceptor(localVarRequestOptions) - ); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ - response: http.IncomingMessage; - body: GetInputEventsResponse; - }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if ( - response.statusCode && - response.statusCode >= 200 && - response.statusCode <= 299 - ) { - body = ObjectSerializer.deserialize( - body, - 'GetInputEventsResponse' - ); - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Get visit events with pagination - * @param projectName Project name - * @param afterId Pagination cursor - * @param environment Environment filter - * @param limit Max results - * @param afterTime Filter after timestamp - */ - public async analyticsControllerGetVisitEventsPaginated( - projectName: string, - afterId?: string, - environment?: string, - limit?: number, - afterTime?: string, - options: { headers: { [name: string]: string } } = { headers: {} } - ): Promise<{ response: http.IncomingMessage; body: GetVisitEventsResponse }> { - const localVarPath = this.basePath + '/analytics/events/visit'; - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign( - {}, - this._defaultHeaders - ); - const produces = ['application/json']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - // verify required parameter 'projectName' is not null or undefined - if (projectName === null || projectName === undefined) { - throw new Error( - 'Required parameter projectName was null or undefined when calling analyticsControllerGetVisitEventsPaginated.' - ); - } - - if (projectName !== undefined) { - localVarQueryParameters['projectName'] = ObjectSerializer.serialize( - projectName, - 'string' - ); - } - - if (afterId !== undefined) { - localVarQueryParameters['afterId'] = ObjectSerializer.serialize( - afterId, - 'string' - ); - } - - if (environment !== undefined) { - localVarQueryParameters['environment'] = ObjectSerializer.serialize( - environment, - 'string' - ); - } - - if (limit !== undefined) { - localVarQueryParameters['limit'] = ObjectSerializer.serialize( - limit, - 'number' - ); - } - - if (afterTime !== undefined) { - localVarQueryParameters['afterTime'] = ObjectSerializer.serialize( - afterTime, - 'string' - ); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'GET', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.API_Key.accessToken) { - authenticationPromise = authenticationPromise.then(() => - this.authentications.API_Key.applyToRequest(localVarRequestOptions) - ); - } - authenticationPromise = authenticationPromise.then(() => - this.authentications.default.applyToRequest(localVarRequestOptions) - ); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => - interceptor(localVarRequestOptions) - ); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ - response: http.IncomingMessage; - body: GetVisitEventsResponse; - }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if ( - response.statusCode && - response.statusCode >= 200 && - response.statusCode <= 299 - ) { - body = ObjectSerializer.deserialize( - body, - 'GetVisitEventsResponse' - ); - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Log a click event - * @param logClickEventRequest - */ - public async analyticsControllerLogClickEvent( - logClickEventRequest: LogClickEventRequest, - options: { headers: { [name: string]: string } } = { headers: {} } - ): Promise<{ response: http.IncomingMessage; body: ClickEventResponse }> { - const localVarPath = this.basePath + '/analytics/events/click'; - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign( - {}, - this._defaultHeaders - ); - const produces = ['application/json']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - // verify required parameter 'logClickEventRequest' is not null or undefined - if (logClickEventRequest === null || logClickEventRequest === undefined) { - throw new Error( - 'Required parameter logClickEventRequest was null or undefined when calling analyticsControllerLogClickEvent.' - ); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'POST', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - body: ObjectSerializer.serialize( - logClickEventRequest, - 'LogClickEventRequest' - ), - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.API_Key.accessToken) { - authenticationPromise = authenticationPromise.then(() => - this.authentications.API_Key.applyToRequest(localVarRequestOptions) - ); - } - authenticationPromise = authenticationPromise.then(() => - this.authentications.default.applyToRequest(localVarRequestOptions) - ); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => - interceptor(localVarRequestOptions) - ); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ - response: http.IncomingMessage; - body: ClickEventResponse; - }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if ( - response.statusCode && - response.statusCode >= 200 && - response.statusCode <= 299 - ) { - body = ObjectSerializer.deserialize(body, 'ClickEventResponse'); - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Log a custom event - * @param logCustomEventRequest - */ - public async analyticsControllerLogCustomEvent( - logCustomEventRequest: LogCustomEventRequest, - options: { headers: { [name: string]: string } } = { headers: {} } - ): Promise<{ response: http.IncomingMessage; body: CustomEventResponse }> { - const localVarPath = this.basePath + '/analytics/events/custom'; - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign( - {}, - this._defaultHeaders - ); - const produces = ['application/json']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - // verify required parameter 'logCustomEventRequest' is not null or undefined - if (logCustomEventRequest === null || logCustomEventRequest === undefined) { - throw new Error( - 'Required parameter logCustomEventRequest was null or undefined when calling analyticsControllerLogCustomEvent.' - ); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'POST', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - body: ObjectSerializer.serialize( - logCustomEventRequest, - 'LogCustomEventRequest' - ), - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.API_Key.accessToken) { - authenticationPromise = authenticationPromise.then(() => - this.authentications.API_Key.applyToRequest(localVarRequestOptions) - ); - } - authenticationPromise = authenticationPromise.then(() => - this.authentications.default.applyToRequest(localVarRequestOptions) - ); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => - interceptor(localVarRequestOptions) - ); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ - response: http.IncomingMessage; - body: CustomEventResponse; - }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if ( - response.statusCode && - response.statusCode >= 200 && - response.statusCode <= 299 - ) { - body = ObjectSerializer.deserialize(body, 'CustomEventResponse'); - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Log an input event - * @param logInputEventRequest - */ - public async analyticsControllerLogInputEvent( - logInputEventRequest: LogInputEventRequest, - options: { headers: { [name: string]: string } } = { headers: {} } - ): Promise<{ response: http.IncomingMessage; body: InputEventResponse }> { - const localVarPath = this.basePath + '/analytics/events/input'; - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign( - {}, - this._defaultHeaders - ); - const produces = ['application/json']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - // verify required parameter 'logInputEventRequest' is not null or undefined - if (logInputEventRequest === null || logInputEventRequest === undefined) { - throw new Error( - 'Required parameter logInputEventRequest was null or undefined when calling analyticsControllerLogInputEvent.' - ); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'POST', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - body: ObjectSerializer.serialize( - logInputEventRequest, - 'LogInputEventRequest' - ), - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.API_Key.accessToken) { - authenticationPromise = authenticationPromise.then(() => - this.authentications.API_Key.applyToRequest(localVarRequestOptions) - ); - } - authenticationPromise = authenticationPromise.then(() => - this.authentications.default.applyToRequest(localVarRequestOptions) - ); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => - interceptor(localVarRequestOptions) - ); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ - response: http.IncomingMessage; - body: InputEventResponse; - }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if ( - response.statusCode && - response.statusCode >= 200 && - response.statusCode <= 299 - ) { - body = ObjectSerializer.deserialize(body, 'InputEventResponse'); - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Log a visit event - * @param logVisitEventRequest - */ - public async analyticsControllerLogVisitEvent( - logVisitEventRequest: LogVisitEventRequest, - options: { headers: { [name: string]: string } } = { headers: {} } - ): Promise<{ response: http.IncomingMessage; body: VisitEventResponse }> { - const localVarPath = this.basePath + '/analytics/events/visit'; - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign( - {}, - this._defaultHeaders - ); - const produces = ['application/json']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - // verify required parameter 'logVisitEventRequest' is not null or undefined - if (logVisitEventRequest === null || logVisitEventRequest === undefined) { - throw new Error( - 'Required parameter logVisitEventRequest was null or undefined when calling analyticsControllerLogVisitEvent.' - ); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'POST', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - body: ObjectSerializer.serialize( - logVisitEventRequest, - 'LogVisitEventRequest' - ), - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.API_Key.accessToken) { - authenticationPromise = authenticationPromise.then(() => - this.authentications.API_Key.applyToRequest(localVarRequestOptions) - ); - } - authenticationPromise = authenticationPromise.then(() => - this.authentications.default.applyToRequest(localVarRequestOptions) - ); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => - interceptor(localVarRequestOptions) - ); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ - response: http.IncomingMessage; - body: VisitEventResponse; - }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if ( - response.statusCode && - response.statusCode >= 200 && - response.statusCode <= 299 - ) { - body = ObjectSerializer.deserialize(body, 'VisitEventResponse'); - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } -} diff --git a/src/internal/api/analyticsConfigApi.ts b/src/internal/api/analyticsConfigApi.ts deleted file mode 100644 index 3ef718f..0000000 --- a/src/internal/api/analyticsConfigApi.ts +++ /dev/null @@ -1,535 +0,0 @@ -/** - * Juno - * Juno Public API Docs - * - * The version of the OpenAPI document: 1.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 http from 'http'; -import localVarRequest from 'request'; - -/* tslint:disable:no-unused-locals */ -import { AnalyticsConfigResponse } from '../model/analyticsConfigResponse'; -import { CreateAnalyticsConfigModel } from '../model/createAnalyticsConfigModel'; -import { UpdateAnalyticsConfigModel } from '../model/updateAnalyticsConfigModel'; - -import { - Authentication, - HttpBearerAuth, - Interceptor, - ObjectSerializer, - VoidAuth, -} from '../model/models'; - -import { HttpError } from './apis'; - -let defaultBasePath = 'http://localhost'; - -// =============================================== -// This file is autogenerated - Please do not edit -// =============================================== - -export enum AnalyticsConfigApiApiKeys {} - -export class AnalyticsConfigApi { - protected _basePath = defaultBasePath; - protected _defaultHeaders: any = {}; - protected _useQuerystring: boolean = false; - - protected authentications = { - default: new VoidAuth(), - API_Key: new HttpBearerAuth(), - }; - - protected interceptors: Interceptor[] = []; - - constructor(basePath?: string); - constructor( - basePathOrUsername: string, - password?: string, - basePath?: string - ) { - if (password) { - if (basePath) { - this.basePath = basePath; - } - } else { - if (basePathOrUsername) { - this.basePath = basePathOrUsername; - } - } - } - - set useQuerystring(value: boolean) { - this._useQuerystring = value; - } - - set basePath(basePath: string) { - this._basePath = basePath; - } - - set defaultHeaders(defaultHeaders: any) { - this._defaultHeaders = defaultHeaders; - } - - get defaultHeaders() { - return this._defaultHeaders; - } - - get basePath() { - return this._basePath; - } - - public setDefaultAuthentication(auth: Authentication) { - this.authentications.default = auth; - } - - public setApiKey(key: AnalyticsConfigApiApiKeys, value: string) { - (this.authentications as any)[AnalyticsConfigApiApiKeys[key]].apiKey = - value; - } - - set accessToken(accessToken: string | (() => string)) { - this.authentications.API_Key.accessToken = accessToken; - } - - public addInterceptor(interceptor: Interceptor) { - this.interceptors.push(interceptor); - } - - /** - * - * @summary Create analytics configuration - * @param createAnalyticsConfigModel - */ - public async analyticsConfigControllerCreateAnalyticsConfig( - createAnalyticsConfigModel: CreateAnalyticsConfigModel, - options: { headers: { [name: string]: string } } = { headers: {} } - ): Promise<{ - response: http.IncomingMessage; - body: AnalyticsConfigResponse; - }> { - const localVarPath = this.basePath + '/analytics/config'; - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign( - {}, - this._defaultHeaders - ); - const produces = ['application/json']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - // verify required parameter 'createAnalyticsConfigModel' is not null or undefined - if ( - createAnalyticsConfigModel === null || - createAnalyticsConfigModel === undefined - ) { - throw new Error( - 'Required parameter createAnalyticsConfigModel was null or undefined when calling analyticsConfigControllerCreateAnalyticsConfig.' - ); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'POST', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - body: ObjectSerializer.serialize( - createAnalyticsConfigModel, - 'CreateAnalyticsConfigModel' - ), - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.API_Key.accessToken) { - authenticationPromise = authenticationPromise.then(() => - this.authentications.API_Key.applyToRequest(localVarRequestOptions) - ); - } - authenticationPromise = authenticationPromise.then(() => - this.authentications.default.applyToRequest(localVarRequestOptions) - ); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => - interceptor(localVarRequestOptions) - ); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ - response: http.IncomingMessage; - body: AnalyticsConfigResponse; - }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if ( - response.statusCode && - response.statusCode >= 200 && - response.statusCode <= 299 - ) { - body = ObjectSerializer.deserialize( - body, - 'AnalyticsConfigResponse' - ); - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Delete analytics configuration - * @param projectId - */ - public async analyticsConfigControllerDeleteAnalyticsConfig( - projectId: string, - options: { headers: { [name: string]: string } } = { headers: {} } - ): Promise<{ - response: http.IncomingMessage; - body: AnalyticsConfigResponse; - }> { - const localVarPath = - this.basePath + - '/analytics/config/{projectId}'.replace( - '{' + 'projectId' + '}', - encodeURIComponent(String(projectId)) - ); - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign( - {}, - this._defaultHeaders - ); - const produces = ['application/json']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - // verify required parameter 'projectId' is not null or undefined - if (projectId === null || projectId === undefined) { - throw new Error( - 'Required parameter projectId was null or undefined when calling analyticsConfigControllerDeleteAnalyticsConfig.' - ); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'DELETE', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.API_Key.accessToken) { - authenticationPromise = authenticationPromise.then(() => - this.authentications.API_Key.applyToRequest(localVarRequestOptions) - ); - } - authenticationPromise = authenticationPromise.then(() => - this.authentications.default.applyToRequest(localVarRequestOptions) - ); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => - interceptor(localVarRequestOptions) - ); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ - response: http.IncomingMessage; - body: AnalyticsConfigResponse; - }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if ( - response.statusCode && - response.statusCode >= 200 && - response.statusCode <= 299 - ) { - body = ObjectSerializer.deserialize( - body, - 'AnalyticsConfigResponse' - ); - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Get analytics configuration - * @param projectId - */ - public async analyticsConfigControllerGetAnalyticsConfig( - projectId: string, - options: { headers: { [name: string]: string } } = { headers: {} } - ): Promise<{ - response: http.IncomingMessage; - body: AnalyticsConfigResponse; - }> { - const localVarPath = - this.basePath + - '/analytics/config/{projectId}'.replace( - '{' + 'projectId' + '}', - encodeURIComponent(String(projectId)) - ); - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign( - {}, - this._defaultHeaders - ); - const produces = ['application/json']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - // verify required parameter 'projectId' is not null or undefined - if (projectId === null || projectId === undefined) { - throw new Error( - 'Required parameter projectId was null or undefined when calling analyticsConfigControllerGetAnalyticsConfig.' - ); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'GET', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.API_Key.accessToken) { - authenticationPromise = authenticationPromise.then(() => - this.authentications.API_Key.applyToRequest(localVarRequestOptions) - ); - } - authenticationPromise = authenticationPromise.then(() => - this.authentications.default.applyToRequest(localVarRequestOptions) - ); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => - interceptor(localVarRequestOptions) - ); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ - response: http.IncomingMessage; - body: AnalyticsConfigResponse; - }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if ( - response.statusCode && - response.statusCode >= 200 && - response.statusCode <= 299 - ) { - body = ObjectSerializer.deserialize( - body, - 'AnalyticsConfigResponse' - ); - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Update analytics configuration - * @param projectId - * @param updateAnalyticsConfigModel - */ - public async analyticsConfigControllerUpdateAnalyticsConfig( - projectId: string, - updateAnalyticsConfigModel: UpdateAnalyticsConfigModel, - options: { headers: { [name: string]: string } } = { headers: {} } - ): Promise<{ - response: http.IncomingMessage; - body: AnalyticsConfigResponse; - }> { - const localVarPath = - this.basePath + - '/analytics/config/{projectId}'.replace( - '{' + 'projectId' + '}', - encodeURIComponent(String(projectId)) - ); - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign( - {}, - this._defaultHeaders - ); - const produces = ['application/json']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - // verify required parameter 'projectId' is not null or undefined - if (projectId === null || projectId === undefined) { - throw new Error( - 'Required parameter projectId was null or undefined when calling analyticsConfigControllerUpdateAnalyticsConfig.' - ); - } - - // verify required parameter 'updateAnalyticsConfigModel' is not null or undefined - if ( - updateAnalyticsConfigModel === null || - updateAnalyticsConfigModel === undefined - ) { - throw new Error( - 'Required parameter updateAnalyticsConfigModel was null or undefined when calling analyticsConfigControllerUpdateAnalyticsConfig.' - ); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'PUT', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - body: ObjectSerializer.serialize( - updateAnalyticsConfigModel, - 'UpdateAnalyticsConfigModel' - ), - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.API_Key.accessToken) { - authenticationPromise = authenticationPromise.then(() => - this.authentications.API_Key.applyToRequest(localVarRequestOptions) - ); - } - authenticationPromise = authenticationPromise.then(() => - this.authentications.default.applyToRequest(localVarRequestOptions) - ); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => - interceptor(localVarRequestOptions) - ); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ - response: http.IncomingMessage; - body: AnalyticsConfigResponse; - }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if ( - response.statusCode && - response.statusCode >= 200 && - response.statusCode <= 299 - ) { - body = ObjectSerializer.deserialize( - body, - 'AnalyticsConfigResponse' - ); - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } -} diff --git a/src/internal/api/apis.ts b/src/internal/api/apis.ts deleted file mode 100644 index 716e96c..0000000 --- a/src/internal/api/apis.ts +++ /dev/null @@ -1,50 +0,0 @@ -export * from './analyticsApi'; -export * from './analyticsConfigApi'; -export * from './authApi'; -export * from './emailApi'; -export * from './fileBucketApi'; -export * from './fileConfigApi'; -export * from './fileDownloadApi'; -export * from './fileProviderApi'; -export * from './fileUploadApi'; -export * from './projectApi'; -export * from './userApi'; -import * as http from 'http'; -import { AnalyticsApi } from './analyticsApi'; -import { AnalyticsConfigApi } from './analyticsConfigApi'; -import { AuthApi } from './authApi'; -import { EmailApi } from './emailApi'; -import { FileBucketApi } from './fileBucketApi'; -import { FileConfigApi } from './fileConfigApi'; -import { FileDownloadApi } from './fileDownloadApi'; -import { FileProviderApi } from './fileProviderApi'; -import { FileUploadApi } from './fileUploadApi'; -import { ProjectApi } from './projectApi'; -import { UserApi } from './userApi'; - -export class HttpError extends Error { - constructor( - public response: http.IncomingMessage, - public body: any, - public statusCode?: number - ) { - super('HTTP request failed'); - this.name = 'HttpError'; - } -} - -export { RequestFile } from '../model/models'; - -export const APIS = [ - AnalyticsApi, - AnalyticsConfigApi, - AuthApi, - EmailApi, - FileBucketApi, - FileConfigApi, - FileDownloadApi, - FileProviderApi, - FileUploadApi, - ProjectApi, - UserApi, -]; diff --git a/src/internal/api/authApi.ts b/src/internal/api/authApi.ts deleted file mode 100644 index f8bc9a8..0000000 --- a/src/internal/api/authApi.ts +++ /dev/null @@ -1,605 +0,0 @@ -/** - * Juno - * Juno Public API Docs - * - * The version of the OpenAPI document: 1.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 localVarRequest from 'request'; -import http from 'http'; - -/* tslint:disable:no-unused-locals */ -import { IssueApiKeyRequest } from '../model/issueApiKeyRequest'; -import { IssueApiKeyResponse } from '../model/issueApiKeyResponse'; -import { IssueJWTResponse } from '../model/issueJWTResponse'; - -import { - ObjectSerializer, - Authentication, - VoidAuth, - Interceptor, -} from '../model/models'; -import { - HttpBasicAuth, - HttpBearerAuth, - ApiKeyAuth, - OAuth, -} from '../model/models'; - -import { HttpError, RequestFile } from './apis'; - -let defaultBasePath = 'http://localhost'; - -// =============================================== -// This file is autogenerated - Please do not edit -// =============================================== - -export enum AuthApiApiKeys {} - -export class AuthApi { - protected _basePath = defaultBasePath; - protected _defaultHeaders: any = {}; - protected _useQuerystring: boolean = false; - - protected authentications = { - default: new VoidAuth(), - API_Key: new HttpBearerAuth(), - }; - - protected interceptors: Interceptor[] = []; - - constructor(basePath?: string); - constructor( - basePathOrUsername: string, - password?: string, - basePath?: string - ) { - if (password) { - if (basePath) { - this.basePath = basePath; - } - } else { - if (basePathOrUsername) { - this.basePath = basePathOrUsername; - } - } - } - - set useQuerystring(value: boolean) { - this._useQuerystring = value; - } - - set basePath(basePath: string) { - this._basePath = basePath; - } - - set defaultHeaders(defaultHeaders: any) { - this._defaultHeaders = defaultHeaders; - } - - get defaultHeaders() { - return this._defaultHeaders; - } - - get basePath() { - return this._basePath; - } - - public setDefaultAuthentication(auth: Authentication) { - this.authentications.default = auth; - } - - public setApiKey(key: AuthApiApiKeys, value: string) { - (this.authentications as any)[AuthApiApiKeys[key]].apiKey = value; - } - - set accessToken(accessToken: string | (() => string)) { - this.authentications.API_Key.accessToken = accessToken; - } - - public addInterceptor(interceptor: Interceptor) { - this.interceptors.push(interceptor); - } - - /** - * - * @summary Issues a new API key for the project tied to the specified environment. - * @param xUserPassword Password of the admin or superadmin user - * @param xUserEmail Email of an admin or superadmin user - * @param issueApiKeyRequest - */ - public async authControllerCreateApiKey( - xUserPassword: string, - xUserEmail: string, - issueApiKeyRequest: IssueApiKeyRequest, - options: { headers: { [name: string]: string } } = { headers: {} } - ): Promise<{ response: http.IncomingMessage; body: IssueApiKeyResponse }> { - const localVarPath = this.basePath + '/auth/key'; - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign( - {}, - this._defaultHeaders - ); - const produces = ['application/json']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - // verify required parameter 'xUserPassword' is not null or undefined - if (xUserPassword === null || xUserPassword === undefined) { - throw new Error( - 'Required parameter xUserPassword was null or undefined when calling authControllerCreateApiKey.' - ); - } - - // verify required parameter 'xUserEmail' is not null or undefined - if (xUserEmail === null || xUserEmail === undefined) { - throw new Error( - 'Required parameter xUserEmail was null or undefined when calling authControllerCreateApiKey.' - ); - } - - // verify required parameter 'issueApiKeyRequest' is not null or undefined - if (issueApiKeyRequest === null || issueApiKeyRequest === undefined) { - throw new Error( - 'Required parameter issueApiKeyRequest was null or undefined when calling authControllerCreateApiKey.' - ); - } - - localVarHeaderParams['X-User-Password'] = ObjectSerializer.serialize( - xUserPassword, - 'string' - ); - localVarHeaderParams['X-User-Email'] = ObjectSerializer.serialize( - xUserEmail, - 'string' - ); - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'POST', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - body: ObjectSerializer.serialize( - issueApiKeyRequest, - 'IssueApiKeyRequest' - ), - }; - - let authenticationPromise = Promise.resolve(); - authenticationPromise = authenticationPromise.then(() => - this.authentications.default.applyToRequest(localVarRequestOptions) - ); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => - interceptor(localVarRequestOptions) - ); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ - response: http.IncomingMessage; - body: IssueApiKeyResponse; - }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if ( - response.statusCode && - response.statusCode >= 200 && - response.statusCode <= 299 - ) { - body = ObjectSerializer.deserialize(body, 'IssueApiKeyResponse'); - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Deletes an API key, detaching it from its project. - * @param authorization A valid API key - */ - public async authControllerDeleteApiKey( - authorization: string, - options: { headers: { [name: string]: string } } = { headers: {} } - ): Promise<{ response: http.IncomingMessage; body?: any }> { - const localVarPath = this.basePath + '/auth/key'; - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign( - {}, - this._defaultHeaders - ); - let localVarFormParams: any = {}; - - // verify required parameter 'authorization' is not null or undefined - if (authorization === null || authorization === undefined) { - throw new Error( - 'Required parameter authorization was null or undefined when calling authControllerDeleteApiKey.' - ); - } - - localVarHeaderParams['Authorization'] = ObjectSerializer.serialize( - authorization, - 'string' - ); - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'DELETE', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.API_Key.accessToken) { - authenticationPromise = authenticationPromise.then(() => - this.authentications.API_Key.applyToRequest(localVarRequestOptions) - ); - } - authenticationPromise = authenticationPromise.then(() => - this.authentications.default.applyToRequest(localVarRequestOptions) - ); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => - interceptor(localVarRequestOptions) - ); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body?: any }>( - (resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if ( - response.statusCode && - response.statusCode >= 200 && - response.statusCode <= 299 - ) { - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - } - ); - }); - } - /** - * JSON Web Tokens are used for the vast majority of API-gateway calls. The Juno SDK provides the means of automatically authenticating through this route given a valid API key. - * @summary Generates a temporary JWT for the project tied to a specified API key. - * @param authorization A valid API key - */ - public async authControllerGetApiKeyJWT( - authorization: string, - options: { headers: { [name: string]: string } } = { headers: {} } - ): Promise<{ response: http.IncomingMessage; body: IssueJWTResponse }> { - const localVarPath = this.basePath + '/auth/api_key/jwt'; - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign( - {}, - this._defaultHeaders - ); - const produces = ['application/json']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - // verify required parameter 'authorization' is not null or undefined - if (authorization === null || authorization === undefined) { - throw new Error( - 'Required parameter authorization was null or undefined when calling authControllerGetApiKeyJWT.' - ); - } - - localVarHeaderParams['Authorization'] = ObjectSerializer.serialize( - authorization, - 'string' - ); - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'POST', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.API_Key.accessToken) { - authenticationPromise = authenticationPromise.then(() => - this.authentications.API_Key.applyToRequest(localVarRequestOptions) - ); - } - authenticationPromise = authenticationPromise.then(() => - this.authentications.default.applyToRequest(localVarRequestOptions) - ); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => - interceptor(localVarRequestOptions) - ); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ - response: http.IncomingMessage; - body: IssueJWTResponse; - }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if ( - response.statusCode && - response.statusCode >= 200 && - response.statusCode <= 299 - ) { - body = ObjectSerializer.deserialize(body, 'IssueJWTResponse'); - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * JSON Web Tokens are used for the vast majority of API-gateway calls. The Juno SDK provides the means of automatically authenticating through this route given valid user credentials. - * @summary Generates a temporary JWT tied to a specified user. - * @param xUserPassword Password of the user - * @param xUserEmail Email of a user - */ - public async authControllerGetUserJWT( - xUserPassword: string, - xUserEmail: string, - options: { headers: { [name: string]: string } } = { headers: {} } - ): Promise<{ response: http.IncomingMessage; body: IssueJWTResponse }> { - const localVarPath = this.basePath + '/auth/user/jwt'; - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign( - {}, - this._defaultHeaders - ); - const produces = ['application/json']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - // verify required parameter 'xUserPassword' is not null or undefined - if (xUserPassword === null || xUserPassword === undefined) { - throw new Error( - 'Required parameter xUserPassword was null or undefined when calling authControllerGetUserJWT.' - ); - } - - // verify required parameter 'xUserEmail' is not null or undefined - if (xUserEmail === null || xUserEmail === undefined) { - throw new Error( - 'Required parameter xUserEmail was null or undefined when calling authControllerGetUserJWT.' - ); - } - - localVarHeaderParams['X-User-Password'] = ObjectSerializer.serialize( - xUserPassword, - 'string' - ); - localVarHeaderParams['X-User-Email'] = ObjectSerializer.serialize( - xUserEmail, - 'string' - ); - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'POST', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.API_Key.accessToken) { - authenticationPromise = authenticationPromise.then(() => - this.authentications.API_Key.applyToRequest(localVarRequestOptions) - ); - } - authenticationPromise = authenticationPromise.then(() => - this.authentications.default.applyToRequest(localVarRequestOptions) - ); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => - interceptor(localVarRequestOptions) - ); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ - response: http.IncomingMessage; - body: IssueJWTResponse; - }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if ( - response.statusCode && - response.statusCode >= 200 && - response.statusCode <= 299 - ) { - body = ObjectSerializer.deserialize(body, 'IssueJWTResponse'); - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * This endpoint validates a user JWT token and returns the associated user information if valid - * @summary Validates user JWT and returns user data - * @param authorization Bearer token (User JWT) - */ - public async authControllerTestAuth( - authorization: string, - options: { headers: { [name: string]: string } } = { headers: {} } - ): Promise<{ response: http.IncomingMessage; body?: any }> { - const localVarPath = this.basePath + '/auth/test-auth'; - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign( - {}, - this._defaultHeaders - ); - let localVarFormParams: any = {}; - - // verify required parameter 'authorization' is not null or undefined - if (authorization === null || authorization === undefined) { - throw new Error( - 'Required parameter authorization was null or undefined when calling authControllerTestAuth.' - ); - } - - localVarHeaderParams['Authorization'] = ObjectSerializer.serialize( - authorization, - 'string' - ); - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'GET', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.API_Key.accessToken) { - authenticationPromise = authenticationPromise.then(() => - this.authentications.API_Key.applyToRequest(localVarRequestOptions) - ); - } - authenticationPromise = authenticationPromise.then(() => - this.authentications.default.applyToRequest(localVarRequestOptions) - ); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => - interceptor(localVarRequestOptions) - ); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body?: any }>( - (resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if ( - response.statusCode && - response.statusCode >= 200 && - response.statusCode <= 299 - ) { - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - } - ); - }); - } -} diff --git a/src/internal/api/emailApi.ts b/src/internal/api/emailApi.ts deleted file mode 100644 index 89145d5..0000000 --- a/src/internal/api/emailApi.ts +++ /dev/null @@ -1,842 +0,0 @@ -/** - * Juno - * Juno Public API Docs - * - * The version of the OpenAPI document: 1.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 localVarRequest from 'request'; -import http from 'http'; - -/* tslint:disable:no-unused-locals */ -import { AggregateInterval } from '../model/aggregateInterval'; -import { EmailConfigResponse } from '../model/emailConfigResponse'; -import { RegisterDomainModel } from '../model/registerDomainModel'; -import { RegisterDomainResponse } from '../model/registerDomainResponse'; -import { RegisterEmailModel } from '../model/registerEmailModel'; -import { RegisterEmailResponse } from '../model/registerEmailResponse'; -import { SendEmailModel } from '../model/sendEmailModel'; -import { SendEmailResponse } from '../model/sendEmailResponse'; -import { SendEmailStatisticsResponses } from '../model/sendEmailStatisticsResponses'; -import { SetupEmailResponse } from '../model/setupEmailResponse'; -import { SetupEmailServiceModel } from '../model/setupEmailServiceModel'; -import { VerifyDomainModel } from '../model/verifyDomainModel'; - -import { - ObjectSerializer, - Authentication, - VoidAuth, - Interceptor, -} from '../model/models'; -import { - HttpBasicAuth, - HttpBearerAuth, - ApiKeyAuth, - OAuth, -} from '../model/models'; - -import { HttpError, RequestFile } from './apis'; - -let defaultBasePath = 'http://localhost'; - -// =============================================== -// This file is autogenerated - Please do not edit -// =============================================== - -export enum EmailApiApiKeys {} - -export class EmailApi { - protected _basePath = defaultBasePath; - protected _defaultHeaders: any = {}; - protected _useQuerystring: boolean = false; - - protected authentications = { - default: new VoidAuth(), - API_Key: new HttpBearerAuth(), - }; - - protected interceptors: Interceptor[] = []; - - constructor(basePath?: string); - constructor( - basePathOrUsername: string, - password?: string, - basePath?: string - ) { - if (password) { - if (basePath) { - this.basePath = basePath; - } - } else { - if (basePathOrUsername) { - this.basePath = basePathOrUsername; - } - } - } - - set useQuerystring(value: boolean) { - this._useQuerystring = value; - } - - set basePath(basePath: string) { - this._basePath = basePath; - } - - set defaultHeaders(defaultHeaders: any) { - this._defaultHeaders = defaultHeaders; - } - - get defaultHeaders() { - return this._defaultHeaders; - } - - get basePath() { - return this._basePath; - } - - public setDefaultAuthentication(auth: Authentication) { - this.authentications.default = auth; - } - - public setApiKey(key: EmailApiApiKeys, value: string) { - (this.authentications as any)[EmailApiApiKeys[key]].apiKey = value; - } - - set accessToken(accessToken: string | (() => string)) { - this.authentications.API_Key.accessToken = accessToken; - } - - public addInterceptor(interceptor: Interceptor) { - this.interceptors.push(interceptor); - } - - /** - * - * @summary Get email configuration by ID - * @param id - */ - public async emailControllerGetEmailConfigById( - id: string, - options: { headers: { [name: string]: string } } = { headers: {} } - ): Promise<{ response: http.IncomingMessage; body: EmailConfigResponse }> { - const localVarPath = - this.basePath + - '/email/config/{id}'.replace( - '{' + 'id' + '}', - encodeURIComponent(String(id)) - ); - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign( - {}, - this._defaultHeaders - ); - const produces = ['application/json']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - // verify required parameter 'id' is not null or undefined - if (id === null || id === undefined) { - throw new Error( - 'Required parameter id was null or undefined when calling emailControllerGetEmailConfigById.' - ); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'GET', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.API_Key.accessToken) { - authenticationPromise = authenticationPromise.then(() => - this.authentications.API_Key.applyToRequest(localVarRequestOptions) - ); - } - authenticationPromise = authenticationPromise.then(() => - this.authentications.default.applyToRequest(localVarRequestOptions) - ); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => - interceptor(localVarRequestOptions) - ); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ - response: http.IncomingMessage; - body: EmailConfigResponse; - }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if ( - response.statusCode && - response.statusCode >= 200 && - response.statusCode <= 299 - ) { - body = ObjectSerializer.deserialize(body, 'EmailConfigResponse'); - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Gets overall email analytics - * @param startDate The starting date of the statistics to retrieve. Must follow format YYYY-MM-DD - * @param limit The number of results to return - * @param offset The point in the list to begin retrieving results - * @param aggregatedBy How to group the statistics. Must be either \'day\', \'week\', or \'month\' - * @param endDate The end date of the statistics to retrieve. Defaults to today. Must follow format YYYY-MM-DD - */ - public async emailControllerGetStatistics( - startDate: string, - limit?: number, - offset?: number, - aggregatedBy?: AggregateInterval, - endDate?: string, - options: { headers: { [name: string]: string } } = { headers: {} } - ): Promise<{ - response: http.IncomingMessage; - body: SendEmailStatisticsResponses; - }> { - const localVarPath = this.basePath + '/email/analytics'; - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign( - {}, - this._defaultHeaders - ); - const produces = ['application/json']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - // verify required parameter 'startDate' is not null or undefined - if (startDate === null || startDate === undefined) { - throw new Error( - 'Required parameter startDate was null or undefined when calling emailControllerGetStatistics.' - ); - } - - if (startDate !== undefined) { - localVarQueryParameters['startDate'] = ObjectSerializer.serialize( - startDate, - 'string' - ); - } - - if (limit !== undefined) { - localVarQueryParameters['limit'] = ObjectSerializer.serialize( - limit, - 'number' - ); - } - - if (offset !== undefined) { - localVarQueryParameters['offset'] = ObjectSerializer.serialize( - offset, - 'number' - ); - } - - if (aggregatedBy !== undefined) { - localVarQueryParameters['aggregatedBy'] = ObjectSerializer.serialize( - aggregatedBy, - 'AggregateInterval' - ); - } - - if (endDate !== undefined) { - localVarQueryParameters['endDate'] = ObjectSerializer.serialize( - endDate, - 'string' - ); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'GET', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.API_Key.accessToken) { - authenticationPromise = authenticationPromise.then(() => - this.authentications.API_Key.applyToRequest(localVarRequestOptions) - ); - } - authenticationPromise = authenticationPromise.then(() => - this.authentications.default.applyToRequest(localVarRequestOptions) - ); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => - interceptor(localVarRequestOptions) - ); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ - response: http.IncomingMessage; - body: SendEmailStatisticsResponses; - }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if ( - response.statusCode && - response.statusCode >= 200 && - response.statusCode <= 299 - ) { - body = ObjectSerializer.deserialize( - body, - 'SendEmailStatisticsResponses' - ); - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Registers a sender domain with SendGrid. - * @param registerDomainModel - */ - public async emailControllerRegisterEmailDomain( - registerDomainModel: RegisterDomainModel, - options: { headers: { [name: string]: string } } = { headers: {} } - ): Promise<{ response: http.IncomingMessage; body: RegisterDomainResponse }> { - const localVarPath = this.basePath + '/email/register-domain'; - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign( - {}, - this._defaultHeaders - ); - const produces = ['application/json']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - // verify required parameter 'registerDomainModel' is not null or undefined - if (registerDomainModel === null || registerDomainModel === undefined) { - throw new Error( - 'Required parameter registerDomainModel was null or undefined when calling emailControllerRegisterEmailDomain.' - ); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'POST', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - body: ObjectSerializer.serialize( - registerDomainModel, - 'RegisterDomainModel' - ), - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.API_Key.accessToken) { - authenticationPromise = authenticationPromise.then(() => - this.authentications.API_Key.applyToRequest(localVarRequestOptions) - ); - } - authenticationPromise = authenticationPromise.then(() => - this.authentications.default.applyToRequest(localVarRequestOptions) - ); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => - interceptor(localVarRequestOptions) - ); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ - response: http.IncomingMessage; - body: RegisterDomainResponse; - }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if ( - response.statusCode && - response.statusCode >= 200 && - response.statusCode <= 299 - ) { - body = ObjectSerializer.deserialize( - body, - 'RegisterDomainResponse' - ); - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Registers a sender email address. - * @param registerEmailModel - */ - public async emailControllerRegisterSenderAddress( - registerEmailModel: RegisterEmailModel, - options: { headers: { [name: string]: string } } = { headers: {} } - ): Promise<{ response: http.IncomingMessage; body: RegisterEmailResponse }> { - const localVarPath = this.basePath + '/email/register-sender'; - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign( - {}, - this._defaultHeaders - ); - const produces = ['application/json']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - // verify required parameter 'registerEmailModel' is not null or undefined - if (registerEmailModel === null || registerEmailModel === undefined) { - throw new Error( - 'Required parameter registerEmailModel was null or undefined when calling emailControllerRegisterSenderAddress.' - ); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'POST', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - body: ObjectSerializer.serialize( - registerEmailModel, - 'RegisterEmailModel' - ), - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.API_Key.accessToken) { - authenticationPromise = authenticationPromise.then(() => - this.authentications.API_Key.applyToRequest(localVarRequestOptions) - ); - } - authenticationPromise = authenticationPromise.then(() => - this.authentications.default.applyToRequest(localVarRequestOptions) - ); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => - interceptor(localVarRequestOptions) - ); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ - response: http.IncomingMessage; - body: RegisterEmailResponse; - }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if ( - response.statusCode && - response.statusCode >= 200 && - response.statusCode <= 299 - ) { - body = ObjectSerializer.deserialize( - body, - 'RegisterEmailResponse' - ); - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Sends an email using Juno services. - * @param sendEmailModel - */ - public async emailControllerSendEmail( - sendEmailModel: SendEmailModel, - options: { headers: { [name: string]: string } } = { headers: {} } - ): Promise<{ response: http.IncomingMessage; body: SendEmailResponse }> { - const localVarPath = this.basePath + '/email/send'; - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign( - {}, - this._defaultHeaders - ); - const produces = ['application/json']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - // verify required parameter 'sendEmailModel' is not null or undefined - if (sendEmailModel === null || sendEmailModel === undefined) { - throw new Error( - 'Required parameter sendEmailModel was null or undefined when calling emailControllerSendEmail.' - ); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'POST', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - body: ObjectSerializer.serialize(sendEmailModel, 'SendEmailModel'), - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.API_Key.accessToken) { - authenticationPromise = authenticationPromise.then(() => - this.authentications.API_Key.applyToRequest(localVarRequestOptions) - ); - } - authenticationPromise = authenticationPromise.then(() => - this.authentications.default.applyToRequest(localVarRequestOptions) - ); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => - interceptor(localVarRequestOptions) - ); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ - response: http.IncomingMessage; - body: SendEmailResponse; - }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if ( - response.statusCode && - response.statusCode >= 200 && - response.statusCode <= 299 - ) { - body = ObjectSerializer.deserialize(body, 'SendEmailResponse'); - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Sets up an email service with the given Sendgrid API Key - * @param setupEmailServiceModel - */ - public async emailControllerSetup( - setupEmailServiceModel: SetupEmailServiceModel, - options: { headers: { [name: string]: string } } = { headers: {} } - ): Promise<{ response: http.IncomingMessage; body: SetupEmailResponse }> { - const localVarPath = this.basePath + '/email/setup'; - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign( - {}, - this._defaultHeaders - ); - const produces = ['application/json']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - // verify required parameter 'setupEmailServiceModel' is not null or undefined - if ( - setupEmailServiceModel === null || - setupEmailServiceModel === undefined - ) { - throw new Error( - 'Required parameter setupEmailServiceModel was null or undefined when calling emailControllerSetup.' - ); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'POST', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - body: ObjectSerializer.serialize( - setupEmailServiceModel, - 'SetupEmailServiceModel' - ), - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.API_Key.accessToken) { - authenticationPromise = authenticationPromise.then(() => - this.authentications.API_Key.applyToRequest(localVarRequestOptions) - ); - } - authenticationPromise = authenticationPromise.then(() => - this.authentications.default.applyToRequest(localVarRequestOptions) - ); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => - interceptor(localVarRequestOptions) - ); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ - response: http.IncomingMessage; - body: SetupEmailResponse; - }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if ( - response.statusCode && - response.statusCode >= 200 && - response.statusCode <= 299 - ) { - body = ObjectSerializer.deserialize(body, 'SetupEmailResponse'); - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Verifies a sender domain registration status. - * @param verifyDomainModel - */ - public async emailControllerVerifySenderDomain( - verifyDomainModel: VerifyDomainModel, - options: { headers: { [name: string]: string } } = { headers: {} } - ): Promise<{ response: http.IncomingMessage; body: RegisterDomainResponse }> { - const localVarPath = this.basePath + '/email/verify-domain'; - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign( - {}, - this._defaultHeaders - ); - const produces = ['application/json']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - // verify required parameter 'verifyDomainModel' is not null or undefined - if (verifyDomainModel === null || verifyDomainModel === undefined) { - throw new Error( - 'Required parameter verifyDomainModel was null or undefined when calling emailControllerVerifySenderDomain.' - ); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'POST', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - body: ObjectSerializer.serialize(verifyDomainModel, 'VerifyDomainModel'), - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.API_Key.accessToken) { - authenticationPromise = authenticationPromise.then(() => - this.authentications.API_Key.applyToRequest(localVarRequestOptions) - ); - } - authenticationPromise = authenticationPromise.then(() => - this.authentications.default.applyToRequest(localVarRequestOptions) - ); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => - interceptor(localVarRequestOptions) - ); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ - response: http.IncomingMessage; - body: RegisterDomainResponse; - }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if ( - response.statusCode && - response.statusCode >= 200 && - response.statusCode <= 299 - ) { - body = ObjectSerializer.deserialize( - body, - 'RegisterDomainResponse' - ); - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } -} diff --git a/src/internal/api/fileBucketApi.ts b/src/internal/api/fileBucketApi.ts deleted file mode 100644 index 704db1a..0000000 --- a/src/internal/api/fileBucketApi.ts +++ /dev/null @@ -1,399 +0,0 @@ -/** - * Juno - * Juno Public API Docs - * - * The version of the OpenAPI document: 1.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 localVarRequest from 'request'; -import http from 'http'; - -/* tslint:disable:no-unused-locals */ -import { DeleteFileBucketModel } from '../model/deleteFileBucketModel'; -import { FileBucket } from '../model/fileBucket'; -import { RegisterFileBucketModel } from '../model/registerFileBucketModel'; - -import { - ObjectSerializer, - Authentication, - VoidAuth, - Interceptor, -} from '../model/models'; -import { - HttpBasicAuth, - HttpBearerAuth, - ApiKeyAuth, - OAuth, -} from '../model/models'; - -import { HttpError, RequestFile } from './apis'; - -let defaultBasePath = 'http://localhost'; - -// =============================================== -// This file is autogenerated - Please do not edit -// =============================================== - -export enum FileBucketApiApiKeys {} - -export class FileBucketApi { - protected _basePath = defaultBasePath; - protected _defaultHeaders: any = {}; - protected _useQuerystring: boolean = false; - - protected authentications = { - default: new VoidAuth(), - API_Key: new HttpBearerAuth(), - }; - - protected interceptors: Interceptor[] = []; - - constructor(basePath?: string); - constructor( - basePathOrUsername: string, - password?: string, - basePath?: string - ) { - if (password) { - if (basePath) { - this.basePath = basePath; - } - } else { - if (basePathOrUsername) { - this.basePath = basePathOrUsername; - } - } - } - - set useQuerystring(value: boolean) { - this._useQuerystring = value; - } - - set basePath(basePath: string) { - this._basePath = basePath; - } - - set defaultHeaders(defaultHeaders: any) { - this._defaultHeaders = defaultHeaders; - } - - get defaultHeaders() { - return this._defaultHeaders; - } - - get basePath() { - return this._basePath; - } - - public setDefaultAuthentication(auth: Authentication) { - this.authentications.default = auth; - } - - public setApiKey(key: FileBucketApiApiKeys, value: string) { - (this.authentications as any)[FileBucketApiApiKeys[key]].apiKey = value; - } - - set accessToken(accessToken: string | (() => string)) { - this.authentications.API_Key.accessToken = accessToken; - } - - public addInterceptor(interceptor: Interceptor) { - this.interceptors.push(interceptor); - } - - /** - * - * @summary Delete a File Bucket. - * @param deleteFileBucketModel - */ - public async fileBucketControllerDeleteFileBucket( - deleteFileBucketModel: DeleteFileBucketModel, - options: { headers: { [name: string]: string } } = { headers: {} } - ): Promise<{ response: http.IncomingMessage; body: FileBucket }> { - const localVarPath = this.basePath + '/file/bucket'; - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign( - {}, - this._defaultHeaders - ); - const produces = ['application/json']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - // verify required parameter 'deleteFileBucketModel' is not null or undefined - if (deleteFileBucketModel === null || deleteFileBucketModel === undefined) { - throw new Error( - 'Required parameter deleteFileBucketModel was null or undefined when calling fileBucketControllerDeleteFileBucket.' - ); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'DELETE', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - body: ObjectSerializer.serialize( - deleteFileBucketModel, - 'DeleteFileBucketModel' - ), - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.API_Key.accessToken) { - authenticationPromise = authenticationPromise.then(() => - this.authentications.API_Key.applyToRequest(localVarRequestOptions) - ); - } - authenticationPromise = authenticationPromise.then(() => - this.authentications.default.applyToRequest(localVarRequestOptions) - ); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => - interceptor(localVarRequestOptions) - ); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body: FileBucket }>( - (resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if ( - response.statusCode && - response.statusCode >= 200 && - response.statusCode <= 299 - ) { - body = ObjectSerializer.deserialize(body, 'FileBucket'); - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - } - ); - }); - } - /** - * - * @summary Get File Buckets by Config Id and Config Env. - * @param configId - */ - public async fileBucketControllerGetBucketsByConfigIdAndEnv( - configId: string, - options: { headers: { [name: string]: string } } = { headers: {} } - ): Promise<{ response: http.IncomingMessage; body: Array }> { - const localVarPath = - this.basePath + - '/file/bucket/{configId}'.replace( - '{' + 'configId' + '}', - encodeURIComponent(String(configId)) - ); - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign( - {}, - this._defaultHeaders - ); - const produces = ['application/json']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - // verify required parameter 'configId' is not null or undefined - if (configId === null || configId === undefined) { - throw new Error( - 'Required parameter configId was null or undefined when calling fileBucketControllerGetBucketsByConfigIdAndEnv.' - ); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'GET', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.API_Key.accessToken) { - authenticationPromise = authenticationPromise.then(() => - this.authentications.API_Key.applyToRequest(localVarRequestOptions) - ); - } - authenticationPromise = authenticationPromise.then(() => - this.authentications.default.applyToRequest(localVarRequestOptions) - ); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => - interceptor(localVarRequestOptions) - ); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ - response: http.IncomingMessage; - body: Array; - }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if ( - response.statusCode && - response.statusCode >= 200 && - response.statusCode <= 299 - ) { - body = ObjectSerializer.deserialize(body, 'Array'); - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Registers a File Bucket. - * @param registerFileBucketModel - */ - public async fileBucketControllerRegisterFileBucket( - registerFileBucketModel: RegisterFileBucketModel, - options: { headers: { [name: string]: string } } = { headers: {} } - ): Promise<{ response: http.IncomingMessage; body: FileBucket }> { - const localVarPath = this.basePath + '/file/bucket'; - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign( - {}, - this._defaultHeaders - ); - const produces = ['application/json']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - // verify required parameter 'registerFileBucketModel' is not null or undefined - if ( - registerFileBucketModel === null || - registerFileBucketModel === undefined - ) { - throw new Error( - 'Required parameter registerFileBucketModel was null or undefined when calling fileBucketControllerRegisterFileBucket.' - ); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'POST', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - body: ObjectSerializer.serialize( - registerFileBucketModel, - 'RegisterFileBucketModel' - ), - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.API_Key.accessToken) { - authenticationPromise = authenticationPromise.then(() => - this.authentications.API_Key.applyToRequest(localVarRequestOptions) - ); - } - authenticationPromise = authenticationPromise.then(() => - this.authentications.default.applyToRequest(localVarRequestOptions) - ); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => - interceptor(localVarRequestOptions) - ); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body: FileBucket }>( - (resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if ( - response.statusCode && - response.statusCode >= 200 && - response.statusCode <= 299 - ) { - body = ObjectSerializer.deserialize(body, 'FileBucket'); - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - } - ); - }); - } -} diff --git a/src/internal/api/fileConfigApi.ts b/src/internal/api/fileConfigApi.ts deleted file mode 100644 index 8e2e9b6..0000000 --- a/src/internal/api/fileConfigApi.ts +++ /dev/null @@ -1,391 +0,0 @@ -/** - * Juno - * Juno Public API Docs - * - * The version of the OpenAPI document: 1.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 localVarRequest from 'request'; -import http from 'http'; - -/* tslint:disable:no-unused-locals */ -import { FileConfigResponse } from '../model/fileConfigResponse'; -import { SetupFileServiceResponse } from '../model/setupFileServiceResponse'; - -import { - ObjectSerializer, - Authentication, - VoidAuth, - Interceptor, -} from '../model/models'; -import { - HttpBasicAuth, - HttpBearerAuth, - ApiKeyAuth, - OAuth, -} from '../model/models'; - -import { HttpError, RequestFile } from './apis'; - -let defaultBasePath = 'http://localhost'; - -// =============================================== -// This file is autogenerated - Please do not edit -// =============================================== - -export enum FileConfigApiApiKeys {} - -export class FileConfigApi { - protected _basePath = defaultBasePath; - protected _defaultHeaders: any = {}; - protected _useQuerystring: boolean = false; - - protected authentications = { - default: new VoidAuth(), - API_Key: new HttpBearerAuth(), - }; - - protected interceptors: Interceptor[] = []; - - constructor(basePath?: string); - constructor( - basePathOrUsername: string, - password?: string, - basePath?: string - ) { - if (password) { - if (basePath) { - this.basePath = basePath; - } - } else { - if (basePathOrUsername) { - this.basePath = basePathOrUsername; - } - } - } - - set useQuerystring(value: boolean) { - this._useQuerystring = value; - } - - set basePath(basePath: string) { - this._basePath = basePath; - } - - set defaultHeaders(defaultHeaders: any) { - this._defaultHeaders = defaultHeaders; - } - - get defaultHeaders() { - return this._defaultHeaders; - } - - get basePath() { - return this._basePath; - } - - public setDefaultAuthentication(auth: Authentication) { - this.authentications.default = auth; - } - - public setApiKey(key: FileConfigApiApiKeys, value: string) { - (this.authentications as any)[FileConfigApiApiKeys[key]].apiKey = value; - } - - set accessToken(accessToken: string | (() => string)) { - this.authentications.API_Key.accessToken = accessToken; - } - - public addInterceptor(interceptor: Interceptor) { - this.interceptors.push(interceptor); - } - - /** - * - * @summary Delete file configuration by project ID - * @param projectId - */ - public async fileConfigControllerDeleteFileConfigByProjectId( - projectId: string, - options: { headers: { [name: string]: string } } = { headers: {} } - ): Promise<{ response: http.IncomingMessage; body: FileConfigResponse }> { - const localVarPath = - this.basePath + - '/file/config/delete/{projectId}'.replace( - '{' + 'projectId' + '}', - encodeURIComponent(String(projectId)) - ); - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign( - {}, - this._defaultHeaders - ); - const produces = ['application/json']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - // verify required parameter 'projectId' is not null or undefined - if (projectId === null || projectId === undefined) { - throw new Error( - 'Required parameter projectId was null or undefined when calling fileConfigControllerDeleteFileConfigByProjectId.' - ); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'DELETE', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.API_Key.accessToken) { - authenticationPromise = authenticationPromise.then(() => - this.authentications.API_Key.applyToRequest(localVarRequestOptions) - ); - } - authenticationPromise = authenticationPromise.then(() => - this.authentications.default.applyToRequest(localVarRequestOptions) - ); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => - interceptor(localVarRequestOptions) - ); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ - response: http.IncomingMessage; - body: FileConfigResponse; - }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if ( - response.statusCode && - response.statusCode >= 200 && - response.statusCode <= 299 - ) { - body = ObjectSerializer.deserialize(body, 'FileConfigResponse'); - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Get file configuration by project ID - * @param projectId - */ - public async fileConfigControllerGetFileConfigByProjectId( - projectId: string, - options: { headers: { [name: string]: string } } = { headers: {} } - ): Promise<{ response: http.IncomingMessage; body: FileConfigResponse }> { - const localVarPath = - this.basePath + - '/file/config/{projectId}'.replace( - '{' + 'projectId' + '}', - encodeURIComponent(String(projectId)) - ); - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign( - {}, - this._defaultHeaders - ); - const produces = ['application/json']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - // verify required parameter 'projectId' is not null or undefined - if (projectId === null || projectId === undefined) { - throw new Error( - 'Required parameter projectId was null or undefined when calling fileConfigControllerGetFileConfigByProjectId.' - ); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'GET', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.API_Key.accessToken) { - authenticationPromise = authenticationPromise.then(() => - this.authentications.API_Key.applyToRequest(localVarRequestOptions) - ); - } - authenticationPromise = authenticationPromise.then(() => - this.authentications.default.applyToRequest(localVarRequestOptions) - ); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => - interceptor(localVarRequestOptions) - ); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ - response: http.IncomingMessage; - body: FileConfigResponse; - }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if ( - response.statusCode && - response.statusCode >= 200 && - response.statusCode <= 299 - ) { - body = ObjectSerializer.deserialize(body, 'FileConfigResponse'); - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Sets up file services for the Project/Environment - */ - public async fileConfigControllerSetup( - options: { headers: { [name: string]: string } } = { headers: {} } - ): Promise<{ - response: http.IncomingMessage; - body: SetupFileServiceResponse; - }> { - const localVarPath = this.basePath + '/file/config/setup'; - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign( - {}, - this._defaultHeaders - ); - const produces = ['application/json']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'POST', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.API_Key.accessToken) { - authenticationPromise = authenticationPromise.then(() => - this.authentications.API_Key.applyToRequest(localVarRequestOptions) - ); - } - authenticationPromise = authenticationPromise.then(() => - this.authentications.default.applyToRequest(localVarRequestOptions) - ); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => - interceptor(localVarRequestOptions) - ); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ - response: http.IncomingMessage; - body: SetupFileServiceResponse; - }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if ( - response.statusCode && - response.statusCode >= 200 && - response.statusCode <= 299 - ) { - body = ObjectSerializer.deserialize( - body, - 'SetupFileServiceResponse' - ); - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } -} diff --git a/src/internal/api/fileDownloadApi.ts b/src/internal/api/fileDownloadApi.ts deleted file mode 100644 index 936a04c..0000000 --- a/src/internal/api/fileDownloadApi.ts +++ /dev/null @@ -1,201 +0,0 @@ -/** - * Juno - * Juno Public API Docs - * - * The version of the OpenAPI document: 1.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 localVarRequest from 'request'; -import http from 'http'; - -/* tslint:disable:no-unused-locals */ -import { DownloadFileModel } from '../model/downloadFileModel'; -import { DownloadFileResponse } from '../model/downloadFileResponse'; - -import { - ObjectSerializer, - Authentication, - VoidAuth, - Interceptor, -} from '../model/models'; -import { - HttpBasicAuth, - HttpBearerAuth, - ApiKeyAuth, - OAuth, -} from '../model/models'; - -import { HttpError, RequestFile } from './apis'; - -let defaultBasePath = 'http://localhost'; - -// =============================================== -// This file is autogenerated - Please do not edit -// =============================================== - -export enum FileDownloadApiApiKeys {} - -export class FileDownloadApi { - protected _basePath = defaultBasePath; - protected _defaultHeaders: any = {}; - protected _useQuerystring: boolean = false; - - protected authentications = { - default: new VoidAuth(), - API_Key: new HttpBearerAuth(), - }; - - protected interceptors: Interceptor[] = []; - - constructor(basePath?: string); - constructor( - basePathOrUsername: string, - password?: string, - basePath?: string - ) { - if (password) { - if (basePath) { - this.basePath = basePath; - } - } else { - if (basePathOrUsername) { - this.basePath = basePathOrUsername; - } - } - } - - set useQuerystring(value: boolean) { - this._useQuerystring = value; - } - - set basePath(basePath: string) { - this._basePath = basePath; - } - - set defaultHeaders(defaultHeaders: any) { - this._defaultHeaders = defaultHeaders; - } - - get defaultHeaders() { - return this._defaultHeaders; - } - - get basePath() { - return this._basePath; - } - - public setDefaultAuthentication(auth: Authentication) { - this.authentications.default = auth; - } - - public setApiKey(key: FileDownloadApiApiKeys, value: string) { - (this.authentications as any)[FileDownloadApiApiKeys[key]].apiKey = value; - } - - set accessToken(accessToken: string | (() => string)) { - this.authentications.API_Key.accessToken = accessToken; - } - - public addInterceptor(interceptor: Interceptor) { - this.interceptors.push(interceptor); - } - - /** - * - * @summary Downloads a file - * @param downloadFileModel - */ - public async fileDownloadControllerDownloadFile( - downloadFileModel: DownloadFileModel, - options: { headers: { [name: string]: string } } = { headers: {} } - ): Promise<{ response: http.IncomingMessage; body: DownloadFileResponse }> { - const localVarPath = this.basePath + '/file/download'; - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign( - {}, - this._defaultHeaders - ); - const produces = ['application/json']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - // verify required parameter 'downloadFileModel' is not null or undefined - if (downloadFileModel === null || downloadFileModel === undefined) { - throw new Error( - 'Required parameter downloadFileModel was null or undefined when calling fileDownloadControllerDownloadFile.' - ); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'POST', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - body: ObjectSerializer.serialize(downloadFileModel, 'DownloadFileModel'), - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.API_Key.accessToken) { - authenticationPromise = authenticationPromise.then(() => - this.authentications.API_Key.applyToRequest(localVarRequestOptions) - ); - } - authenticationPromise = authenticationPromise.then(() => - this.authentications.default.applyToRequest(localVarRequestOptions) - ); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => - interceptor(localVarRequestOptions) - ); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ - response: http.IncomingMessage; - body: DownloadFileResponse; - }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if ( - response.statusCode && - response.statusCode >= 200 && - response.statusCode <= 299 - ) { - body = ObjectSerializer.deserialize(body, 'DownloadFileResponse'); - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } -} diff --git a/src/internal/api/fileProviderApi.ts b/src/internal/api/fileProviderApi.ts deleted file mode 100644 index 03e935b..0000000 --- a/src/internal/api/fileProviderApi.ts +++ /dev/null @@ -1,388 +0,0 @@ -/** - * Juno - * Juno Public API Docs - * - * The version of the OpenAPI document: 1.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 localVarRequest from 'request'; -import http from 'http'; - -/* tslint:disable:no-unused-locals */ -import { FileProvider } from '../model/fileProvider'; -import { FileProviderPartial } from '../model/fileProviderPartial'; -import { RegisterFileProviderModel } from '../model/registerFileProviderModel'; - -import { - ObjectSerializer, - Authentication, - VoidAuth, - Interceptor, -} from '../model/models'; -import { - HttpBasicAuth, - HttpBearerAuth, - ApiKeyAuth, - OAuth, -} from '../model/models'; - -import { HttpError, RequestFile } from './apis'; - -let defaultBasePath = 'http://localhost'; - -// =============================================== -// This file is autogenerated - Please do not edit -// =============================================== - -export enum FileProviderApiApiKeys {} - -export class FileProviderApi { - protected _basePath = defaultBasePath; - protected _defaultHeaders: any = {}; - protected _useQuerystring: boolean = false; - - protected authentications = { - default: new VoidAuth(), - API_Key: new HttpBearerAuth(), - }; - - protected interceptors: Interceptor[] = []; - - constructor(basePath?: string); - constructor( - basePathOrUsername: string, - password?: string, - basePath?: string - ) { - if (password) { - if (basePath) { - this.basePath = basePath; - } - } else { - if (basePathOrUsername) { - this.basePath = basePathOrUsername; - } - } - } - - set useQuerystring(value: boolean) { - this._useQuerystring = value; - } - - set basePath(basePath: string) { - this._basePath = basePath; - } - - set defaultHeaders(defaultHeaders: any) { - this._defaultHeaders = defaultHeaders; - } - - get defaultHeaders() { - return this._defaultHeaders; - } - - get basePath() { - return this._basePath; - } - - public setDefaultAuthentication(auth: Authentication) { - this.authentications.default = auth; - } - - public setApiKey(key: FileProviderApiApiKeys, value: string) { - (this.authentications as any)[FileProviderApiApiKeys[key]].apiKey = value; - } - - set accessToken(accessToken: string | (() => string)) { - this.authentications.API_Key.accessToken = accessToken; - } - - public addInterceptor(interceptor: Interceptor) { - this.interceptors.push(interceptor); - } - - /** - * - * @summary Delete File Provider. - * @param name - */ - public async fileProviderControllerDeleteFileProvider( - name: string, - options: { headers: { [name: string]: string } } = { headers: {} } - ): Promise<{ response: http.IncomingMessage; body: FileProviderPartial }> { - const localVarPath = - this.basePath + - '/file/provider/{name}'.replace( - '{' + 'name' + '}', - encodeURIComponent(String(name)) - ); - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign( - {}, - this._defaultHeaders - ); - const produces = ['application/json']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - // verify required parameter 'name' is not null or undefined - if (name === null || name === undefined) { - throw new Error( - 'Required parameter name was null or undefined when calling fileProviderControllerDeleteFileProvider.' - ); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'DELETE', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.API_Key.accessToken) { - authenticationPromise = authenticationPromise.then(() => - this.authentications.API_Key.applyToRequest(localVarRequestOptions) - ); - } - authenticationPromise = authenticationPromise.then(() => - this.authentications.default.applyToRequest(localVarRequestOptions) - ); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => - interceptor(localVarRequestOptions) - ); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ - response: http.IncomingMessage; - body: FileProviderPartial; - }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if ( - response.statusCode && - response.statusCode >= 200 && - response.statusCode <= 299 - ) { - body = ObjectSerializer.deserialize(body, 'FileProviderPartial'); - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Get All File Providers. - */ - public async fileProviderControllerGetAllFileProviders( - options: { headers: { [name: string]: string } } = { headers: {} } - ): Promise<{ response: http.IncomingMessage; body: Array }> { - const localVarPath = this.basePath + '/file/provider/all'; - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign( - {}, - this._defaultHeaders - ); - const produces = ['application/json']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'GET', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.API_Key.accessToken) { - authenticationPromise = authenticationPromise.then(() => - this.authentications.API_Key.applyToRequest(localVarRequestOptions) - ); - } - authenticationPromise = authenticationPromise.then(() => - this.authentications.default.applyToRequest(localVarRequestOptions) - ); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => - interceptor(localVarRequestOptions) - ); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ - response: http.IncomingMessage; - body: Array; - }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if ( - response.statusCode && - response.statusCode >= 200 && - response.statusCode <= 299 - ) { - body = ObjectSerializer.deserialize(body, 'Array'); - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Registers a File Provider. - * @param registerFileProviderModel - */ - public async fileProviderControllerRegisterFileProvider( - registerFileProviderModel: RegisterFileProviderModel, - options: { headers: { [name: string]: string } } = { headers: {} } - ): Promise<{ response: http.IncomingMessage; body: FileProviderPartial }> { - const localVarPath = this.basePath + '/file/provider'; - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign( - {}, - this._defaultHeaders - ); - const produces = ['application/json']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - // verify required parameter 'registerFileProviderModel' is not null or undefined - if ( - registerFileProviderModel === null || - registerFileProviderModel === undefined - ) { - throw new Error( - 'Required parameter registerFileProviderModel was null or undefined when calling fileProviderControllerRegisterFileProvider.' - ); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'POST', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - body: ObjectSerializer.serialize( - registerFileProviderModel, - 'RegisterFileProviderModel' - ), - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.API_Key.accessToken) { - authenticationPromise = authenticationPromise.then(() => - this.authentications.API_Key.applyToRequest(localVarRequestOptions) - ); - } - authenticationPromise = authenticationPromise.then(() => - this.authentications.default.applyToRequest(localVarRequestOptions) - ); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => - interceptor(localVarRequestOptions) - ); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ - response: http.IncomingMessage; - body: FileProviderPartial; - }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if ( - response.statusCode && - response.statusCode >= 200 && - response.statusCode <= 299 - ) { - body = ObjectSerializer.deserialize(body, 'FileProviderPartial'); - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } -} diff --git a/src/internal/api/fileUploadApi.ts b/src/internal/api/fileUploadApi.ts deleted file mode 100644 index ad83337..0000000 --- a/src/internal/api/fileUploadApi.ts +++ /dev/null @@ -1,201 +0,0 @@ -/** - * Juno - * Juno Public API Docs - * - * The version of the OpenAPI document: 1.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 localVarRequest from 'request'; -import http from 'http'; - -/* tslint:disable:no-unused-locals */ -import { UploadFileModel } from '../model/uploadFileModel'; -import { UploadFileResponse } from '../model/uploadFileResponse'; - -import { - ObjectSerializer, - Authentication, - VoidAuth, - Interceptor, -} from '../model/models'; -import { - HttpBasicAuth, - HttpBearerAuth, - ApiKeyAuth, - OAuth, -} from '../model/models'; - -import { HttpError, RequestFile } from './apis'; - -let defaultBasePath = 'http://localhost'; - -// =============================================== -// This file is autogenerated - Please do not edit -// =============================================== - -export enum FileUploadApiApiKeys {} - -export class FileUploadApi { - protected _basePath = defaultBasePath; - protected _defaultHeaders: any = {}; - protected _useQuerystring: boolean = false; - - protected authentications = { - default: new VoidAuth(), - API_Key: new HttpBearerAuth(), - }; - - protected interceptors: Interceptor[] = []; - - constructor(basePath?: string); - constructor( - basePathOrUsername: string, - password?: string, - basePath?: string - ) { - if (password) { - if (basePath) { - this.basePath = basePath; - } - } else { - if (basePathOrUsername) { - this.basePath = basePathOrUsername; - } - } - } - - set useQuerystring(value: boolean) { - this._useQuerystring = value; - } - - set basePath(basePath: string) { - this._basePath = basePath; - } - - set defaultHeaders(defaultHeaders: any) { - this._defaultHeaders = defaultHeaders; - } - - get defaultHeaders() { - return this._defaultHeaders; - } - - get basePath() { - return this._basePath; - } - - public setDefaultAuthentication(auth: Authentication) { - this.authentications.default = auth; - } - - public setApiKey(key: FileUploadApiApiKeys, value: string) { - (this.authentications as any)[FileUploadApiApiKeys[key]].apiKey = value; - } - - set accessToken(accessToken: string | (() => string)) { - this.authentications.API_Key.accessToken = accessToken; - } - - public addInterceptor(interceptor: Interceptor) { - this.interceptors.push(interceptor); - } - - /** - * - * @summary Upload a file to a File Storage Provider\'s Bucket - * @param uploadFileModel - */ - public async fileUploadControllerUploadFile( - uploadFileModel: UploadFileModel, - options: { headers: { [name: string]: string } } = { headers: {} } - ): Promise<{ response: http.IncomingMessage; body: UploadFileResponse }> { - const localVarPath = this.basePath + '/file/upload'; - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign( - {}, - this._defaultHeaders - ); - const produces = ['application/json']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - // verify required parameter 'uploadFileModel' is not null or undefined - if (uploadFileModel === null || uploadFileModel === undefined) { - throw new Error( - 'Required parameter uploadFileModel was null or undefined when calling fileUploadControllerUploadFile.' - ); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'POST', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - body: ObjectSerializer.serialize(uploadFileModel, 'UploadFileModel'), - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.API_Key.accessToken) { - authenticationPromise = authenticationPromise.then(() => - this.authentications.API_Key.applyToRequest(localVarRequestOptions) - ); - } - authenticationPromise = authenticationPromise.then(() => - this.authentications.default.applyToRequest(localVarRequestOptions) - ); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => - interceptor(localVarRequestOptions) - ); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ - response: http.IncomingMessage; - body: UploadFileResponse; - }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if ( - response.statusCode && - response.statusCode >= 200 && - response.statusCode <= 299 - ) { - body = ObjectSerializer.deserialize(body, 'UploadFileResponse'); - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } -} diff --git a/src/internal/api/projectApi.ts b/src/internal/api/projectApi.ts deleted file mode 100644 index 457d960..0000000 --- a/src/internal/api/projectApi.ts +++ /dev/null @@ -1,912 +0,0 @@ -/** - * Juno - * Juno Public API Docs - * - * The version of the OpenAPI document: 1.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 localVarRequest from 'request'; -import http from 'http'; - -/* tslint:disable:no-unused-locals */ -import { CreateProjectModel } from '../model/createProjectModel'; -import { LinkUserModel } from '../model/linkUserModel'; -import { ProjectResponse } from '../model/projectResponse'; -import { UserResponses } from '../model/userResponses'; - -import { - ObjectSerializer, - Authentication, - VoidAuth, - Interceptor, -} from '../model/models'; -import { - HttpBasicAuth, - HttpBearerAuth, - ApiKeyAuth, - OAuth, -} from '../model/models'; - -import { HttpError, RequestFile } from './apis'; - -let defaultBasePath = 'http://localhost'; - -// =============================================== -// This file is autogenerated - Please do not edit -// =============================================== - -export enum ProjectApiApiKeys {} - -export class ProjectApi { - protected _basePath = defaultBasePath; - protected _defaultHeaders: any = {}; - protected _useQuerystring: boolean = false; - - protected authentications = { - default: new VoidAuth(), - API_Key: new HttpBearerAuth(), - }; - - protected interceptors: Interceptor[] = []; - - constructor(basePath?: string); - constructor( - basePathOrUsername: string, - password?: string, - basePath?: string - ) { - if (password) { - if (basePath) { - this.basePath = basePath; - } - } else { - if (basePathOrUsername) { - this.basePath = basePathOrUsername; - } - } - } - - set useQuerystring(value: boolean) { - this._useQuerystring = value; - } - - set basePath(basePath: string) { - this._basePath = basePath; - } - - set defaultHeaders(defaultHeaders: any) { - this._defaultHeaders = defaultHeaders; - } - - get defaultHeaders() { - return this._defaultHeaders; - } - - get basePath() { - return this._basePath; - } - - public setDefaultAuthentication(auth: Authentication) { - this.authentications.default = auth; - } - - public setApiKey(key: ProjectApiApiKeys, value: string) { - (this.authentications as any)[ProjectApiApiKeys[key]].apiKey = value; - } - - set accessToken(accessToken: string | (() => string)) { - this.authentications.API_Key.accessToken = accessToken; - } - - public addInterceptor(interceptor: Interceptor) { - this.interceptors.push(interceptor); - } - - /** - * - * @summary Creates a new project with the specified parameters. - * @param createProjectModel - * @param xUserPassword Password of the admin or superadmin user - * @param xUserEmail Email of an admin or superadmin user - */ - public async projectControllerCreateProject( - createProjectModel: CreateProjectModel, - xUserPassword?: string, - xUserEmail?: string, - options: { headers: { [name: string]: string } } = { headers: {} } - ): Promise<{ response: http.IncomingMessage; body: ProjectResponse }> { - const localVarPath = this.basePath + '/project'; - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign( - {}, - this._defaultHeaders - ); - const produces = ['application/json']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - // verify required parameter 'createProjectModel' is not null or undefined - if (createProjectModel === null || createProjectModel === undefined) { - throw new Error( - 'Required parameter createProjectModel was null or undefined when calling projectControllerCreateProject.' - ); - } - - localVarHeaderParams['X-User-Password'] = ObjectSerializer.serialize( - xUserPassword, - 'string' - ); - localVarHeaderParams['X-User-Email'] = ObjectSerializer.serialize( - xUserEmail, - 'string' - ); - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'POST', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - body: ObjectSerializer.serialize( - createProjectModel, - 'CreateProjectModel' - ), - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.API_Key.accessToken) { - authenticationPromise = authenticationPromise.then(() => - this.authentications.API_Key.applyToRequest(localVarRequestOptions) - ); - } - authenticationPromise = authenticationPromise.then(() => - this.authentications.default.applyToRequest(localVarRequestOptions) - ); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => - interceptor(localVarRequestOptions) - ); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ - response: http.IncomingMessage; - body: ProjectResponse; - }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if ( - response.statusCode && - response.statusCode >= 200 && - response.statusCode <= 299 - ) { - body = ObjectSerializer.deserialize(body, 'ProjectResponse'); - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Delete an existing project. - * @param id ID of the project to be deleted - * @param xUserPassword Password of the admin or superadmin user - * @param xUserEmail Email of an admin or superadmin user - */ - public async projectControllerDeleteProjectById( - id: string, - xUserPassword?: string, - xUserEmail?: string, - options: { headers: { [name: string]: string } } = { headers: {} } - ): Promise<{ response: http.IncomingMessage; body: ProjectResponse }> { - const localVarPath = - this.basePath + - '/project/id/{id}'.replace( - '{' + 'id' + '}', - encodeURIComponent(String(id)) - ); - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign( - {}, - this._defaultHeaders - ); - const produces = ['application/json']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - // verify required parameter 'id' is not null or undefined - if (id === null || id === undefined) { - throw new Error( - 'Required parameter id was null or undefined when calling projectControllerDeleteProjectById.' - ); - } - - localVarHeaderParams['X-User-Password'] = ObjectSerializer.serialize( - xUserPassword, - 'string' - ); - localVarHeaderParams['X-User-Email'] = ObjectSerializer.serialize( - xUserEmail, - 'string' - ); - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'DELETE', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.API_Key.accessToken) { - authenticationPromise = authenticationPromise.then(() => - this.authentications.API_Key.applyToRequest(localVarRequestOptions) - ); - } - authenticationPromise = authenticationPromise.then(() => - this.authentications.default.applyToRequest(localVarRequestOptions) - ); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => - interceptor(localVarRequestOptions) - ); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ - response: http.IncomingMessage; - body: ProjectResponse; - }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if ( - response.statusCode && - response.statusCode >= 200 && - response.statusCode <= 299 - ) { - body = ObjectSerializer.deserialize(body, 'ProjectResponse'); - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Retrieves all projects. - * @param xUserPassword Password of the admin or superadmin user - * @param xUserEmail Email of an admin or superadmin user - */ - public async projectControllerGetAllProjects( - xUserPassword?: string, - xUserEmail?: string, - options: { headers: { [name: string]: string } } = { headers: {} } - ): Promise<{ response: http.IncomingMessage; body?: any }> { - const localVarPath = this.basePath + '/project'; - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign( - {}, - this._defaultHeaders - ); - let localVarFormParams: any = {}; - - localVarHeaderParams['X-User-Password'] = ObjectSerializer.serialize( - xUserPassword, - 'string' - ); - localVarHeaderParams['X-User-Email'] = ObjectSerializer.serialize( - xUserEmail, - 'string' - ); - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'GET', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.API_Key.accessToken) { - authenticationPromise = authenticationPromise.then(() => - this.authentications.API_Key.applyToRequest(localVarRequestOptions) - ); - } - authenticationPromise = authenticationPromise.then(() => - this.authentications.default.applyToRequest(localVarRequestOptions) - ); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => - interceptor(localVarRequestOptions) - ); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body?: any }>( - (resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if ( - response.statusCode && - response.statusCode >= 200 && - response.statusCode <= 299 - ) { - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - } - ); - }); - } - /** - * - * @summary Retrieves a project by its unique ID. - * @param id - */ - public async projectControllerGetProjectById( - id: string, - options: { headers: { [name: string]: string } } = { headers: {} } - ): Promise<{ response: http.IncomingMessage; body: ProjectResponse }> { - const localVarPath = - this.basePath + - '/project/id/{id}'.replace( - '{' + 'id' + '}', - encodeURIComponent(String(id)) - ); - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign( - {}, - this._defaultHeaders - ); - const produces = ['application/json']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - // verify required parameter 'id' is not null or undefined - if (id === null || id === undefined) { - throw new Error( - 'Required parameter id was null or undefined when calling projectControllerGetProjectById.' - ); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'GET', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.API_Key.accessToken) { - authenticationPromise = authenticationPromise.then(() => - this.authentications.API_Key.applyToRequest(localVarRequestOptions) - ); - } - authenticationPromise = authenticationPromise.then(() => - this.authentications.default.applyToRequest(localVarRequestOptions) - ); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => - interceptor(localVarRequestOptions) - ); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ - response: http.IncomingMessage; - body: ProjectResponse; - }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if ( - response.statusCode && - response.statusCode >= 200 && - response.statusCode <= 299 - ) { - body = ObjectSerializer.deserialize(body, 'ProjectResponse'); - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Retrieves a project by its unique name. - * @param name - */ - public async projectControllerGetProjectByName( - name: string, - options: { headers: { [name: string]: string } } = { headers: {} } - ): Promise<{ response: http.IncomingMessage; body: ProjectResponse }> { - const localVarPath = - this.basePath + - '/project/name/{name}'.replace( - '{' + 'name' + '}', - encodeURIComponent(String(name)) - ); - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign( - {}, - this._defaultHeaders - ); - const produces = ['application/json']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - // verify required parameter 'name' is not null or undefined - if (name === null || name === undefined) { - throw new Error( - 'Required parameter name was null or undefined when calling projectControllerGetProjectByName.' - ); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'GET', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.API_Key.accessToken) { - authenticationPromise = authenticationPromise.then(() => - this.authentications.API_Key.applyToRequest(localVarRequestOptions) - ); - } - authenticationPromise = authenticationPromise.then(() => - this.authentications.default.applyToRequest(localVarRequestOptions) - ); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => - interceptor(localVarRequestOptions) - ); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ - response: http.IncomingMessage; - body: ProjectResponse; - }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if ( - response.statusCode && - response.statusCode >= 200 && - response.statusCode <= 299 - ) { - body = ObjectSerializer.deserialize(body, 'ProjectResponse'); - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Retrieve all users associated with a project. - * @param id - * @param xUserPassword Password of the admin or superadmin user - * @param xUserEmail Email of an admin or superadmin user - */ - public async projectControllerGetUsersByProject( - id: string, - xUserPassword?: string, - xUserEmail?: string, - options: { headers: { [name: string]: string } } = { headers: {} } - ): Promise<{ response: http.IncomingMessage; body: UserResponses }> { - const localVarPath = - this.basePath + - '/project/{id}/users'.replace( - '{' + 'id' + '}', - encodeURIComponent(String(id)) - ); - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign( - {}, - this._defaultHeaders - ); - const produces = ['application/json']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - // verify required parameter 'id' is not null or undefined - if (id === null || id === undefined) { - throw new Error( - 'Required parameter id was null or undefined when calling projectControllerGetUsersByProject.' - ); - } - - localVarHeaderParams['X-User-Password'] = ObjectSerializer.serialize( - xUserPassword, - 'string' - ); - localVarHeaderParams['X-User-Email'] = ObjectSerializer.serialize( - xUserEmail, - 'string' - ); - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'GET', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.API_Key.accessToken) { - authenticationPromise = authenticationPromise.then(() => - this.authentications.API_Key.applyToRequest(localVarRequestOptions) - ); - } - authenticationPromise = authenticationPromise.then(() => - this.authentications.default.applyToRequest(localVarRequestOptions) - ); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => - interceptor(localVarRequestOptions) - ); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ - response: http.IncomingMessage; - body: UserResponses; - }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if ( - response.statusCode && - response.statusCode >= 200 && - response.statusCode <= 299 - ) { - body = ObjectSerializer.deserialize(body, 'UserResponses'); - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Links a specified user with a given project ID. - * @param id - * @param linkUserModel - */ - public async projectControllerLinkUserWithProjectId( - id: number, - linkUserModel: LinkUserModel, - options: { headers: { [name: string]: string } } = { headers: {} } - ): Promise<{ response: http.IncomingMessage; body?: any }> { - const localVarPath = - this.basePath + - '/project/id/{id}/user'.replace( - '{' + 'id' + '}', - encodeURIComponent(String(id)) - ); - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign( - {}, - this._defaultHeaders - ); - let localVarFormParams: any = {}; - - // verify required parameter 'id' is not null or undefined - if (id === null || id === undefined) { - throw new Error( - 'Required parameter id was null or undefined when calling projectControllerLinkUserWithProjectId.' - ); - } - - // verify required parameter 'linkUserModel' is not null or undefined - if (linkUserModel === null || linkUserModel === undefined) { - throw new Error( - 'Required parameter linkUserModel was null or undefined when calling projectControllerLinkUserWithProjectId.' - ); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'PUT', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - body: ObjectSerializer.serialize(linkUserModel, 'LinkUserModel'), - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.API_Key.accessToken) { - authenticationPromise = authenticationPromise.then(() => - this.authentications.API_Key.applyToRequest(localVarRequestOptions) - ); - } - authenticationPromise = authenticationPromise.then(() => - this.authentications.default.applyToRequest(localVarRequestOptions) - ); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => - interceptor(localVarRequestOptions) - ); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body?: any }>( - (resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if ( - response.statusCode && - response.statusCode >= 200 && - response.statusCode <= 299 - ) { - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - } - ); - }); - } - /** - * - * @summary Links a specified user with a given project name. - * @param name - * @param linkUserModel - */ - public async projectControllerLinkUserWithProjectName( - name: string, - linkUserModel: LinkUserModel, - options: { headers: { [name: string]: string } } = { headers: {} } - ): Promise<{ response: http.IncomingMessage; body?: any }> { - const localVarPath = - this.basePath + - '/project/name/{name}/user'.replace( - '{' + 'name' + '}', - encodeURIComponent(String(name)) - ); - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign( - {}, - this._defaultHeaders - ); - let localVarFormParams: any = {}; - - // verify required parameter 'name' is not null or undefined - if (name === null || name === undefined) { - throw new Error( - 'Required parameter name was null or undefined when calling projectControllerLinkUserWithProjectName.' - ); - } - - // verify required parameter 'linkUserModel' is not null or undefined - if (linkUserModel === null || linkUserModel === undefined) { - throw new Error( - 'Required parameter linkUserModel was null or undefined when calling projectControllerLinkUserWithProjectName.' - ); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'PUT', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - body: ObjectSerializer.serialize(linkUserModel, 'LinkUserModel'), - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.API_Key.accessToken) { - authenticationPromise = authenticationPromise.then(() => - this.authentications.API_Key.applyToRequest(localVarRequestOptions) - ); - } - authenticationPromise = authenticationPromise.then(() => - this.authentications.default.applyToRequest(localVarRequestOptions) - ); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => - interceptor(localVarRequestOptions) - ); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body?: any }>( - (resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if ( - response.statusCode && - response.statusCode >= 200 && - response.statusCode <= 299 - ) { - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - } - ); - }); - } -} diff --git a/src/internal/api/userApi.ts b/src/internal/api/userApi.ts deleted file mode 100644 index 1c63e49..0000000 --- a/src/internal/api/userApi.ts +++ /dev/null @@ -1,840 +0,0 @@ -/** - * Juno - * Juno Public API Docs - * - * The version of the OpenAPI document: 1.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 localVarRequest from 'request'; -import http from 'http'; - -/* tslint:disable:no-unused-locals */ -import { CreateUserModel } from '../model/createUserModel'; -import { LinkProjectModel } from '../model/linkProjectModel'; -import { SetUserTypeModel } from '../model/setUserTypeModel'; -import { UnlinkProjectModel } from '../model/unlinkProjectModel'; -import { UserResponse } from '../model/userResponse'; -import { UserResponses } from '../model/userResponses'; - -import { - ObjectSerializer, - Authentication, - VoidAuth, - Interceptor, -} from '../model/models'; -import { - HttpBasicAuth, - HttpBearerAuth, - ApiKeyAuth, - OAuth, -} from '../model/models'; - -import { HttpError, RequestFile } from './apis'; - -let defaultBasePath = 'http://localhost'; - -// =============================================== -// This file is autogenerated - Please do not edit -// =============================================== - -export enum UserApiApiKeys {} - -export class UserApi { - protected _basePath = defaultBasePath; - protected _defaultHeaders: any = {}; - protected _useQuerystring: boolean = false; - - protected authentications = { - default: new VoidAuth(), - API_Key: new HttpBearerAuth(), - }; - - protected interceptors: Interceptor[] = []; - - constructor(basePath?: string); - constructor( - basePathOrUsername: string, - password?: string, - basePath?: string - ) { - if (password) { - if (basePath) { - this.basePath = basePath; - } - } else { - if (basePathOrUsername) { - this.basePath = basePathOrUsername; - } - } - } - - set useQuerystring(value: boolean) { - this._useQuerystring = value; - } - - set basePath(basePath: string) { - this._basePath = basePath; - } - - set defaultHeaders(defaultHeaders: any) { - this._defaultHeaders = defaultHeaders; - } - - get defaultHeaders() { - return this._defaultHeaders; - } - - get basePath() { - return this._basePath; - } - - public setDefaultAuthentication(auth: Authentication) { - this.authentications.default = auth; - } - - public setApiKey(key: UserApiApiKeys, value: string) { - (this.authentications as any)[UserApiApiKeys[key]].apiKey = value; - } - - set accessToken(accessToken: string | (() => string)) { - this.authentications.API_Key.accessToken = accessToken; - } - - public addInterceptor(interceptor: Interceptor) { - this.interceptors.push(interceptor); - } - - /** - * - * @summary Create a new user. - * @param createUserModel The user details - * @param xUserPassword Password of the admin or superadmin user - * @param xUserEmail Email of an admin or superadmin user - */ - public async userControllerCreateUser( - createUserModel: CreateUserModel, - xUserPassword?: string, - xUserEmail?: string, - options: { headers: { [name: string]: string } } = { headers: {} } - ): Promise<{ response: http.IncomingMessage; body: UserResponse }> { - const localVarPath = this.basePath + '/user'; - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign( - {}, - this._defaultHeaders - ); - const produces = ['application/json']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - // verify required parameter 'createUserModel' is not null or undefined - if (createUserModel === null || createUserModel === undefined) { - throw new Error( - 'Required parameter createUserModel was null or undefined when calling userControllerCreateUser.' - ); - } - - localVarHeaderParams['X-User-Password'] = ObjectSerializer.serialize( - xUserPassword, - 'string' - ); - localVarHeaderParams['X-User-Email'] = ObjectSerializer.serialize( - xUserEmail, - 'string' - ); - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'POST', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - body: ObjectSerializer.serialize(createUserModel, 'CreateUserModel'), - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.API_Key.accessToken) { - authenticationPromise = authenticationPromise.then(() => - this.authentications.API_Key.applyToRequest(localVarRequestOptions) - ); - } - authenticationPromise = authenticationPromise.then(() => - this.authentications.default.applyToRequest(localVarRequestOptions) - ); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => - interceptor(localVarRequestOptions) - ); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ - response: http.IncomingMessage; - body: UserResponse; - }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if ( - response.statusCode && - response.statusCode >= 200 && - response.statusCode <= 299 - ) { - body = ObjectSerializer.deserialize(body, 'UserResponse'); - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Delete an existing user. - * @param id ID of the user to be deleted - * @param xUserPassword Password of the admin or superadmin user - * @param xUserEmail Email of an admin or superadmin user - */ - public async userControllerDeleteUserById( - id: string, - xUserPassword?: string, - xUserEmail?: string, - options: { headers: { [name: string]: string } } = { headers: {} } - ): Promise<{ response: http.IncomingMessage; body: UserResponse }> { - const localVarPath = - this.basePath + - '/user/id/{id}'.replace('{' + 'id' + '}', encodeURIComponent(String(id))); - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign( - {}, - this._defaultHeaders - ); - const produces = ['application/json']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - // verify required parameter 'id' is not null or undefined - if (id === null || id === undefined) { - throw new Error( - 'Required parameter id was null or undefined when calling userControllerDeleteUserById.' - ); - } - - localVarHeaderParams['X-User-Password'] = ObjectSerializer.serialize( - xUserPassword, - 'string' - ); - localVarHeaderParams['X-User-Email'] = ObjectSerializer.serialize( - xUserEmail, - 'string' - ); - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'DELETE', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.API_Key.accessToken) { - authenticationPromise = authenticationPromise.then(() => - this.authentications.API_Key.applyToRequest(localVarRequestOptions) - ); - } - authenticationPromise = authenticationPromise.then(() => - this.authentications.default.applyToRequest(localVarRequestOptions) - ); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => - interceptor(localVarRequestOptions) - ); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ - response: http.IncomingMessage; - body: UserResponse; - }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if ( - response.statusCode && - response.statusCode >= 200 && - response.statusCode <= 299 - ) { - body = ObjectSerializer.deserialize(body, 'UserResponse'); - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Retrieves all users. - * @param xUserPassword Password of the admin or superadmin user - * @param xUserEmail Email of an admin or superadmin user - */ - public async userControllerGetAllUsers( - xUserPassword?: string, - xUserEmail?: string, - options: { headers: { [name: string]: string } } = { headers: {} } - ): Promise<{ response: http.IncomingMessage; body: UserResponses }> { - const localVarPath = this.basePath + '/user'; - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign( - {}, - this._defaultHeaders - ); - const produces = ['application/json']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - localVarHeaderParams['X-User-Password'] = ObjectSerializer.serialize( - xUserPassword, - 'string' - ); - localVarHeaderParams['X-User-Email'] = ObjectSerializer.serialize( - xUserEmail, - 'string' - ); - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'GET', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.API_Key.accessToken) { - authenticationPromise = authenticationPromise.then(() => - this.authentications.API_Key.applyToRequest(localVarRequestOptions) - ); - } - authenticationPromise = authenticationPromise.then(() => - this.authentications.default.applyToRequest(localVarRequestOptions) - ); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => - interceptor(localVarRequestOptions) - ); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ - response: http.IncomingMessage; - body: UserResponses; - }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if ( - response.statusCode && - response.statusCode >= 200 && - response.statusCode <= 299 - ) { - body = ObjectSerializer.deserialize(body, 'UserResponses'); - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Retrieve an existing user. - * @param id The unique identifier of the user - */ - public async userControllerGetUserById( - id: string, - options: { headers: { [name: string]: string } } = { headers: {} } - ): Promise<{ response: http.IncomingMessage; body: UserResponse }> { - const localVarPath = - this.basePath + - '/user/id/{id}'.replace('{' + 'id' + '}', encodeURIComponent(String(id))); - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign( - {}, - this._defaultHeaders - ); - const produces = ['application/json']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - // verify required parameter 'id' is not null or undefined - if (id === null || id === undefined) { - throw new Error( - 'Required parameter id was null or undefined when calling userControllerGetUserById.' - ); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'GET', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.API_Key.accessToken) { - authenticationPromise = authenticationPromise.then(() => - this.authentications.API_Key.applyToRequest(localVarRequestOptions) - ); - } - authenticationPromise = authenticationPromise.then(() => - this.authentications.default.applyToRequest(localVarRequestOptions) - ); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => - interceptor(localVarRequestOptions) - ); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ - response: http.IncomingMessage; - body: UserResponse; - }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if ( - response.statusCode && - response.statusCode >= 200 && - response.statusCode <= 299 - ) { - body = ObjectSerializer.deserialize(body, 'UserResponse'); - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * Associates a user with a project ID. - * @summary Link user to project. - * @param id User ID being linked to a project - * @param linkProjectModel Project details to link with the user - * @param xUserPassword Password of the admin or superadmin user - * @param xUserEmail Email of an admin or superadmin user - */ - public async userControllerLinkUserWithProjectId( - id: string, - linkProjectModel: LinkProjectModel, - xUserPassword?: string, - xUserEmail?: string, - options: { headers: { [name: string]: string } } = { headers: {} } - ): Promise<{ response: http.IncomingMessage; body?: any }> { - const localVarPath = - this.basePath + - '/user/id/{id}/project'.replace( - '{' + 'id' + '}', - encodeURIComponent(String(id)) - ); - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign( - {}, - this._defaultHeaders - ); - let localVarFormParams: any = {}; - - // verify required parameter 'id' is not null or undefined - if (id === null || id === undefined) { - throw new Error( - 'Required parameter id was null or undefined when calling userControllerLinkUserWithProjectId.' - ); - } - - // verify required parameter 'linkProjectModel' is not null or undefined - if (linkProjectModel === null || linkProjectModel === undefined) { - throw new Error( - 'Required parameter linkProjectModel was null or undefined when calling userControllerLinkUserWithProjectId.' - ); - } - - localVarHeaderParams['X-User-Password'] = ObjectSerializer.serialize( - xUserPassword, - 'string' - ); - localVarHeaderParams['X-User-Email'] = ObjectSerializer.serialize( - xUserEmail, - 'string' - ); - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'PUT', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - body: ObjectSerializer.serialize(linkProjectModel, 'LinkProjectModel'), - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.API_Key.accessToken) { - authenticationPromise = authenticationPromise.then(() => - this.authentications.API_Key.applyToRequest(localVarRequestOptions) - ); - } - authenticationPromise = authenticationPromise.then(() => - this.authentications.default.applyToRequest(localVarRequestOptions) - ); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => - interceptor(localVarRequestOptions) - ); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body?: any }>( - (resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if ( - response.statusCode && - response.statusCode >= 200 && - response.statusCode <= 299 - ) { - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - } - ); - }); - } - /** - * Updates the user type for an existing user. User type can be thought of as a role with role-based permissions, e.g. SUPERADMIN could have permissions an ADMIN would not. Only SUPERADMIN users can set types - * @summary Update user type. - * @param setUserTypeModel User ID, email, and the new type to be set - * @param xUserPassword Password of the admin or superadmin user - * @param xUserEmail Email of an admin or superadmin user - */ - public async userControllerSetUserType( - setUserTypeModel: SetUserTypeModel, - xUserPassword?: string, - xUserEmail?: string, - options: { headers: { [name: string]: string } } = { headers: {} } - ): Promise<{ response: http.IncomingMessage; body: UserResponse }> { - const localVarPath = this.basePath + '/user/type'; - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign( - {}, - this._defaultHeaders - ); - const produces = ['application/json']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - // verify required parameter 'setUserTypeModel' is not null or undefined - if (setUserTypeModel === null || setUserTypeModel === undefined) { - throw new Error( - 'Required parameter setUserTypeModel was null or undefined when calling userControllerSetUserType.' - ); - } - - localVarHeaderParams['X-User-Password'] = ObjectSerializer.serialize( - xUserPassword, - 'string' - ); - localVarHeaderParams['X-User-Email'] = ObjectSerializer.serialize( - xUserEmail, - 'string' - ); - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'POST', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - body: ObjectSerializer.serialize(setUserTypeModel, 'SetUserTypeModel'), - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.API_Key.accessToken) { - authenticationPromise = authenticationPromise.then(() => - this.authentications.API_Key.applyToRequest(localVarRequestOptions) - ); - } - authenticationPromise = authenticationPromise.then(() => - this.authentications.default.applyToRequest(localVarRequestOptions) - ); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => - interceptor(localVarRequestOptions) - ); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ - response: http.IncomingMessage; - body: UserResponse; - }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if ( - response.statusCode && - response.statusCode >= 200 && - response.statusCode <= 299 - ) { - body = ObjectSerializer.deserialize(body, 'UserResponse'); - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * Removes a user from a project. - * @summary Unlink user from project. - * @param id User ID being unlinked from a project - * @param unlinkProjectModel Project details to unlink from the user - * @param xUserPassword Password of the admin or superadmin user - * @param xUserEmail Email of an admin or superadmin user - */ - public async userControllerUnlinkUserFromProject( - id: string, - unlinkProjectModel: UnlinkProjectModel, - xUserPassword?: string, - xUserEmail?: string, - options: { headers: { [name: string]: string } } = { headers: {} } - ): Promise<{ response: http.IncomingMessage; body?: any }> { - const localVarPath = - this.basePath + - '/user/id/{id}/project'.replace( - '{' + 'id' + '}', - encodeURIComponent(String(id)) - ); - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign( - {}, - this._defaultHeaders - ); - let localVarFormParams: any = {}; - - // verify required parameter 'id' is not null or undefined - if (id === null || id === undefined) { - throw new Error( - 'Required parameter id was null or undefined when calling userControllerUnlinkUserFromProject.' - ); - } - - // verify required parameter 'unlinkProjectModel' is not null or undefined - if (unlinkProjectModel === null || unlinkProjectModel === undefined) { - throw new Error( - 'Required parameter unlinkProjectModel was null or undefined when calling userControllerUnlinkUserFromProject.' - ); - } - - localVarHeaderParams['X-User-Password'] = ObjectSerializer.serialize( - xUserPassword, - 'string' - ); - localVarHeaderParams['X-User-Email'] = ObjectSerializer.serialize( - xUserEmail, - 'string' - ); - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'DELETE', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - body: ObjectSerializer.serialize( - unlinkProjectModel, - 'UnlinkProjectModel' - ), - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.API_Key.accessToken) { - authenticationPromise = authenticationPromise.then(() => - this.authentications.API_Key.applyToRequest(localVarRequestOptions) - ); - } - authenticationPromise = authenticationPromise.then(() => - this.authentications.default.applyToRequest(localVarRequestOptions) - ); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => - interceptor(localVarRequestOptions) - ); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body?: any }>( - (resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if ( - response.statusCode && - response.statusCode >= 200 && - response.statusCode <= 299 - ) { - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - } - ); - }); - } -} diff --git a/src/internal/apis/AnalyticsApi.ts b/src/internal/apis/AnalyticsApi.ts new file mode 100644 index 0000000..2ff4c7d --- /dev/null +++ b/src/internal/apis/AnalyticsApi.ts @@ -0,0 +1,1144 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Juno + * Juno Public API Docs + * + * The version of the OpenAPI document: 1.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 * as runtime from '../runtime'; +import type { + ClickEventResponse, + CustomEventResponse, + CustomGraphTypeResponse, + GetAllClickEventsResponse, + GetAllCustomEventTypeResponse, + GetAllCustomEventsResponse, + GetAllInputEventsResponse, + GetAllVisitEventsResponse, + GetClickEventsResponse, + GetCustomEventsResponse, + GetInputEventsResponse, + GetVisitEventsResponse, + InputEventResponse, + LogClickEventRequest, + LogCustomEventRequest, + LogInputEventRequest, + LogVisitEventRequest, + VisitEventResponse, +} from '../models/index'; +import { + ClickEventResponseFromJSON, + ClickEventResponseToJSON, + CustomEventResponseFromJSON, + CustomEventResponseToJSON, + CustomGraphTypeResponseFromJSON, + CustomGraphTypeResponseToJSON, + GetAllClickEventsResponseFromJSON, + GetAllClickEventsResponseToJSON, + GetAllCustomEventTypeResponseFromJSON, + GetAllCustomEventTypeResponseToJSON, + GetAllCustomEventsResponseFromJSON, + GetAllCustomEventsResponseToJSON, + GetAllInputEventsResponseFromJSON, + GetAllInputEventsResponseToJSON, + GetAllVisitEventsResponseFromJSON, + GetAllVisitEventsResponseToJSON, + GetClickEventsResponseFromJSON, + GetClickEventsResponseToJSON, + GetCustomEventsResponseFromJSON, + GetCustomEventsResponseToJSON, + GetInputEventsResponseFromJSON, + GetInputEventsResponseToJSON, + GetVisitEventsResponseFromJSON, + GetVisitEventsResponseToJSON, + InputEventResponseFromJSON, + InputEventResponseToJSON, + LogClickEventRequestFromJSON, + LogClickEventRequestToJSON, + LogCustomEventRequestFromJSON, + LogCustomEventRequestToJSON, + LogInputEventRequestFromJSON, + LogInputEventRequestToJSON, + LogVisitEventRequestFromJSON, + LogVisitEventRequestToJSON, + VisitEventResponseFromJSON, + VisitEventResponseToJSON, +} from '../models/index'; + +export interface AnalyticsControllerGetAllClickEventsRequest { + projectName: string; + afterTime?: string; + limit?: number; +} + +export interface AnalyticsControllerGetAllCustomEventsRequest { + projectName: string; + category: string; + subcategory: string; + afterTime?: string; + limit?: number; +} + +export interface AnalyticsControllerGetAllInputEventsRequest { + projectName: string; + afterTime?: string; + limit?: number; +} + +export interface AnalyticsControllerGetAllVisitEventsRequest { + projectName: string; + afterTime?: string; + limit?: number; +} + +export interface AnalyticsControllerGetClickEventsPaginatedRequest { + projectName: string; + afterId?: string; + environment?: string; + limit?: number; + afterTime?: string; +} + +export interface AnalyticsControllerGetCustomEventTypesRequest { + projectName: string; +} + +export interface AnalyticsControllerGetCustomEventsPaginatedRequest { + projectName: string; + category: string; + subcategory: string; + afterId?: string; + environment?: string; + limit?: number; + afterTime?: string; +} + +export interface AnalyticsControllerGetCustomGraphTypesByIdRequest { + projectName: string; + eventTypeId: string; +} + +export interface AnalyticsControllerGetInputEventsPaginatedRequest { + projectName: string; + afterId?: string; + environment?: string; + limit?: number; + afterTime?: string; +} + +export interface AnalyticsControllerGetVisitEventsPaginatedRequest { + projectName: string; + afterId?: string; + environment?: string; + limit?: number; + afterTime?: string; +} + +export interface AnalyticsControllerLogClickEventRequest { + logClickEventRequest: LogClickEventRequest; +} + +export interface AnalyticsControllerLogCustomEventRequest { + logCustomEventRequest: LogCustomEventRequest; +} + +export interface AnalyticsControllerLogInputEventRequest { + logInputEventRequest: LogInputEventRequest; +} + +export interface AnalyticsControllerLogVisitEventRequest { + logVisitEventRequest: LogVisitEventRequest; +} + +/** + * + */ +export class AnalyticsApi extends runtime.BaseAPI { + /** + * Get all click events + */ + async analyticsControllerGetAllClickEventsRaw( + requestParameters: AnalyticsControllerGetAllClickEventsRequest, + initOverrides?: RequestInit | runtime.InitOverrideFunction + ): Promise> { + if (requestParameters['projectName'] == null) { + throw new runtime.RequiredError( + 'projectName', + 'Required parameter "projectName" was null or undefined when calling analyticsControllerGetAllClickEvents().' + ); + } + + const queryParameters: any = {}; + + if (requestParameters['projectName'] != null) { + queryParameters['projectName'] = requestParameters['projectName']; + } + + if (requestParameters['afterTime'] != null) { + queryParameters['afterTime'] = requestParameters['afterTime']; + } + + if (requestParameters['limit'] != null) { + queryParameters['limit'] = requestParameters['limit']; + } + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.accessToken) { + const token = this.configuration.accessToken; + const tokenString = await token('API_Key', []); + + if (tokenString) { + headerParameters['Authorization'] = `Bearer ${tokenString}`; + } + } + const response = await this.request( + { + path: `/analytics/events/click/all`, + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, + initOverrides + ); + + return new runtime.JSONApiResponse(response, (jsonValue) => + GetAllClickEventsResponseFromJSON(jsonValue) + ); + } + + /** + * Get all click events + */ + async analyticsControllerGetAllClickEvents( + requestParameters: AnalyticsControllerGetAllClickEventsRequest, + initOverrides?: RequestInit | runtime.InitOverrideFunction + ): Promise { + const response = await this.analyticsControllerGetAllClickEventsRaw( + requestParameters, + initOverrides + ); + return await response.value(); + } + + /** + * Get all custom events + */ + async analyticsControllerGetAllCustomEventsRaw( + requestParameters: AnalyticsControllerGetAllCustomEventsRequest, + initOverrides?: RequestInit | runtime.InitOverrideFunction + ): Promise> { + if (requestParameters['projectName'] == null) { + throw new runtime.RequiredError( + 'projectName', + 'Required parameter "projectName" was null or undefined when calling analyticsControllerGetAllCustomEvents().' + ); + } + + if (requestParameters['category'] == null) { + throw new runtime.RequiredError( + 'category', + 'Required parameter "category" was null or undefined when calling analyticsControllerGetAllCustomEvents().' + ); + } + + if (requestParameters['subcategory'] == null) { + throw new runtime.RequiredError( + 'subcategory', + 'Required parameter "subcategory" was null or undefined when calling analyticsControllerGetAllCustomEvents().' + ); + } + + const queryParameters: any = {}; + + if (requestParameters['projectName'] != null) { + queryParameters['projectName'] = requestParameters['projectName']; + } + + if (requestParameters['afterTime'] != null) { + queryParameters['afterTime'] = requestParameters['afterTime']; + } + + if (requestParameters['limit'] != null) { + queryParameters['limit'] = requestParameters['limit']; + } + + if (requestParameters['category'] != null) { + queryParameters['category'] = requestParameters['category']; + } + + if (requestParameters['subcategory'] != null) { + queryParameters['subcategory'] = requestParameters['subcategory']; + } + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.accessToken) { + const token = this.configuration.accessToken; + const tokenString = await token('API_Key', []); + + if (tokenString) { + headerParameters['Authorization'] = `Bearer ${tokenString}`; + } + } + const response = await this.request( + { + path: `/analytics/events/custom/all`, + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, + initOverrides + ); + + return new runtime.JSONApiResponse(response, (jsonValue) => + GetAllCustomEventsResponseFromJSON(jsonValue) + ); + } + + /** + * Get all custom events + */ + async analyticsControllerGetAllCustomEvents( + requestParameters: AnalyticsControllerGetAllCustomEventsRequest, + initOverrides?: RequestInit | runtime.InitOverrideFunction + ): Promise { + const response = await this.analyticsControllerGetAllCustomEventsRaw( + requestParameters, + initOverrides + ); + return await response.value(); + } + + /** + * Get all input events + */ + async analyticsControllerGetAllInputEventsRaw( + requestParameters: AnalyticsControllerGetAllInputEventsRequest, + initOverrides?: RequestInit | runtime.InitOverrideFunction + ): Promise> { + if (requestParameters['projectName'] == null) { + throw new runtime.RequiredError( + 'projectName', + 'Required parameter "projectName" was null or undefined when calling analyticsControllerGetAllInputEvents().' + ); + } + + const queryParameters: any = {}; + + if (requestParameters['projectName'] != null) { + queryParameters['projectName'] = requestParameters['projectName']; + } + + if (requestParameters['afterTime'] != null) { + queryParameters['afterTime'] = requestParameters['afterTime']; + } + + if (requestParameters['limit'] != null) { + queryParameters['limit'] = requestParameters['limit']; + } + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.accessToken) { + const token = this.configuration.accessToken; + const tokenString = await token('API_Key', []); + + if (tokenString) { + headerParameters['Authorization'] = `Bearer ${tokenString}`; + } + } + const response = await this.request( + { + path: `/analytics/events/input/all`, + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, + initOverrides + ); + + return new runtime.JSONApiResponse(response, (jsonValue) => + GetAllInputEventsResponseFromJSON(jsonValue) + ); + } + + /** + * Get all input events + */ + async analyticsControllerGetAllInputEvents( + requestParameters: AnalyticsControllerGetAllInputEventsRequest, + initOverrides?: RequestInit | runtime.InitOverrideFunction + ): Promise { + const response = await this.analyticsControllerGetAllInputEventsRaw( + requestParameters, + initOverrides + ); + return await response.value(); + } + + /** + * Get all visit events + */ + async analyticsControllerGetAllVisitEventsRaw( + requestParameters: AnalyticsControllerGetAllVisitEventsRequest, + initOverrides?: RequestInit | runtime.InitOverrideFunction + ): Promise> { + if (requestParameters['projectName'] == null) { + throw new runtime.RequiredError( + 'projectName', + 'Required parameter "projectName" was null or undefined when calling analyticsControllerGetAllVisitEvents().' + ); + } + + const queryParameters: any = {}; + + if (requestParameters['projectName'] != null) { + queryParameters['projectName'] = requestParameters['projectName']; + } + + if (requestParameters['afterTime'] != null) { + queryParameters['afterTime'] = requestParameters['afterTime']; + } + + if (requestParameters['limit'] != null) { + queryParameters['limit'] = requestParameters['limit']; + } + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.accessToken) { + const token = this.configuration.accessToken; + const tokenString = await token('API_Key', []); + + if (tokenString) { + headerParameters['Authorization'] = `Bearer ${tokenString}`; + } + } + const response = await this.request( + { + path: `/analytics/events/visit/all`, + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, + initOverrides + ); + + return new runtime.JSONApiResponse(response, (jsonValue) => + GetAllVisitEventsResponseFromJSON(jsonValue) + ); + } + + /** + * Get all visit events + */ + async analyticsControllerGetAllVisitEvents( + requestParameters: AnalyticsControllerGetAllVisitEventsRequest, + initOverrides?: RequestInit | runtime.InitOverrideFunction + ): Promise { + const response = await this.analyticsControllerGetAllVisitEventsRaw( + requestParameters, + initOverrides + ); + return await response.value(); + } + + /** + * Get click events with pagination + */ + async analyticsControllerGetClickEventsPaginatedRaw( + requestParameters: AnalyticsControllerGetClickEventsPaginatedRequest, + initOverrides?: RequestInit | runtime.InitOverrideFunction + ): Promise> { + if (requestParameters['projectName'] == null) { + throw new runtime.RequiredError( + 'projectName', + 'Required parameter "projectName" was null or undefined when calling analyticsControllerGetClickEventsPaginated().' + ); + } + + const queryParameters: any = {}; + + if (requestParameters['projectName'] != null) { + queryParameters['projectName'] = requestParameters['projectName']; + } + + if (requestParameters['afterId'] != null) { + queryParameters['afterId'] = requestParameters['afterId']; + } + + if (requestParameters['environment'] != null) { + queryParameters['environment'] = requestParameters['environment']; + } + + if (requestParameters['limit'] != null) { + queryParameters['limit'] = requestParameters['limit']; + } + + if (requestParameters['afterTime'] != null) { + queryParameters['afterTime'] = requestParameters['afterTime']; + } + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.accessToken) { + const token = this.configuration.accessToken; + const tokenString = await token('API_Key', []); + + if (tokenString) { + headerParameters['Authorization'] = `Bearer ${tokenString}`; + } + } + const response = await this.request( + { + path: `/analytics/events/click`, + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, + initOverrides + ); + + return new runtime.JSONApiResponse(response, (jsonValue) => + GetClickEventsResponseFromJSON(jsonValue) + ); + } + + /** + * Get click events with pagination + */ + async analyticsControllerGetClickEventsPaginated( + requestParameters: AnalyticsControllerGetClickEventsPaginatedRequest, + initOverrides?: RequestInit | runtime.InitOverrideFunction + ): Promise { + const response = await this.analyticsControllerGetClickEventsPaginatedRaw( + requestParameters, + initOverrides + ); + return await response.value(); + } + + /** + * Get custom event types for a project + */ + async analyticsControllerGetCustomEventTypesRaw( + requestParameters: AnalyticsControllerGetCustomEventTypesRequest, + initOverrides?: RequestInit | runtime.InitOverrideFunction + ): Promise> { + if (requestParameters['projectName'] == null) { + throw new runtime.RequiredError( + 'projectName', + 'Required parameter "projectName" was null or undefined when calling analyticsControllerGetCustomEventTypes().' + ); + } + + const queryParameters: any = {}; + + if (requestParameters['projectName'] != null) { + queryParameters['projectName'] = requestParameters['projectName']; + } + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.accessToken) { + const token = this.configuration.accessToken; + const tokenString = await token('API_Key', []); + + if (tokenString) { + headerParameters['Authorization'] = `Bearer ${tokenString}`; + } + } + const response = await this.request( + { + path: `/analytics/custom-event-types`, + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, + initOverrides + ); + + return new runtime.JSONApiResponse(response, (jsonValue) => + GetAllCustomEventTypeResponseFromJSON(jsonValue) + ); + } + + /** + * Get custom event types for a project + */ + async analyticsControllerGetCustomEventTypes( + requestParameters: AnalyticsControllerGetCustomEventTypesRequest, + initOverrides?: RequestInit | runtime.InitOverrideFunction + ): Promise { + const response = await this.analyticsControllerGetCustomEventTypesRaw( + requestParameters, + initOverrides + ); + return await response.value(); + } + + /** + * Get custom events with pagination + */ + async analyticsControllerGetCustomEventsPaginatedRaw( + requestParameters: AnalyticsControllerGetCustomEventsPaginatedRequest, + initOverrides?: RequestInit | runtime.InitOverrideFunction + ): Promise> { + if (requestParameters['projectName'] == null) { + throw new runtime.RequiredError( + 'projectName', + 'Required parameter "projectName" was null or undefined when calling analyticsControllerGetCustomEventsPaginated().' + ); + } + + if (requestParameters['category'] == null) { + throw new runtime.RequiredError( + 'category', + 'Required parameter "category" was null or undefined when calling analyticsControllerGetCustomEventsPaginated().' + ); + } + + if (requestParameters['subcategory'] == null) { + throw new runtime.RequiredError( + 'subcategory', + 'Required parameter "subcategory" was null or undefined when calling analyticsControllerGetCustomEventsPaginated().' + ); + } + + const queryParameters: any = {}; + + if (requestParameters['projectName'] != null) { + queryParameters['projectName'] = requestParameters['projectName']; + } + + if (requestParameters['afterId'] != null) { + queryParameters['afterId'] = requestParameters['afterId']; + } + + if (requestParameters['environment'] != null) { + queryParameters['environment'] = requestParameters['environment']; + } + + if (requestParameters['limit'] != null) { + queryParameters['limit'] = requestParameters['limit']; + } + + if (requestParameters['afterTime'] != null) { + queryParameters['afterTime'] = requestParameters['afterTime']; + } + + if (requestParameters['category'] != null) { + queryParameters['category'] = requestParameters['category']; + } + + if (requestParameters['subcategory'] != null) { + queryParameters['subcategory'] = requestParameters['subcategory']; + } + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.accessToken) { + const token = this.configuration.accessToken; + const tokenString = await token('API_Key', []); + + if (tokenString) { + headerParameters['Authorization'] = `Bearer ${tokenString}`; + } + } + const response = await this.request( + { + path: `/analytics/events/custom`, + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, + initOverrides + ); + + return new runtime.JSONApiResponse(response, (jsonValue) => + GetCustomEventsResponseFromJSON(jsonValue) + ); + } + + /** + * Get custom events with pagination + */ + async analyticsControllerGetCustomEventsPaginated( + requestParameters: AnalyticsControllerGetCustomEventsPaginatedRequest, + initOverrides?: RequestInit | runtime.InitOverrideFunction + ): Promise { + const response = await this.analyticsControllerGetCustomEventsPaginatedRaw( + requestParameters, + initOverrides + ); + return await response.value(); + } + + /** + * Get custom graph types by event type ID + */ + async analyticsControllerGetCustomGraphTypesByIdRaw( + requestParameters: AnalyticsControllerGetCustomGraphTypesByIdRequest, + initOverrides?: RequestInit | runtime.InitOverrideFunction + ): Promise> { + if (requestParameters['projectName'] == null) { + throw new runtime.RequiredError( + 'projectName', + 'Required parameter "projectName" was null or undefined when calling analyticsControllerGetCustomGraphTypesById().' + ); + } + + if (requestParameters['eventTypeId'] == null) { + throw new runtime.RequiredError( + 'eventTypeId', + 'Required parameter "eventTypeId" was null or undefined when calling analyticsControllerGetCustomGraphTypesById().' + ); + } + + const queryParameters: any = {}; + + if (requestParameters['projectName'] != null) { + queryParameters['projectName'] = requestParameters['projectName']; + } + + if (requestParameters['eventTypeId'] != null) { + queryParameters['eventTypeId'] = requestParameters['eventTypeId']; + } + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.accessToken) { + const token = this.configuration.accessToken; + const tokenString = await token('API_Key', []); + + if (tokenString) { + headerParameters['Authorization'] = `Bearer ${tokenString}`; + } + } + const response = await this.request( + { + path: `/analytics/custom-graph-types`, + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, + initOverrides + ); + + return new runtime.JSONApiResponse(response, (jsonValue) => + CustomGraphTypeResponseFromJSON(jsonValue) + ); + } + + /** + * Get custom graph types by event type ID + */ + async analyticsControllerGetCustomGraphTypesById( + requestParameters: AnalyticsControllerGetCustomGraphTypesByIdRequest, + initOverrides?: RequestInit | runtime.InitOverrideFunction + ): Promise { + const response = await this.analyticsControllerGetCustomGraphTypesByIdRaw( + requestParameters, + initOverrides + ); + return await response.value(); + } + + /** + * Get input events with pagination + */ + async analyticsControllerGetInputEventsPaginatedRaw( + requestParameters: AnalyticsControllerGetInputEventsPaginatedRequest, + initOverrides?: RequestInit | runtime.InitOverrideFunction + ): Promise> { + if (requestParameters['projectName'] == null) { + throw new runtime.RequiredError( + 'projectName', + 'Required parameter "projectName" was null or undefined when calling analyticsControllerGetInputEventsPaginated().' + ); + } + + const queryParameters: any = {}; + + if (requestParameters['projectName'] != null) { + queryParameters['projectName'] = requestParameters['projectName']; + } + + if (requestParameters['afterId'] != null) { + queryParameters['afterId'] = requestParameters['afterId']; + } + + if (requestParameters['environment'] != null) { + queryParameters['environment'] = requestParameters['environment']; + } + + if (requestParameters['limit'] != null) { + queryParameters['limit'] = requestParameters['limit']; + } + + if (requestParameters['afterTime'] != null) { + queryParameters['afterTime'] = requestParameters['afterTime']; + } + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.accessToken) { + const token = this.configuration.accessToken; + const tokenString = await token('API_Key', []); + + if (tokenString) { + headerParameters['Authorization'] = `Bearer ${tokenString}`; + } + } + const response = await this.request( + { + path: `/analytics/events/input`, + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, + initOverrides + ); + + return new runtime.JSONApiResponse(response, (jsonValue) => + GetInputEventsResponseFromJSON(jsonValue) + ); + } + + /** + * Get input events with pagination + */ + async analyticsControllerGetInputEventsPaginated( + requestParameters: AnalyticsControllerGetInputEventsPaginatedRequest, + initOverrides?: RequestInit | runtime.InitOverrideFunction + ): Promise { + const response = await this.analyticsControllerGetInputEventsPaginatedRaw( + requestParameters, + initOverrides + ); + return await response.value(); + } + + /** + * Get visit events with pagination + */ + async analyticsControllerGetVisitEventsPaginatedRaw( + requestParameters: AnalyticsControllerGetVisitEventsPaginatedRequest, + initOverrides?: RequestInit | runtime.InitOverrideFunction + ): Promise> { + if (requestParameters['projectName'] == null) { + throw new runtime.RequiredError( + 'projectName', + 'Required parameter "projectName" was null or undefined when calling analyticsControllerGetVisitEventsPaginated().' + ); + } + + const queryParameters: any = {}; + + if (requestParameters['projectName'] != null) { + queryParameters['projectName'] = requestParameters['projectName']; + } + + if (requestParameters['afterId'] != null) { + queryParameters['afterId'] = requestParameters['afterId']; + } + + if (requestParameters['environment'] != null) { + queryParameters['environment'] = requestParameters['environment']; + } + + if (requestParameters['limit'] != null) { + queryParameters['limit'] = requestParameters['limit']; + } + + if (requestParameters['afterTime'] != null) { + queryParameters['afterTime'] = requestParameters['afterTime']; + } + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.accessToken) { + const token = this.configuration.accessToken; + const tokenString = await token('API_Key', []); + + if (tokenString) { + headerParameters['Authorization'] = `Bearer ${tokenString}`; + } + } + const response = await this.request( + { + path: `/analytics/events/visit`, + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, + initOverrides + ); + + return new runtime.JSONApiResponse(response, (jsonValue) => + GetVisitEventsResponseFromJSON(jsonValue) + ); + } + + /** + * Get visit events with pagination + */ + async analyticsControllerGetVisitEventsPaginated( + requestParameters: AnalyticsControllerGetVisitEventsPaginatedRequest, + initOverrides?: RequestInit | runtime.InitOverrideFunction + ): Promise { + const response = await this.analyticsControllerGetVisitEventsPaginatedRaw( + requestParameters, + initOverrides + ); + return await response.value(); + } + + /** + * Log a click event + */ + async analyticsControllerLogClickEventRaw( + requestParameters: AnalyticsControllerLogClickEventRequest, + initOverrides?: RequestInit | runtime.InitOverrideFunction + ): Promise> { + if (requestParameters['logClickEventRequest'] == null) { + throw new runtime.RequiredError( + 'logClickEventRequest', + 'Required parameter "logClickEventRequest" was null or undefined when calling analyticsControllerLogClickEvent().' + ); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + headerParameters['Content-Type'] = 'application/json'; + + if (this.configuration && this.configuration.accessToken) { + const token = this.configuration.accessToken; + const tokenString = await token('API_Key', []); + + if (tokenString) { + headerParameters['Authorization'] = `Bearer ${tokenString}`; + } + } + const response = await this.request( + { + path: `/analytics/events/click`, + method: 'POST', + headers: headerParameters, + query: queryParameters, + body: LogClickEventRequestToJSON( + requestParameters['logClickEventRequest'] + ), + }, + initOverrides + ); + + return new runtime.JSONApiResponse(response, (jsonValue) => + ClickEventResponseFromJSON(jsonValue) + ); + } + + /** + * Log a click event + */ + async analyticsControllerLogClickEvent( + requestParameters: AnalyticsControllerLogClickEventRequest, + initOverrides?: RequestInit | runtime.InitOverrideFunction + ): Promise { + const response = await this.analyticsControllerLogClickEventRaw( + requestParameters, + initOverrides + ); + return await response.value(); + } + + /** + * Log a custom event + */ + async analyticsControllerLogCustomEventRaw( + requestParameters: AnalyticsControllerLogCustomEventRequest, + initOverrides?: RequestInit | runtime.InitOverrideFunction + ): Promise> { + if (requestParameters['logCustomEventRequest'] == null) { + throw new runtime.RequiredError( + 'logCustomEventRequest', + 'Required parameter "logCustomEventRequest" was null or undefined when calling analyticsControllerLogCustomEvent().' + ); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + headerParameters['Content-Type'] = 'application/json'; + + if (this.configuration && this.configuration.accessToken) { + const token = this.configuration.accessToken; + const tokenString = await token('API_Key', []); + + if (tokenString) { + headerParameters['Authorization'] = `Bearer ${tokenString}`; + } + } + const response = await this.request( + { + path: `/analytics/events/custom`, + method: 'POST', + headers: headerParameters, + query: queryParameters, + body: LogCustomEventRequestToJSON( + requestParameters['logCustomEventRequest'] + ), + }, + initOverrides + ); + + return new runtime.JSONApiResponse(response, (jsonValue) => + CustomEventResponseFromJSON(jsonValue) + ); + } + + /** + * Log a custom event + */ + async analyticsControllerLogCustomEvent( + requestParameters: AnalyticsControllerLogCustomEventRequest, + initOverrides?: RequestInit | runtime.InitOverrideFunction + ): Promise { + const response = await this.analyticsControllerLogCustomEventRaw( + requestParameters, + initOverrides + ); + return await response.value(); + } + + /** + * Log an input event + */ + async analyticsControllerLogInputEventRaw( + requestParameters: AnalyticsControllerLogInputEventRequest, + initOverrides?: RequestInit | runtime.InitOverrideFunction + ): Promise> { + if (requestParameters['logInputEventRequest'] == null) { + throw new runtime.RequiredError( + 'logInputEventRequest', + 'Required parameter "logInputEventRequest" was null or undefined when calling analyticsControllerLogInputEvent().' + ); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + headerParameters['Content-Type'] = 'application/json'; + + if (this.configuration && this.configuration.accessToken) { + const token = this.configuration.accessToken; + const tokenString = await token('API_Key', []); + + if (tokenString) { + headerParameters['Authorization'] = `Bearer ${tokenString}`; + } + } + const response = await this.request( + { + path: `/analytics/events/input`, + method: 'POST', + headers: headerParameters, + query: queryParameters, + body: LogInputEventRequestToJSON( + requestParameters['logInputEventRequest'] + ), + }, + initOverrides + ); + + return new runtime.JSONApiResponse(response, (jsonValue) => + InputEventResponseFromJSON(jsonValue) + ); + } + + /** + * Log an input event + */ + async analyticsControllerLogInputEvent( + requestParameters: AnalyticsControllerLogInputEventRequest, + initOverrides?: RequestInit | runtime.InitOverrideFunction + ): Promise { + const response = await this.analyticsControllerLogInputEventRaw( + requestParameters, + initOverrides + ); + return await response.value(); + } + + /** + * Log a visit event + */ + async analyticsControllerLogVisitEventRaw( + requestParameters: AnalyticsControllerLogVisitEventRequest, + initOverrides?: RequestInit | runtime.InitOverrideFunction + ): Promise> { + if (requestParameters['logVisitEventRequest'] == null) { + throw new runtime.RequiredError( + 'logVisitEventRequest', + 'Required parameter "logVisitEventRequest" was null or undefined when calling analyticsControllerLogVisitEvent().' + ); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + headerParameters['Content-Type'] = 'application/json'; + + if (this.configuration && this.configuration.accessToken) { + const token = this.configuration.accessToken; + const tokenString = await token('API_Key', []); + + if (tokenString) { + headerParameters['Authorization'] = `Bearer ${tokenString}`; + } + } + const response = await this.request( + { + path: `/analytics/events/visit`, + method: 'POST', + headers: headerParameters, + query: queryParameters, + body: LogVisitEventRequestToJSON( + requestParameters['logVisitEventRequest'] + ), + }, + initOverrides + ); + + return new runtime.JSONApiResponse(response, (jsonValue) => + VisitEventResponseFromJSON(jsonValue) + ); + } + + /** + * Log a visit event + */ + async analyticsControllerLogVisitEvent( + requestParameters: AnalyticsControllerLogVisitEventRequest, + initOverrides?: RequestInit | runtime.InitOverrideFunction + ): Promise { + const response = await this.analyticsControllerLogVisitEventRaw( + requestParameters, + initOverrides + ); + return await response.value(); + } +} diff --git a/src/internal/apis/AnalyticsConfigApi.ts b/src/internal/apis/AnalyticsConfigApi.ts new file mode 100644 index 0000000..5b34ef2 --- /dev/null +++ b/src/internal/apis/AnalyticsConfigApi.ts @@ -0,0 +1,299 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Juno + * Juno Public API Docs + * + * The version of the OpenAPI document: 1.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 * as runtime from '../runtime'; +import type { + AnalyticsConfigResponse, + CreateAnalyticsConfigModel, + UpdateAnalyticsConfigModel, +} from '../models/index'; +import { + AnalyticsConfigResponseFromJSON, + AnalyticsConfigResponseToJSON, + CreateAnalyticsConfigModelFromJSON, + CreateAnalyticsConfigModelToJSON, + UpdateAnalyticsConfigModelFromJSON, + UpdateAnalyticsConfigModelToJSON, +} from '../models/index'; + +export interface AnalyticsConfigControllerCreateAnalyticsConfigRequest { + createAnalyticsConfigModel: CreateAnalyticsConfigModel; +} + +export interface AnalyticsConfigControllerDeleteAnalyticsConfigRequest { + projectId: string; +} + +export interface AnalyticsConfigControllerGetAnalyticsConfigRequest { + projectId: string; +} + +export interface AnalyticsConfigControllerUpdateAnalyticsConfigRequest { + projectId: string; + updateAnalyticsConfigModel: UpdateAnalyticsConfigModel; +} + +/** + * + */ +export class AnalyticsConfigApi extends runtime.BaseAPI { + /** + * Create analytics configuration + */ + async analyticsConfigControllerCreateAnalyticsConfigRaw( + requestParameters: AnalyticsConfigControllerCreateAnalyticsConfigRequest, + initOverrides?: RequestInit | runtime.InitOverrideFunction + ): Promise> { + if (requestParameters['createAnalyticsConfigModel'] == null) { + throw new runtime.RequiredError( + 'createAnalyticsConfigModel', + 'Required parameter "createAnalyticsConfigModel" was null or undefined when calling analyticsConfigControllerCreateAnalyticsConfig().' + ); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + headerParameters['Content-Type'] = 'application/json'; + + if (this.configuration && this.configuration.accessToken) { + const token = this.configuration.accessToken; + const tokenString = await token('API_Key', []); + + if (tokenString) { + headerParameters['Authorization'] = `Bearer ${tokenString}`; + } + } + const response = await this.request( + { + path: `/analytics/config`, + method: 'POST', + headers: headerParameters, + query: queryParameters, + body: CreateAnalyticsConfigModelToJSON( + requestParameters['createAnalyticsConfigModel'] + ), + }, + initOverrides + ); + + return new runtime.JSONApiResponse(response, (jsonValue) => + AnalyticsConfigResponseFromJSON(jsonValue) + ); + } + + /** + * Create analytics configuration + */ + async analyticsConfigControllerCreateAnalyticsConfig( + requestParameters: AnalyticsConfigControllerCreateAnalyticsConfigRequest, + initOverrides?: RequestInit | runtime.InitOverrideFunction + ): Promise { + const response = + await this.analyticsConfigControllerCreateAnalyticsConfigRaw( + requestParameters, + initOverrides + ); + return await response.value(); + } + + /** + * Delete analytics configuration + */ + async analyticsConfigControllerDeleteAnalyticsConfigRaw( + requestParameters: AnalyticsConfigControllerDeleteAnalyticsConfigRequest, + initOverrides?: RequestInit | runtime.InitOverrideFunction + ): Promise> { + if (requestParameters['projectId'] == null) { + throw new runtime.RequiredError( + 'projectId', + 'Required parameter "projectId" was null or undefined when calling analyticsConfigControllerDeleteAnalyticsConfig().' + ); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.accessToken) { + const token = this.configuration.accessToken; + const tokenString = await token('API_Key', []); + + if (tokenString) { + headerParameters['Authorization'] = `Bearer ${tokenString}`; + } + } + const response = await this.request( + { + path: `/analytics/config/{projectId}`.replace( + `{${'projectId'}}`, + encodeURIComponent(String(requestParameters['projectId'])) + ), + method: 'DELETE', + headers: headerParameters, + query: queryParameters, + }, + initOverrides + ); + + return new runtime.JSONApiResponse(response, (jsonValue) => + AnalyticsConfigResponseFromJSON(jsonValue) + ); + } + + /** + * Delete analytics configuration + */ + async analyticsConfigControllerDeleteAnalyticsConfig( + requestParameters: AnalyticsConfigControllerDeleteAnalyticsConfigRequest, + initOverrides?: RequestInit | runtime.InitOverrideFunction + ): Promise { + const response = + await this.analyticsConfigControllerDeleteAnalyticsConfigRaw( + requestParameters, + initOverrides + ); + return await response.value(); + } + + /** + * Get analytics configuration + */ + async analyticsConfigControllerGetAnalyticsConfigRaw( + requestParameters: AnalyticsConfigControllerGetAnalyticsConfigRequest, + initOverrides?: RequestInit | runtime.InitOverrideFunction + ): Promise> { + if (requestParameters['projectId'] == null) { + throw new runtime.RequiredError( + 'projectId', + 'Required parameter "projectId" was null or undefined when calling analyticsConfigControllerGetAnalyticsConfig().' + ); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.accessToken) { + const token = this.configuration.accessToken; + const tokenString = await token('API_Key', []); + + if (tokenString) { + headerParameters['Authorization'] = `Bearer ${tokenString}`; + } + } + const response = await this.request( + { + path: `/analytics/config/{projectId}`.replace( + `{${'projectId'}}`, + encodeURIComponent(String(requestParameters['projectId'])) + ), + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, + initOverrides + ); + + return new runtime.JSONApiResponse(response, (jsonValue) => + AnalyticsConfigResponseFromJSON(jsonValue) + ); + } + + /** + * Get analytics configuration + */ + async analyticsConfigControllerGetAnalyticsConfig( + requestParameters: AnalyticsConfigControllerGetAnalyticsConfigRequest, + initOverrides?: RequestInit | runtime.InitOverrideFunction + ): Promise { + const response = await this.analyticsConfigControllerGetAnalyticsConfigRaw( + requestParameters, + initOverrides + ); + return await response.value(); + } + + /** + * Update analytics configuration + */ + async analyticsConfigControllerUpdateAnalyticsConfigRaw( + requestParameters: AnalyticsConfigControllerUpdateAnalyticsConfigRequest, + initOverrides?: RequestInit | runtime.InitOverrideFunction + ): Promise> { + if (requestParameters['projectId'] == null) { + throw new runtime.RequiredError( + 'projectId', + 'Required parameter "projectId" was null or undefined when calling analyticsConfigControllerUpdateAnalyticsConfig().' + ); + } + + if (requestParameters['updateAnalyticsConfigModel'] == null) { + throw new runtime.RequiredError( + 'updateAnalyticsConfigModel', + 'Required parameter "updateAnalyticsConfigModel" was null or undefined when calling analyticsConfigControllerUpdateAnalyticsConfig().' + ); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + headerParameters['Content-Type'] = 'application/json'; + + if (this.configuration && this.configuration.accessToken) { + const token = this.configuration.accessToken; + const tokenString = await token('API_Key', []); + + if (tokenString) { + headerParameters['Authorization'] = `Bearer ${tokenString}`; + } + } + const response = await this.request( + { + path: `/analytics/config/{projectId}`.replace( + `{${'projectId'}}`, + encodeURIComponent(String(requestParameters['projectId'])) + ), + method: 'PUT', + headers: headerParameters, + query: queryParameters, + body: UpdateAnalyticsConfigModelToJSON( + requestParameters['updateAnalyticsConfigModel'] + ), + }, + initOverrides + ); + + return new runtime.JSONApiResponse(response, (jsonValue) => + AnalyticsConfigResponseFromJSON(jsonValue) + ); + } + + /** + * Update analytics configuration + */ + async analyticsConfigControllerUpdateAnalyticsConfig( + requestParameters: AnalyticsConfigControllerUpdateAnalyticsConfigRequest, + initOverrides?: RequestInit | runtime.InitOverrideFunction + ): Promise { + const response = + await this.analyticsConfigControllerUpdateAnalyticsConfigRaw( + requestParameters, + initOverrides + ); + return await response.value(); + } +} diff --git a/src/internal/apis/AuthApi.ts b/src/internal/apis/AuthApi.ts new file mode 100644 index 0000000..092f8da --- /dev/null +++ b/src/internal/apis/AuthApi.ts @@ -0,0 +1,623 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Juno + * Juno Public API Docs + * + * The version of the OpenAPI document: 1.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 * as runtime from '../runtime'; +import type { + IssueApiKeyRequest, + IssueApiKeyResponse, + IssueJWTResponse, + NewAccountRequestResponse, + NewAccountRequestsResponse, + RequestNewAccountModel, +} from '../models/index'; +import { + IssueApiKeyRequestFromJSON, + IssueApiKeyRequestToJSON, + IssueApiKeyResponseFromJSON, + IssueApiKeyResponseToJSON, + IssueJWTResponseFromJSON, + IssueJWTResponseToJSON, + NewAccountRequestResponseFromJSON, + NewAccountRequestResponseToJSON, + NewAccountRequestsResponseFromJSON, + NewAccountRequestsResponseToJSON, + RequestNewAccountModelFromJSON, + RequestNewAccountModelToJSON, +} from '../models/index'; + +export interface AuthControllerCreateAccountRequestRequest { + requestNewAccountModel: RequestNewAccountModel; +} + +export interface AuthControllerCreateApiKeyRequest { + xUserPassword: string; + xUserEmail: string; + issueApiKeyRequest: IssueApiKeyRequest; +} + +export interface AuthControllerDeleteAccountRequestRequest { + id: string; + xUserPassword: string; + xUserEmail: string; +} + +export interface AuthControllerDeleteApiKeyRequest { + authorization: string; +} + +export interface AuthControllerGetAllAccountRequestsRequest { + xUserPassword: string; + xUserEmail: string; +} + +export interface AuthControllerGetApiKeyJWTRequest { + authorization: string; +} + +export interface AuthControllerGetUserJWTRequest { + xUserPassword: string; + xUserEmail: string; +} + +export interface AuthControllerTestAuthRequest { + authorization: string; +} + +/** + * + */ +export class AuthApi extends runtime.BaseAPI { + /** + * Allows a prospective user to submit a request for a new account. The request is stored and can be reviewed by an admin. + * Submit a new account request + */ + async authControllerCreateAccountRequestRaw( + requestParameters: AuthControllerCreateAccountRequestRequest, + initOverrides?: RequestInit | runtime.InitOverrideFunction + ): Promise> { + if (requestParameters['requestNewAccountModel'] == null) { + throw new runtime.RequiredError( + 'requestNewAccountModel', + 'Required parameter "requestNewAccountModel" was null or undefined when calling authControllerCreateAccountRequest().' + ); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + headerParameters['Content-Type'] = 'application/json'; + + const response = await this.request( + { + path: `/auth/account-request`, + method: 'POST', + headers: headerParameters, + query: queryParameters, + body: RequestNewAccountModelToJSON( + requestParameters['requestNewAccountModel'] + ), + }, + initOverrides + ); + + return new runtime.JSONApiResponse(response, (jsonValue) => + NewAccountRequestResponseFromJSON(jsonValue) + ); + } + + /** + * Allows a prospective user to submit a request for a new account. The request is stored and can be reviewed by an admin. + * Submit a new account request + */ + async authControllerCreateAccountRequest( + requestParameters: AuthControllerCreateAccountRequestRequest, + initOverrides?: RequestInit | runtime.InitOverrideFunction + ): Promise { + const response = await this.authControllerCreateAccountRequestRaw( + requestParameters, + initOverrides + ); + return await response.value(); + } + + /** + * Issues a new API key for the project tied to the specified environment. + */ + async authControllerCreateApiKeyRaw( + requestParameters: AuthControllerCreateApiKeyRequest, + initOverrides?: RequestInit | runtime.InitOverrideFunction + ): Promise> { + if (requestParameters['xUserPassword'] == null) { + throw new runtime.RequiredError( + 'xUserPassword', + 'Required parameter "xUserPassword" was null or undefined when calling authControllerCreateApiKey().' + ); + } + + if (requestParameters['xUserEmail'] == null) { + throw new runtime.RequiredError( + 'xUserEmail', + 'Required parameter "xUserEmail" was null or undefined when calling authControllerCreateApiKey().' + ); + } + + if (requestParameters['issueApiKeyRequest'] == null) { + throw new runtime.RequiredError( + 'issueApiKeyRequest', + 'Required parameter "issueApiKeyRequest" was null or undefined when calling authControllerCreateApiKey().' + ); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + headerParameters['Content-Type'] = 'application/json'; + + if (requestParameters['xUserPassword'] != null) { + headerParameters['X-User-Password'] = String( + requestParameters['xUserPassword'] + ); + } + + if (requestParameters['xUserEmail'] != null) { + headerParameters['X-User-Email'] = String( + requestParameters['xUserEmail'] + ); + } + + const response = await this.request( + { + path: `/auth/key`, + method: 'POST', + headers: headerParameters, + query: queryParameters, + body: IssueApiKeyRequestToJSON(requestParameters['issueApiKeyRequest']), + }, + initOverrides + ); + + return new runtime.JSONApiResponse(response, (jsonValue) => + IssueApiKeyResponseFromJSON(jsonValue) + ); + } + + /** + * Issues a new API key for the project tied to the specified environment. + */ + async authControllerCreateApiKey( + requestParameters: AuthControllerCreateApiKeyRequest, + initOverrides?: RequestInit | runtime.InitOverrideFunction + ): Promise { + const response = await this.authControllerCreateApiKeyRaw( + requestParameters, + initOverrides + ); + return await response.value(); + } + + /** + * Deletes an account request by its ID. Requires admin or superadmin credentials. + * Delete an account request by ID + */ + async authControllerDeleteAccountRequestRaw( + requestParameters: AuthControllerDeleteAccountRequestRequest, + initOverrides?: RequestInit | runtime.InitOverrideFunction + ): Promise> { + if (requestParameters['id'] == null) { + throw new runtime.RequiredError( + 'id', + 'Required parameter "id" was null or undefined when calling authControllerDeleteAccountRequest().' + ); + } + + if (requestParameters['xUserPassword'] == null) { + throw new runtime.RequiredError( + 'xUserPassword', + 'Required parameter "xUserPassword" was null or undefined when calling authControllerDeleteAccountRequest().' + ); + } + + if (requestParameters['xUserEmail'] == null) { + throw new runtime.RequiredError( + 'xUserEmail', + 'Required parameter "xUserEmail" was null or undefined when calling authControllerDeleteAccountRequest().' + ); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + if (requestParameters['xUserPassword'] != null) { + headerParameters['X-User-Password'] = String( + requestParameters['xUserPassword'] + ); + } + + if (requestParameters['xUserEmail'] != null) { + headerParameters['X-User-Email'] = String( + requestParameters['xUserEmail'] + ); + } + + if (this.configuration && this.configuration.accessToken) { + const token = this.configuration.accessToken; + const tokenString = await token('API_Key', []); + + if (tokenString) { + headerParameters['Authorization'] = `Bearer ${tokenString}`; + } + } + const response = await this.request( + { + path: `/auth/account-request/{id}`.replace( + `{${'id'}}`, + encodeURIComponent(String(requestParameters['id'])) + ), + method: 'DELETE', + headers: headerParameters, + query: queryParameters, + }, + initOverrides + ); + + return new runtime.JSONApiResponse(response, (jsonValue) => + NewAccountRequestResponseFromJSON(jsonValue) + ); + } + + /** + * Deletes an account request by its ID. Requires admin or superadmin credentials. + * Delete an account request by ID + */ + async authControllerDeleteAccountRequest( + requestParameters: AuthControllerDeleteAccountRequestRequest, + initOverrides?: RequestInit | runtime.InitOverrideFunction + ): Promise { + const response = await this.authControllerDeleteAccountRequestRaw( + requestParameters, + initOverrides + ); + return await response.value(); + } + + /** + * Deletes an API key, detaching it from its project. + */ + async authControllerDeleteApiKeyRaw( + requestParameters: AuthControllerDeleteApiKeyRequest, + initOverrides?: RequestInit | runtime.InitOverrideFunction + ): Promise> { + if (requestParameters['authorization'] == null) { + throw new runtime.RequiredError( + 'authorization', + 'Required parameter "authorization" was null or undefined when calling authControllerDeleteApiKey().' + ); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + if (requestParameters['authorization'] != null) { + headerParameters['Authorization'] = String( + requestParameters['authorization'] + ); + } + + if (this.configuration && this.configuration.accessToken) { + const token = this.configuration.accessToken; + const tokenString = await token('API_Key', []); + + if (tokenString) { + headerParameters['Authorization'] = `Bearer ${tokenString}`; + } + } + const response = await this.request( + { + path: `/auth/key`, + method: 'DELETE', + headers: headerParameters, + query: queryParameters, + }, + initOverrides + ); + + return new runtime.VoidApiResponse(response); + } + + /** + * Deletes an API key, detaching it from its project. + */ + async authControllerDeleteApiKey( + requestParameters: AuthControllerDeleteApiKeyRequest, + initOverrides?: RequestInit | runtime.InitOverrideFunction + ): Promise { + await this.authControllerDeleteApiKeyRaw(requestParameters, initOverrides); + } + + /** + * Returns all pending account requests. Requires admin or superadmin credentials. + * Retrieve all account requests + */ + async authControllerGetAllAccountRequestsRaw( + requestParameters: AuthControllerGetAllAccountRequestsRequest, + initOverrides?: RequestInit | runtime.InitOverrideFunction + ): Promise> { + if (requestParameters['xUserPassword'] == null) { + throw new runtime.RequiredError( + 'xUserPassword', + 'Required parameter "xUserPassword" was null or undefined when calling authControllerGetAllAccountRequests().' + ); + } + + if (requestParameters['xUserEmail'] == null) { + throw new runtime.RequiredError( + 'xUserEmail', + 'Required parameter "xUserEmail" was null or undefined when calling authControllerGetAllAccountRequests().' + ); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + if (requestParameters['xUserPassword'] != null) { + headerParameters['X-User-Password'] = String( + requestParameters['xUserPassword'] + ); + } + + if (requestParameters['xUserEmail'] != null) { + headerParameters['X-User-Email'] = String( + requestParameters['xUserEmail'] + ); + } + + if (this.configuration && this.configuration.accessToken) { + const token = this.configuration.accessToken; + const tokenString = await token('API_Key', []); + + if (tokenString) { + headerParameters['Authorization'] = `Bearer ${tokenString}`; + } + } + const response = await this.request( + { + path: `/auth/account-request`, + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, + initOverrides + ); + + return new runtime.JSONApiResponse(response, (jsonValue) => + NewAccountRequestsResponseFromJSON(jsonValue) + ); + } + + /** + * Returns all pending account requests. Requires admin or superadmin credentials. + * Retrieve all account requests + */ + async authControllerGetAllAccountRequests( + requestParameters: AuthControllerGetAllAccountRequestsRequest, + initOverrides?: RequestInit | runtime.InitOverrideFunction + ): Promise { + const response = await this.authControllerGetAllAccountRequestsRaw( + requestParameters, + initOverrides + ); + return await response.value(); + } + + /** + * JSON Web Tokens are used for the vast majority of API-gateway calls. The Juno SDK provides the means of automatically authenticating through this route given a valid API key. + * Generates a temporary JWT for the project tied to a specified API key. + */ + async authControllerGetApiKeyJWTRaw( + requestParameters: AuthControllerGetApiKeyJWTRequest, + initOverrides?: RequestInit | runtime.InitOverrideFunction + ): Promise> { + if (requestParameters['authorization'] == null) { + throw new runtime.RequiredError( + 'authorization', + 'Required parameter "authorization" was null or undefined when calling authControllerGetApiKeyJWT().' + ); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + if (requestParameters['authorization'] != null) { + headerParameters['Authorization'] = String( + requestParameters['authorization'] + ); + } + + if (this.configuration && this.configuration.accessToken) { + const token = this.configuration.accessToken; + const tokenString = await token('API_Key', []); + + if (tokenString) { + headerParameters['Authorization'] = `Bearer ${tokenString}`; + } + } + const response = await this.request( + { + path: `/auth/api_key/jwt`, + method: 'POST', + headers: headerParameters, + query: queryParameters, + }, + initOverrides + ); + + return new runtime.JSONApiResponse(response, (jsonValue) => + IssueJWTResponseFromJSON(jsonValue) + ); + } + + /** + * JSON Web Tokens are used for the vast majority of API-gateway calls. The Juno SDK provides the means of automatically authenticating through this route given a valid API key. + * Generates a temporary JWT for the project tied to a specified API key. + */ + async authControllerGetApiKeyJWT( + requestParameters: AuthControllerGetApiKeyJWTRequest, + initOverrides?: RequestInit | runtime.InitOverrideFunction + ): Promise { + const response = await this.authControllerGetApiKeyJWTRaw( + requestParameters, + initOverrides + ); + return await response.value(); + } + + /** + * JSON Web Tokens are used for the vast majority of API-gateway calls. The Juno SDK provides the means of automatically authenticating through this route given valid user credentials. + * Generates a temporary JWT tied to a specified user. + */ + async authControllerGetUserJWTRaw( + requestParameters: AuthControllerGetUserJWTRequest, + initOverrides?: RequestInit | runtime.InitOverrideFunction + ): Promise> { + if (requestParameters['xUserPassword'] == null) { + throw new runtime.RequiredError( + 'xUserPassword', + 'Required parameter "xUserPassword" was null or undefined when calling authControllerGetUserJWT().' + ); + } + + if (requestParameters['xUserEmail'] == null) { + throw new runtime.RequiredError( + 'xUserEmail', + 'Required parameter "xUserEmail" was null or undefined when calling authControllerGetUserJWT().' + ); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + if (requestParameters['xUserPassword'] != null) { + headerParameters['X-User-Password'] = String( + requestParameters['xUserPassword'] + ); + } + + if (requestParameters['xUserEmail'] != null) { + headerParameters['X-User-Email'] = String( + requestParameters['xUserEmail'] + ); + } + + if (this.configuration && this.configuration.accessToken) { + const token = this.configuration.accessToken; + const tokenString = await token('API_Key', []); + + if (tokenString) { + headerParameters['Authorization'] = `Bearer ${tokenString}`; + } + } + const response = await this.request( + { + path: `/auth/user/jwt`, + method: 'POST', + headers: headerParameters, + query: queryParameters, + }, + initOverrides + ); + + return new runtime.JSONApiResponse(response, (jsonValue) => + IssueJWTResponseFromJSON(jsonValue) + ); + } + + /** + * JSON Web Tokens are used for the vast majority of API-gateway calls. The Juno SDK provides the means of automatically authenticating through this route given valid user credentials. + * Generates a temporary JWT tied to a specified user. + */ + async authControllerGetUserJWT( + requestParameters: AuthControllerGetUserJWTRequest, + initOverrides?: RequestInit | runtime.InitOverrideFunction + ): Promise { + const response = await this.authControllerGetUserJWTRaw( + requestParameters, + initOverrides + ); + return await response.value(); + } + + /** + * This endpoint validates a user JWT token and returns the associated user information if valid + * Validates user JWT and returns user data + */ + async authControllerTestAuthRaw( + requestParameters: AuthControllerTestAuthRequest, + initOverrides?: RequestInit | runtime.InitOverrideFunction + ): Promise> { + if (requestParameters['authorization'] == null) { + throw new runtime.RequiredError( + 'authorization', + 'Required parameter "authorization" was null or undefined when calling authControllerTestAuth().' + ); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + if (requestParameters['authorization'] != null) { + headerParameters['Authorization'] = String( + requestParameters['authorization'] + ); + } + + if (this.configuration && this.configuration.accessToken) { + const token = this.configuration.accessToken; + const tokenString = await token('API_Key', []); + + if (tokenString) { + headerParameters['Authorization'] = `Bearer ${tokenString}`; + } + } + const response = await this.request( + { + path: `/auth/test-auth`, + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, + initOverrides + ); + + return new runtime.VoidApiResponse(response); + } + + /** + * This endpoint validates a user JWT token and returns the associated user information if valid + * Validates user JWT and returns user data + */ + async authControllerTestAuth( + requestParameters: AuthControllerTestAuthRequest, + initOverrides?: RequestInit | runtime.InitOverrideFunction + ): Promise { + await this.authControllerTestAuthRaw(requestParameters, initOverrides); + } +} diff --git a/src/internal/apis/EmailApi.ts b/src/internal/apis/EmailApi.ts new file mode 100644 index 0000000..94c6d4a --- /dev/null +++ b/src/internal/apis/EmailApi.ts @@ -0,0 +1,519 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Juno + * Juno Public API Docs + * + * The version of the OpenAPI document: 1.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 * as runtime from '../runtime'; +import type { + AggregateInterval, + EmailConfigResponse, + RegisterDomainModel, + RegisterDomainResponse, + RegisterEmailModel, + RegisterEmailResponse, + SendEmailModel, + SendEmailResponse, + SendEmailStatisticsResponses, + SetupEmailResponse, + SetupEmailServiceModel, + VerifyDomainModel, +} from '../models/index'; +import { + AggregateIntervalFromJSON, + AggregateIntervalToJSON, + EmailConfigResponseFromJSON, + EmailConfigResponseToJSON, + RegisterDomainModelFromJSON, + RegisterDomainModelToJSON, + RegisterDomainResponseFromJSON, + RegisterDomainResponseToJSON, + RegisterEmailModelFromJSON, + RegisterEmailModelToJSON, + RegisterEmailResponseFromJSON, + RegisterEmailResponseToJSON, + SendEmailModelFromJSON, + SendEmailModelToJSON, + SendEmailResponseFromJSON, + SendEmailResponseToJSON, + SendEmailStatisticsResponsesFromJSON, + SendEmailStatisticsResponsesToJSON, + SetupEmailResponseFromJSON, + SetupEmailResponseToJSON, + SetupEmailServiceModelFromJSON, + SetupEmailServiceModelToJSON, + VerifyDomainModelFromJSON, + VerifyDomainModelToJSON, +} from '../models/index'; + +export interface EmailControllerGetEmailConfigByIdRequest { + id: string; +} + +export interface EmailControllerGetStatisticsRequest { + startDate: string; + limit?: number; + offset?: number; + aggregatedBy?: AggregateInterval; + endDate?: string; +} + +export interface EmailControllerRegisterEmailDomainRequest { + registerDomainModel: RegisterDomainModel; +} + +export interface EmailControllerRegisterSenderAddressRequest { + registerEmailModel: RegisterEmailModel; +} + +export interface EmailControllerSendEmailRequest { + sendEmailModel: SendEmailModel; +} + +export interface EmailControllerSetupRequest { + setupEmailServiceModel: SetupEmailServiceModel; +} + +export interface EmailControllerVerifySenderDomainRequest { + verifyDomainModel: VerifyDomainModel; +} + +/** + * + */ +export class EmailApi extends runtime.BaseAPI { + /** + * Get email configuration by ID + */ + async emailControllerGetEmailConfigByIdRaw( + requestParameters: EmailControllerGetEmailConfigByIdRequest, + initOverrides?: RequestInit | runtime.InitOverrideFunction + ): Promise> { + if (requestParameters['id'] == null) { + throw new runtime.RequiredError( + 'id', + 'Required parameter "id" was null or undefined when calling emailControllerGetEmailConfigById().' + ); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.accessToken) { + const token = this.configuration.accessToken; + const tokenString = await token('API_Key', []); + + if (tokenString) { + headerParameters['Authorization'] = `Bearer ${tokenString}`; + } + } + const response = await this.request( + { + path: `/email/config/{id}`.replace( + `{${'id'}}`, + encodeURIComponent(String(requestParameters['id'])) + ), + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, + initOverrides + ); + + return new runtime.JSONApiResponse(response, (jsonValue) => + EmailConfigResponseFromJSON(jsonValue) + ); + } + + /** + * Get email configuration by ID + */ + async emailControllerGetEmailConfigById( + requestParameters: EmailControllerGetEmailConfigByIdRequest, + initOverrides?: RequestInit | runtime.InitOverrideFunction + ): Promise { + const response = await this.emailControllerGetEmailConfigByIdRaw( + requestParameters, + initOverrides + ); + return await response.value(); + } + + /** + * Gets overall email analytics + */ + async emailControllerGetStatisticsRaw( + requestParameters: EmailControllerGetStatisticsRequest, + initOverrides?: RequestInit | runtime.InitOverrideFunction + ): Promise> { + if (requestParameters['startDate'] == null) { + throw new runtime.RequiredError( + 'startDate', + 'Required parameter "startDate" was null or undefined when calling emailControllerGetStatistics().' + ); + } + + const queryParameters: any = {}; + + if (requestParameters['startDate'] != null) { + queryParameters['startDate'] = requestParameters['startDate']; + } + + if (requestParameters['limit'] != null) { + queryParameters['limit'] = requestParameters['limit']; + } + + if (requestParameters['offset'] != null) { + queryParameters['offset'] = requestParameters['offset']; + } + + if (requestParameters['aggregatedBy'] != null) { + queryParameters['aggregatedBy'] = requestParameters['aggregatedBy']; + } + + if (requestParameters['endDate'] != null) { + queryParameters['endDate'] = requestParameters['endDate']; + } + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.accessToken) { + const token = this.configuration.accessToken; + const tokenString = await token('API_Key', []); + + if (tokenString) { + headerParameters['Authorization'] = `Bearer ${tokenString}`; + } + } + const response = await this.request( + { + path: `/email/analytics`, + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, + initOverrides + ); + + return new runtime.JSONApiResponse(response, (jsonValue) => + SendEmailStatisticsResponsesFromJSON(jsonValue) + ); + } + + /** + * Gets overall email analytics + */ + async emailControllerGetStatistics( + requestParameters: EmailControllerGetStatisticsRequest, + initOverrides?: RequestInit | runtime.InitOverrideFunction + ): Promise { + const response = await this.emailControllerGetStatisticsRaw( + requestParameters, + initOverrides + ); + return await response.value(); + } + + /** + * Registers a sender domain with SendGrid. + */ + async emailControllerRegisterEmailDomainRaw( + requestParameters: EmailControllerRegisterEmailDomainRequest, + initOverrides?: RequestInit | runtime.InitOverrideFunction + ): Promise> { + if (requestParameters['registerDomainModel'] == null) { + throw new runtime.RequiredError( + 'registerDomainModel', + 'Required parameter "registerDomainModel" was null or undefined when calling emailControllerRegisterEmailDomain().' + ); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + headerParameters['Content-Type'] = 'application/json'; + + if (this.configuration && this.configuration.accessToken) { + const token = this.configuration.accessToken; + const tokenString = await token('API_Key', []); + + if (tokenString) { + headerParameters['Authorization'] = `Bearer ${tokenString}`; + } + } + const response = await this.request( + { + path: `/email/register-domain`, + method: 'POST', + headers: headerParameters, + query: queryParameters, + body: RegisterDomainModelToJSON( + requestParameters['registerDomainModel'] + ), + }, + initOverrides + ); + + return new runtime.JSONApiResponse(response, (jsonValue) => + RegisterDomainResponseFromJSON(jsonValue) + ); + } + + /** + * Registers a sender domain with SendGrid. + */ + async emailControllerRegisterEmailDomain( + requestParameters: EmailControllerRegisterEmailDomainRequest, + initOverrides?: RequestInit | runtime.InitOverrideFunction + ): Promise { + const response = await this.emailControllerRegisterEmailDomainRaw( + requestParameters, + initOverrides + ); + return await response.value(); + } + + /** + * Registers a sender email address. + */ + async emailControllerRegisterSenderAddressRaw( + requestParameters: EmailControllerRegisterSenderAddressRequest, + initOverrides?: RequestInit | runtime.InitOverrideFunction + ): Promise> { + if (requestParameters['registerEmailModel'] == null) { + throw new runtime.RequiredError( + 'registerEmailModel', + 'Required parameter "registerEmailModel" was null or undefined when calling emailControllerRegisterSenderAddress().' + ); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + headerParameters['Content-Type'] = 'application/json'; + + if (this.configuration && this.configuration.accessToken) { + const token = this.configuration.accessToken; + const tokenString = await token('API_Key', []); + + if (tokenString) { + headerParameters['Authorization'] = `Bearer ${tokenString}`; + } + } + const response = await this.request( + { + path: `/email/register-sender`, + method: 'POST', + headers: headerParameters, + query: queryParameters, + body: RegisterEmailModelToJSON(requestParameters['registerEmailModel']), + }, + initOverrides + ); + + return new runtime.JSONApiResponse(response, (jsonValue) => + RegisterEmailResponseFromJSON(jsonValue) + ); + } + + /** + * Registers a sender email address. + */ + async emailControllerRegisterSenderAddress( + requestParameters: EmailControllerRegisterSenderAddressRequest, + initOverrides?: RequestInit | runtime.InitOverrideFunction + ): Promise { + const response = await this.emailControllerRegisterSenderAddressRaw( + requestParameters, + initOverrides + ); + return await response.value(); + } + + /** + * Sends an email using Juno services. + */ + async emailControllerSendEmailRaw( + requestParameters: EmailControllerSendEmailRequest, + initOverrides?: RequestInit | runtime.InitOverrideFunction + ): Promise> { + if (requestParameters['sendEmailModel'] == null) { + throw new runtime.RequiredError( + 'sendEmailModel', + 'Required parameter "sendEmailModel" was null or undefined when calling emailControllerSendEmail().' + ); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + headerParameters['Content-Type'] = 'application/json'; + + if (this.configuration && this.configuration.accessToken) { + const token = this.configuration.accessToken; + const tokenString = await token('API_Key', []); + + if (tokenString) { + headerParameters['Authorization'] = `Bearer ${tokenString}`; + } + } + const response = await this.request( + { + path: `/email/send`, + method: 'POST', + headers: headerParameters, + query: queryParameters, + body: SendEmailModelToJSON(requestParameters['sendEmailModel']), + }, + initOverrides + ); + + return new runtime.JSONApiResponse(response, (jsonValue) => + SendEmailResponseFromJSON(jsonValue) + ); + } + + /** + * Sends an email using Juno services. + */ + async emailControllerSendEmail( + requestParameters: EmailControllerSendEmailRequest, + initOverrides?: RequestInit | runtime.InitOverrideFunction + ): Promise { + const response = await this.emailControllerSendEmailRaw( + requestParameters, + initOverrides + ); + return await response.value(); + } + + /** + * Sets up an email service with the given Sendgrid API Key + */ + async emailControllerSetupRaw( + requestParameters: EmailControllerSetupRequest, + initOverrides?: RequestInit | runtime.InitOverrideFunction + ): Promise> { + if (requestParameters['setupEmailServiceModel'] == null) { + throw new runtime.RequiredError( + 'setupEmailServiceModel', + 'Required parameter "setupEmailServiceModel" was null or undefined when calling emailControllerSetup().' + ); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + headerParameters['Content-Type'] = 'application/json'; + + if (this.configuration && this.configuration.accessToken) { + const token = this.configuration.accessToken; + const tokenString = await token('API_Key', []); + + if (tokenString) { + headerParameters['Authorization'] = `Bearer ${tokenString}`; + } + } + const response = await this.request( + { + path: `/email/setup`, + method: 'POST', + headers: headerParameters, + query: queryParameters, + body: SetupEmailServiceModelToJSON( + requestParameters['setupEmailServiceModel'] + ), + }, + initOverrides + ); + + return new runtime.JSONApiResponse(response, (jsonValue) => + SetupEmailResponseFromJSON(jsonValue) + ); + } + + /** + * Sets up an email service with the given Sendgrid API Key + */ + async emailControllerSetup( + requestParameters: EmailControllerSetupRequest, + initOverrides?: RequestInit | runtime.InitOverrideFunction + ): Promise { + const response = await this.emailControllerSetupRaw( + requestParameters, + initOverrides + ); + return await response.value(); + } + + /** + * Verifies a sender domain registration status. + */ + async emailControllerVerifySenderDomainRaw( + requestParameters: EmailControllerVerifySenderDomainRequest, + initOverrides?: RequestInit | runtime.InitOverrideFunction + ): Promise> { + if (requestParameters['verifyDomainModel'] == null) { + throw new runtime.RequiredError( + 'verifyDomainModel', + 'Required parameter "verifyDomainModel" was null or undefined when calling emailControllerVerifySenderDomain().' + ); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + headerParameters['Content-Type'] = 'application/json'; + + if (this.configuration && this.configuration.accessToken) { + const token = this.configuration.accessToken; + const tokenString = await token('API_Key', []); + + if (tokenString) { + headerParameters['Authorization'] = `Bearer ${tokenString}`; + } + } + const response = await this.request( + { + path: `/email/verify-domain`, + method: 'POST', + headers: headerParameters, + query: queryParameters, + body: VerifyDomainModelToJSON(requestParameters['verifyDomainModel']), + }, + initOverrides + ); + + return new runtime.JSONApiResponse(response, (jsonValue) => + RegisterDomainResponseFromJSON(jsonValue) + ); + } + + /** + * Verifies a sender domain registration status. + */ + async emailControllerVerifySenderDomain( + requestParameters: EmailControllerVerifySenderDomainRequest, + initOverrides?: RequestInit | runtime.InitOverrideFunction + ): Promise { + const response = await this.emailControllerVerifySenderDomainRaw( + requestParameters, + initOverrides + ); + return await response.value(); + } +} diff --git a/src/internal/apis/FileBucketApi.ts b/src/internal/apis/FileBucketApi.ts new file mode 100644 index 0000000..1d5cd72 --- /dev/null +++ b/src/internal/apis/FileBucketApi.ts @@ -0,0 +1,224 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Juno + * Juno Public API Docs + * + * The version of the OpenAPI document: 1.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 * as runtime from '../runtime'; +import type { + DeleteFileBucketModel, + FileBucket, + RegisterFileBucketModel, +} from '../models/index'; +import { + DeleteFileBucketModelFromJSON, + DeleteFileBucketModelToJSON, + FileBucketFromJSON, + FileBucketToJSON, + RegisterFileBucketModelFromJSON, + RegisterFileBucketModelToJSON, +} from '../models/index'; + +export interface FileBucketControllerDeleteFileBucketRequest { + deleteFileBucketModel: DeleteFileBucketModel; +} + +export interface FileBucketControllerGetBucketsByConfigIdAndEnvRequest { + configId: string; +} + +export interface FileBucketControllerRegisterFileBucketRequest { + registerFileBucketModel: RegisterFileBucketModel; +} + +/** + * + */ +export class FileBucketApi extends runtime.BaseAPI { + /** + * Delete a File Bucket. + */ + async fileBucketControllerDeleteFileBucketRaw( + requestParameters: FileBucketControllerDeleteFileBucketRequest, + initOverrides?: RequestInit | runtime.InitOverrideFunction + ): Promise> { + if (requestParameters['deleteFileBucketModel'] == null) { + throw new runtime.RequiredError( + 'deleteFileBucketModel', + 'Required parameter "deleteFileBucketModel" was null or undefined when calling fileBucketControllerDeleteFileBucket().' + ); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + headerParameters['Content-Type'] = 'application/json'; + + if (this.configuration && this.configuration.accessToken) { + const token = this.configuration.accessToken; + const tokenString = await token('API_Key', []); + + if (tokenString) { + headerParameters['Authorization'] = `Bearer ${tokenString}`; + } + } + const response = await this.request( + { + path: `/file/bucket`, + method: 'DELETE', + headers: headerParameters, + query: queryParameters, + body: DeleteFileBucketModelToJSON( + requestParameters['deleteFileBucketModel'] + ), + }, + initOverrides + ); + + return new runtime.JSONApiResponse(response, (jsonValue) => + FileBucketFromJSON(jsonValue) + ); + } + + /** + * Delete a File Bucket. + */ + async fileBucketControllerDeleteFileBucket( + requestParameters: FileBucketControllerDeleteFileBucketRequest, + initOverrides?: RequestInit | runtime.InitOverrideFunction + ): Promise { + const response = await this.fileBucketControllerDeleteFileBucketRaw( + requestParameters, + initOverrides + ); + return await response.value(); + } + + /** + * Get File Buckets by Config Id and Config Env. + */ + async fileBucketControllerGetBucketsByConfigIdAndEnvRaw( + requestParameters: FileBucketControllerGetBucketsByConfigIdAndEnvRequest, + initOverrides?: RequestInit | runtime.InitOverrideFunction + ): Promise>> { + if (requestParameters['configId'] == null) { + throw new runtime.RequiredError( + 'configId', + 'Required parameter "configId" was null or undefined when calling fileBucketControllerGetBucketsByConfigIdAndEnv().' + ); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.accessToken) { + const token = this.configuration.accessToken; + const tokenString = await token('API_Key', []); + + if (tokenString) { + headerParameters['Authorization'] = `Bearer ${tokenString}`; + } + } + const response = await this.request( + { + path: `/file/bucket/{configId}`.replace( + `{${'configId'}}`, + encodeURIComponent(String(requestParameters['configId'])) + ), + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, + initOverrides + ); + + return new runtime.JSONApiResponse(response, (jsonValue) => + jsonValue.map(FileBucketFromJSON) + ); + } + + /** + * Get File Buckets by Config Id and Config Env. + */ + async fileBucketControllerGetBucketsByConfigIdAndEnv( + requestParameters: FileBucketControllerGetBucketsByConfigIdAndEnvRequest, + initOverrides?: RequestInit | runtime.InitOverrideFunction + ): Promise> { + const response = + await this.fileBucketControllerGetBucketsByConfigIdAndEnvRaw( + requestParameters, + initOverrides + ); + return await response.value(); + } + + /** + * Registers a File Bucket. + */ + async fileBucketControllerRegisterFileBucketRaw( + requestParameters: FileBucketControllerRegisterFileBucketRequest, + initOverrides?: RequestInit | runtime.InitOverrideFunction + ): Promise> { + if (requestParameters['registerFileBucketModel'] == null) { + throw new runtime.RequiredError( + 'registerFileBucketModel', + 'Required parameter "registerFileBucketModel" was null or undefined when calling fileBucketControllerRegisterFileBucket().' + ); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + headerParameters['Content-Type'] = 'application/json'; + + if (this.configuration && this.configuration.accessToken) { + const token = this.configuration.accessToken; + const tokenString = await token('API_Key', []); + + if (tokenString) { + headerParameters['Authorization'] = `Bearer ${tokenString}`; + } + } + const response = await this.request( + { + path: `/file/bucket`, + method: 'POST', + headers: headerParameters, + query: queryParameters, + body: RegisterFileBucketModelToJSON( + requestParameters['registerFileBucketModel'] + ), + }, + initOverrides + ); + + return new runtime.JSONApiResponse(response, (jsonValue) => + FileBucketFromJSON(jsonValue) + ); + } + + /** + * Registers a File Bucket. + */ + async fileBucketControllerRegisterFileBucket( + requestParameters: FileBucketControllerRegisterFileBucketRequest, + initOverrides?: RequestInit | runtime.InitOverrideFunction + ): Promise { + const response = await this.fileBucketControllerRegisterFileBucketRaw( + requestParameters, + initOverrides + ); + return await response.value(); + } +} diff --git a/src/internal/apis/FileConfigApi.ts b/src/internal/apis/FileConfigApi.ts new file mode 100644 index 0000000..af0708c --- /dev/null +++ b/src/internal/apis/FileConfigApi.ts @@ -0,0 +1,198 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Juno + * Juno Public API Docs + * + * The version of the OpenAPI document: 1.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 * as runtime from '../runtime'; +import type { + FileConfigResponse, + SetupFileServiceResponse, +} from '../models/index'; +import { + FileConfigResponseFromJSON, + FileConfigResponseToJSON, + SetupFileServiceResponseFromJSON, + SetupFileServiceResponseToJSON, +} from '../models/index'; + +export interface FileConfigControllerDeleteFileConfigByProjectIdRequest { + projectId: string; +} + +export interface FileConfigControllerGetFileConfigByProjectIdRequest { + projectId: string; +} + +/** + * + */ +export class FileConfigApi extends runtime.BaseAPI { + /** + * Delete file configuration by project ID + */ + async fileConfigControllerDeleteFileConfigByProjectIdRaw( + requestParameters: FileConfigControllerDeleteFileConfigByProjectIdRequest, + initOverrides?: RequestInit | runtime.InitOverrideFunction + ): Promise> { + if (requestParameters['projectId'] == null) { + throw new runtime.RequiredError( + 'projectId', + 'Required parameter "projectId" was null or undefined when calling fileConfigControllerDeleteFileConfigByProjectId().' + ); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.accessToken) { + const token = this.configuration.accessToken; + const tokenString = await token('API_Key', []); + + if (tokenString) { + headerParameters['Authorization'] = `Bearer ${tokenString}`; + } + } + const response = await this.request( + { + path: `/file/config/delete/{projectId}`.replace( + `{${'projectId'}}`, + encodeURIComponent(String(requestParameters['projectId'])) + ), + method: 'DELETE', + headers: headerParameters, + query: queryParameters, + }, + initOverrides + ); + + return new runtime.JSONApiResponse(response, (jsonValue) => + FileConfigResponseFromJSON(jsonValue) + ); + } + + /** + * Delete file configuration by project ID + */ + async fileConfigControllerDeleteFileConfigByProjectId( + requestParameters: FileConfigControllerDeleteFileConfigByProjectIdRequest, + initOverrides?: RequestInit | runtime.InitOverrideFunction + ): Promise { + const response = + await this.fileConfigControllerDeleteFileConfigByProjectIdRaw( + requestParameters, + initOverrides + ); + return await response.value(); + } + + /** + * Get file configuration by project ID + */ + async fileConfigControllerGetFileConfigByProjectIdRaw( + requestParameters: FileConfigControllerGetFileConfigByProjectIdRequest, + initOverrides?: RequestInit | runtime.InitOverrideFunction + ): Promise> { + if (requestParameters['projectId'] == null) { + throw new runtime.RequiredError( + 'projectId', + 'Required parameter "projectId" was null or undefined when calling fileConfigControllerGetFileConfigByProjectId().' + ); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.accessToken) { + const token = this.configuration.accessToken; + const tokenString = await token('API_Key', []); + + if (tokenString) { + headerParameters['Authorization'] = `Bearer ${tokenString}`; + } + } + const response = await this.request( + { + path: `/file/config/{projectId}`.replace( + `{${'projectId'}}`, + encodeURIComponent(String(requestParameters['projectId'])) + ), + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, + initOverrides + ); + + return new runtime.JSONApiResponse(response, (jsonValue) => + FileConfigResponseFromJSON(jsonValue) + ); + } + + /** + * Get file configuration by project ID + */ + async fileConfigControllerGetFileConfigByProjectId( + requestParameters: FileConfigControllerGetFileConfigByProjectIdRequest, + initOverrides?: RequestInit | runtime.InitOverrideFunction + ): Promise { + const response = await this.fileConfigControllerGetFileConfigByProjectIdRaw( + requestParameters, + initOverrides + ); + return await response.value(); + } + + /** + * Sets up file services for the Project/Environment + */ + async fileConfigControllerSetupRaw( + initOverrides?: RequestInit | runtime.InitOverrideFunction + ): Promise> { + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.accessToken) { + const token = this.configuration.accessToken; + const tokenString = await token('API_Key', []); + + if (tokenString) { + headerParameters['Authorization'] = `Bearer ${tokenString}`; + } + } + const response = await this.request( + { + path: `/file/config/setup`, + method: 'POST', + headers: headerParameters, + query: queryParameters, + }, + initOverrides + ); + + return new runtime.JSONApiResponse(response, (jsonValue) => + SetupFileServiceResponseFromJSON(jsonValue) + ); + } + + /** + * Sets up file services for the Project/Environment + */ + async fileConfigControllerSetup( + initOverrides?: RequestInit | runtime.InitOverrideFunction + ): Promise { + const response = await this.fileConfigControllerSetupRaw(initOverrides); + return await response.value(); + } +} diff --git a/src/internal/apis/FileDownloadApi.ts b/src/internal/apis/FileDownloadApi.ts new file mode 100644 index 0000000..888e77f --- /dev/null +++ b/src/internal/apis/FileDownloadApi.ts @@ -0,0 +1,89 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Juno + * Juno Public API Docs + * + * The version of the OpenAPI document: 1.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 * as runtime from '../runtime'; +import type { DownloadFileModel, DownloadFileResponse } from '../models/index'; +import { + DownloadFileModelFromJSON, + DownloadFileModelToJSON, + DownloadFileResponseFromJSON, + DownloadFileResponseToJSON, +} from '../models/index'; + +export interface FileDownloadControllerDownloadFileRequest { + downloadFileModel: DownloadFileModel; +} + +/** + * + */ +export class FileDownloadApi extends runtime.BaseAPI { + /** + * Downloads a file + */ + async fileDownloadControllerDownloadFileRaw( + requestParameters: FileDownloadControllerDownloadFileRequest, + initOverrides?: RequestInit | runtime.InitOverrideFunction + ): Promise> { + if (requestParameters['downloadFileModel'] == null) { + throw new runtime.RequiredError( + 'downloadFileModel', + 'Required parameter "downloadFileModel" was null or undefined when calling fileDownloadControllerDownloadFile().' + ); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + headerParameters['Content-Type'] = 'application/json'; + + if (this.configuration && this.configuration.accessToken) { + const token = this.configuration.accessToken; + const tokenString = await token('API_Key', []); + + if (tokenString) { + headerParameters['Authorization'] = `Bearer ${tokenString}`; + } + } + const response = await this.request( + { + path: `/file/download`, + method: 'POST', + headers: headerParameters, + query: queryParameters, + body: DownloadFileModelToJSON(requestParameters['downloadFileModel']), + }, + initOverrides + ); + + return new runtime.JSONApiResponse(response, (jsonValue) => + DownloadFileResponseFromJSON(jsonValue) + ); + } + + /** + * Downloads a file + */ + async fileDownloadControllerDownloadFile( + requestParameters: FileDownloadControllerDownloadFileRequest, + initOverrides?: RequestInit | runtime.InitOverrideFunction + ): Promise { + const response = await this.fileDownloadControllerDownloadFileRaw( + requestParameters, + initOverrides + ); + return await response.value(); + } +} diff --git a/src/internal/apis/FileProviderApi.ts b/src/internal/apis/FileProviderApi.ts new file mode 100644 index 0000000..86d2e2a --- /dev/null +++ b/src/internal/apis/FileProviderApi.ts @@ -0,0 +1,204 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Juno + * Juno Public API Docs + * + * The version of the OpenAPI document: 1.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 * as runtime from '../runtime'; +import type { + FileProvider, + FileProviderPartial, + RegisterFileProviderModel, +} from '../models/index'; +import { + FileProviderFromJSON, + FileProviderToJSON, + FileProviderPartialFromJSON, + FileProviderPartialToJSON, + RegisterFileProviderModelFromJSON, + RegisterFileProviderModelToJSON, +} from '../models/index'; + +export interface FileProviderControllerDeleteFileProviderRequest { + name: string; +} + +export interface FileProviderControllerRegisterFileProviderRequest { + registerFileProviderModel: RegisterFileProviderModel; +} + +/** + * + */ +export class FileProviderApi extends runtime.BaseAPI { + /** + * Delete File Provider. + */ + async fileProviderControllerDeleteFileProviderRaw( + requestParameters: FileProviderControllerDeleteFileProviderRequest, + initOverrides?: RequestInit | runtime.InitOverrideFunction + ): Promise> { + if (requestParameters['name'] == null) { + throw new runtime.RequiredError( + 'name', + 'Required parameter "name" was null or undefined when calling fileProviderControllerDeleteFileProvider().' + ); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.accessToken) { + const token = this.configuration.accessToken; + const tokenString = await token('API_Key', []); + + if (tokenString) { + headerParameters['Authorization'] = `Bearer ${tokenString}`; + } + } + const response = await this.request( + { + path: `/file/provider/{name}`.replace( + `{${'name'}}`, + encodeURIComponent(String(requestParameters['name'])) + ), + method: 'DELETE', + headers: headerParameters, + query: queryParameters, + }, + initOverrides + ); + + return new runtime.JSONApiResponse(response, (jsonValue) => + FileProviderPartialFromJSON(jsonValue) + ); + } + + /** + * Delete File Provider. + */ + async fileProviderControllerDeleteFileProvider( + requestParameters: FileProviderControllerDeleteFileProviderRequest, + initOverrides?: RequestInit | runtime.InitOverrideFunction + ): Promise { + const response = await this.fileProviderControllerDeleteFileProviderRaw( + requestParameters, + initOverrides + ); + return await response.value(); + } + + /** + * Get All File Providers. + */ + async fileProviderControllerGetAllFileProvidersRaw( + initOverrides?: RequestInit | runtime.InitOverrideFunction + ): Promise>> { + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.accessToken) { + const token = this.configuration.accessToken; + const tokenString = await token('API_Key', []); + + if (tokenString) { + headerParameters['Authorization'] = `Bearer ${tokenString}`; + } + } + const response = await this.request( + { + path: `/file/provider/all`, + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, + initOverrides + ); + + return new runtime.JSONApiResponse(response, (jsonValue) => + jsonValue.map(FileProviderFromJSON) + ); + } + + /** + * Get All File Providers. + */ + async fileProviderControllerGetAllFileProviders( + initOverrides?: RequestInit | runtime.InitOverrideFunction + ): Promise> { + const response = await this.fileProviderControllerGetAllFileProvidersRaw( + initOverrides + ); + return await response.value(); + } + + /** + * Registers a File Provider. + */ + async fileProviderControllerRegisterFileProviderRaw( + requestParameters: FileProviderControllerRegisterFileProviderRequest, + initOverrides?: RequestInit | runtime.InitOverrideFunction + ): Promise> { + if (requestParameters['registerFileProviderModel'] == null) { + throw new runtime.RequiredError( + 'registerFileProviderModel', + 'Required parameter "registerFileProviderModel" was null or undefined when calling fileProviderControllerRegisterFileProvider().' + ); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + headerParameters['Content-Type'] = 'application/json'; + + if (this.configuration && this.configuration.accessToken) { + const token = this.configuration.accessToken; + const tokenString = await token('API_Key', []); + + if (tokenString) { + headerParameters['Authorization'] = `Bearer ${tokenString}`; + } + } + const response = await this.request( + { + path: `/file/provider`, + method: 'POST', + headers: headerParameters, + query: queryParameters, + body: RegisterFileProviderModelToJSON( + requestParameters['registerFileProviderModel'] + ), + }, + initOverrides + ); + + return new runtime.JSONApiResponse(response, (jsonValue) => + FileProviderPartialFromJSON(jsonValue) + ); + } + + /** + * Registers a File Provider. + */ + async fileProviderControllerRegisterFileProvider( + requestParameters: FileProviderControllerRegisterFileProviderRequest, + initOverrides?: RequestInit | runtime.InitOverrideFunction + ): Promise { + const response = await this.fileProviderControllerRegisterFileProviderRaw( + requestParameters, + initOverrides + ); + return await response.value(); + } +} diff --git a/src/internal/apis/FileUploadApi.ts b/src/internal/apis/FileUploadApi.ts new file mode 100644 index 0000000..cb2d08a --- /dev/null +++ b/src/internal/apis/FileUploadApi.ts @@ -0,0 +1,89 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Juno + * Juno Public API Docs + * + * The version of the OpenAPI document: 1.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 * as runtime from '../runtime'; +import type { UploadFileModel, UploadFileResponse } from '../models/index'; +import { + UploadFileModelFromJSON, + UploadFileModelToJSON, + UploadFileResponseFromJSON, + UploadFileResponseToJSON, +} from '../models/index'; + +export interface FileUploadControllerUploadFileRequest { + uploadFileModel: UploadFileModel; +} + +/** + * + */ +export class FileUploadApi extends runtime.BaseAPI { + /** + * Upload a file to a File Storage Provider\'s Bucket + */ + async fileUploadControllerUploadFileRaw( + requestParameters: FileUploadControllerUploadFileRequest, + initOverrides?: RequestInit | runtime.InitOverrideFunction + ): Promise> { + if (requestParameters['uploadFileModel'] == null) { + throw new runtime.RequiredError( + 'uploadFileModel', + 'Required parameter "uploadFileModel" was null or undefined when calling fileUploadControllerUploadFile().' + ); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + headerParameters['Content-Type'] = 'application/json'; + + if (this.configuration && this.configuration.accessToken) { + const token = this.configuration.accessToken; + const tokenString = await token('API_Key', []); + + if (tokenString) { + headerParameters['Authorization'] = `Bearer ${tokenString}`; + } + } + const response = await this.request( + { + path: `/file/upload`, + method: 'POST', + headers: headerParameters, + query: queryParameters, + body: UploadFileModelToJSON(requestParameters['uploadFileModel']), + }, + initOverrides + ); + + return new runtime.JSONApiResponse(response, (jsonValue) => + UploadFileResponseFromJSON(jsonValue) + ); + } + + /** + * Upload a file to a File Storage Provider\'s Bucket + */ + async fileUploadControllerUploadFile( + requestParameters: FileUploadControllerUploadFileRequest, + initOverrides?: RequestInit | runtime.InitOverrideFunction + ): Promise { + const response = await this.fileUploadControllerUploadFileRaw( + requestParameters, + initOverrides + ); + return await response.value(); + } +} diff --git a/src/internal/apis/ProjectApi.ts b/src/internal/apis/ProjectApi.ts new file mode 100644 index 0000000..3b3c27d --- /dev/null +++ b/src/internal/apis/ProjectApi.ts @@ -0,0 +1,596 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Juno + * Juno Public API Docs + * + * The version of the OpenAPI document: 1.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 * as runtime from '../runtime'; +import type { + CreateProjectModel, + LinkUserModel, + ProjectResponse, + ProjectResponses, + UserResponses, +} from '../models/index'; +import { + CreateProjectModelFromJSON, + CreateProjectModelToJSON, + LinkUserModelFromJSON, + LinkUserModelToJSON, + ProjectResponseFromJSON, + ProjectResponseToJSON, + ProjectResponsesFromJSON, + ProjectResponsesToJSON, + UserResponsesFromJSON, + UserResponsesToJSON, +} from '../models/index'; + +export interface ProjectControllerCreateProjectRequest { + createProjectModel: CreateProjectModel; + xUserPassword?: string; + xUserEmail?: string; +} + +export interface ProjectControllerDeleteProjectByIdRequest { + id: string; + xUserPassword?: string; + xUserEmail?: string; +} + +export interface ProjectControllerGetAllProjectsRequest { + xUserPassword?: string; + xUserEmail?: string; +} + +export interface ProjectControllerGetProjectByIdRequest { + id: string; +} + +export interface ProjectControllerGetProjectByNameRequest { + name: string; +} + +export interface ProjectControllerGetUsersByProjectRequest { + id: string; + xUserPassword?: string; + xUserEmail?: string; +} + +export interface ProjectControllerLinkUserWithProjectIdRequest { + id: number; + linkUserModel: LinkUserModel; +} + +export interface ProjectControllerLinkUserWithProjectNameRequest { + name: string; + linkUserModel: LinkUserModel; +} + +/** + * + */ +export class ProjectApi extends runtime.BaseAPI { + /** + * Creates a new project with the specified parameters. + */ + async projectControllerCreateProjectRaw( + requestParameters: ProjectControllerCreateProjectRequest, + initOverrides?: RequestInit | runtime.InitOverrideFunction + ): Promise> { + if (requestParameters['createProjectModel'] == null) { + throw new runtime.RequiredError( + 'createProjectModel', + 'Required parameter "createProjectModel" was null or undefined when calling projectControllerCreateProject().' + ); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + headerParameters['Content-Type'] = 'application/json'; + + if (requestParameters['xUserPassword'] != null) { + headerParameters['X-User-Password'] = String( + requestParameters['xUserPassword'] + ); + } + + if (requestParameters['xUserEmail'] != null) { + headerParameters['X-User-Email'] = String( + requestParameters['xUserEmail'] + ); + } + + if (this.configuration && this.configuration.accessToken) { + const token = this.configuration.accessToken; + const tokenString = await token('API_Key', []); + + if (tokenString) { + headerParameters['Authorization'] = `Bearer ${tokenString}`; + } + } + const response = await this.request( + { + path: `/project`, + method: 'POST', + headers: headerParameters, + query: queryParameters, + body: CreateProjectModelToJSON(requestParameters['createProjectModel']), + }, + initOverrides + ); + + return new runtime.JSONApiResponse(response, (jsonValue) => + ProjectResponseFromJSON(jsonValue) + ); + } + + /** + * Creates a new project with the specified parameters. + */ + async projectControllerCreateProject( + requestParameters: ProjectControllerCreateProjectRequest, + initOverrides?: RequestInit | runtime.InitOverrideFunction + ): Promise { + const response = await this.projectControllerCreateProjectRaw( + requestParameters, + initOverrides + ); + return await response.value(); + } + + /** + * Delete an existing project. + */ + async projectControllerDeleteProjectByIdRaw( + requestParameters: ProjectControllerDeleteProjectByIdRequest, + initOverrides?: RequestInit | runtime.InitOverrideFunction + ): Promise> { + if (requestParameters['id'] == null) { + throw new runtime.RequiredError( + 'id', + 'Required parameter "id" was null or undefined when calling projectControllerDeleteProjectById().' + ); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + if (requestParameters['xUserPassword'] != null) { + headerParameters['X-User-Password'] = String( + requestParameters['xUserPassword'] + ); + } + + if (requestParameters['xUserEmail'] != null) { + headerParameters['X-User-Email'] = String( + requestParameters['xUserEmail'] + ); + } + + if (this.configuration && this.configuration.accessToken) { + const token = this.configuration.accessToken; + const tokenString = await token('API_Key', []); + + if (tokenString) { + headerParameters['Authorization'] = `Bearer ${tokenString}`; + } + } + const response = await this.request( + { + path: `/project/id/{id}`.replace( + `{${'id'}}`, + encodeURIComponent(String(requestParameters['id'])) + ), + method: 'DELETE', + headers: headerParameters, + query: queryParameters, + }, + initOverrides + ); + + return new runtime.JSONApiResponse(response, (jsonValue) => + ProjectResponseFromJSON(jsonValue) + ); + } + + /** + * Delete an existing project. + */ + async projectControllerDeleteProjectById( + requestParameters: ProjectControllerDeleteProjectByIdRequest, + initOverrides?: RequestInit | runtime.InitOverrideFunction + ): Promise { + const response = await this.projectControllerDeleteProjectByIdRaw( + requestParameters, + initOverrides + ); + return await response.value(); + } + + /** + * Retrieves all projects. + */ + async projectControllerGetAllProjectsRaw( + requestParameters: ProjectControllerGetAllProjectsRequest, + initOverrides?: RequestInit | runtime.InitOverrideFunction + ): Promise> { + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + if (requestParameters['xUserPassword'] != null) { + headerParameters['X-User-Password'] = String( + requestParameters['xUserPassword'] + ); + } + + if (requestParameters['xUserEmail'] != null) { + headerParameters['X-User-Email'] = String( + requestParameters['xUserEmail'] + ); + } + + if (this.configuration && this.configuration.accessToken) { + const token = this.configuration.accessToken; + const tokenString = await token('API_Key', []); + + if (tokenString) { + headerParameters['Authorization'] = `Bearer ${tokenString}`; + } + } + const response = await this.request( + { + path: `/project`, + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, + initOverrides + ); + + return new runtime.JSONApiResponse(response, (jsonValue) => + ProjectResponsesFromJSON(jsonValue) + ); + } + + /** + * Retrieves all projects. + */ + async projectControllerGetAllProjects( + requestParameters: ProjectControllerGetAllProjectsRequest = {}, + initOverrides?: RequestInit | runtime.InitOverrideFunction + ): Promise { + const response = await this.projectControllerGetAllProjectsRaw( + requestParameters, + initOverrides + ); + return await response.value(); + } + + /** + * Retrieves a project by its unique ID. + */ + async projectControllerGetProjectByIdRaw( + requestParameters: ProjectControllerGetProjectByIdRequest, + initOverrides?: RequestInit | runtime.InitOverrideFunction + ): Promise> { + if (requestParameters['id'] == null) { + throw new runtime.RequiredError( + 'id', + 'Required parameter "id" was null or undefined when calling projectControllerGetProjectById().' + ); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.accessToken) { + const token = this.configuration.accessToken; + const tokenString = await token('API_Key', []); + + if (tokenString) { + headerParameters['Authorization'] = `Bearer ${tokenString}`; + } + } + const response = await this.request( + { + path: `/project/id/{id}`.replace( + `{${'id'}}`, + encodeURIComponent(String(requestParameters['id'])) + ), + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, + initOverrides + ); + + return new runtime.JSONApiResponse(response, (jsonValue) => + ProjectResponseFromJSON(jsonValue) + ); + } + + /** + * Retrieves a project by its unique ID. + */ + async projectControllerGetProjectById( + requestParameters: ProjectControllerGetProjectByIdRequest, + initOverrides?: RequestInit | runtime.InitOverrideFunction + ): Promise { + const response = await this.projectControllerGetProjectByIdRaw( + requestParameters, + initOverrides + ); + return await response.value(); + } + + /** + * Retrieves a project by its unique name. + */ + async projectControllerGetProjectByNameRaw( + requestParameters: ProjectControllerGetProjectByNameRequest, + initOverrides?: RequestInit | runtime.InitOverrideFunction + ): Promise> { + if (requestParameters['name'] == null) { + throw new runtime.RequiredError( + 'name', + 'Required parameter "name" was null or undefined when calling projectControllerGetProjectByName().' + ); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.accessToken) { + const token = this.configuration.accessToken; + const tokenString = await token('API_Key', []); + + if (tokenString) { + headerParameters['Authorization'] = `Bearer ${tokenString}`; + } + } + const response = await this.request( + { + path: `/project/name/{name}`.replace( + `{${'name'}}`, + encodeURIComponent(String(requestParameters['name'])) + ), + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, + initOverrides + ); + + return new runtime.JSONApiResponse(response, (jsonValue) => + ProjectResponseFromJSON(jsonValue) + ); + } + + /** + * Retrieves a project by its unique name. + */ + async projectControllerGetProjectByName( + requestParameters: ProjectControllerGetProjectByNameRequest, + initOverrides?: RequestInit | runtime.InitOverrideFunction + ): Promise { + const response = await this.projectControllerGetProjectByNameRaw( + requestParameters, + initOverrides + ); + return await response.value(); + } + + /** + * Retrieve all users associated with a project. + */ + async projectControllerGetUsersByProjectRaw( + requestParameters: ProjectControllerGetUsersByProjectRequest, + initOverrides?: RequestInit | runtime.InitOverrideFunction + ): Promise> { + if (requestParameters['id'] == null) { + throw new runtime.RequiredError( + 'id', + 'Required parameter "id" was null or undefined when calling projectControllerGetUsersByProject().' + ); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + if (requestParameters['xUserPassword'] != null) { + headerParameters['X-User-Password'] = String( + requestParameters['xUserPassword'] + ); + } + + if (requestParameters['xUserEmail'] != null) { + headerParameters['X-User-Email'] = String( + requestParameters['xUserEmail'] + ); + } + + if (this.configuration && this.configuration.accessToken) { + const token = this.configuration.accessToken; + const tokenString = await token('API_Key', []); + + if (tokenString) { + headerParameters['Authorization'] = `Bearer ${tokenString}`; + } + } + const response = await this.request( + { + path: `/project/{id}/users`.replace( + `{${'id'}}`, + encodeURIComponent(String(requestParameters['id'])) + ), + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, + initOverrides + ); + + return new runtime.JSONApiResponse(response, (jsonValue) => + UserResponsesFromJSON(jsonValue) + ); + } + + /** + * Retrieve all users associated with a project. + */ + async projectControllerGetUsersByProject( + requestParameters: ProjectControllerGetUsersByProjectRequest, + initOverrides?: RequestInit | runtime.InitOverrideFunction + ): Promise { + const response = await this.projectControllerGetUsersByProjectRaw( + requestParameters, + initOverrides + ); + return await response.value(); + } + + /** + * Links a specified user with a given project ID. + */ + async projectControllerLinkUserWithProjectIdRaw( + requestParameters: ProjectControllerLinkUserWithProjectIdRequest, + initOverrides?: RequestInit | runtime.InitOverrideFunction + ): Promise> { + if (requestParameters['id'] == null) { + throw new runtime.RequiredError( + 'id', + 'Required parameter "id" was null or undefined when calling projectControllerLinkUserWithProjectId().' + ); + } + + if (requestParameters['linkUserModel'] == null) { + throw new runtime.RequiredError( + 'linkUserModel', + 'Required parameter "linkUserModel" was null or undefined when calling projectControllerLinkUserWithProjectId().' + ); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + headerParameters['Content-Type'] = 'application/json'; + + if (this.configuration && this.configuration.accessToken) { + const token = this.configuration.accessToken; + const tokenString = await token('API_Key', []); + + if (tokenString) { + headerParameters['Authorization'] = `Bearer ${tokenString}`; + } + } + const response = await this.request( + { + path: `/project/id/{id}/user`.replace( + `{${'id'}}`, + encodeURIComponent(String(requestParameters['id'])) + ), + method: 'PUT', + headers: headerParameters, + query: queryParameters, + body: LinkUserModelToJSON(requestParameters['linkUserModel']), + }, + initOverrides + ); + + return new runtime.VoidApiResponse(response); + } + + /** + * Links a specified user with a given project ID. + */ + async projectControllerLinkUserWithProjectId( + requestParameters: ProjectControllerLinkUserWithProjectIdRequest, + initOverrides?: RequestInit | runtime.InitOverrideFunction + ): Promise { + await this.projectControllerLinkUserWithProjectIdRaw( + requestParameters, + initOverrides + ); + } + + /** + * Links a specified user with a given project name. + */ + async projectControllerLinkUserWithProjectNameRaw( + requestParameters: ProjectControllerLinkUserWithProjectNameRequest, + initOverrides?: RequestInit | runtime.InitOverrideFunction + ): Promise> { + if (requestParameters['name'] == null) { + throw new runtime.RequiredError( + 'name', + 'Required parameter "name" was null or undefined when calling projectControllerLinkUserWithProjectName().' + ); + } + + if (requestParameters['linkUserModel'] == null) { + throw new runtime.RequiredError( + 'linkUserModel', + 'Required parameter "linkUserModel" was null or undefined when calling projectControllerLinkUserWithProjectName().' + ); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + headerParameters['Content-Type'] = 'application/json'; + + if (this.configuration && this.configuration.accessToken) { + const token = this.configuration.accessToken; + const tokenString = await token('API_Key', []); + + if (tokenString) { + headerParameters['Authorization'] = `Bearer ${tokenString}`; + } + } + const response = await this.request( + { + path: `/project/name/{name}/user`.replace( + `{${'name'}}`, + encodeURIComponent(String(requestParameters['name'])) + ), + method: 'PUT', + headers: headerParameters, + query: queryParameters, + body: LinkUserModelToJSON(requestParameters['linkUserModel']), + }, + initOverrides + ); + + return new runtime.VoidApiResponse(response); + } + + /** + * Links a specified user with a given project name. + */ + async projectControllerLinkUserWithProjectName( + requestParameters: ProjectControllerLinkUserWithProjectNameRequest, + initOverrides?: RequestInit | runtime.InitOverrideFunction + ): Promise { + await this.projectControllerLinkUserWithProjectNameRaw( + requestParameters, + initOverrides + ); + } +} diff --git a/src/internal/apis/UserApi.ts b/src/internal/apis/UserApi.ts new file mode 100644 index 0000000..feacd65 --- /dev/null +++ b/src/internal/apis/UserApi.ts @@ -0,0 +1,584 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Juno + * Juno Public API Docs + * + * The version of the OpenAPI document: 1.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 * as runtime from '../runtime'; +import type { + CreateUserModel, + LinkProjectModel, + SetUserTypeModel, + UnlinkProjectModel, + UserResponse, + UserResponses, +} from '../models/index'; +import { + CreateUserModelFromJSON, + CreateUserModelToJSON, + LinkProjectModelFromJSON, + LinkProjectModelToJSON, + SetUserTypeModelFromJSON, + SetUserTypeModelToJSON, + UnlinkProjectModelFromJSON, + UnlinkProjectModelToJSON, + UserResponseFromJSON, + UserResponseToJSON, + UserResponsesFromJSON, + UserResponsesToJSON, +} from '../models/index'; + +export interface UserControllerCreateUserRequest { + createUserModel: CreateUserModel; + xUserPassword?: string; + xUserEmail?: string; +} + +export interface UserControllerDeleteUserByIdRequest { + id: string; + xUserPassword?: string; + xUserEmail?: string; +} + +export interface UserControllerGetAllUsersRequest { + xUserPassword?: string; + xUserEmail?: string; +} + +export interface UserControllerGetUserByIdRequest { + id: string; +} + +export interface UserControllerLinkUserWithProjectIdRequest { + id: string; + linkProjectModel: LinkProjectModel; + xUserPassword?: string; + xUserEmail?: string; +} + +export interface UserControllerSetUserTypeRequest { + setUserTypeModel: SetUserTypeModel; + xUserPassword?: string; + xUserEmail?: string; +} + +export interface UserControllerUnlinkUserFromProjectRequest { + id: string; + unlinkProjectModel: UnlinkProjectModel; + xUserPassword?: string; + xUserEmail?: string; +} + +/** + * + */ +export class UserApi extends runtime.BaseAPI { + /** + * Create a new user. + */ + async userControllerCreateUserRaw( + requestParameters: UserControllerCreateUserRequest, + initOverrides?: RequestInit | runtime.InitOverrideFunction + ): Promise> { + if (requestParameters['createUserModel'] == null) { + throw new runtime.RequiredError( + 'createUserModel', + 'Required parameter "createUserModel" was null or undefined when calling userControllerCreateUser().' + ); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + headerParameters['Content-Type'] = 'application/json'; + + if (requestParameters['xUserPassword'] != null) { + headerParameters['X-User-Password'] = String( + requestParameters['xUserPassword'] + ); + } + + if (requestParameters['xUserEmail'] != null) { + headerParameters['X-User-Email'] = String( + requestParameters['xUserEmail'] + ); + } + + if (this.configuration && this.configuration.accessToken) { + const token = this.configuration.accessToken; + const tokenString = await token('API_Key', []); + + if (tokenString) { + headerParameters['Authorization'] = `Bearer ${tokenString}`; + } + } + const response = await this.request( + { + path: `/user`, + method: 'POST', + headers: headerParameters, + query: queryParameters, + body: CreateUserModelToJSON(requestParameters['createUserModel']), + }, + initOverrides + ); + + return new runtime.JSONApiResponse(response, (jsonValue) => + UserResponseFromJSON(jsonValue) + ); + } + + /** + * Create a new user. + */ + async userControllerCreateUser( + requestParameters: UserControllerCreateUserRequest, + initOverrides?: RequestInit | runtime.InitOverrideFunction + ): Promise { + const response = await this.userControllerCreateUserRaw( + requestParameters, + initOverrides + ); + return await response.value(); + } + + /** + * Delete an existing user. + */ + async userControllerDeleteUserByIdRaw( + requestParameters: UserControllerDeleteUserByIdRequest, + initOverrides?: RequestInit | runtime.InitOverrideFunction + ): Promise> { + if (requestParameters['id'] == null) { + throw new runtime.RequiredError( + 'id', + 'Required parameter "id" was null or undefined when calling userControllerDeleteUserById().' + ); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + if (requestParameters['xUserPassword'] != null) { + headerParameters['X-User-Password'] = String( + requestParameters['xUserPassword'] + ); + } + + if (requestParameters['xUserEmail'] != null) { + headerParameters['X-User-Email'] = String( + requestParameters['xUserEmail'] + ); + } + + if (this.configuration && this.configuration.accessToken) { + const token = this.configuration.accessToken; + const tokenString = await token('API_Key', []); + + if (tokenString) { + headerParameters['Authorization'] = `Bearer ${tokenString}`; + } + } + const response = await this.request( + { + path: `/user/id/{id}`.replace( + `{${'id'}}`, + encodeURIComponent(String(requestParameters['id'])) + ), + method: 'DELETE', + headers: headerParameters, + query: queryParameters, + }, + initOverrides + ); + + return new runtime.JSONApiResponse(response, (jsonValue) => + UserResponseFromJSON(jsonValue) + ); + } + + /** + * Delete an existing user. + */ + async userControllerDeleteUserById( + requestParameters: UserControllerDeleteUserByIdRequest, + initOverrides?: RequestInit | runtime.InitOverrideFunction + ): Promise { + const response = await this.userControllerDeleteUserByIdRaw( + requestParameters, + initOverrides + ); + return await response.value(); + } + + /** + * Retrieves all users. + */ + async userControllerGetAllUsersRaw( + requestParameters: UserControllerGetAllUsersRequest, + initOverrides?: RequestInit | runtime.InitOverrideFunction + ): Promise> { + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + if (requestParameters['xUserPassword'] != null) { + headerParameters['X-User-Password'] = String( + requestParameters['xUserPassword'] + ); + } + + if (requestParameters['xUserEmail'] != null) { + headerParameters['X-User-Email'] = String( + requestParameters['xUserEmail'] + ); + } + + if (this.configuration && this.configuration.accessToken) { + const token = this.configuration.accessToken; + const tokenString = await token('API_Key', []); + + if (tokenString) { + headerParameters['Authorization'] = `Bearer ${tokenString}`; + } + } + const response = await this.request( + { + path: `/user`, + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, + initOverrides + ); + + return new runtime.JSONApiResponse(response, (jsonValue) => + UserResponsesFromJSON(jsonValue) + ); + } + + /** + * Retrieves all users. + */ + async userControllerGetAllUsers( + requestParameters: UserControllerGetAllUsersRequest = {}, + initOverrides?: RequestInit | runtime.InitOverrideFunction + ): Promise { + const response = await this.userControllerGetAllUsersRaw( + requestParameters, + initOverrides + ); + return await response.value(); + } + + /** + * Retrieve an existing user. + */ + async userControllerGetUserByIdRaw( + requestParameters: UserControllerGetUserByIdRequest, + initOverrides?: RequestInit | runtime.InitOverrideFunction + ): Promise> { + if (requestParameters['id'] == null) { + throw new runtime.RequiredError( + 'id', + 'Required parameter "id" was null or undefined when calling userControllerGetUserById().' + ); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.accessToken) { + const token = this.configuration.accessToken; + const tokenString = await token('API_Key', []); + + if (tokenString) { + headerParameters['Authorization'] = `Bearer ${tokenString}`; + } + } + const response = await this.request( + { + path: `/user/id/{id}`.replace( + `{${'id'}}`, + encodeURIComponent(String(requestParameters['id'])) + ), + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, + initOverrides + ); + + return new runtime.JSONApiResponse(response, (jsonValue) => + UserResponseFromJSON(jsonValue) + ); + } + + /** + * Retrieve an existing user. + */ + async userControllerGetUserById( + requestParameters: UserControllerGetUserByIdRequest, + initOverrides?: RequestInit | runtime.InitOverrideFunction + ): Promise { + const response = await this.userControllerGetUserByIdRaw( + requestParameters, + initOverrides + ); + return await response.value(); + } + + /** + * Associates a user with a project ID. + * Link user to project. + */ + async userControllerLinkUserWithProjectIdRaw( + requestParameters: UserControllerLinkUserWithProjectIdRequest, + initOverrides?: RequestInit | runtime.InitOverrideFunction + ): Promise> { + if (requestParameters['id'] == null) { + throw new runtime.RequiredError( + 'id', + 'Required parameter "id" was null or undefined when calling userControllerLinkUserWithProjectId().' + ); + } + + if (requestParameters['linkProjectModel'] == null) { + throw new runtime.RequiredError( + 'linkProjectModel', + 'Required parameter "linkProjectModel" was null or undefined when calling userControllerLinkUserWithProjectId().' + ); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + headerParameters['Content-Type'] = 'application/json'; + + if (requestParameters['xUserPassword'] != null) { + headerParameters['X-User-Password'] = String( + requestParameters['xUserPassword'] + ); + } + + if (requestParameters['xUserEmail'] != null) { + headerParameters['X-User-Email'] = String( + requestParameters['xUserEmail'] + ); + } + + if (this.configuration && this.configuration.accessToken) { + const token = this.configuration.accessToken; + const tokenString = await token('API_Key', []); + + if (tokenString) { + headerParameters['Authorization'] = `Bearer ${tokenString}`; + } + } + const response = await this.request( + { + path: `/user/id/{id}/project`.replace( + `{${'id'}}`, + encodeURIComponent(String(requestParameters['id'])) + ), + method: 'PUT', + headers: headerParameters, + query: queryParameters, + body: LinkProjectModelToJSON(requestParameters['linkProjectModel']), + }, + initOverrides + ); + + return new runtime.JSONApiResponse(response, (jsonValue) => + UserResponseFromJSON(jsonValue) + ); + } + + /** + * Associates a user with a project ID. + * Link user to project. + */ + async userControllerLinkUserWithProjectId( + requestParameters: UserControllerLinkUserWithProjectIdRequest, + initOverrides?: RequestInit | runtime.InitOverrideFunction + ): Promise { + const response = await this.userControllerLinkUserWithProjectIdRaw( + requestParameters, + initOverrides + ); + return await response.value(); + } + + /** + * Updates the user type for an existing user. User type can be thought of as a role with role-based permissions, e.g. SUPERADMIN could have permissions an ADMIN would not. Only SUPERADMIN users can set types + * Update user type. + */ + async userControllerSetUserTypeRaw( + requestParameters: UserControllerSetUserTypeRequest, + initOverrides?: RequestInit | runtime.InitOverrideFunction + ): Promise> { + if (requestParameters['setUserTypeModel'] == null) { + throw new runtime.RequiredError( + 'setUserTypeModel', + 'Required parameter "setUserTypeModel" was null or undefined when calling userControllerSetUserType().' + ); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + headerParameters['Content-Type'] = 'application/json'; + + if (requestParameters['xUserPassword'] != null) { + headerParameters['X-User-Password'] = String( + requestParameters['xUserPassword'] + ); + } + + if (requestParameters['xUserEmail'] != null) { + headerParameters['X-User-Email'] = String( + requestParameters['xUserEmail'] + ); + } + + if (this.configuration && this.configuration.accessToken) { + const token = this.configuration.accessToken; + const tokenString = await token('API_Key', []); + + if (tokenString) { + headerParameters['Authorization'] = `Bearer ${tokenString}`; + } + } + const response = await this.request( + { + path: `/user/type`, + method: 'POST', + headers: headerParameters, + query: queryParameters, + body: SetUserTypeModelToJSON(requestParameters['setUserTypeModel']), + }, + initOverrides + ); + + return new runtime.JSONApiResponse(response, (jsonValue) => + UserResponseFromJSON(jsonValue) + ); + } + + /** + * Updates the user type for an existing user. User type can be thought of as a role with role-based permissions, e.g. SUPERADMIN could have permissions an ADMIN would not. Only SUPERADMIN users can set types + * Update user type. + */ + async userControllerSetUserType( + requestParameters: UserControllerSetUserTypeRequest, + initOverrides?: RequestInit | runtime.InitOverrideFunction + ): Promise { + const response = await this.userControllerSetUserTypeRaw( + requestParameters, + initOverrides + ); + switch (response.raw.status) { + case 200: + return await response.value(); + case 201: + return null; + default: + return await response.value(); + } + } + + /** + * Removes a user from a project. + * Unlink user from project. + */ + async userControllerUnlinkUserFromProjectRaw( + requestParameters: UserControllerUnlinkUserFromProjectRequest, + initOverrides?: RequestInit | runtime.InitOverrideFunction + ): Promise> { + if (requestParameters['id'] == null) { + throw new runtime.RequiredError( + 'id', + 'Required parameter "id" was null or undefined when calling userControllerUnlinkUserFromProject().' + ); + } + + if (requestParameters['unlinkProjectModel'] == null) { + throw new runtime.RequiredError( + 'unlinkProjectModel', + 'Required parameter "unlinkProjectModel" was null or undefined when calling userControllerUnlinkUserFromProject().' + ); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + headerParameters['Content-Type'] = 'application/json'; + + if (requestParameters['xUserPassword'] != null) { + headerParameters['X-User-Password'] = String( + requestParameters['xUserPassword'] + ); + } + + if (requestParameters['xUserEmail'] != null) { + headerParameters['X-User-Email'] = String( + requestParameters['xUserEmail'] + ); + } + + if (this.configuration && this.configuration.accessToken) { + const token = this.configuration.accessToken; + const tokenString = await token('API_Key', []); + + if (tokenString) { + headerParameters['Authorization'] = `Bearer ${tokenString}`; + } + } + const response = await this.request( + { + path: `/user/id/{id}/project`.replace( + `{${'id'}}`, + encodeURIComponent(String(requestParameters['id'])) + ), + method: 'DELETE', + headers: headerParameters, + query: queryParameters, + body: UnlinkProjectModelToJSON(requestParameters['unlinkProjectModel']), + }, + initOverrides + ); + + return new runtime.JSONApiResponse(response, (jsonValue) => + UserResponseFromJSON(jsonValue) + ); + } + + /** + * Removes a user from a project. + * Unlink user from project. + */ + async userControllerUnlinkUserFromProject( + requestParameters: UserControllerUnlinkUserFromProjectRequest, + initOverrides?: RequestInit | runtime.InitOverrideFunction + ): Promise { + const response = await this.userControllerUnlinkUserFromProjectRaw( + requestParameters, + initOverrides + ); + return await response.value(); + } +} diff --git a/src/internal/apis/index.ts b/src/internal/apis/index.ts new file mode 100644 index 0000000..8235136 --- /dev/null +++ b/src/internal/apis/index.ts @@ -0,0 +1,13 @@ +/* tslint:disable */ +/* eslint-disable */ +export * from './AnalyticsApi'; +export * from './AnalyticsConfigApi'; +export * from './AuthApi'; +export * from './EmailApi'; +export * from './FileBucketApi'; +export * from './FileConfigApi'; +export * from './FileDownloadApi'; +export * from './FileProviderApi'; +export * from './FileUploadApi'; +export * from './ProjectApi'; +export * from './UserApi'; diff --git a/src/internal/index.ts b/src/internal/index.ts new file mode 100644 index 0000000..bebe8bb --- /dev/null +++ b/src/internal/index.ts @@ -0,0 +1,5 @@ +/* tslint:disable */ +/* eslint-disable */ +export * from './runtime'; +export * from './apis/index'; +export * from './models/index'; diff --git a/src/internal/model/accessKey.ts b/src/internal/model/accessKey.ts deleted file mode 100644 index 2eb8c32..0000000 --- a/src/internal/model/accessKey.ts +++ /dev/null @@ -1,47 +0,0 @@ -/** - * Juno - * Juno Public API Docs - * - * The version of the OpenAPI document: 1.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 { RequestFile } from './models'; - -export class AccessKey { - /** - * Client public access key - */ - 'publicAccessKey': string; - /** - * Client private access key - */ - 'privateAccessKey': string; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{ - name: string; - baseName: string; - type: string; - }> = [ - { - name: 'publicAccessKey', - baseName: 'publicAccessKey', - type: 'string', - }, - { - name: 'privateAccessKey', - baseName: 'privateAccessKey', - type: 'string', - }, - ]; - - static getAttributeTypeMap() { - return AccessKey.attributeTypeMap; - } -} diff --git a/src/internal/model/aggregateInterval.ts b/src/internal/model/aggregateInterval.ts deleted file mode 100644 index 611b723..0000000 --- a/src/internal/model/aggregateInterval.ts +++ /dev/null @@ -1,19 +0,0 @@ -/** - * Juno - * Juno Public API Docs - * - * The version of the OpenAPI document: 1.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 { RequestFile } from './models'; - -export enum AggregateInterval { - Day = 'day', - Week = 'week', - Month = 'month', -} diff --git a/src/internal/model/analyticsConfigResponse.ts b/src/internal/model/analyticsConfigResponse.ts deleted file mode 100644 index 756790a..0000000 --- a/src/internal/model/analyticsConfigResponse.ts +++ /dev/null @@ -1,53 +0,0 @@ -/** - * Juno - * Juno Public API Docs - * - * The version of the OpenAPI document: 1.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 { RequestFile } from './models'; - -export class AnalyticsConfigResponse { - 'id': number; - 'environment': string; - 'serverAnalyticsKey': string; - 'clientAnalyticsKey': string; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{ - name: string; - baseName: string; - type: string; - }> = [ - { - name: 'id', - baseName: 'id', - type: 'number', - }, - { - name: 'environment', - baseName: 'environment', - type: 'string', - }, - { - name: 'serverAnalyticsKey', - baseName: 'serverAnalyticsKey', - type: 'string', - }, - { - name: 'clientAnalyticsKey', - baseName: 'clientAnalyticsKey', - type: 'string', - }, - ]; - - static getAttributeTypeMap() { - return AnalyticsConfigResponse.attributeTypeMap; - } -} diff --git a/src/internal/model/clickEventProperties.ts b/src/internal/model/clickEventProperties.ts deleted file mode 100644 index 7f77dac..0000000 --- a/src/internal/model/clickEventProperties.ts +++ /dev/null @@ -1,47 +0,0 @@ -/** - * Juno - * Juno Public API Docs - * - * The version of the OpenAPI document: 1.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 { RequestFile } from './models'; - -export class ClickEventProperties { - /** - * Object ID - */ - 'objectId': string; - /** - * User ID - */ - 'userId': string; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{ - name: string; - baseName: string; - type: string; - }> = [ - { - name: 'objectId', - baseName: 'objectId', - type: 'string', - }, - { - name: 'userId', - baseName: 'userId', - type: 'string', - }, - ]; - - static getAttributeTypeMap() { - return ClickEventProperties.attributeTypeMap; - } -} diff --git a/src/internal/model/clickEventResponse.ts b/src/internal/model/clickEventResponse.ts deleted file mode 100644 index a0cd9cc..0000000 --- a/src/internal/model/clickEventResponse.ts +++ /dev/null @@ -1,102 +0,0 @@ -/** - * Juno - * Juno Public API Docs - * - * The version of the OpenAPI document: 1.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 { RequestFile } from './models'; -import { ClickEventProperties } from './clickEventProperties'; - -export class ClickEventResponse { - /** - * Event ID - */ - 'id': string; - /** - * Event category - */ - 'category': string; - /** - * Event subcategory - */ - 'subcategory': string; - /** - * Project ID - */ - 'projectId': string; - /** - * Environment - */ - 'environment': string; - /** - * Created timestamp - */ - 'createdAt': string; - /** - * Updated timestamp - */ - 'updatedAt': string; - /** - * Event properties - */ - 'eventProperties': ClickEventProperties; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{ - name: string; - baseName: string; - type: string; - }> = [ - { - name: 'id', - baseName: 'id', - type: 'string', - }, - { - name: 'category', - baseName: 'category', - type: 'string', - }, - { - name: 'subcategory', - baseName: 'subcategory', - type: 'string', - }, - { - name: 'projectId', - baseName: 'projectId', - type: 'string', - }, - { - name: 'environment', - baseName: 'environment', - type: 'string', - }, - { - name: 'createdAt', - baseName: 'createdAt', - type: 'string', - }, - { - name: 'updatedAt', - baseName: 'updatedAt', - type: 'string', - }, - { - name: 'eventProperties', - baseName: 'eventProperties', - type: 'ClickEventProperties', - }, - ]; - - static getAttributeTypeMap() { - return ClickEventResponse.attributeTypeMap; - } -} diff --git a/src/internal/model/createAnalyticsConfigModel.ts b/src/internal/model/createAnalyticsConfigModel.ts deleted file mode 100644 index 9ee2f9f..0000000 --- a/src/internal/model/createAnalyticsConfigModel.ts +++ /dev/null @@ -1,41 +0,0 @@ -/** - * Juno - * Juno Public API Docs - * - * The version of the OpenAPI document: 1.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 { RequestFile } from './models'; - -export class CreateAnalyticsConfigModel { - 'serverAnalyticsKey': string; - 'clientAnalyticsKey': string; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{ - name: string; - baseName: string; - type: string; - }> = [ - { - name: 'serverAnalyticsKey', - baseName: 'serverAnalyticsKey', - type: 'string', - }, - { - name: 'clientAnalyticsKey', - baseName: 'clientAnalyticsKey', - type: 'string', - }, - ]; - - static getAttributeTypeMap() { - return CreateAnalyticsConfigModel.attributeTypeMap; - } -} diff --git a/src/internal/model/createProjectModel.ts b/src/internal/model/createProjectModel.ts deleted file mode 100644 index 2167c57..0000000 --- a/src/internal/model/createProjectModel.ts +++ /dev/null @@ -1,38 +0,0 @@ -/** - * Juno - * Juno Public API Docs - * - * The version of the OpenAPI document: 1.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 { RequestFile } from './models'; - -export class CreateProjectModel { - /** - * The name of the project - */ - 'name': string; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{ - name: string; - baseName: string; - type: string; - }> = [ - { - name: 'name', - baseName: 'name', - type: 'string', - }, - ]; - - static getAttributeTypeMap() { - return CreateProjectModel.attributeTypeMap; - } -} diff --git a/src/internal/model/createUserModel.ts b/src/internal/model/createUserModel.ts deleted file mode 100644 index 47082d6..0000000 --- a/src/internal/model/createUserModel.ts +++ /dev/null @@ -1,56 +0,0 @@ -/** - * Juno - * Juno Public API Docs - * - * The version of the OpenAPI document: 1.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 { RequestFile } from './models'; - -export class CreateUserModel { - /** - * User email - */ - 'email': string; - /** - * User name - */ - 'name': string; - /** - * User password - */ - 'password': string; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{ - name: string; - baseName: string; - type: string; - }> = [ - { - name: 'email', - baseName: 'email', - type: 'string', - }, - { - name: 'name', - baseName: 'name', - type: 'string', - }, - { - name: 'password', - baseName: 'password', - type: 'string', - }, - ]; - - static getAttributeTypeMap() { - return CreateUserModel.attributeTypeMap; - } -} diff --git a/src/internal/model/customEventResponse.ts b/src/internal/model/customEventResponse.ts deleted file mode 100644 index a38fece..0000000 --- a/src/internal/model/customEventResponse.ts +++ /dev/null @@ -1,92 +0,0 @@ -/** - * Juno - * Juno Public API Docs - * - * The version of the OpenAPI document: 1.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 { RequestFile } from './models'; - -export class CustomEventResponse { - /** - * Event ID - */ - 'id': string; - /** - * Event type ID - */ - 'eventTypeId': string; - /** - * Project ID - */ - 'projectId': string; - /** - * Environment - */ - 'environment': string; - /** - * Created timestamp - */ - 'createdAt': string; - /** - * Updated timestamp - */ - 'updatedAt': string; - /** - * Custom properties - */ - 'properties': object; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{ - name: string; - baseName: string; - type: string; - }> = [ - { - name: 'id', - baseName: 'id', - type: 'string', - }, - { - name: 'eventTypeId', - baseName: 'eventTypeId', - type: 'string', - }, - { - name: 'projectId', - baseName: 'projectId', - type: 'string', - }, - { - name: 'environment', - baseName: 'environment', - type: 'string', - }, - { - name: 'createdAt', - baseName: 'createdAt', - type: 'string', - }, - { - name: 'updatedAt', - baseName: 'updatedAt', - type: 'string', - }, - { - name: 'properties', - baseName: 'properties', - type: 'object', - }, - ]; - - static getAttributeTypeMap() { - return CustomEventResponse.attributeTypeMap; - } -} diff --git a/src/internal/model/customEventTypeResponse.ts b/src/internal/model/customEventTypeResponse.ts deleted file mode 100644 index 898e132..0000000 --- a/src/internal/model/customEventTypeResponse.ts +++ /dev/null @@ -1,74 +0,0 @@ -/** - * Juno - * Juno Public API Docs - * - * The version of the OpenAPI document: 1.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 { RequestFile } from './models'; - -export class CustomEventTypeResponse { - /** - * Event type ID - */ - 'id': string; - /** - * Category - */ - 'category': string; - /** - * Subcategory - */ - 'subcategory': string; - /** - * Properties - */ - 'properties': Array; - /** - * Project ID - */ - 'projectId': string; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{ - name: string; - baseName: string; - type: string; - }> = [ - { - name: 'id', - baseName: 'id', - type: 'string', - }, - { - name: 'category', - baseName: 'category', - type: 'string', - }, - { - name: 'subcategory', - baseName: 'subcategory', - type: 'string', - }, - { - name: 'properties', - baseName: 'properties', - type: 'Array', - }, - { - name: 'projectId', - baseName: 'projectId', - type: 'string', - }, - ]; - - static getAttributeTypeMap() { - return CustomEventTypeResponse.attributeTypeMap; - } -} diff --git a/src/internal/model/customGraphType.ts b/src/internal/model/customGraphType.ts deleted file mode 100644 index 284d3cd..0000000 --- a/src/internal/model/customGraphType.ts +++ /dev/null @@ -1,101 +0,0 @@ -/** - * Juno - * Juno Public API Docs - * - * The version of the OpenAPI document: 1.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 { RequestFile } from './models'; - -export class CustomGraphType { - /** - * Graph ID - */ - 'id': string; - /** - * Event type ID - */ - 'eventTypeId': string; - /** - * Project ID - */ - 'projectId': string; - /** - * Graph title - */ - 'graphTitle': string; - /** - * X-axis property - */ - 'xProperty': string; - /** - * Y-axis property - */ - 'yProperty': string; - /** - * Graph type - */ - 'graphType': string; - /** - * Caption - */ - 'caption': string; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{ - name: string; - baseName: string; - type: string; - }> = [ - { - name: 'id', - baseName: 'id', - type: 'string', - }, - { - name: 'eventTypeId', - baseName: 'eventTypeId', - type: 'string', - }, - { - name: 'projectId', - baseName: 'projectId', - type: 'string', - }, - { - name: 'graphTitle', - baseName: 'graphTitle', - type: 'string', - }, - { - name: 'xProperty', - baseName: 'xProperty', - type: 'string', - }, - { - name: 'yProperty', - baseName: 'yProperty', - type: 'string', - }, - { - name: 'graphType', - baseName: 'graphType', - type: 'string', - }, - { - name: 'caption', - baseName: 'caption', - type: 'string', - }, - ]; - - static getAttributeTypeMap() { - return CustomGraphType.attributeTypeMap; - } -} diff --git a/src/internal/model/customGraphTypeResponse.ts b/src/internal/model/customGraphTypeResponse.ts deleted file mode 100644 index c5f7120..0000000 --- a/src/internal/model/customGraphTypeResponse.ts +++ /dev/null @@ -1,39 +0,0 @@ -/** - * Juno - * Juno Public API Docs - * - * The version of the OpenAPI document: 1.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 { RequestFile } from './models'; -import { CustomGraphType } from './customGraphType'; - -export class CustomGraphTypeResponse { - /** - * Graph types - */ - 'graphs': Array; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{ - name: string; - baseName: string; - type: string; - }> = [ - { - name: 'graphs', - baseName: 'graphs', - type: 'Array', - }, - ]; - - static getAttributeTypeMap() { - return CustomGraphTypeResponse.attributeTypeMap; - } -} diff --git a/src/internal/model/deleteFileBucketModel.ts b/src/internal/model/deleteFileBucketModel.ts deleted file mode 100644 index 92e5114..0000000 --- a/src/internal/model/deleteFileBucketModel.ts +++ /dev/null @@ -1,56 +0,0 @@ -/** - * Juno - * Juno Public API Docs - * - * The version of the OpenAPI document: 1.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 { RequestFile } from './models'; - -export class DeleteFileBucketModel { - /** - * The unique name of the bucket - */ - 'name': string; - /** - * Configuration ID for the bucket - */ - 'configId': number; - /** - * The file provider name associated with the bucket - */ - 'fileProviderName': string; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{ - name: string; - baseName: string; - type: string; - }> = [ - { - name: 'name', - baseName: 'name', - type: 'string', - }, - { - name: 'configId', - baseName: 'configId', - type: 'number', - }, - { - name: 'fileProviderName', - baseName: 'fileProviderName', - type: 'string', - }, - ]; - - static getAttributeTypeMap() { - return DeleteFileBucketModel.attributeTypeMap; - } -} diff --git a/src/internal/model/downloadFileModel.ts b/src/internal/model/downloadFileModel.ts deleted file mode 100644 index cff80ca..0000000 --- a/src/internal/model/downloadFileModel.ts +++ /dev/null @@ -1,74 +0,0 @@ -/** - * Juno - * Juno Public API Docs - * - * The version of the OpenAPI document: 1.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 { RequestFile } from './models'; - -export class DownloadFileModel { - /** - * The name of the bucket to use for downloading - */ - 'bucketName': string; - /** - * The config id of the file to use for downloading - */ - 'configId': number; - /** - * The name of the file to use for downloading - */ - 'fileName': string; - /** - * The name of the provider to connect to for downloading - */ - 'providerName': string; - /** - * The region to use for downloading - */ - 'region'?: string; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{ - name: string; - baseName: string; - type: string; - }> = [ - { - name: 'bucketName', - baseName: 'bucketName', - type: 'string', - }, - { - name: 'configId', - baseName: 'configId', - type: 'number', - }, - { - name: 'fileName', - baseName: 'fileName', - type: 'string', - }, - { - name: 'providerName', - baseName: 'providerName', - type: 'string', - }, - { - name: 'region', - baseName: 'region', - type: 'string', - }, - ]; - - static getAttributeTypeMap() { - return DownloadFileModel.attributeTypeMap; - } -} diff --git a/src/internal/model/downloadFileResponse.ts b/src/internal/model/downloadFileResponse.ts deleted file mode 100644 index b226e45..0000000 --- a/src/internal/model/downloadFileResponse.ts +++ /dev/null @@ -1,38 +0,0 @@ -/** - * Juno - * Juno Public API Docs - * - * The version of the OpenAPI document: 1.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 { RequestFile } from './models'; - -export class DownloadFileResponse { - /** - * The url for file download - */ - 'url': string; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{ - name: string; - baseName: string; - type: string; - }> = [ - { - name: 'url', - baseName: 'url', - type: 'string', - }, - ]; - - static getAttributeTypeMap() { - return DownloadFileResponse.attributeTypeMap; - } -} diff --git a/src/internal/model/emailConfigResponse.ts b/src/internal/model/emailConfigResponse.ts deleted file mode 100644 index 78fec3b..0000000 --- a/src/internal/model/emailConfigResponse.ts +++ /dev/null @@ -1,76 +0,0 @@ -/** - * Juno - * Juno Public API Docs - * - * The version of the OpenAPI document: 1.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 { RequestFile } from './models'; -import { EmailDomain } from './emailDomain'; -import { EmailSender } from './emailSender'; - -export class EmailConfigResponse { - /** - * Email Configuration ID - */ - 'id': number; - /** - * The configured environment - */ - 'environment': string; - /** - * The configured sendGrid key - */ - 'sendgridKey': string; - /** - * The list of domains associated with the email config - */ - 'domains': Array; - /** - * The list of senders associated with the email config - */ - 'senders': Array; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{ - name: string; - baseName: string; - type: string; - }> = [ - { - name: 'id', - baseName: 'id', - type: 'number', - }, - { - name: 'environment', - baseName: 'environment', - type: 'string', - }, - { - name: 'sendgridKey', - baseName: 'sendgridKey', - type: 'string', - }, - { - name: 'domains', - baseName: 'domains', - type: 'Array', - }, - { - name: 'senders', - baseName: 'senders', - type: 'Array', - }, - ]; - - static getAttributeTypeMap() { - return EmailConfigResponse.attributeTypeMap; - } -} diff --git a/src/internal/model/emailContent.ts b/src/internal/model/emailContent.ts deleted file mode 100644 index 61a4654..0000000 --- a/src/internal/model/emailContent.ts +++ /dev/null @@ -1,47 +0,0 @@ -/** - * Juno - * Juno Public API Docs - * - * The version of the OpenAPI document: 1.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 { RequestFile } from './models'; - -export class EmailContent { - /** - * MIME type for the content - */ - 'type': string; - /** - * Content of the email - */ - 'value': string; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{ - name: string; - baseName: string; - type: string; - }> = [ - { - name: 'type', - baseName: 'type', - type: 'string', - }, - { - name: 'value', - baseName: 'value', - type: 'string', - }, - ]; - - static getAttributeTypeMap() { - return EmailContent.attributeTypeMap; - } -} diff --git a/src/internal/model/emailDomain.ts b/src/internal/model/emailDomain.ts deleted file mode 100644 index 0bf43ab..0000000 --- a/src/internal/model/emailDomain.ts +++ /dev/null @@ -1,53 +0,0 @@ -/** - * Juno - * Juno Public API Docs - * - * The version of the OpenAPI document: 1.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 { RequestFile } from './models'; - -export class EmailDomain { - 'domain': string; - 'subdomain'?: string; - 'sendgridId': number; - 'projects': Array; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{ - name: string; - baseName: string; - type: string; - }> = [ - { - name: 'domain', - baseName: 'domain', - type: 'string', - }, - { - name: 'subdomain', - baseName: 'subdomain', - type: 'string', - }, - { - name: 'sendgridId', - baseName: 'sendgridId', - type: 'number', - }, - { - name: 'projects', - baseName: 'projects', - type: 'Array', - }, - ]; - - static getAttributeTypeMap() { - return EmailDomain.attributeTypeMap; - } -} diff --git a/src/internal/model/emailRecipient.ts b/src/internal/model/emailRecipient.ts deleted file mode 100644 index 3114065..0000000 --- a/src/internal/model/emailRecipient.ts +++ /dev/null @@ -1,47 +0,0 @@ -/** - * Juno - * Juno Public API Docs - * - * The version of the OpenAPI document: 1.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 { RequestFile } from './models'; - -export class EmailRecipient { - /** - * Recipient email address - */ - 'email': string; - /** - * Recipient name - */ - 'name'?: string; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{ - name: string; - baseName: string; - type: string; - }> = [ - { - name: 'email', - baseName: 'email', - type: 'string', - }, - { - name: 'name', - baseName: 'name', - type: 'string', - }, - ]; - - static getAttributeTypeMap() { - return EmailRecipient.attributeTypeMap; - } -} diff --git a/src/internal/model/emailSender.ts b/src/internal/model/emailSender.ts deleted file mode 100644 index 22f48cc..0000000 --- a/src/internal/model/emailSender.ts +++ /dev/null @@ -1,53 +0,0 @@ -/** - * Juno - * Juno Public API Docs - * - * The version of the OpenAPI document: 1.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 { RequestFile } from './models'; - -export class EmailSender { - 'username': string; - 'description'?: string; - 'domain': string; - 'projects': Array; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{ - name: string; - baseName: string; - type: string; - }> = [ - { - name: 'username', - baseName: 'username', - type: 'string', - }, - { - name: 'description', - baseName: 'description', - type: 'string', - }, - { - name: 'domain', - baseName: 'domain', - type: 'string', - }, - { - name: 'projects', - baseName: 'projects', - type: 'Array', - }, - ]; - - static getAttributeTypeMap() { - return EmailSender.attributeTypeMap; - } -} diff --git a/src/internal/model/emailSenderSendEmailModel.ts b/src/internal/model/emailSenderSendEmailModel.ts deleted file mode 100644 index 111dbc8..0000000 --- a/src/internal/model/emailSenderSendEmailModel.ts +++ /dev/null @@ -1,47 +0,0 @@ -/** - * Juno - * Juno Public API Docs - * - * The version of the OpenAPI document: 1.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 { RequestFile } from './models'; - -export class EmailSenderSendEmailModel { - /** - * Sender email address - */ - 'email': string; - /** - * Sender name - */ - 'name'?: string; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{ - name: string; - baseName: string; - type: string; - }> = [ - { - name: 'email', - baseName: 'email', - type: 'string', - }, - { - name: 'name', - baseName: 'name', - type: 'string', - }, - ]; - - static getAttributeTypeMap() { - return EmailSenderSendEmailModel.attributeTypeMap; - } -} diff --git a/src/internal/model/fileBucket.ts b/src/internal/model/fileBucket.ts deleted file mode 100644 index 9f65a8f..0000000 --- a/src/internal/model/fileBucket.ts +++ /dev/null @@ -1,74 +0,0 @@ -/** - * Juno - * Juno Public API Docs - * - * The version of the OpenAPI document: 1.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 { RequestFile } from './models'; - -export class FileBucket { - /** - * The unique name of the registered bucket - */ - 'name': string; - /** - * Configuration ID associated with the registered bucket - */ - 'configId': number; - /** - * The config environment associated with the bucket - */ - 'configEnv': string; - /** - * The name of the file provider associated with the bucket - */ - 'fileProviderName': string; - /** - * The list of file identifiers associated with the bucket - */ - 'fileServiceFile': Array; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{ - name: string; - baseName: string; - type: string; - }> = [ - { - name: 'name', - baseName: 'name', - type: 'string', - }, - { - name: 'configId', - baseName: 'configId', - type: 'number', - }, - { - name: 'configEnv', - baseName: 'configEnv', - type: 'string', - }, - { - name: 'fileProviderName', - baseName: 'fileProviderName', - type: 'string', - }, - { - name: 'fileServiceFile', - baseName: 'FileServiceFile', - type: 'Array', - }, - ]; - - static getAttributeTypeMap() { - return FileBucket.attributeTypeMap; - } -} diff --git a/src/internal/model/fileConfigResponse.ts b/src/internal/model/fileConfigResponse.ts deleted file mode 100644 index 95f06a0..0000000 --- a/src/internal/model/fileConfigResponse.ts +++ /dev/null @@ -1,66 +0,0 @@ -/** - * Juno - * Juno Public API Docs - * - * The version of the OpenAPI document: 1.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 { RequestFile } from './models'; -import { FileBucket } from './fileBucket'; - -export class FileConfigResponse { - /** - * File Configuration ID - */ - 'id': number; - /** - * The configured environment - */ - 'environment': string; - /** - * The list of files associated with the config - */ - 'files': Array; - /** - * The list of buckets associated with the config - */ - 'buckets': Array; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{ - name: string; - baseName: string; - type: string; - }> = [ - { - name: 'id', - baseName: 'id', - type: 'number', - }, - { - name: 'environment', - baseName: 'environment', - type: 'string', - }, - { - name: 'files', - baseName: 'files', - type: 'Array', - }, - { - name: 'buckets', - baseName: 'buckets', - type: 'Array', - }, - ]; - - static getAttributeTypeMap() { - return FileConfigResponse.attributeTypeMap; - } -} diff --git a/src/internal/model/fileProvider.ts b/src/internal/model/fileProvider.ts deleted file mode 100644 index 37a8363..0000000 --- a/src/internal/model/fileProvider.ts +++ /dev/null @@ -1,65 +0,0 @@ -/** - * Juno - * Juno Public API Docs - * - * The version of the OpenAPI document: 1.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 { AccessKey } from './accessKey'; - -export class FileProvider { - /** - * The access key to register with - */ - 'accessKey': AccessKey; - /** - * The base url associated with file provider. - */ - 'baseUrl': string; - /** - * The file provider name being registered. - */ - 'providerName': string; - /** - * File provider type (one of S3 or AZURE) - */ - 'type': string; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{ - name: string; - baseName: string; - type: string; - }> = [ - { - name: 'accessKey', - baseName: 'accessKey', - type: 'AccessKey', - }, - { - name: 'baseUrl', - baseName: 'baseUrl', - type: 'string', - }, - { - name: 'providerName', - baseName: 'providerName', - type: 'string', - }, - { - name: 'type', - baseName: 'type', - type: 'string', - }, - ]; - - static getAttributeTypeMap() { - return FileProvider.attributeTypeMap; - } -} diff --git a/src/internal/model/fileProviderPartial.ts b/src/internal/model/fileProviderPartial.ts deleted file mode 100644 index 0c8ce79..0000000 --- a/src/internal/model/fileProviderPartial.ts +++ /dev/null @@ -1,47 +0,0 @@ -/** - * Juno - * Juno Public API Docs - * - * The version of the OpenAPI document: 1.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 { RequestFile } from './models'; - -export class FileProviderPartial { - /** - * The unique provider name of the file provider - */ - 'providerName': string; - /** - * The metadata of the file provider - */ - 'metadata': string; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{ - name: string; - baseName: string; - type: string; - }> = [ - { - name: 'providerName', - baseName: 'providerName', - type: 'string', - }, - { - name: 'metadata', - baseName: 'metadata', - type: 'string', - }, - ]; - - static getAttributeTypeMap() { - return FileProviderPartial.attributeTypeMap; - } -} diff --git a/src/internal/model/fileProviderResponse.ts b/src/internal/model/fileProviderResponse.ts deleted file mode 100644 index 27c5cf4..0000000 --- a/src/internal/model/fileProviderResponse.ts +++ /dev/null @@ -1,47 +0,0 @@ -/** - * Juno - * Juno Public API Docs - * - * The version of the OpenAPI document: 1.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 { RequestFile } from './models'; - -export class FileProviderResponse { - /** - * The unique provider name of the file provider - */ - 'providerName': string; - /** - * The metadata of the file provider - */ - 'metadata': string; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{ - name: string; - baseName: string; - type: string; - }> = [ - { - name: 'providerName', - baseName: 'providerName', - type: 'string', - }, - { - name: 'metadata', - baseName: 'metadata', - type: 'string', - }, - ]; - - static getAttributeTypeMap() { - return FileProviderResponse.attributeTypeMap; - } -} diff --git a/src/internal/model/getAllClickEventsResponse.ts b/src/internal/model/getAllClickEventsResponse.ts deleted file mode 100644 index 1ca27eb..0000000 --- a/src/internal/model/getAllClickEventsResponse.ts +++ /dev/null @@ -1,39 +0,0 @@ -/** - * Juno - * Juno Public API Docs - * - * The version of the OpenAPI document: 1.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 { RequestFile } from './models'; -import { ClickEventResponse } from './clickEventResponse'; - -export class GetAllClickEventsResponse { - /** - * All click events - */ - 'events': Array; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{ - name: string; - baseName: string; - type: string; - }> = [ - { - name: 'events', - baseName: 'events', - type: 'Array', - }, - ]; - - static getAttributeTypeMap() { - return GetAllClickEventsResponse.attributeTypeMap; - } -} diff --git a/src/internal/model/getAllCustomEventTypeResponse.ts b/src/internal/model/getAllCustomEventTypeResponse.ts deleted file mode 100644 index 55ba3b9..0000000 --- a/src/internal/model/getAllCustomEventTypeResponse.ts +++ /dev/null @@ -1,39 +0,0 @@ -/** - * Juno - * Juno Public API Docs - * - * The version of the OpenAPI document: 1.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 { RequestFile } from './models'; -import { CustomEventTypeResponse } from './customEventTypeResponse'; - -export class GetAllCustomEventTypeResponse { - /** - * All custom event types - */ - 'eventTypes': Array; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{ - name: string; - baseName: string; - type: string; - }> = [ - { - name: 'eventTypes', - baseName: 'eventTypes', - type: 'Array', - }, - ]; - - static getAttributeTypeMap() { - return GetAllCustomEventTypeResponse.attributeTypeMap; - } -} diff --git a/src/internal/model/getAllCustomEventsResponse.ts b/src/internal/model/getAllCustomEventsResponse.ts deleted file mode 100644 index d4601d8..0000000 --- a/src/internal/model/getAllCustomEventsResponse.ts +++ /dev/null @@ -1,39 +0,0 @@ -/** - * Juno - * Juno Public API Docs - * - * The version of the OpenAPI document: 1.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 { RequestFile } from './models'; -import { CustomEventResponse } from './customEventResponse'; - -export class GetAllCustomEventsResponse { - /** - * All custom events - */ - 'events': Array; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{ - name: string; - baseName: string; - type: string; - }> = [ - { - name: 'events', - baseName: 'events', - type: 'Array', - }, - ]; - - static getAttributeTypeMap() { - return GetAllCustomEventsResponse.attributeTypeMap; - } -} diff --git a/src/internal/model/getAllInputEventsResponse.ts b/src/internal/model/getAllInputEventsResponse.ts deleted file mode 100644 index 8a854a0..0000000 --- a/src/internal/model/getAllInputEventsResponse.ts +++ /dev/null @@ -1,39 +0,0 @@ -/** - * Juno - * Juno Public API Docs - * - * The version of the OpenAPI document: 1.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 { RequestFile } from './models'; -import { InputEventResponse } from './inputEventResponse'; - -export class GetAllInputEventsResponse { - /** - * All input events - */ - 'events': Array; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{ - name: string; - baseName: string; - type: string; - }> = [ - { - name: 'events', - baseName: 'events', - type: 'Array', - }, - ]; - - static getAttributeTypeMap() { - return GetAllInputEventsResponse.attributeTypeMap; - } -} diff --git a/src/internal/model/getAllVisitEventsResponse.ts b/src/internal/model/getAllVisitEventsResponse.ts deleted file mode 100644 index af854e4..0000000 --- a/src/internal/model/getAllVisitEventsResponse.ts +++ /dev/null @@ -1,39 +0,0 @@ -/** - * Juno - * Juno Public API Docs - * - * The version of the OpenAPI document: 1.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 { RequestFile } from './models'; -import { VisitEventResponse } from './visitEventResponse'; - -export class GetAllVisitEventsResponse { - /** - * All visit events - */ - 'events': Array; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{ - name: string; - baseName: string; - type: string; - }> = [ - { - name: 'events', - baseName: 'events', - type: 'Array', - }, - ]; - - static getAttributeTypeMap() { - return GetAllVisitEventsResponse.attributeTypeMap; - } -} diff --git a/src/internal/model/getClickEventsResponse.ts b/src/internal/model/getClickEventsResponse.ts deleted file mode 100644 index 9b8e407..0000000 --- a/src/internal/model/getClickEventsResponse.ts +++ /dev/null @@ -1,48 +0,0 @@ -/** - * Juno - * Juno Public API Docs - * - * The version of the OpenAPI document: 1.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 { RequestFile } from './models'; -import { ClickEventResponse } from './clickEventResponse'; - -export class GetClickEventsResponse { - /** - * Click events - */ - 'events': Array; - /** - * Pagination cursor - */ - 'afterId': string; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{ - name: string; - baseName: string; - type: string; - }> = [ - { - name: 'events', - baseName: 'events', - type: 'Array', - }, - { - name: 'afterId', - baseName: 'afterId', - type: 'string', - }, - ]; - - static getAttributeTypeMap() { - return GetClickEventsResponse.attributeTypeMap; - } -} diff --git a/src/internal/model/getCustomEventsResponse.ts b/src/internal/model/getCustomEventsResponse.ts deleted file mode 100644 index 5f2ebbf..0000000 --- a/src/internal/model/getCustomEventsResponse.ts +++ /dev/null @@ -1,48 +0,0 @@ -/** - * Juno - * Juno Public API Docs - * - * The version of the OpenAPI document: 1.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 { RequestFile } from './models'; -import { CustomEventResponse } from './customEventResponse'; - -export class GetCustomEventsResponse { - /** - * Custom events - */ - 'events': Array; - /** - * Pagination cursor - */ - 'afterId': string; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{ - name: string; - baseName: string; - type: string; - }> = [ - { - name: 'events', - baseName: 'events', - type: 'Array', - }, - { - name: 'afterId', - baseName: 'afterId', - type: 'string', - }, - ]; - - static getAttributeTypeMap() { - return GetCustomEventsResponse.attributeTypeMap; - } -} diff --git a/src/internal/model/getInputEventsResponse.ts b/src/internal/model/getInputEventsResponse.ts deleted file mode 100644 index acc7b22..0000000 --- a/src/internal/model/getInputEventsResponse.ts +++ /dev/null @@ -1,48 +0,0 @@ -/** - * Juno - * Juno Public API Docs - * - * The version of the OpenAPI document: 1.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 { RequestFile } from './models'; -import { InputEventResponse } from './inputEventResponse'; - -export class GetInputEventsResponse { - /** - * Input events - */ - 'events': Array; - /** - * Pagination cursor - */ - 'afterId': string; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{ - name: string; - baseName: string; - type: string; - }> = [ - { - name: 'events', - baseName: 'events', - type: 'Array', - }, - { - name: 'afterId', - baseName: 'afterId', - type: 'string', - }, - ]; - - static getAttributeTypeMap() { - return GetInputEventsResponse.attributeTypeMap; - } -} diff --git a/src/internal/model/getVisitEventsResponse.ts b/src/internal/model/getVisitEventsResponse.ts deleted file mode 100644 index 5ce1eee..0000000 --- a/src/internal/model/getVisitEventsResponse.ts +++ /dev/null @@ -1,48 +0,0 @@ -/** - * Juno - * Juno Public API Docs - * - * The version of the OpenAPI document: 1.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 { RequestFile } from './models'; -import { VisitEventResponse } from './visitEventResponse'; - -export class GetVisitEventsResponse { - /** - * Visit events - */ - 'events': Array; - /** - * Pagination cursor - */ - 'afterId': string; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{ - name: string; - baseName: string; - type: string; - }> = [ - { - name: 'events', - baseName: 'events', - type: 'Array', - }, - { - name: 'afterId', - baseName: 'afterId', - type: 'string', - }, - ]; - - static getAttributeTypeMap() { - return GetVisitEventsResponse.attributeTypeMap; - } -} diff --git a/src/internal/model/inputEventProperties.ts b/src/internal/model/inputEventProperties.ts deleted file mode 100644 index 1e8f1c3..0000000 --- a/src/internal/model/inputEventProperties.ts +++ /dev/null @@ -1,56 +0,0 @@ -/** - * Juno - * Juno Public API Docs - * - * The version of the OpenAPI document: 1.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 { RequestFile } from './models'; - -export class InputEventProperties { - /** - * Object ID - */ - 'objectId': string; - /** - * User ID - */ - 'userId': string; - /** - * Text value - */ - 'textValue': string; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{ - name: string; - baseName: string; - type: string; - }> = [ - { - name: 'objectId', - baseName: 'objectId', - type: 'string', - }, - { - name: 'userId', - baseName: 'userId', - type: 'string', - }, - { - name: 'textValue', - baseName: 'textValue', - type: 'string', - }, - ]; - - static getAttributeTypeMap() { - return InputEventProperties.attributeTypeMap; - } -} diff --git a/src/internal/model/inputEventResponse.ts b/src/internal/model/inputEventResponse.ts deleted file mode 100644 index 5b1f4a8..0000000 --- a/src/internal/model/inputEventResponse.ts +++ /dev/null @@ -1,102 +0,0 @@ -/** - * Juno - * Juno Public API Docs - * - * The version of the OpenAPI document: 1.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 { RequestFile } from './models'; -import { InputEventProperties } from './inputEventProperties'; - -export class InputEventResponse { - /** - * Event ID - */ - 'id': string; - /** - * Event category - */ - 'category': string; - /** - * Event subcategory - */ - 'subcategory': string; - /** - * Project ID - */ - 'projectId': string; - /** - * Environment - */ - 'environment': string; - /** - * Created timestamp - */ - 'createdAt': string; - /** - * Updated timestamp - */ - 'updatedAt': string; - /** - * Event properties - */ - 'eventProperties': InputEventProperties; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{ - name: string; - baseName: string; - type: string; - }> = [ - { - name: 'id', - baseName: 'id', - type: 'string', - }, - { - name: 'category', - baseName: 'category', - type: 'string', - }, - { - name: 'subcategory', - baseName: 'subcategory', - type: 'string', - }, - { - name: 'projectId', - baseName: 'projectId', - type: 'string', - }, - { - name: 'environment', - baseName: 'environment', - type: 'string', - }, - { - name: 'createdAt', - baseName: 'createdAt', - type: 'string', - }, - { - name: 'updatedAt', - baseName: 'updatedAt', - type: 'string', - }, - { - name: 'eventProperties', - baseName: 'eventProperties', - type: 'InputEventProperties', - }, - ]; - - static getAttributeTypeMap() { - return InputEventResponse.attributeTypeMap; - } -} diff --git a/src/internal/model/issueApiKeyRequest.ts b/src/internal/model/issueApiKeyRequest.ts deleted file mode 100644 index 779b139..0000000 --- a/src/internal/model/issueApiKeyRequest.ts +++ /dev/null @@ -1,56 +0,0 @@ -/** - * Juno - * Juno Public API Docs - * - * The version of the OpenAPI document: 1.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 { RequestFile } from './models'; - -export class IssueApiKeyRequest { - /** - * Optional description for key - */ - 'description'?: string; - /** - * Environment the key will be tied to - */ - 'environment': string; - /** - * Project identifier - */ - 'project': object; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{ - name: string; - baseName: string; - type: string; - }> = [ - { - name: 'description', - baseName: 'description', - type: 'string', - }, - { - name: 'environment', - baseName: 'environment', - type: 'string', - }, - { - name: 'project', - baseName: 'project', - type: 'object', - }, - ]; - - static getAttributeTypeMap() { - return IssueApiKeyRequest.attributeTypeMap; - } -} diff --git a/src/internal/model/issueApiKeyResponse.ts b/src/internal/model/issueApiKeyResponse.ts deleted file mode 100644 index dc65b00..0000000 --- a/src/internal/model/issueApiKeyResponse.ts +++ /dev/null @@ -1,38 +0,0 @@ -/** - * Juno - * Juno Public API Docs - * - * The version of the OpenAPI document: 1.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 { RequestFile } from './models'; - -export class IssueApiKeyResponse { - /** - * The generated API key - */ - 'apiKey': string; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{ - name: string; - baseName: string; - type: string; - }> = [ - { - name: 'apiKey', - baseName: 'apiKey', - type: 'string', - }, - ]; - - static getAttributeTypeMap() { - return IssueApiKeyResponse.attributeTypeMap; - } -} diff --git a/src/internal/model/issueJWTResponse.ts b/src/internal/model/issueJWTResponse.ts deleted file mode 100644 index 8766f24..0000000 --- a/src/internal/model/issueJWTResponse.ts +++ /dev/null @@ -1,38 +0,0 @@ -/** - * Juno - * Juno Public API Docs - * - * The version of the OpenAPI document: 1.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 { RequestFile } from './models'; - -export class IssueJWTResponse { - /** - * Created JWT token - */ - 'token': string; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{ - name: string; - baseName: string; - type: string; - }> = [ - { - name: 'token', - baseName: 'token', - type: 'string', - }, - ]; - - static getAttributeTypeMap() { - return IssueJWTResponse.attributeTypeMap; - } -} diff --git a/src/internal/model/linkProjectModel.ts b/src/internal/model/linkProjectModel.ts deleted file mode 100644 index 792a1e5..0000000 --- a/src/internal/model/linkProjectModel.ts +++ /dev/null @@ -1,47 +0,0 @@ -/** - * Juno - * Juno Public API Docs - * - * The version of the OpenAPI document: 1.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 { RequestFile } from './models'; - -export class LinkProjectModel { - /** - * ID of project to be linked - */ - 'id'?: number; - /** - * Name of project to be linked - */ - 'name'?: string; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{ - name: string; - baseName: string; - type: string; - }> = [ - { - name: 'id', - baseName: 'id', - type: 'number', - }, - { - name: 'name', - baseName: 'name', - type: 'string', - }, - ]; - - static getAttributeTypeMap() { - return LinkProjectModel.attributeTypeMap; - } -} diff --git a/src/internal/model/linkUserModel.ts b/src/internal/model/linkUserModel.ts deleted file mode 100644 index c56f819..0000000 --- a/src/internal/model/linkUserModel.ts +++ /dev/null @@ -1,47 +0,0 @@ -/** - * Juno - * Juno Public API Docs - * - * The version of the OpenAPI document: 1.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 { RequestFile } from './models'; - -export class LinkUserModel { - /** - * The ID of the user - */ - 'id'?: number; - /** - * The email of the user - */ - 'email'?: string; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{ - name: string; - baseName: string; - type: string; - }> = [ - { - name: 'id', - baseName: 'id', - type: 'number', - }, - { - name: 'email', - baseName: 'email', - type: 'string', - }, - ]; - - static getAttributeTypeMap() { - return LinkUserModel.attributeTypeMap; - } -} diff --git a/src/internal/model/logClickEventRequest.ts b/src/internal/model/logClickEventRequest.ts deleted file mode 100644 index 656fbfc..0000000 --- a/src/internal/model/logClickEventRequest.ts +++ /dev/null @@ -1,47 +0,0 @@ -/** - * Juno - * Juno Public API Docs - * - * The version of the OpenAPI document: 1.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 { RequestFile } from './models'; - -export class LogClickEventRequest { - /** - * The ID of the object that was clicked - */ - 'objectId': string; - /** - * The ID of the user who performed the click - */ - 'userId': string; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{ - name: string; - baseName: string; - type: string; - }> = [ - { - name: 'objectId', - baseName: 'objectId', - type: 'string', - }, - { - name: 'userId', - baseName: 'userId', - type: 'string', - }, - ]; - - static getAttributeTypeMap() { - return LogClickEventRequest.attributeTypeMap; - } -} diff --git a/src/internal/model/logCustomEventRequest.ts b/src/internal/model/logCustomEventRequest.ts deleted file mode 100644 index 8562348..0000000 --- a/src/internal/model/logCustomEventRequest.ts +++ /dev/null @@ -1,56 +0,0 @@ -/** - * Juno - * Juno Public API Docs - * - * The version of the OpenAPI document: 1.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 { RequestFile } from './models'; - -export class LogCustomEventRequest { - /** - * The category of the custom event - */ - 'category': string; - /** - * The subcategory of the custom event - */ - 'subcategory': string; - /** - * Custom properties for the event - */ - 'properties': object; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{ - name: string; - baseName: string; - type: string; - }> = [ - { - name: 'category', - baseName: 'category', - type: 'string', - }, - { - name: 'subcategory', - baseName: 'subcategory', - type: 'string', - }, - { - name: 'properties', - baseName: 'properties', - type: 'object', - }, - ]; - - static getAttributeTypeMap() { - return LogCustomEventRequest.attributeTypeMap; - } -} diff --git a/src/internal/model/logInputEventRequest.ts b/src/internal/model/logInputEventRequest.ts deleted file mode 100644 index c23cc1c..0000000 --- a/src/internal/model/logInputEventRequest.ts +++ /dev/null @@ -1,56 +0,0 @@ -/** - * Juno - * Juno Public API Docs - * - * The version of the OpenAPI document: 1.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 { RequestFile } from './models'; - -export class LogInputEventRequest { - /** - * The ID of the input object - */ - 'objectId': string; - /** - * The ID of the user who interacted with the input - */ - 'userId': string; - /** - * The text value entered in the input - */ - 'textValue': string; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{ - name: string; - baseName: string; - type: string; - }> = [ - { - name: 'objectId', - baseName: 'objectId', - type: 'string', - }, - { - name: 'userId', - baseName: 'userId', - type: 'string', - }, - { - name: 'textValue', - baseName: 'textValue', - type: 'string', - }, - ]; - - static getAttributeTypeMap() { - return LogInputEventRequest.attributeTypeMap; - } -} diff --git a/src/internal/model/logVisitEventRequest.ts b/src/internal/model/logVisitEventRequest.ts deleted file mode 100644 index 6057a3d..0000000 --- a/src/internal/model/logVisitEventRequest.ts +++ /dev/null @@ -1,47 +0,0 @@ -/** - * Juno - * Juno Public API Docs - * - * The version of the OpenAPI document: 1.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 { RequestFile } from './models'; - -export class LogVisitEventRequest { - /** - * The URL of the page that was visited - */ - 'pageUrl': string; - /** - * The ID of the user who visited the page - */ - 'userId': string; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{ - name: string; - baseName: string; - type: string; - }> = [ - { - name: 'pageUrl', - baseName: 'pageUrl', - type: 'string', - }, - { - name: 'userId', - baseName: 'userId', - type: 'string', - }, - ]; - - static getAttributeTypeMap() { - return LogVisitEventRequest.attributeTypeMap; - } -} diff --git a/src/internal/model/modelFile.ts b/src/internal/model/modelFile.ts deleted file mode 100644 index 5110c24..0000000 --- a/src/internal/model/modelFile.ts +++ /dev/null @@ -1,41 +0,0 @@ -/** - * Juno - * Juno Public API Docs - * - * The version of the OpenAPI document: 1.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 { RequestFile } from './models'; - -export class ModelFile { - 'fileId': object; - 'metadata': string; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{ - name: string; - baseName: string; - type: string; - }> = [ - { - name: 'fileId', - baseName: 'fileId', - type: 'object', - }, - { - name: 'metadata', - baseName: 'metadata', - type: 'string', - }, - ]; - - static getAttributeTypeMap() { - return ModelFile.attributeTypeMap; - } -} diff --git a/src/internal/model/models.ts b/src/internal/model/models.ts deleted file mode 100644 index 556227b..0000000 --- a/src/internal/model/models.ts +++ /dev/null @@ -1,459 +0,0 @@ -import localVarRequest from 'request'; - -export * from './accessKey'; -export * from './aggregateInterval'; -export * from './analyticsConfigResponse'; -export * from './clickEventProperties'; -export * from './clickEventResponse'; -export * from './createAnalyticsConfigModel'; -export * from './createProjectModel'; -export * from './createUserModel'; -export * from './customEventResponse'; -export * from './customEventTypeResponse'; -export * from './customGraphType'; -export * from './customGraphTypeResponse'; -export * from './deleteFileBucketModel'; -export * from './downloadFileModel'; -export * from './downloadFileResponse'; -export * from './emailConfigResponse'; -export * from './emailContent'; -export * from './emailDomain'; -export * from './emailRecipient'; -export * from './emailSender'; -export * from './emailSenderSendEmailModel'; -export * from './fileBucket'; -export * from './fileConfigResponse'; -export * from './fileProvider'; -export * from './fileProviderPartial'; -export * from './getAllClickEventsResponse'; -export * from './getAllCustomEventTypeResponse'; -export * from './getAllCustomEventsResponse'; -export * from './getAllInputEventsResponse'; -export * from './getAllVisitEventsResponse'; -export * from './getClickEventsResponse'; -export * from './getCustomEventsResponse'; -export * from './getInputEventsResponse'; -export * from './getVisitEventsResponse'; -export * from './inputEventProperties'; -export * from './inputEventResponse'; -export * from './issueApiKeyRequest'; -export * from './issueApiKeyResponse'; -export * from './issueJWTResponse'; -export * from './linkProjectModel'; -export * from './linkUserModel'; -export * from './logClickEventRequest'; -export * from './logCustomEventRequest'; -export * from './logInputEventRequest'; -export * from './logVisitEventRequest'; -export * from './modelFile'; -export * from './projectResponse'; -export * from './registerDomainModel'; -export * from './registerDomainResponse'; -export * from './registerEmailModel'; -export * from './registerEmailResponse'; -export * from './registerFileBucketModel'; -export * from './registerFileProviderModel'; -export * from './sendEmailModel'; -export * from './sendEmailResponse'; -export * from './sendEmailStatisticsResponse'; -export * from './sendEmailStatisticsResponses'; -export * from './sendGridDNSRecord'; -export * from './sendGridDNSResponse'; -export * from './setUserTypeModel'; -export * from './setupEmailResponse'; -export * from './setupEmailServiceModel'; -export * from './setupFileServiceResponse'; -export * from './unlinkProjectModel'; -export * from './updateAnalyticsConfigModel'; -export * from './uploadFileModel'; -export * from './uploadFileResponse'; -export * from './userResponse'; -export * from './userResponses'; -export * from './verifyDomainModel'; -export * from './visitEventProperties'; -export * from './visitEventResponse'; - -import * as fs from 'fs'; - -export interface RequestDetailedFile { - value: Buffer; - options?: { - filename?: string; - contentType?: string; - }; -} - -export type RequestFile = string | Buffer | fs.ReadStream | RequestDetailedFile; - -import { AccessKey } from './accessKey'; -import { AggregateInterval } from './aggregateInterval'; -import { AnalyticsConfigResponse } from './analyticsConfigResponse'; -import { ClickEventProperties } from './clickEventProperties'; -import { ClickEventResponse } from './clickEventResponse'; -import { CreateAnalyticsConfigModel } from './createAnalyticsConfigModel'; -import { CreateProjectModel } from './createProjectModel'; -import { CreateUserModel } from './createUserModel'; -import { CustomEventResponse } from './customEventResponse'; -import { CustomEventTypeResponse } from './customEventTypeResponse'; -import { CustomGraphType } from './customGraphType'; -import { CustomGraphTypeResponse } from './customGraphTypeResponse'; -import { DeleteFileBucketModel } from './deleteFileBucketModel'; -import { DownloadFileModel } from './downloadFileModel'; -import { DownloadFileResponse } from './downloadFileResponse'; -import { EmailConfigResponse } from './emailConfigResponse'; -import { EmailContent } from './emailContent'; -import { EmailDomain } from './emailDomain'; -import { EmailRecipient } from './emailRecipient'; -import { EmailSender } from './emailSender'; -import { EmailSenderSendEmailModel } from './emailSenderSendEmailModel'; -import { FileBucket } from './fileBucket'; -import { FileConfigResponse } from './fileConfigResponse'; -import { FileProvider } from './fileProvider'; -import { FileProviderPartial } from './fileProviderPartial'; -import { GetAllClickEventsResponse } from './getAllClickEventsResponse'; -import { GetAllCustomEventTypeResponse } from './getAllCustomEventTypeResponse'; -import { GetAllCustomEventsResponse } from './getAllCustomEventsResponse'; -import { GetAllInputEventsResponse } from './getAllInputEventsResponse'; -import { GetAllVisitEventsResponse } from './getAllVisitEventsResponse'; -import { GetClickEventsResponse } from './getClickEventsResponse'; -import { GetCustomEventsResponse } from './getCustomEventsResponse'; -import { GetInputEventsResponse } from './getInputEventsResponse'; -import { GetVisitEventsResponse } from './getVisitEventsResponse'; -import { InputEventProperties } from './inputEventProperties'; -import { InputEventResponse } from './inputEventResponse'; -import { IssueApiKeyRequest } from './issueApiKeyRequest'; -import { IssueApiKeyResponse } from './issueApiKeyResponse'; -import { IssueJWTResponse } from './issueJWTResponse'; -import { LinkProjectModel } from './linkProjectModel'; -import { LinkUserModel } from './linkUserModel'; -import { LogClickEventRequest } from './logClickEventRequest'; -import { LogCustomEventRequest } from './logCustomEventRequest'; -import { LogInputEventRequest } from './logInputEventRequest'; -import { LogVisitEventRequest } from './logVisitEventRequest'; -import { ModelFile } from './modelFile'; -import { ProjectResponse } from './projectResponse'; -import { RegisterDomainModel } from './registerDomainModel'; -import { RegisterDomainResponse } from './registerDomainResponse'; -import { RegisterEmailModel } from './registerEmailModel'; -import { RegisterEmailResponse } from './registerEmailResponse'; -import { RegisterFileBucketModel } from './registerFileBucketModel'; -import { RegisterFileProviderModel } from './registerFileProviderModel'; -import { SendEmailModel } from './sendEmailModel'; -import { SendEmailResponse } from './sendEmailResponse'; -import { SendEmailStatisticsResponse } from './sendEmailStatisticsResponse'; -import { SendEmailStatisticsResponses } from './sendEmailStatisticsResponses'; -import { SendGridDNSRecord } from './sendGridDNSRecord'; -import { SendGridDNSResponse } from './sendGridDNSResponse'; -import { SetUserTypeModel } from './setUserTypeModel'; -import { SetupEmailResponse } from './setupEmailResponse'; -import { SetupEmailServiceModel } from './setupEmailServiceModel'; -import { SetupFileServiceResponse } from './setupFileServiceResponse'; -import { UnlinkProjectModel } from './unlinkProjectModel'; -import { UpdateAnalyticsConfigModel } from './updateAnalyticsConfigModel'; -import { UploadFileModel } from './uploadFileModel'; -import { UploadFileResponse } from './uploadFileResponse'; -import { UserResponse } from './userResponse'; -import { UserResponses } from './userResponses'; -import { VerifyDomainModel } from './verifyDomainModel'; -import { VisitEventProperties } from './visitEventProperties'; -import { VisitEventResponse } from './visitEventResponse'; - -/* tslint:disable:no-unused-variable */ -let primitives = [ - 'string', - 'boolean', - 'double', - 'integer', - 'long', - 'float', - 'number', - 'any', -]; - -let enumsMap: { [index: string]: any } = { - AggregateInterval: AggregateInterval, - 'SetUserTypeModel.TypeEnum': SetUserTypeModel.TypeEnum, - 'UserResponse.TypeEnum': UserResponse.TypeEnum, -}; - -let typeMap: { [index: string]: any } = { - AccessKey: AccessKey, - AnalyticsConfigResponse: AnalyticsConfigResponse, - ClickEventProperties: ClickEventProperties, - ClickEventResponse: ClickEventResponse, - CreateAnalyticsConfigModel: CreateAnalyticsConfigModel, - CreateProjectModel: CreateProjectModel, - CreateUserModel: CreateUserModel, - CustomEventResponse: CustomEventResponse, - CustomEventTypeResponse: CustomEventTypeResponse, - CustomGraphType: CustomGraphType, - CustomGraphTypeResponse: CustomGraphTypeResponse, - DeleteFileBucketModel: DeleteFileBucketModel, - DownloadFileModel: DownloadFileModel, - DownloadFileResponse: DownloadFileResponse, - EmailConfigResponse: EmailConfigResponse, - EmailContent: EmailContent, - EmailDomain: EmailDomain, - EmailRecipient: EmailRecipient, - EmailSender: EmailSender, - EmailSenderSendEmailModel: EmailSenderSendEmailModel, - FileBucket: FileBucket, - FileConfigResponse: FileConfigResponse, - FileProvider: FileProvider, - FileProviderPartial: FileProviderPartial, - GetAllClickEventsResponse: GetAllClickEventsResponse, - GetAllCustomEventTypeResponse: GetAllCustomEventTypeResponse, - GetAllCustomEventsResponse: GetAllCustomEventsResponse, - GetAllInputEventsResponse: GetAllInputEventsResponse, - GetAllVisitEventsResponse: GetAllVisitEventsResponse, - GetClickEventsResponse: GetClickEventsResponse, - GetCustomEventsResponse: GetCustomEventsResponse, - GetInputEventsResponse: GetInputEventsResponse, - GetVisitEventsResponse: GetVisitEventsResponse, - InputEventProperties: InputEventProperties, - InputEventResponse: InputEventResponse, - IssueApiKeyRequest: IssueApiKeyRequest, - IssueApiKeyResponse: IssueApiKeyResponse, - IssueJWTResponse: IssueJWTResponse, - LinkProjectModel: LinkProjectModel, - LinkUserModel: LinkUserModel, - LogClickEventRequest: LogClickEventRequest, - LogCustomEventRequest: LogCustomEventRequest, - LogInputEventRequest: LogInputEventRequest, - LogVisitEventRequest: LogVisitEventRequest, - ModelFile: ModelFile, - ProjectResponse: ProjectResponse, - RegisterDomainModel: RegisterDomainModel, - RegisterDomainResponse: RegisterDomainResponse, - RegisterEmailModel: RegisterEmailModel, - RegisterEmailResponse: RegisterEmailResponse, - RegisterFileBucketModel: RegisterFileBucketModel, - RegisterFileProviderModel: RegisterFileProviderModel, - SendEmailModel: SendEmailModel, - SendEmailResponse: SendEmailResponse, - SendEmailStatisticsResponse: SendEmailStatisticsResponse, - SendEmailStatisticsResponses: SendEmailStatisticsResponses, - SendGridDNSRecord: SendGridDNSRecord, - SendGridDNSResponse: SendGridDNSResponse, - SetUserTypeModel: SetUserTypeModel, - SetupEmailResponse: SetupEmailResponse, - SetupEmailServiceModel: SetupEmailServiceModel, - SetupFileServiceResponse: SetupFileServiceResponse, - UnlinkProjectModel: UnlinkProjectModel, - UpdateAnalyticsConfigModel: UpdateAnalyticsConfigModel, - UploadFileModel: UploadFileModel, - UploadFileResponse: UploadFileResponse, - UserResponse: UserResponse, - UserResponses: UserResponses, - VerifyDomainModel: VerifyDomainModel, - VisitEventProperties: VisitEventProperties, - VisitEventResponse: VisitEventResponse, -}; - -export class ObjectSerializer { - public static findCorrectType(data: any, expectedType: string) { - if (data == undefined) { - return expectedType; - } else if (primitives.indexOf(expectedType.toLowerCase()) !== -1) { - return expectedType; - } else if (expectedType === 'Date') { - return expectedType; - } else { - if (enumsMap[expectedType]) { - return expectedType; - } - - if (!typeMap[expectedType]) { - return expectedType; // w/e we don't know the type - } - - // Check the discriminator - let discriminatorProperty = typeMap[expectedType].discriminator; - if (discriminatorProperty == null) { - return expectedType; // the type does not have a discriminator. use it. - } else { - if (data[discriminatorProperty]) { - var discriminatorType = data[discriminatorProperty]; - if (typeMap[discriminatorType]) { - return discriminatorType; // use the type given in the discriminator - } else { - return expectedType; // discriminator did not map to a type - } - } else { - return expectedType; // discriminator was not present (or an empty string) - } - } - } - } - - public static serialize(data: any, type: string) { - if (data == undefined) { - return data; - } else if (primitives.indexOf(type.toLowerCase()) !== -1) { - return data; - } else if (type.lastIndexOf('Array<', 0) === 0) { - // string.startsWith pre es6 - let subType: string = type.replace('Array<', ''); // Array => Type> - subType = subType.substring(0, subType.length - 1); // Type> => Type - let transformedData: any[] = []; - for (let index = 0; index < data.length; index++) { - let datum = data[index]; - transformedData.push(ObjectSerializer.serialize(datum, subType)); - } - return transformedData; - } else if (type === 'Date') { - return data.toISOString(); - } else { - if (enumsMap[type]) { - return data; - } - if (!typeMap[type]) { - // in case we dont know the type - return data; - } - - // Get the actual type of this object - type = this.findCorrectType(data, type); - - // get the map for the correct type. - let attributeTypes = typeMap[type].getAttributeTypeMap(); - let instance: { [index: string]: any } = {}; - for (let index = 0; index < attributeTypes.length; index++) { - let attributeType = attributeTypes[index]; - instance[attributeType.baseName] = ObjectSerializer.serialize( - data[attributeType.name], - attributeType.type - ); - } - return instance; - } - } - - public static deserialize(data: any, type: string) { - // polymorphism may change the actual type. - type = ObjectSerializer.findCorrectType(data, type); - if (data == undefined) { - return data; - } else if (primitives.indexOf(type.toLowerCase()) !== -1) { - return data; - } else if (type.lastIndexOf('Array<', 0) === 0) { - // string.startsWith pre es6 - let subType: string = type.replace('Array<', ''); // Array => Type> - subType = subType.substring(0, subType.length - 1); // Type> => Type - let transformedData: any[] = []; - for (let index = 0; index < data.length; index++) { - let datum = data[index]; - transformedData.push(ObjectSerializer.deserialize(datum, subType)); - } - return transformedData; - } else if (type === 'Date') { - return new Date(data); - } else { - if (enumsMap[type]) { - // is Enum - return data; - } - - if (!typeMap[type]) { - // dont know the type - return data; - } - let instance = new typeMap[type](); - let attributeTypes = typeMap[type].getAttributeTypeMap(); - for (let index = 0; index < attributeTypes.length; index++) { - let attributeType = attributeTypes[index]; - instance[attributeType.name] = ObjectSerializer.deserialize( - data[attributeType.baseName], - attributeType.type - ); - } - return instance; - } - } -} - -export interface Authentication { - /** - * Apply authentication settings to header and query params. - */ - applyToRequest(requestOptions: localVarRequest.Options): Promise | void; -} - -export class HttpBasicAuth implements Authentication { - public username: string = ''; - public password: string = ''; - - applyToRequest(requestOptions: localVarRequest.Options): void { - requestOptions.auth = { - username: this.username, - password: this.password, - }; - } -} - -export class HttpBearerAuth implements Authentication { - public accessToken: string | (() => string) = ''; - - applyToRequest(requestOptions: localVarRequest.Options): void { - if (requestOptions && requestOptions.headers) { - const accessToken = - typeof this.accessToken === 'function' - ? this.accessToken() - : this.accessToken; - requestOptions.headers['Authorization'] = 'Bearer ' + accessToken; - } - } -} - -export class ApiKeyAuth implements Authentication { - public apiKey: string = ''; - - constructor(private location: string, private paramName: string) {} - - applyToRequest(requestOptions: localVarRequest.Options): void { - if (this.location == 'query') { - (requestOptions.qs)[this.paramName] = this.apiKey; - } else if ( - this.location == 'header' && - requestOptions && - requestOptions.headers - ) { - requestOptions.headers[this.paramName] = this.apiKey; - } else if ( - this.location == 'cookie' && - requestOptions && - requestOptions.headers - ) { - if (requestOptions.headers['Cookie']) { - requestOptions.headers['Cookie'] += - '; ' + this.paramName + '=' + encodeURIComponent(this.apiKey); - } else { - requestOptions.headers['Cookie'] = - this.paramName + '=' + encodeURIComponent(this.apiKey); - } - } - } -} - -export class OAuth implements Authentication { - public accessToken: string = ''; - - applyToRequest(requestOptions: localVarRequest.Options): void { - if (requestOptions && requestOptions.headers) { - requestOptions.headers['Authorization'] = 'Bearer ' + this.accessToken; - } - } -} - -export class VoidAuth implements Authentication { - public username: string = ''; - public password: string = ''; - - applyToRequest(_: localVarRequest.Options): void { - // Do nothing - } -} - -export type Interceptor = ( - requestOptions: localVarRequest.Options -) => Promise | void; diff --git a/src/internal/model/projectResponse.ts b/src/internal/model/projectResponse.ts deleted file mode 100644 index 16cfbec..0000000 --- a/src/internal/model/projectResponse.ts +++ /dev/null @@ -1,47 +0,0 @@ -/** - * Juno - * Juno Public API Docs - * - * The version of the OpenAPI document: 1.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 { RequestFile } from './models'; - -export class ProjectResponse { - /** - * The ID of the project - */ - 'id': number; - /** - * The name of the project - */ - 'name': string; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{ - name: string; - baseName: string; - type: string; - }> = [ - { - name: 'id', - baseName: 'id', - type: 'number', - }, - { - name: 'name', - baseName: 'name', - type: 'string', - }, - ]; - - static getAttributeTypeMap() { - return ProjectResponse.attributeTypeMap; - } -} diff --git a/src/internal/model/registerDomainModel.ts b/src/internal/model/registerDomainModel.ts deleted file mode 100644 index eae5188..0000000 --- a/src/internal/model/registerDomainModel.ts +++ /dev/null @@ -1,47 +0,0 @@ -/** - * Juno - * Juno Public API Docs - * - * The version of the OpenAPI document: 1.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 { RequestFile } from './models'; - -export class RegisterDomainModel { - /** - * Domain to be registered - */ - 'domain': string; - /** - * Subdomain to be registered - */ - 'subdomain'?: string; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{ - name: string; - baseName: string; - type: string; - }> = [ - { - name: 'domain', - baseName: 'domain', - type: 'string', - }, - { - name: 'subdomain', - baseName: 'subdomain', - type: 'string', - }, - ]; - - static getAttributeTypeMap() { - return RegisterDomainModel.attributeTypeMap; - } -} diff --git a/src/internal/model/registerDomainResponse.ts b/src/internal/model/registerDomainResponse.ts deleted file mode 100644 index 3368ac6..0000000 --- a/src/internal/model/registerDomainResponse.ts +++ /dev/null @@ -1,54 +0,0 @@ -/** - * Juno - * Juno Public API Docs - * - * The version of the OpenAPI document: 1.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 { RequestFile } from './models'; -import { SendGridDNSResponse } from './sendGridDNSResponse'; - -export class RegisterDomainResponse { - 'id': number; - 'valid': string; - 'records': SendGridDNSResponse; - 'statusCode': number; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{ - name: string; - baseName: string; - type: string; - }> = [ - { - name: 'id', - baseName: 'id', - type: 'number', - }, - { - name: 'valid', - baseName: 'valid', - type: 'string', - }, - { - name: 'records', - baseName: 'records', - type: 'SendGridDNSResponse', - }, - { - name: 'statusCode', - baseName: 'statusCode', - type: 'number', - }, - ]; - - static getAttributeTypeMap() { - return RegisterDomainResponse.attributeTypeMap; - } -} diff --git a/src/internal/model/registerEmailModel.ts b/src/internal/model/registerEmailModel.ts deleted file mode 100644 index 15a0448..0000000 --- a/src/internal/model/registerEmailModel.ts +++ /dev/null @@ -1,110 +0,0 @@ -/** - * Juno - * Juno Public API Docs - * - * The version of the OpenAPI document: 1.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 { RequestFile } from './models'; - -export class RegisterEmailModel { - /** - * The email to register - */ - 'email': string; - /** - * The name to assosicate with the email - */ - 'name': string; - /** - * The email to reply-to - */ - 'replyTo'?: string; - /** - * The nickname to assosicate with the sender (only visible in sendgrid) - */ - 'nickname': string; - /** - * The address to assosicate with the sender - */ - 'address': string; - /** - * The city to assosicate with the sender - */ - 'city': string; - /** - * The state to assosicate with the sender - */ - 'state': string; - /** - * The zip code to assosicate with the sender - */ - 'zip': string; - /** - * The country to assosicate with the sender - */ - 'country': string; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{ - name: string; - baseName: string; - type: string; - }> = [ - { - name: 'email', - baseName: 'email', - type: 'string', - }, - { - name: 'name', - baseName: 'name', - type: 'string', - }, - { - name: 'replyTo', - baseName: 'replyTo', - type: 'string', - }, - { - name: 'nickname', - baseName: 'nickname', - type: 'string', - }, - { - name: 'address', - baseName: 'address', - type: 'string', - }, - { - name: 'city', - baseName: 'city', - type: 'string', - }, - { - name: 'state', - baseName: 'state', - type: 'string', - }, - { - name: 'zip', - baseName: 'zip', - type: 'string', - }, - { - name: 'country', - baseName: 'country', - type: 'string', - }, - ]; - - static getAttributeTypeMap() { - return RegisterEmailModel.attributeTypeMap; - } -} diff --git a/src/internal/model/registerEmailResponse.ts b/src/internal/model/registerEmailResponse.ts deleted file mode 100644 index 9af810e..0000000 --- a/src/internal/model/registerEmailResponse.ts +++ /dev/null @@ -1,38 +0,0 @@ -/** - * Juno - * Juno Public API Docs - * - * The version of the OpenAPI document: 1.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 { RequestFile } from './models'; - -export class RegisterEmailResponse { - /** - * The email registered - */ - 'email': string; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{ - name: string; - baseName: string; - type: string; - }> = [ - { - name: 'email', - baseName: 'email', - type: 'string', - }, - ]; - - static getAttributeTypeMap() { - return RegisterEmailResponse.attributeTypeMap; - } -} diff --git a/src/internal/model/registerFileBucketModel.ts b/src/internal/model/registerFileBucketModel.ts deleted file mode 100644 index fbcd835..0000000 --- a/src/internal/model/registerFileBucketModel.ts +++ /dev/null @@ -1,65 +0,0 @@ -/** - * Juno - * Juno Public API Docs - * - * The version of the OpenAPI document: 1.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 { RequestFile } from './models'; - -export class RegisterFileBucketModel { - /** - * The unique name of the bucket - */ - 'name': string; - /** - * Configuration ID for the bucket - */ - 'configId': number; - /** - * The file provider name associated with the bucket - */ - 'fileProviderName': string; - /** - * The file identifiers linked to this bucket - */ - 'fileServiceFile': Array; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{ - name: string; - baseName: string; - type: string; - }> = [ - { - name: 'name', - baseName: 'name', - type: 'string', - }, - { - name: 'configId', - baseName: 'configId', - type: 'number', - }, - { - name: 'fileProviderName', - baseName: 'fileProviderName', - type: 'string', - }, - { - name: 'fileServiceFile', - baseName: 'FileServiceFile', - type: 'Array', - }, - ]; - - static getAttributeTypeMap() { - return RegisterFileBucketModel.attributeTypeMap; - } -} diff --git a/src/internal/model/registerFileProviderModel.ts b/src/internal/model/registerFileProviderModel.ts deleted file mode 100644 index 4aef5d9..0000000 --- a/src/internal/model/registerFileProviderModel.ts +++ /dev/null @@ -1,65 +0,0 @@ -/** - * Juno - * Juno Public API Docs - * - * The version of the OpenAPI document: 1.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 { AccessKey } from './accessKey'; - -export class RegisterFileProviderModel { - /** - * The access key to register with - */ - 'accessKey': AccessKey; - /** - * The base url associated with file provider. - */ - 'baseUrl': string; - /** - * The file provider name being registered. - */ - 'providerName': string; - /** - * File provider type (one of S3 or AZURE) - */ - 'type': string; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{ - name: string; - baseName: string; - type: string; - }> = [ - { - name: 'accessKey', - baseName: 'accessKey', - type: 'AccessKey', - }, - { - name: 'baseUrl', - baseName: 'baseUrl', - type: 'string', - }, - { - name: 'providerName', - baseName: 'providerName', - type: 'string', - }, - { - name: 'type', - baseName: 'type', - type: 'string', - }, - ]; - - static getAttributeTypeMap() { - return RegisterFileProviderModel.attributeTypeMap; - } -} diff --git a/src/internal/model/sendEmailModel.ts b/src/internal/model/sendEmailModel.ts deleted file mode 100644 index cd23042..0000000 --- a/src/internal/model/sendEmailModel.ts +++ /dev/null @@ -1,95 +0,0 @@ -/** - * Juno - * Juno Public API Docs - * - * The version of the OpenAPI document: 1.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 { RequestFile } from './models'; -import { EmailContent } from './emailContent'; -import { EmailRecipient } from './emailRecipient'; -import { EmailSenderSendEmailModel } from './emailSenderSendEmailModel'; - -export class SendEmailModel { - /** - * List of recipients for the email - */ - 'recipients': Array; - /** - * List of email addresses to CC on the email - */ - 'cc': Array; - /** - * List of email addresses to BCC on the email - */ - 'bcc': Array; - /** - * List of emails to add to the Reply To list of the email - */ - 'replyToList': Array; - /** - * The sender of the email - */ - 'sender': EmailSenderSendEmailModel; - /** - * The subject of the email - */ - 'subject': string; - /** - * List of MIME content to send in the email - */ - 'content': Array; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{ - name: string; - baseName: string; - type: string; - }> = [ - { - name: 'recipients', - baseName: 'recipients', - type: 'Array', - }, - { - name: 'cc', - baseName: 'cc', - type: 'Array', - }, - { - name: 'bcc', - baseName: 'bcc', - type: 'Array', - }, - { - name: 'replyToList', - baseName: 'replyToList', - type: 'Array', - }, - { - name: 'sender', - baseName: 'sender', - type: 'EmailSenderSendEmailModel', - }, - { - name: 'subject', - baseName: 'subject', - type: 'string', - }, - { - name: 'content', - baseName: 'content', - type: 'Array', - }, - ]; - - static getAttributeTypeMap() { - return SendEmailModel.attributeTypeMap; - } -} diff --git a/src/internal/model/sendEmailResponse.ts b/src/internal/model/sendEmailResponse.ts deleted file mode 100644 index 59c0d8d..0000000 --- a/src/internal/model/sendEmailResponse.ts +++ /dev/null @@ -1,38 +0,0 @@ -/** - * Juno - * Juno Public API Docs - * - * The version of the OpenAPI document: 1.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 { RequestFile } from './models'; - -export class SendEmailResponse { - /** - * Whether an email was successfully sent - */ - 'success': boolean; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{ - name: string; - baseName: string; - type: string; - }> = [ - { - name: 'success', - baseName: 'success', - type: 'boolean', - }, - ]; - - static getAttributeTypeMap() { - return SendEmailResponse.attributeTypeMap; - } -} diff --git a/src/internal/model/sendEmailStatisticsResponse.ts b/src/internal/model/sendEmailStatisticsResponse.ts deleted file mode 100644 index 7e77298..0000000 --- a/src/internal/model/sendEmailStatisticsResponse.ts +++ /dev/null @@ -1,182 +0,0 @@ -/** - * Juno - * Juno Public API Docs - * - * The version of the OpenAPI document: 1.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 { RequestFile } from './models'; - -export class SendEmailStatisticsResponse { - /** - * Date - */ - 'date': string; - /** - * The number of links that were clicked in your emails. - */ - 'clicks': number; - /** - * The number of unique recipients who clicked links in your emails. - */ - 'uniqueClicks': number; - /** - * The total number of times your emails were opened by recipients. - */ - 'opens': number; - /** - * The number of unique recipients who opened your emails. - */ - 'uniqueOpens': number; - /** - * The number of emails that were not allowed to be delivered by ISPs. - */ - 'blocks': number; - /** - * The number of emails that were dropped because of a bounce. - */ - 'bounceDrops': number; - /** - * The number of emails that bounced instead of being delivered. - */ - 'bounces': number; - /** - * The number of emails that temporarily could not be delivered. - */ - 'deferred': number; - /** - * The number of emails confirmed to have been delivered. - */ - 'delivered': number; - /** - * The number of recipients with malformed or invalid email addresses. - */ - 'invalidEmails': number; - /** - * Requests from your website, application, or mail client via SMTP Relay or API. - */ - 'processed': number; - /** - * The number of emails that were requested to be delivered. - */ - 'requests': number; - /** - * The number of emails dropped due to a recipient marking your email as spam. - */ - 'spamReportDrops': number; - /** - * The number of recipients who marked your email as spam. - */ - 'spamReports': number; - /** - * The number of emails dropped due to a recipient unsubscribing. - */ - 'unsubscribeDrops': number; - /** - * The number of recipients who unsubscribed from your emails. - */ - 'unsubscribes': number; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{ - name: string; - baseName: string; - type: string; - }> = [ - { - name: 'date', - baseName: 'date', - type: 'string', - }, - { - name: 'clicks', - baseName: 'clicks', - type: 'number', - }, - { - name: 'uniqueClicks', - baseName: 'unique_clicks', - type: 'number', - }, - { - name: 'opens', - baseName: 'opens', - type: 'number', - }, - { - name: 'uniqueOpens', - baseName: 'unique_opens', - type: 'number', - }, - { - name: 'blocks', - baseName: 'blocks', - type: 'number', - }, - { - name: 'bounceDrops', - baseName: 'bounce_drops', - type: 'number', - }, - { - name: 'bounces', - baseName: 'bounces', - type: 'number', - }, - { - name: 'deferred', - baseName: 'deferred', - type: 'number', - }, - { - name: 'delivered', - baseName: 'delivered', - type: 'number', - }, - { - name: 'invalidEmails', - baseName: 'invalid_emails', - type: 'number', - }, - { - name: 'processed', - baseName: 'processed', - type: 'number', - }, - { - name: 'requests', - baseName: 'requests', - type: 'number', - }, - { - name: 'spamReportDrops', - baseName: 'spam_report_drops', - type: 'number', - }, - { - name: 'spamReports', - baseName: 'spam_reports', - type: 'number', - }, - { - name: 'unsubscribeDrops', - baseName: 'unsubscribe_drops', - type: 'number', - }, - { - name: 'unsubscribes', - baseName: 'unsubscribes', - type: 'number', - }, - ]; - - static getAttributeTypeMap() { - return SendEmailStatisticsResponse.attributeTypeMap; - } -} diff --git a/src/internal/model/sendEmailStatisticsResponses.ts b/src/internal/model/sendEmailStatisticsResponses.ts deleted file mode 100644 index 381263f..0000000 --- a/src/internal/model/sendEmailStatisticsResponses.ts +++ /dev/null @@ -1,39 +0,0 @@ -/** - * Juno - * Juno Public API Docs - * - * The version of the OpenAPI document: 1.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 { RequestFile } from './models'; -import { SendEmailStatisticsResponse } from './sendEmailStatisticsResponse'; - -export class SendEmailStatisticsResponses { - /** - * List of email analytics. - */ - 'responses': Array; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{ - name: string; - baseName: string; - type: string; - }> = [ - { - name: 'responses', - baseName: 'responses', - type: 'Array', - }, - ]; - - static getAttributeTypeMap() { - return SendEmailStatisticsResponses.attributeTypeMap; - } -} diff --git a/src/internal/model/sendGridDNSRecord.ts b/src/internal/model/sendGridDNSRecord.ts deleted file mode 100644 index 9343553..0000000 --- a/src/internal/model/sendGridDNSRecord.ts +++ /dev/null @@ -1,53 +0,0 @@ -/** - * Juno - * Juno Public API Docs - * - * The version of the OpenAPI document: 1.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 { RequestFile } from './models'; - -export class SendGridDNSRecord { - 'valid': boolean; - 'type': string; - 'host': string; - 'data': string; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{ - name: string; - baseName: string; - type: string; - }> = [ - { - name: 'valid', - baseName: 'valid', - type: 'boolean', - }, - { - name: 'type', - baseName: 'type', - type: 'string', - }, - { - name: 'host', - baseName: 'host', - type: 'string', - }, - { - name: 'data', - baseName: 'data', - type: 'string', - }, - ]; - - static getAttributeTypeMap() { - return SendGridDNSRecord.attributeTypeMap; - } -} diff --git a/src/internal/model/sendGridDNSResponse.ts b/src/internal/model/sendGridDNSResponse.ts deleted file mode 100644 index 7500e78..0000000 --- a/src/internal/model/sendGridDNSResponse.ts +++ /dev/null @@ -1,48 +0,0 @@ -/** - * Juno - * Juno Public API Docs - * - * The version of the OpenAPI document: 1.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 { RequestFile } from './models'; -import { SendGridDNSRecord } from './sendGridDNSRecord'; - -export class SendGridDNSResponse { - 'mailCname': SendGridDNSRecord; - 'dkim1': SendGridDNSRecord; - 'dkim2': SendGridDNSRecord; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{ - name: string; - baseName: string; - type: string; - }> = [ - { - name: 'mailCname', - baseName: 'mail_cname', - type: 'SendGridDNSRecord', - }, - { - name: 'dkim1', - baseName: 'dkim1', - type: 'SendGridDNSRecord', - }, - { - name: 'dkim2', - baseName: 'dkim2', - type: 'SendGridDNSRecord', - }, - ]; - - static getAttributeTypeMap() { - return SendGridDNSResponse.attributeTypeMap; - } -} diff --git a/src/internal/model/setUserTypeModel.ts b/src/internal/model/setUserTypeModel.ts deleted file mode 100644 index 57efdf8..0000000 --- a/src/internal/model/setUserTypeModel.ts +++ /dev/null @@ -1,65 +0,0 @@ -/** - * Juno - * Juno Public API Docs - * - * The version of the OpenAPI document: 1.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 { RequestFile } from './models'; - -export class SetUserTypeModel { - /** - * User email - */ - 'email'?: string; - /** - * User id - */ - 'id'?: number; - /** - * New user type - */ - 'type': SetUserTypeModel.TypeEnum; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{ - name: string; - baseName: string; - type: string; - }> = [ - { - name: 'email', - baseName: 'email', - type: 'string', - }, - { - name: 'id', - baseName: 'id', - type: 'number', - }, - { - name: 'type', - baseName: 'type', - type: 'SetUserTypeModel.TypeEnum', - }, - ]; - - static getAttributeTypeMap() { - return SetUserTypeModel.attributeTypeMap; - } -} - -export namespace SetUserTypeModel { - export enum TypeEnum { - NUMBER_0 = 0, - NUMBER_1 = 1, - NUMBER_2 = 2, - NUMBER_MINUS_1 = -1, - } -} diff --git a/src/internal/model/setupEmailResponse.ts b/src/internal/model/setupEmailResponse.ts deleted file mode 100644 index b0f3fdd..0000000 --- a/src/internal/model/setupEmailResponse.ts +++ /dev/null @@ -1,38 +0,0 @@ -/** - * Juno - * Juno Public API Docs - * - * The version of the OpenAPI document: 1.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 { RequestFile } from './models'; - -export class SetupEmailResponse { - /** - * Whether an email was successfully setup - */ - 'success': boolean; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{ - name: string; - baseName: string; - type: string; - }> = [ - { - name: 'success', - baseName: 'success', - type: 'boolean', - }, - ]; - - static getAttributeTypeMap() { - return SetupEmailResponse.attributeTypeMap; - } -} diff --git a/src/internal/model/setupEmailServiceModel.ts b/src/internal/model/setupEmailServiceModel.ts deleted file mode 100644 index 5080ea7..0000000 --- a/src/internal/model/setupEmailServiceModel.ts +++ /dev/null @@ -1,38 +0,0 @@ -/** - * Juno - * Juno Public API Docs - * - * The version of the OpenAPI document: 1.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 { RequestFile } from './models'; - -export class SetupEmailServiceModel { - /** - * The sendgrid API Key to use - */ - 'sendgridKey': string; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{ - name: string; - baseName: string; - type: string; - }> = [ - { - name: 'sendgridKey', - baseName: 'sendgridKey', - type: 'string', - }, - ]; - - static getAttributeTypeMap() { - return SetupEmailServiceModel.attributeTypeMap; - } -} diff --git a/src/internal/model/setupFileServiceResponse.ts b/src/internal/model/setupFileServiceResponse.ts deleted file mode 100644 index f669211..0000000 --- a/src/internal/model/setupFileServiceResponse.ts +++ /dev/null @@ -1,38 +0,0 @@ -/** - * Juno - * Juno Public API Docs - * - * The version of the OpenAPI document: 1.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 { RequestFile } from './models'; - -export class SetupFileServiceResponse { - /** - * Whether file services were successfully setup - */ - 'success': boolean; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{ - name: string; - baseName: string; - type: string; - }> = [ - { - name: 'success', - baseName: 'success', - type: 'boolean', - }, - ]; - - static getAttributeTypeMap() { - return SetupFileServiceResponse.attributeTypeMap; - } -} diff --git a/src/internal/model/unlinkProjectModel.ts b/src/internal/model/unlinkProjectModel.ts deleted file mode 100644 index 88dabe2..0000000 --- a/src/internal/model/unlinkProjectModel.ts +++ /dev/null @@ -1,47 +0,0 @@ -/** - * Juno - * Juno Public API Docs - * - * The version of the OpenAPI document: 1.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 { RequestFile } from './models'; - -export class UnlinkProjectModel { - /** - * ID of project to be unlinked - */ - 'id'?: number; - /** - * Name of project to be unlinked - */ - 'name'?: string; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{ - name: string; - baseName: string; - type: string; - }> = [ - { - name: 'id', - baseName: 'id', - type: 'number', - }, - { - name: 'name', - baseName: 'name', - type: 'string', - }, - ]; - - static getAttributeTypeMap() { - return UnlinkProjectModel.attributeTypeMap; - } -} diff --git a/src/internal/model/updateAnalyticsConfigModel.ts b/src/internal/model/updateAnalyticsConfigModel.ts deleted file mode 100644 index eda9f74..0000000 --- a/src/internal/model/updateAnalyticsConfigModel.ts +++ /dev/null @@ -1,41 +0,0 @@ -/** - * Juno - * Juno Public API Docs - * - * The version of the OpenAPI document: 1.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 { RequestFile } from './models'; - -export class UpdateAnalyticsConfigModel { - 'serverAnalyticsKey'?: string; - 'clientAnalyticsKey'?: string; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{ - name: string; - baseName: string; - type: string; - }> = [ - { - name: 'serverAnalyticsKey', - baseName: 'serverAnalyticsKey', - type: 'string', - }, - { - name: 'clientAnalyticsKey', - baseName: 'clientAnalyticsKey', - type: 'string', - }, - ]; - - static getAttributeTypeMap() { - return UpdateAnalyticsConfigModel.attributeTypeMap; - } -} diff --git a/src/internal/model/uploadFileModel.ts b/src/internal/model/uploadFileModel.ts deleted file mode 100644 index 35da31a..0000000 --- a/src/internal/model/uploadFileModel.ts +++ /dev/null @@ -1,74 +0,0 @@ -/** - * Juno - * Juno Public API Docs - * - * The version of the OpenAPI document: 1.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 { RequestFile } from './models'; - -export class UploadFileModel { - /** - * Name of file - */ - 'fileName': string; - /** - * Name of bucket. - */ - 'bucketName': string; - /** - * Name of file provider - */ - 'providerName': string; - /** - * File\'s configId - */ - 'configId': number; - /** - * File provider\'s region - */ - 'region'?: string; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{ - name: string; - baseName: string; - type: string; - }> = [ - { - name: 'fileName', - baseName: 'fileName', - type: 'string', - }, - { - name: 'bucketName', - baseName: 'bucketName', - type: 'string', - }, - { - name: 'providerName', - baseName: 'providerName', - type: 'string', - }, - { - name: 'configId', - baseName: 'configId', - type: 'number', - }, - { - name: 'region', - baseName: 'region', - type: 'string', - }, - ]; - - static getAttributeTypeMap() { - return UploadFileModel.attributeTypeMap; - } -} diff --git a/src/internal/model/uploadFileResponse.ts b/src/internal/model/uploadFileResponse.ts deleted file mode 100644 index 18a0e8d..0000000 --- a/src/internal/model/uploadFileResponse.ts +++ /dev/null @@ -1,38 +0,0 @@ -/** - * Juno - * Juno Public API Docs - * - * The version of the OpenAPI document: 1.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 { RequestFile } from './models'; - -export class UploadFileResponse { - /** - * Pre-signed URL used in file upload - */ - 'url': string; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{ - name: string; - baseName: string; - type: string; - }> = [ - { - name: 'url', - baseName: 'url', - type: 'string', - }, - ]; - - static getAttributeTypeMap() { - return UploadFileResponse.attributeTypeMap; - } -} diff --git a/src/internal/model/userResponse.ts b/src/internal/model/userResponse.ts deleted file mode 100644 index abb99f8..0000000 --- a/src/internal/model/userResponse.ts +++ /dev/null @@ -1,83 +0,0 @@ -/** - * Juno - * Juno Public API Docs - * - * The version of the OpenAPI document: 1.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 { RequestFile } from './models'; - -export class UserResponse { - /** - * User id - */ - 'id': number; - /** - * User email - */ - 'email': string; - /** - * User name - */ - 'name': string; - /** - * User type - */ - 'type': UserResponse.TypeEnum; - /** - * Project IDs associated with user - */ - 'projectIds': Array; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{ - name: string; - baseName: string; - type: string; - }> = [ - { - name: 'id', - baseName: 'id', - type: 'number', - }, - { - name: 'email', - baseName: 'email', - type: 'string', - }, - { - name: 'name', - baseName: 'name', - type: 'string', - }, - { - name: 'type', - baseName: 'type', - type: 'UserResponse.TypeEnum', - }, - { - name: 'projectIds', - baseName: 'projectIds', - type: 'Array', - }, - ]; - - static getAttributeTypeMap() { - return UserResponse.attributeTypeMap; - } -} - -export namespace UserResponse { - export enum TypeEnum { - NUMBER_0 = 0, - NUMBER_1 = 1, - NUMBER_2 = 2, - NUMBER_MINUS_1 = -1, - } -} diff --git a/src/internal/model/userResponses.ts b/src/internal/model/userResponses.ts deleted file mode 100644 index ca3233b..0000000 --- a/src/internal/model/userResponses.ts +++ /dev/null @@ -1,39 +0,0 @@ -/** - * Juno - * Juno Public API Docs - * - * The version of the OpenAPI document: 1.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 { RequestFile } from './models'; -import { UserResponse } from './userResponse'; - -export class UserResponses { - /** - * List of Users - */ - 'users': Array; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{ - name: string; - baseName: string; - type: string; - }> = [ - { - name: 'users', - baseName: 'users', - type: 'Array', - }, - ]; - - static getAttributeTypeMap() { - return UserResponses.attributeTypeMap; - } -} diff --git a/src/internal/model/verifyDomainModel.ts b/src/internal/model/verifyDomainModel.ts deleted file mode 100644 index 692c5f7..0000000 --- a/src/internal/model/verifyDomainModel.ts +++ /dev/null @@ -1,38 +0,0 @@ -/** - * Juno - * Juno Public API Docs - * - * The version of the OpenAPI document: 1.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 { RequestFile } from './models'; - -export class VerifyDomainModel { - /** - * Domain to be verified - */ - 'domain': string; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{ - name: string; - baseName: string; - type: string; - }> = [ - { - name: 'domain', - baseName: 'domain', - type: 'string', - }, - ]; - - static getAttributeTypeMap() { - return VerifyDomainModel.attributeTypeMap; - } -} diff --git a/src/internal/model/visitEventProperties.ts b/src/internal/model/visitEventProperties.ts deleted file mode 100644 index 9d1fc11..0000000 --- a/src/internal/model/visitEventProperties.ts +++ /dev/null @@ -1,47 +0,0 @@ -/** - * Juno - * Juno Public API Docs - * - * The version of the OpenAPI document: 1.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 { RequestFile } from './models'; - -export class VisitEventProperties { - /** - * Page URL - */ - 'pageUrl': string; - /** - * User ID - */ - 'userId': string; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{ - name: string; - baseName: string; - type: string; - }> = [ - { - name: 'pageUrl', - baseName: 'pageUrl', - type: 'string', - }, - { - name: 'userId', - baseName: 'userId', - type: 'string', - }, - ]; - - static getAttributeTypeMap() { - return VisitEventProperties.attributeTypeMap; - } -} diff --git a/src/internal/model/visitEventResponse.ts b/src/internal/model/visitEventResponse.ts deleted file mode 100644 index ceba4ac..0000000 --- a/src/internal/model/visitEventResponse.ts +++ /dev/null @@ -1,102 +0,0 @@ -/** - * Juno - * Juno Public API Docs - * - * The version of the OpenAPI document: 1.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 { RequestFile } from './models'; -import { VisitEventProperties } from './visitEventProperties'; - -export class VisitEventResponse { - /** - * Event ID - */ - 'id': string; - /** - * Event category - */ - 'category': string; - /** - * Event subcategory - */ - 'subcategory': string; - /** - * Project ID - */ - 'projectId': string; - /** - * Environment - */ - 'environment': string; - /** - * Created timestamp - */ - 'createdAt': string; - /** - * Updated timestamp - */ - 'updatedAt': string; - /** - * Event properties - */ - 'eventProperties': VisitEventProperties; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{ - name: string; - baseName: string; - type: string; - }> = [ - { - name: 'id', - baseName: 'id', - type: 'string', - }, - { - name: 'category', - baseName: 'category', - type: 'string', - }, - { - name: 'subcategory', - baseName: 'subcategory', - type: 'string', - }, - { - name: 'projectId', - baseName: 'projectId', - type: 'string', - }, - { - name: 'environment', - baseName: 'environment', - type: 'string', - }, - { - name: 'createdAt', - baseName: 'createdAt', - type: 'string', - }, - { - name: 'updatedAt', - baseName: 'updatedAt', - type: 'string', - }, - { - name: 'eventProperties', - baseName: 'eventProperties', - type: 'VisitEventProperties', - }, - ]; - - static getAttributeTypeMap() { - return VisitEventResponse.attributeTypeMap; - } -} diff --git a/src/internal/models/AccessKey.ts b/src/internal/models/AccessKey.ts new file mode 100644 index 0000000..1db6730 --- /dev/null +++ b/src/internal/models/AccessKey.ts @@ -0,0 +1,72 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Juno + * Juno Public API Docs + * + * The version of the OpenAPI document: 1.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'; +/** + * + * @export + * @interface AccessKey + */ +export interface AccessKey { + /** + * Client public access key + * @type {string} + * @memberof AccessKey + */ + publicAccessKey: string; + /** + * Client private access key + * @type {string} + * @memberof AccessKey + */ + privateAccessKey: string; +} + +/** + * Check if a given object implements the AccessKey interface. + */ +export function instanceOfAccessKey(value: object): value is AccessKey { + if (!('publicAccessKey' in value) || value['publicAccessKey'] === undefined) + return false; + if (!('privateAccessKey' in value) || value['privateAccessKey'] === undefined) + return false; + return true; +} + +export function AccessKeyFromJSON(json: any): AccessKey { + return AccessKeyFromJSONTyped(json, false); +} + +export function AccessKeyFromJSONTyped( + json: any, + ignoreDiscriminator: boolean +): AccessKey { + if (json == null) { + return json; + } + return { + publicAccessKey: json['publicAccessKey'], + privateAccessKey: json['privateAccessKey'], + }; +} + +export function AccessKeyToJSON(value?: AccessKey | null): any { + if (value == null) { + return value; + } + return { + publicAccessKey: value['publicAccessKey'], + privateAccessKey: value['privateAccessKey'], + }; +} diff --git a/src/internal/models/AggregateInterval.ts b/src/internal/models/AggregateInterval.ts new file mode 100644 index 0000000..960de75 --- /dev/null +++ b/src/internal/models/AggregateInterval.ts @@ -0,0 +1,51 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Juno + * Juno Public API Docs + * + * The version of the OpenAPI document: 1.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +/** + * + * @export + */ +export const AggregateInterval = { + Day: 'day', + Week: 'week', + Month: 'month', +} as const; +export type AggregateInterval = + (typeof AggregateInterval)[keyof typeof AggregateInterval]; + +export function instanceOfAggregateInterval(value: any): boolean { + for (const key in AggregateInterval) { + if (Object.prototype.hasOwnProperty.call(AggregateInterval, key)) { + if (AggregateInterval[key as keyof typeof AggregateInterval] === value) { + return true; + } + } + } + return false; +} + +export function AggregateIntervalFromJSON(json: any): AggregateInterval { + return AggregateIntervalFromJSONTyped(json, false); +} + +export function AggregateIntervalFromJSONTyped( + json: any, + ignoreDiscriminator: boolean +): AggregateInterval { + return json as AggregateInterval; +} + +export function AggregateIntervalToJSON(value?: AggregateInterval | null): any { + return value as any; +} diff --git a/src/internal/models/AnalyticsConfigResponse.ts b/src/internal/models/AnalyticsConfigResponse.ts new file mode 100644 index 0000000..b1dc267 --- /dev/null +++ b/src/internal/models/AnalyticsConfigResponse.ts @@ -0,0 +1,103 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Juno + * Juno Public API Docs + * + * The version of the OpenAPI document: 1.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'; +/** + * + * @export + * @interface AnalyticsConfigResponse + */ +export interface AnalyticsConfigResponse { + /** + * + * @type {number} + * @memberof AnalyticsConfigResponse + */ + id: number; + /** + * + * @type {string} + * @memberof AnalyticsConfigResponse + */ + environment: string; + /** + * + * @type {string} + * @memberof AnalyticsConfigResponse + */ + serverAnalyticsKey: string; + /** + * + * @type {string} + * @memberof AnalyticsConfigResponse + */ + clientAnalyticsKey: string; +} + +/** + * Check if a given object implements the AnalyticsConfigResponse interface. + */ +export function instanceOfAnalyticsConfigResponse( + value: object +): value is AnalyticsConfigResponse { + if (!('id' in value) || value['id'] === undefined) return false; + if (!('environment' in value) || value['environment'] === undefined) + return false; + if ( + !('serverAnalyticsKey' in value) || + value['serverAnalyticsKey'] === undefined + ) + return false; + if ( + !('clientAnalyticsKey' in value) || + value['clientAnalyticsKey'] === undefined + ) + return false; + return true; +} + +export function AnalyticsConfigResponseFromJSON( + json: any +): AnalyticsConfigResponse { + return AnalyticsConfigResponseFromJSONTyped(json, false); +} + +export function AnalyticsConfigResponseFromJSONTyped( + json: any, + ignoreDiscriminator: boolean +): AnalyticsConfigResponse { + if (json == null) { + return json; + } + return { + id: json['id'], + environment: json['environment'], + serverAnalyticsKey: json['serverAnalyticsKey'], + clientAnalyticsKey: json['clientAnalyticsKey'], + }; +} + +export function AnalyticsConfigResponseToJSON( + value?: AnalyticsConfigResponse | null +): any { + if (value == null) { + return value; + } + return { + id: value['id'], + environment: value['environment'], + serverAnalyticsKey: value['serverAnalyticsKey'], + clientAnalyticsKey: value['clientAnalyticsKey'], + }; +} diff --git a/src/internal/models/ClickEventProperties.ts b/src/internal/models/ClickEventProperties.ts new file mode 100644 index 0000000..54d3824 --- /dev/null +++ b/src/internal/models/ClickEventProperties.ts @@ -0,0 +1,74 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Juno + * Juno Public API Docs + * + * The version of the OpenAPI document: 1.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'; +/** + * + * @export + * @interface ClickEventProperties + */ +export interface ClickEventProperties { + /** + * Object ID + * @type {string} + * @memberof ClickEventProperties + */ + objectId: string; + /** + * User ID + * @type {string} + * @memberof ClickEventProperties + */ + userId: string; +} + +/** + * Check if a given object implements the ClickEventProperties interface. + */ +export function instanceOfClickEventProperties( + value: object +): value is ClickEventProperties { + if (!('objectId' in value) || value['objectId'] === undefined) return false; + if (!('userId' in value) || value['userId'] === undefined) return false; + return true; +} + +export function ClickEventPropertiesFromJSON(json: any): ClickEventProperties { + return ClickEventPropertiesFromJSONTyped(json, false); +} + +export function ClickEventPropertiesFromJSONTyped( + json: any, + ignoreDiscriminator: boolean +): ClickEventProperties { + if (json == null) { + return json; + } + return { + objectId: json['objectId'], + userId: json['userId'], + }; +} + +export function ClickEventPropertiesToJSON( + value?: ClickEventProperties | null +): any { + if (value == null) { + return value; + } + return { + objectId: value['objectId'], + userId: value['userId'], + }; +} diff --git a/src/internal/models/ClickEventResponse.ts b/src/internal/models/ClickEventResponse.ts new file mode 100644 index 0000000..eb5c61d --- /dev/null +++ b/src/internal/models/ClickEventResponse.ts @@ -0,0 +1,138 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Juno + * Juno Public API Docs + * + * The version of the OpenAPI document: 1.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 { ClickEventProperties } from './ClickEventProperties'; +import { + ClickEventPropertiesFromJSON, + ClickEventPropertiesFromJSONTyped, + ClickEventPropertiesToJSON, +} from './ClickEventProperties'; + +/** + * + * @export + * @interface ClickEventResponse + */ +export interface ClickEventResponse { + /** + * Event ID + * @type {string} + * @memberof ClickEventResponse + */ + id: string; + /** + * Event category + * @type {string} + * @memberof ClickEventResponse + */ + category: string; + /** + * Event subcategory + * @type {string} + * @memberof ClickEventResponse + */ + subcategory: string; + /** + * Project ID + * @type {string} + * @memberof ClickEventResponse + */ + projectId: string; + /** + * Environment + * @type {string} + * @memberof ClickEventResponse + */ + environment: string; + /** + * Created timestamp + * @type {string} + * @memberof ClickEventResponse + */ + createdAt: string; + /** + * Updated timestamp + * @type {string} + * @memberof ClickEventResponse + */ + updatedAt: string; + /** + * Event properties + * @type {ClickEventProperties} + * @memberof ClickEventResponse + */ + eventProperties: ClickEventProperties; +} + +/** + * Check if a given object implements the ClickEventResponse interface. + */ +export function instanceOfClickEventResponse( + value: object +): value is ClickEventResponse { + if (!('id' in value) || value['id'] === undefined) return false; + if (!('category' in value) || value['category'] === undefined) return false; + if (!('subcategory' in value) || value['subcategory'] === undefined) + return false; + if (!('projectId' in value) || value['projectId'] === undefined) return false; + if (!('environment' in value) || value['environment'] === undefined) + return false; + if (!('createdAt' in value) || value['createdAt'] === undefined) return false; + if (!('updatedAt' in value) || value['updatedAt'] === undefined) return false; + if (!('eventProperties' in value) || value['eventProperties'] === undefined) + return false; + return true; +} + +export function ClickEventResponseFromJSON(json: any): ClickEventResponse { + return ClickEventResponseFromJSONTyped(json, false); +} + +export function ClickEventResponseFromJSONTyped( + json: any, + ignoreDiscriminator: boolean +): ClickEventResponse { + if (json == null) { + return json; + } + return { + id: json['id'], + category: json['category'], + subcategory: json['subcategory'], + projectId: json['projectId'], + environment: json['environment'], + createdAt: json['createdAt'], + updatedAt: json['updatedAt'], + eventProperties: ClickEventPropertiesFromJSON(json['eventProperties']), + }; +} + +export function ClickEventResponseToJSON( + value?: ClickEventResponse | null +): any { + if (value == null) { + return value; + } + return { + id: value['id'], + category: value['category'], + subcategory: value['subcategory'], + projectId: value['projectId'], + environment: value['environment'], + createdAt: value['createdAt'], + updatedAt: value['updatedAt'], + eventProperties: ClickEventPropertiesToJSON(value['eventProperties']), + }; +} diff --git a/src/internal/models/CreateAnalyticsConfigModel.ts b/src/internal/models/CreateAnalyticsConfigModel.ts new file mode 100644 index 0000000..ccf29e7 --- /dev/null +++ b/src/internal/models/CreateAnalyticsConfigModel.ts @@ -0,0 +1,84 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Juno + * Juno Public API Docs + * + * The version of the OpenAPI document: 1.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'; +/** + * + * @export + * @interface CreateAnalyticsConfigModel + */ +export interface CreateAnalyticsConfigModel { + /** + * + * @type {string} + * @memberof CreateAnalyticsConfigModel + */ + serverAnalyticsKey: string; + /** + * + * @type {string} + * @memberof CreateAnalyticsConfigModel + */ + clientAnalyticsKey: string; +} + +/** + * Check if a given object implements the CreateAnalyticsConfigModel interface. + */ +export function instanceOfCreateAnalyticsConfigModel( + value: object +): value is CreateAnalyticsConfigModel { + if ( + !('serverAnalyticsKey' in value) || + value['serverAnalyticsKey'] === undefined + ) + return false; + if ( + !('clientAnalyticsKey' in value) || + value['clientAnalyticsKey'] === undefined + ) + return false; + return true; +} + +export function CreateAnalyticsConfigModelFromJSON( + json: any +): CreateAnalyticsConfigModel { + return CreateAnalyticsConfigModelFromJSONTyped(json, false); +} + +export function CreateAnalyticsConfigModelFromJSONTyped( + json: any, + ignoreDiscriminator: boolean +): CreateAnalyticsConfigModel { + if (json == null) { + return json; + } + return { + serverAnalyticsKey: json['serverAnalyticsKey'], + clientAnalyticsKey: json['clientAnalyticsKey'], + }; +} + +export function CreateAnalyticsConfigModelToJSON( + value?: CreateAnalyticsConfigModel | null +): any { + if (value == null) { + return value; + } + return { + serverAnalyticsKey: value['serverAnalyticsKey'], + clientAnalyticsKey: value['clientAnalyticsKey'], + }; +} diff --git a/src/internal/models/CreateProjectModel.ts b/src/internal/models/CreateProjectModel.ts new file mode 100644 index 0000000..c9b61e0 --- /dev/null +++ b/src/internal/models/CreateProjectModel.ts @@ -0,0 +1,65 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Juno + * Juno Public API Docs + * + * The version of the OpenAPI document: 1.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'; +/** + * + * @export + * @interface CreateProjectModel + */ +export interface CreateProjectModel { + /** + * The name of the project + * @type {string} + * @memberof CreateProjectModel + */ + name: string; +} + +/** + * Check if a given object implements the CreateProjectModel interface. + */ +export function instanceOfCreateProjectModel( + value: object +): value is CreateProjectModel { + if (!('name' in value) || value['name'] === undefined) return false; + return true; +} + +export function CreateProjectModelFromJSON(json: any): CreateProjectModel { + return CreateProjectModelFromJSONTyped(json, false); +} + +export function CreateProjectModelFromJSONTyped( + json: any, + ignoreDiscriminator: boolean +): CreateProjectModel { + if (json == null) { + return json; + } + return { + name: json['name'], + }; +} + +export function CreateProjectModelToJSON( + value?: CreateProjectModel | null +): any { + if (value == null) { + return value; + } + return { + name: value['name'], + }; +} diff --git a/src/internal/models/CreateUserModel.ts b/src/internal/models/CreateUserModel.ts new file mode 100644 index 0000000..eb4d1c4 --- /dev/null +++ b/src/internal/models/CreateUserModel.ts @@ -0,0 +1,81 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Juno + * Juno Public API Docs + * + * The version of the OpenAPI document: 1.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'; +/** + * + * @export + * @interface CreateUserModel + */ +export interface CreateUserModel { + /** + * User email + * @type {string} + * @memberof CreateUserModel + */ + email: string; + /** + * User name + * @type {string} + * @memberof CreateUserModel + */ + name: string; + /** + * User password + * @type {string} + * @memberof CreateUserModel + */ + password: string; +} + +/** + * Check if a given object implements the CreateUserModel interface. + */ +export function instanceOfCreateUserModel( + value: object +): value is CreateUserModel { + if (!('email' in value) || value['email'] === undefined) return false; + if (!('name' in value) || value['name'] === undefined) return false; + if (!('password' in value) || value['password'] === undefined) return false; + return true; +} + +export function CreateUserModelFromJSON(json: any): CreateUserModel { + return CreateUserModelFromJSONTyped(json, false); +} + +export function CreateUserModelFromJSONTyped( + json: any, + ignoreDiscriminator: boolean +): CreateUserModel { + if (json == null) { + return json; + } + return { + email: json['email'], + name: json['name'], + password: json['password'], + }; +} + +export function CreateUserModelToJSON(value?: CreateUserModel | null): any { + if (value == null) { + return value; + } + return { + email: value['email'], + name: value['name'], + password: value['password'], + }; +} diff --git a/src/internal/models/CustomEventResponse.ts b/src/internal/models/CustomEventResponse.ts new file mode 100644 index 0000000..d56f2c6 --- /dev/null +++ b/src/internal/models/CustomEventResponse.ts @@ -0,0 +1,122 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Juno + * Juno Public API Docs + * + * The version of the OpenAPI document: 1.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'; +/** + * + * @export + * @interface CustomEventResponse + */ +export interface CustomEventResponse { + /** + * Event ID + * @type {string} + * @memberof CustomEventResponse + */ + id: string; + /** + * Event type ID + * @type {string} + * @memberof CustomEventResponse + */ + eventTypeId: string; + /** + * Project ID + * @type {string} + * @memberof CustomEventResponse + */ + projectId: string; + /** + * Environment + * @type {string} + * @memberof CustomEventResponse + */ + environment: string; + /** + * Created timestamp + * @type {string} + * @memberof CustomEventResponse + */ + createdAt: string; + /** + * Updated timestamp + * @type {string} + * @memberof CustomEventResponse + */ + updatedAt: string; + /** + * Custom properties + * @type {object} + * @memberof CustomEventResponse + */ + properties: object; +} + +/** + * Check if a given object implements the CustomEventResponse interface. + */ +export function instanceOfCustomEventResponse( + value: object +): value is CustomEventResponse { + if (!('id' in value) || value['id'] === undefined) return false; + if (!('eventTypeId' in value) || value['eventTypeId'] === undefined) + return false; + if (!('projectId' in value) || value['projectId'] === undefined) return false; + if (!('environment' in value) || value['environment'] === undefined) + return false; + if (!('createdAt' in value) || value['createdAt'] === undefined) return false; + if (!('updatedAt' in value) || value['updatedAt'] === undefined) return false; + if (!('properties' in value) || value['properties'] === undefined) + return false; + return true; +} + +export function CustomEventResponseFromJSON(json: any): CustomEventResponse { + return CustomEventResponseFromJSONTyped(json, false); +} + +export function CustomEventResponseFromJSONTyped( + json: any, + ignoreDiscriminator: boolean +): CustomEventResponse { + if (json == null) { + return json; + } + return { + id: json['id'], + eventTypeId: json['eventTypeId'], + projectId: json['projectId'], + environment: json['environment'], + createdAt: json['createdAt'], + updatedAt: json['updatedAt'], + properties: json['properties'], + }; +} + +export function CustomEventResponseToJSON( + value?: CustomEventResponse | null +): any { + if (value == null) { + return value; + } + return { + id: value['id'], + eventTypeId: value['eventTypeId'], + projectId: value['projectId'], + environment: value['environment'], + createdAt: value['createdAt'], + updatedAt: value['updatedAt'], + properties: value['properties'], + }; +} diff --git a/src/internal/models/CustomEventTypeResponse.ts b/src/internal/models/CustomEventTypeResponse.ts new file mode 100644 index 0000000..d7e4c2f --- /dev/null +++ b/src/internal/models/CustomEventTypeResponse.ts @@ -0,0 +1,105 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Juno + * Juno Public API Docs + * + * The version of the OpenAPI document: 1.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'; +/** + * + * @export + * @interface CustomEventTypeResponse + */ +export interface CustomEventTypeResponse { + /** + * Event type ID + * @type {string} + * @memberof CustomEventTypeResponse + */ + id: string; + /** + * Category + * @type {string} + * @memberof CustomEventTypeResponse + */ + category: string; + /** + * Subcategory + * @type {string} + * @memberof CustomEventTypeResponse + */ + subcategory: string; + /** + * Properties + * @type {Array} + * @memberof CustomEventTypeResponse + */ + properties: Array; + /** + * Project ID + * @type {string} + * @memberof CustomEventTypeResponse + */ + projectId: string; +} + +/** + * Check if a given object implements the CustomEventTypeResponse interface. + */ +export function instanceOfCustomEventTypeResponse( + value: object +): value is CustomEventTypeResponse { + if (!('id' in value) || value['id'] === undefined) return false; + if (!('category' in value) || value['category'] === undefined) return false; + if (!('subcategory' in value) || value['subcategory'] === undefined) + return false; + if (!('properties' in value) || value['properties'] === undefined) + return false; + if (!('projectId' in value) || value['projectId'] === undefined) return false; + return true; +} + +export function CustomEventTypeResponseFromJSON( + json: any +): CustomEventTypeResponse { + return CustomEventTypeResponseFromJSONTyped(json, false); +} + +export function CustomEventTypeResponseFromJSONTyped( + json: any, + ignoreDiscriminator: boolean +): CustomEventTypeResponse { + if (json == null) { + return json; + } + return { + id: json['id'], + category: json['category'], + subcategory: json['subcategory'], + properties: json['properties'], + projectId: json['projectId'], + }; +} + +export function CustomEventTypeResponseToJSON( + value?: CustomEventTypeResponse | null +): any { + if (value == null) { + return value; + } + return { + id: value['id'], + category: value['category'], + subcategory: value['subcategory'], + properties: value['properties'], + projectId: value['projectId'], + }; +} diff --git a/src/internal/models/CustomGraphType.ts b/src/internal/models/CustomGraphType.ts new file mode 100644 index 0000000..351a6a3 --- /dev/null +++ b/src/internal/models/CustomGraphType.ts @@ -0,0 +1,128 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Juno + * Juno Public API Docs + * + * The version of the OpenAPI document: 1.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'; +/** + * + * @export + * @interface CustomGraphType + */ +export interface CustomGraphType { + /** + * Graph ID + * @type {string} + * @memberof CustomGraphType + */ + id: string; + /** + * Event type ID + * @type {string} + * @memberof CustomGraphType + */ + eventTypeId: string; + /** + * Project ID + * @type {string} + * @memberof CustomGraphType + */ + projectId: string; + /** + * Graph title + * @type {string} + * @memberof CustomGraphType + */ + graphTitle: string; + /** + * X-axis property + * @type {string} + * @memberof CustomGraphType + */ + xProperty: string; + /** + * Y-axis property + * @type {string} + * @memberof CustomGraphType + */ + yProperty: string; + /** + * Graph type + * @type {string} + * @memberof CustomGraphType + */ + graphType: string; + /** + * Caption + * @type {string} + * @memberof CustomGraphType + */ + caption: string; +} + +/** + * Check if a given object implements the CustomGraphType interface. + */ +export function instanceOfCustomGraphType( + value: object +): value is CustomGraphType { + if (!('id' in value) || value['id'] === undefined) return false; + if (!('eventTypeId' in value) || value['eventTypeId'] === undefined) + return false; + if (!('projectId' in value) || value['projectId'] === undefined) return false; + if (!('graphTitle' in value) || value['graphTitle'] === undefined) + return false; + if (!('xProperty' in value) || value['xProperty'] === undefined) return false; + if (!('yProperty' in value) || value['yProperty'] === undefined) return false; + if (!('graphType' in value) || value['graphType'] === undefined) return false; + if (!('caption' in value) || value['caption'] === undefined) return false; + return true; +} + +export function CustomGraphTypeFromJSON(json: any): CustomGraphType { + return CustomGraphTypeFromJSONTyped(json, false); +} + +export function CustomGraphTypeFromJSONTyped( + json: any, + ignoreDiscriminator: boolean +): CustomGraphType { + if (json == null) { + return json; + } + return { + id: json['id'], + eventTypeId: json['eventTypeId'], + projectId: json['projectId'], + graphTitle: json['graphTitle'], + xProperty: json['xProperty'], + yProperty: json['yProperty'], + graphType: json['graphType'], + caption: json['caption'], + }; +} + +export function CustomGraphTypeToJSON(value?: CustomGraphType | null): any { + if (value == null) { + return value; + } + return { + id: value['id'], + eventTypeId: value['eventTypeId'], + projectId: value['projectId'], + graphTitle: value['graphTitle'], + xProperty: value['xProperty'], + yProperty: value['yProperty'], + graphType: value['graphType'], + caption: value['caption'], + }; +} diff --git a/src/internal/models/CustomGraphTypeResponse.ts b/src/internal/models/CustomGraphTypeResponse.ts new file mode 100644 index 0000000..b0327aa --- /dev/null +++ b/src/internal/models/CustomGraphTypeResponse.ts @@ -0,0 +1,74 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Juno + * Juno Public API Docs + * + * The version of the OpenAPI document: 1.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 { CustomGraphType } from './CustomGraphType'; +import { + CustomGraphTypeFromJSON, + CustomGraphTypeFromJSONTyped, + CustomGraphTypeToJSON, +} from './CustomGraphType'; + +/** + * + * @export + * @interface CustomGraphTypeResponse + */ +export interface CustomGraphTypeResponse { + /** + * Graph types + * @type {Array} + * @memberof CustomGraphTypeResponse + */ + graphs: Array; +} + +/** + * Check if a given object implements the CustomGraphTypeResponse interface. + */ +export function instanceOfCustomGraphTypeResponse( + value: object +): value is CustomGraphTypeResponse { + if (!('graphs' in value) || value['graphs'] === undefined) return false; + return true; +} + +export function CustomGraphTypeResponseFromJSON( + json: any +): CustomGraphTypeResponse { + return CustomGraphTypeResponseFromJSONTyped(json, false); +} + +export function CustomGraphTypeResponseFromJSONTyped( + json: any, + ignoreDiscriminator: boolean +): CustomGraphTypeResponse { + if (json == null) { + return json; + } + return { + graphs: (json['graphs'] as Array).map(CustomGraphTypeFromJSON), + }; +} + +export function CustomGraphTypeResponseToJSON( + value?: CustomGraphTypeResponse | null +): any { + if (value == null) { + return value; + } + return { + graphs: (value['graphs'] as Array).map(CustomGraphTypeToJSON), + }; +} diff --git a/src/internal/models/DeleteFileBucketModel.ts b/src/internal/models/DeleteFileBucketModel.ts new file mode 100644 index 0000000..e435cc5 --- /dev/null +++ b/src/internal/models/DeleteFileBucketModel.ts @@ -0,0 +1,86 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Juno + * Juno Public API Docs + * + * The version of the OpenAPI document: 1.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'; +/** + * + * @export + * @interface DeleteFileBucketModel + */ +export interface DeleteFileBucketModel { + /** + * The unique name of the bucket + * @type {string} + * @memberof DeleteFileBucketModel + */ + name: string; + /** + * Configuration ID for the bucket + * @type {number} + * @memberof DeleteFileBucketModel + */ + configId: number; + /** + * The file provider name associated with the bucket + * @type {string} + * @memberof DeleteFileBucketModel + */ + fileProviderName: string; +} + +/** + * Check if a given object implements the DeleteFileBucketModel interface. + */ +export function instanceOfDeleteFileBucketModel( + value: object +): value is DeleteFileBucketModel { + if (!('name' in value) || value['name'] === undefined) return false; + if (!('configId' in value) || value['configId'] === undefined) return false; + if (!('fileProviderName' in value) || value['fileProviderName'] === undefined) + return false; + return true; +} + +export function DeleteFileBucketModelFromJSON( + json: any +): DeleteFileBucketModel { + return DeleteFileBucketModelFromJSONTyped(json, false); +} + +export function DeleteFileBucketModelFromJSONTyped( + json: any, + ignoreDiscriminator: boolean +): DeleteFileBucketModel { + if (json == null) { + return json; + } + return { + name: json['name'], + configId: json['configId'], + fileProviderName: json['fileProviderName'], + }; +} + +export function DeleteFileBucketModelToJSON( + value?: DeleteFileBucketModel | null +): any { + if (value == null) { + return value; + } + return { + name: value['name'], + configId: value['configId'], + fileProviderName: value['fileProviderName'], + }; +} diff --git a/src/internal/models/DownloadFileModel.ts b/src/internal/models/DownloadFileModel.ts new file mode 100644 index 0000000..3121120 --- /dev/null +++ b/src/internal/models/DownloadFileModel.ts @@ -0,0 +1,100 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Juno + * Juno Public API Docs + * + * The version of the OpenAPI document: 1.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'; +/** + * + * @export + * @interface DownloadFileModel + */ +export interface DownloadFileModel { + /** + * The name of the bucket to use for downloading + * @type {string} + * @memberof DownloadFileModel + */ + bucketName: string; + /** + * The config id of the file to use for downloading + * @type {number} + * @memberof DownloadFileModel + */ + configId: number; + /** + * The name of the file to use for downloading + * @type {string} + * @memberof DownloadFileModel + */ + fileName: string; + /** + * The name of the provider to connect to for downloading + * @type {string} + * @memberof DownloadFileModel + */ + providerName: string; + /** + * The region to use for downloading + * @type {string} + * @memberof DownloadFileModel + */ + region?: string; +} + +/** + * Check if a given object implements the DownloadFileModel interface. + */ +export function instanceOfDownloadFileModel( + value: object +): value is DownloadFileModel { + if (!('bucketName' in value) || value['bucketName'] === undefined) + return false; + if (!('configId' in value) || value['configId'] === undefined) return false; + if (!('fileName' in value) || value['fileName'] === undefined) return false; + if (!('providerName' in value) || value['providerName'] === undefined) + return false; + return true; +} + +export function DownloadFileModelFromJSON(json: any): DownloadFileModel { + return DownloadFileModelFromJSONTyped(json, false); +} + +export function DownloadFileModelFromJSONTyped( + json: any, + ignoreDiscriminator: boolean +): DownloadFileModel { + if (json == null) { + return json; + } + return { + bucketName: json['bucketName'], + configId: json['configId'], + fileName: json['fileName'], + providerName: json['providerName'], + region: json['region'] == null ? undefined : json['region'], + }; +} + +export function DownloadFileModelToJSON(value?: DownloadFileModel | null): any { + if (value == null) { + return value; + } + return { + bucketName: value['bucketName'], + configId: value['configId'], + fileName: value['fileName'], + providerName: value['providerName'], + region: value['region'], + }; +} diff --git a/src/internal/models/DownloadFileResponse.ts b/src/internal/models/DownloadFileResponse.ts new file mode 100644 index 0000000..e86a792 --- /dev/null +++ b/src/internal/models/DownloadFileResponse.ts @@ -0,0 +1,65 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Juno + * Juno Public API Docs + * + * The version of the OpenAPI document: 1.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'; +/** + * + * @export + * @interface DownloadFileResponse + */ +export interface DownloadFileResponse { + /** + * The url for file download + * @type {string} + * @memberof DownloadFileResponse + */ + url: string; +} + +/** + * Check if a given object implements the DownloadFileResponse interface. + */ +export function instanceOfDownloadFileResponse( + value: object +): value is DownloadFileResponse { + if (!('url' in value) || value['url'] === undefined) return false; + return true; +} + +export function DownloadFileResponseFromJSON(json: any): DownloadFileResponse { + return DownloadFileResponseFromJSONTyped(json, false); +} + +export function DownloadFileResponseFromJSONTyped( + json: any, + ignoreDiscriminator: boolean +): DownloadFileResponse { + if (json == null) { + return json; + } + return { + url: json['url'], + }; +} + +export function DownloadFileResponseToJSON( + value?: DownloadFileResponse | null +): any { + if (value == null) { + return value; + } + return { + url: value['url'], + }; +} diff --git a/src/internal/models/EmailConfigResponse.ts b/src/internal/models/EmailConfigResponse.ts new file mode 100644 index 0000000..25ea9c7 --- /dev/null +++ b/src/internal/models/EmailConfigResponse.ts @@ -0,0 +1,116 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Juno + * Juno Public API Docs + * + * The version of the OpenAPI document: 1.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 { EmailSender } from './EmailSender'; +import { + EmailSenderFromJSON, + EmailSenderFromJSONTyped, + EmailSenderToJSON, +} from './EmailSender'; +import type { EmailDomain } from './EmailDomain'; +import { + EmailDomainFromJSON, + EmailDomainFromJSONTyped, + EmailDomainToJSON, +} from './EmailDomain'; + +/** + * + * @export + * @interface EmailConfigResponse + */ +export interface EmailConfigResponse { + /** + * Email Configuration ID + * @type {number} + * @memberof EmailConfigResponse + */ + id: number; + /** + * The configured environment + * @type {string} + * @memberof EmailConfigResponse + */ + environment: string; + /** + * The configured sendGrid key + * @type {string} + * @memberof EmailConfigResponse + */ + sendgridKey: string; + /** + * The list of domains associated with the email config + * @type {Array} + * @memberof EmailConfigResponse + */ + domains: Array; + /** + * The list of senders associated with the email config + * @type {Array} + * @memberof EmailConfigResponse + */ + senders: Array; +} + +/** + * Check if a given object implements the EmailConfigResponse interface. + */ +export function instanceOfEmailConfigResponse( + value: object +): value is EmailConfigResponse { + if (!('id' in value) || value['id'] === undefined) return false; + if (!('environment' in value) || value['environment'] === undefined) + return false; + if (!('sendgridKey' in value) || value['sendgridKey'] === undefined) + return false; + if (!('domains' in value) || value['domains'] === undefined) return false; + if (!('senders' in value) || value['senders'] === undefined) return false; + return true; +} + +export function EmailConfigResponseFromJSON(json: any): EmailConfigResponse { + return EmailConfigResponseFromJSONTyped(json, false); +} + +export function EmailConfigResponseFromJSONTyped( + json: any, + ignoreDiscriminator: boolean +): EmailConfigResponse { + if (json == null) { + return json; + } + return { + id: json['id'], + environment: json['environment'], + sendgridKey: json['sendgridKey'], + domains: (json['domains'] as Array).map(EmailDomainFromJSON), + senders: (json['senders'] as Array).map(EmailSenderFromJSON), + }; +} + +export function EmailConfigResponseToJSON( + value?: EmailConfigResponse | null +): any { + if (value == null) { + return value; + } + return { + id: value['id'], + environment: value['environment'], + sendgridKey: value['sendgridKey'], + domains: (value['domains'] as Array).map(EmailDomainToJSON), + senders: (value['senders'] as Array).map(EmailSenderToJSON), + }; +} diff --git a/src/internal/models/EmailContent.ts b/src/internal/models/EmailContent.ts new file mode 100644 index 0000000..1851e9b --- /dev/null +++ b/src/internal/models/EmailContent.ts @@ -0,0 +1,70 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Juno + * Juno Public API Docs + * + * The version of the OpenAPI document: 1.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'; +/** + * + * @export + * @interface EmailContent + */ +export interface EmailContent { + /** + * MIME type for the content + * @type {string} + * @memberof EmailContent + */ + type: string; + /** + * Content of the email + * @type {string} + * @memberof EmailContent + */ + value: string; +} + +/** + * Check if a given object implements the EmailContent interface. + */ +export function instanceOfEmailContent(value: object): value is EmailContent { + if (!('type' in value) || value['type'] === undefined) return false; + if (!('value' in value) || value['value'] === undefined) return false; + return true; +} + +export function EmailContentFromJSON(json: any): EmailContent { + return EmailContentFromJSONTyped(json, false); +} + +export function EmailContentFromJSONTyped( + json: any, + ignoreDiscriminator: boolean +): EmailContent { + if (json == null) { + return json; + } + return { + type: json['type'], + value: json['value'], + }; +} + +export function EmailContentToJSON(value?: EmailContent | null): any { + if (value == null) { + return value; + } + return { + type: value['type'], + value: value['value'], + }; +} diff --git a/src/internal/models/EmailDomain.ts b/src/internal/models/EmailDomain.ts new file mode 100644 index 0000000..4f46956 --- /dev/null +++ b/src/internal/models/EmailDomain.ts @@ -0,0 +1,88 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Juno + * Juno Public API Docs + * + * The version of the OpenAPI document: 1.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'; +/** + * + * @export + * @interface EmailDomain + */ +export interface EmailDomain { + /** + * + * @type {string} + * @memberof EmailDomain + */ + domain: string; + /** + * + * @type {string} + * @memberof EmailDomain + */ + subdomain?: string; + /** + * + * @type {number} + * @memberof EmailDomain + */ + sendgridId: number; + /** + * + * @type {Array} + * @memberof EmailDomain + */ + projects: Array; +} + +/** + * Check if a given object implements the EmailDomain interface. + */ +export function instanceOfEmailDomain(value: object): value is EmailDomain { + if (!('domain' in value) || value['domain'] === undefined) return false; + if (!('sendgridId' in value) || value['sendgridId'] === undefined) + return false; + if (!('projects' in value) || value['projects'] === undefined) return false; + return true; +} + +export function EmailDomainFromJSON(json: any): EmailDomain { + return EmailDomainFromJSONTyped(json, false); +} + +export function EmailDomainFromJSONTyped( + json: any, + ignoreDiscriminator: boolean +): EmailDomain { + if (json == null) { + return json; + } + return { + domain: json['domain'], + subdomain: json['subdomain'] == null ? undefined : json['subdomain'], + sendgridId: json['sendgridId'], + projects: json['projects'], + }; +} + +export function EmailDomainToJSON(value?: EmailDomain | null): any { + if (value == null) { + return value; + } + return { + domain: value['domain'], + subdomain: value['subdomain'], + sendgridId: value['sendgridId'], + projects: value['projects'], + }; +} diff --git a/src/internal/models/EmailRecipient.ts b/src/internal/models/EmailRecipient.ts new file mode 100644 index 0000000..e23d2bc --- /dev/null +++ b/src/internal/models/EmailRecipient.ts @@ -0,0 +1,71 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Juno + * Juno Public API Docs + * + * The version of the OpenAPI document: 1.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'; +/** + * + * @export + * @interface EmailRecipient + */ +export interface EmailRecipient { + /** + * Recipient email address + * @type {string} + * @memberof EmailRecipient + */ + email: string; + /** + * Recipient name + * @type {string} + * @memberof EmailRecipient + */ + name?: string; +} + +/** + * Check if a given object implements the EmailRecipient interface. + */ +export function instanceOfEmailRecipient( + value: object +): value is EmailRecipient { + if (!('email' in value) || value['email'] === undefined) return false; + return true; +} + +export function EmailRecipientFromJSON(json: any): EmailRecipient { + return EmailRecipientFromJSONTyped(json, false); +} + +export function EmailRecipientFromJSONTyped( + json: any, + ignoreDiscriminator: boolean +): EmailRecipient { + if (json == null) { + return json; + } + return { + email: json['email'], + name: json['name'] == null ? undefined : json['name'], + }; +} + +export function EmailRecipientToJSON(value?: EmailRecipient | null): any { + if (value == null) { + return value; + } + return { + email: value['email'], + name: value['name'], + }; +} diff --git a/src/internal/models/EmailSender.ts b/src/internal/models/EmailSender.ts new file mode 100644 index 0000000..5ad8878 --- /dev/null +++ b/src/internal/models/EmailSender.ts @@ -0,0 +1,87 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Juno + * Juno Public API Docs + * + * The version of the OpenAPI document: 1.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'; +/** + * + * @export + * @interface EmailSender + */ +export interface EmailSender { + /** + * + * @type {string} + * @memberof EmailSender + */ + username: string; + /** + * + * @type {string} + * @memberof EmailSender + */ + description?: string; + /** + * + * @type {string} + * @memberof EmailSender + */ + domain: string; + /** + * + * @type {Array} + * @memberof EmailSender + */ + projects: Array; +} + +/** + * Check if a given object implements the EmailSender interface. + */ +export function instanceOfEmailSender(value: object): value is EmailSender { + if (!('username' in value) || value['username'] === undefined) return false; + if (!('domain' in value) || value['domain'] === undefined) return false; + if (!('projects' in value) || value['projects'] === undefined) return false; + return true; +} + +export function EmailSenderFromJSON(json: any): EmailSender { + return EmailSenderFromJSONTyped(json, false); +} + +export function EmailSenderFromJSONTyped( + json: any, + ignoreDiscriminator: boolean +): EmailSender { + if (json == null) { + return json; + } + return { + username: json['username'], + description: json['description'] == null ? undefined : json['description'], + domain: json['domain'], + projects: json['projects'], + }; +} + +export function EmailSenderToJSON(value?: EmailSender | null): any { + if (value == null) { + return value; + } + return { + username: value['username'], + description: value['description'], + domain: value['domain'], + projects: value['projects'], + }; +} diff --git a/src/internal/models/EmailSenderSendEmailModel.ts b/src/internal/models/EmailSenderSendEmailModel.ts new file mode 100644 index 0000000..a11b4f5 --- /dev/null +++ b/src/internal/models/EmailSenderSendEmailModel.ts @@ -0,0 +1,75 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Juno + * Juno Public API Docs + * + * The version of the OpenAPI document: 1.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'; +/** + * + * @export + * @interface EmailSenderSendEmailModel + */ +export interface EmailSenderSendEmailModel { + /** + * Sender email address + * @type {string} + * @memberof EmailSenderSendEmailModel + */ + email: string; + /** + * Sender name + * @type {string} + * @memberof EmailSenderSendEmailModel + */ + name?: string; +} + +/** + * Check if a given object implements the EmailSenderSendEmailModel interface. + */ +export function instanceOfEmailSenderSendEmailModel( + value: object +): value is EmailSenderSendEmailModel { + if (!('email' in value) || value['email'] === undefined) return false; + return true; +} + +export function EmailSenderSendEmailModelFromJSON( + json: any +): EmailSenderSendEmailModel { + return EmailSenderSendEmailModelFromJSONTyped(json, false); +} + +export function EmailSenderSendEmailModelFromJSONTyped( + json: any, + ignoreDiscriminator: boolean +): EmailSenderSendEmailModel { + if (json == null) { + return json; + } + return { + email: json['email'], + name: json['name'] == null ? undefined : json['name'], + }; +} + +export function EmailSenderSendEmailModelToJSON( + value?: EmailSenderSendEmailModel | null +): any { + if (value == null) { + return value; + } + return { + email: value['email'], + name: value['name'], + }; +} diff --git a/src/internal/models/FileBucket.ts b/src/internal/models/FileBucket.ts new file mode 100644 index 0000000..c5becda --- /dev/null +++ b/src/internal/models/FileBucket.ts @@ -0,0 +1,99 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Juno + * Juno Public API Docs + * + * The version of the OpenAPI document: 1.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'; +/** + * + * @export + * @interface FileBucket + */ +export interface FileBucket { + /** + * The unique name of the registered bucket + * @type {string} + * @memberof FileBucket + */ + name: string; + /** + * Configuration ID associated with the registered bucket + * @type {number} + * @memberof FileBucket + */ + configId: number; + /** + * The config environment associated with the bucket + * @type {string} + * @memberof FileBucket + */ + configEnv: string; + /** + * The name of the file provider associated with the bucket + * @type {string} + * @memberof FileBucket + */ + fileProviderName: string; + /** + * The list of file identifiers associated with the bucket + * @type {Array} + * @memberof FileBucket + */ + fileServiceFile: Array; +} + +/** + * Check if a given object implements the FileBucket interface. + */ +export function instanceOfFileBucket(value: object): value is FileBucket { + if (!('name' in value) || value['name'] === undefined) return false; + if (!('configId' in value) || value['configId'] === undefined) return false; + if (!('configEnv' in value) || value['configEnv'] === undefined) return false; + if (!('fileProviderName' in value) || value['fileProviderName'] === undefined) + return false; + if (!('fileServiceFile' in value) || value['fileServiceFile'] === undefined) + return false; + return true; +} + +export function FileBucketFromJSON(json: any): FileBucket { + return FileBucketFromJSONTyped(json, false); +} + +export function FileBucketFromJSONTyped( + json: any, + ignoreDiscriminator: boolean +): FileBucket { + if (json == null) { + return json; + } + return { + name: json['name'], + configId: json['configId'], + configEnv: json['configEnv'], + fileProviderName: json['fileProviderName'], + fileServiceFile: json['FileServiceFile'], + }; +} + +export function FileBucketToJSON(value?: FileBucket | null): any { + if (value == null) { + return value; + } + return { + name: value['name'], + configId: value['configId'], + configEnv: value['configEnv'], + fileProviderName: value['fileProviderName'], + FileServiceFile: value['fileServiceFile'], + }; +} diff --git a/src/internal/models/FileConfigResponse.ts b/src/internal/models/FileConfigResponse.ts new file mode 100644 index 0000000..ac67b3b --- /dev/null +++ b/src/internal/models/FileConfigResponse.ts @@ -0,0 +1,100 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Juno + * Juno Public API Docs + * + * The version of the OpenAPI document: 1.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 { FileBucket } from './FileBucket'; +import { + FileBucketFromJSON, + FileBucketFromJSONTyped, + FileBucketToJSON, +} from './FileBucket'; + +/** + * + * @export + * @interface FileConfigResponse + */ +export interface FileConfigResponse { + /** + * File Configuration ID + * @type {number} + * @memberof FileConfigResponse + */ + id: number; + /** + * The configured environment + * @type {string} + * @memberof FileConfigResponse + */ + environment: string; + /** + * The list of files associated with the config + * @type {Array} + * @memberof FileConfigResponse + */ + files: Array; + /** + * The list of buckets associated with the config + * @type {Array} + * @memberof FileConfigResponse + */ + buckets: Array; +} + +/** + * Check if a given object implements the FileConfigResponse interface. + */ +export function instanceOfFileConfigResponse( + value: object +): value is FileConfigResponse { + if (!('id' in value) || value['id'] === undefined) return false; + if (!('environment' in value) || value['environment'] === undefined) + return false; + if (!('files' in value) || value['files'] === undefined) return false; + if (!('buckets' in value) || value['buckets'] === undefined) return false; + return true; +} + +export function FileConfigResponseFromJSON(json: any): FileConfigResponse { + return FileConfigResponseFromJSONTyped(json, false); +} + +export function FileConfigResponseFromJSONTyped( + json: any, + ignoreDiscriminator: boolean +): FileConfigResponse { + if (json == null) { + return json; + } + return { + id: json['id'], + environment: json['environment'], + files: json['files'], + buckets: (json['buckets'] as Array).map(FileBucketFromJSON), + }; +} + +export function FileConfigResponseToJSON( + value?: FileConfigResponse | null +): any { + if (value == null) { + return value; + } + return { + id: value['id'], + environment: value['environment'], + files: value['files'], + buckets: (value['buckets'] as Array).map(FileBucketToJSON), + }; +} diff --git a/src/internal/models/FileProvider.ts b/src/internal/models/FileProvider.ts new file mode 100644 index 0000000..292e98b --- /dev/null +++ b/src/internal/models/FileProvider.ts @@ -0,0 +1,96 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Juno + * Juno Public API Docs + * + * The version of the OpenAPI document: 1.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 { AccessKey } from './AccessKey'; +import { + AccessKeyFromJSON, + AccessKeyFromJSONTyped, + AccessKeyToJSON, +} from './AccessKey'; + +/** + * + * @export + * @interface FileProvider + */ +export interface FileProvider { + /** + * The access key to register with + * @type {AccessKey} + * @memberof FileProvider + */ + accessKey: AccessKey; + /** + * The base url associated with file provider. + * @type {string} + * @memberof FileProvider + */ + baseUrl: string; + /** + * The file provider name being registered. + * @type {string} + * @memberof FileProvider + */ + providerName: string; + /** + * File provider type (one of S3 or AZURE) + * @type {string} + * @memberof FileProvider + */ + type: string; +} + +/** + * Check if a given object implements the FileProvider interface. + */ +export function instanceOfFileProvider(value: object): value is FileProvider { + if (!('accessKey' in value) || value['accessKey'] === undefined) return false; + if (!('baseUrl' in value) || value['baseUrl'] === undefined) return false; + if (!('providerName' in value) || value['providerName'] === undefined) + return false; + if (!('type' in value) || value['type'] === undefined) return false; + return true; +} + +export function FileProviderFromJSON(json: any): FileProvider { + return FileProviderFromJSONTyped(json, false); +} + +export function FileProviderFromJSONTyped( + json: any, + ignoreDiscriminator: boolean +): FileProvider { + if (json == null) { + return json; + } + return { + accessKey: AccessKeyFromJSON(json['accessKey']), + baseUrl: json['baseUrl'], + providerName: json['providerName'], + type: json['type'], + }; +} + +export function FileProviderToJSON(value?: FileProvider | null): any { + if (value == null) { + return value; + } + return { + accessKey: AccessKeyToJSON(value['accessKey']), + baseUrl: value['baseUrl'], + providerName: value['providerName'], + type: value['type'], + }; +} diff --git a/src/internal/models/FileProviderPartial.ts b/src/internal/models/FileProviderPartial.ts new file mode 100644 index 0000000..8e64309 --- /dev/null +++ b/src/internal/models/FileProviderPartial.ts @@ -0,0 +1,75 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Juno + * Juno Public API Docs + * + * The version of the OpenAPI document: 1.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'; +/** + * + * @export + * @interface FileProviderPartial + */ +export interface FileProviderPartial { + /** + * The unique provider name of the file provider + * @type {string} + * @memberof FileProviderPartial + */ + providerName: string; + /** + * The metadata of the file provider + * @type {string} + * @memberof FileProviderPartial + */ + metadata: string; +} + +/** + * Check if a given object implements the FileProviderPartial interface. + */ +export function instanceOfFileProviderPartial( + value: object +): value is FileProviderPartial { + if (!('providerName' in value) || value['providerName'] === undefined) + return false; + if (!('metadata' in value) || value['metadata'] === undefined) return false; + return true; +} + +export function FileProviderPartialFromJSON(json: any): FileProviderPartial { + return FileProviderPartialFromJSONTyped(json, false); +} + +export function FileProviderPartialFromJSONTyped( + json: any, + ignoreDiscriminator: boolean +): FileProviderPartial { + if (json == null) { + return json; + } + return { + providerName: json['providerName'], + metadata: json['metadata'], + }; +} + +export function FileProviderPartialToJSON( + value?: FileProviderPartial | null +): any { + if (value == null) { + return value; + } + return { + providerName: value['providerName'], + metadata: value['metadata'], + }; +} diff --git a/src/internal/models/GetAllClickEventsResponse.ts b/src/internal/models/GetAllClickEventsResponse.ts new file mode 100644 index 0000000..6cc3776 --- /dev/null +++ b/src/internal/models/GetAllClickEventsResponse.ts @@ -0,0 +1,74 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Juno + * Juno Public API Docs + * + * The version of the OpenAPI document: 1.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 { ClickEventResponse } from './ClickEventResponse'; +import { + ClickEventResponseFromJSON, + ClickEventResponseFromJSONTyped, + ClickEventResponseToJSON, +} from './ClickEventResponse'; + +/** + * + * @export + * @interface GetAllClickEventsResponse + */ +export interface GetAllClickEventsResponse { + /** + * All click events + * @type {Array} + * @memberof GetAllClickEventsResponse + */ + events: Array; +} + +/** + * Check if a given object implements the GetAllClickEventsResponse interface. + */ +export function instanceOfGetAllClickEventsResponse( + value: object +): value is GetAllClickEventsResponse { + if (!('events' in value) || value['events'] === undefined) return false; + return true; +} + +export function GetAllClickEventsResponseFromJSON( + json: any +): GetAllClickEventsResponse { + return GetAllClickEventsResponseFromJSONTyped(json, false); +} + +export function GetAllClickEventsResponseFromJSONTyped( + json: any, + ignoreDiscriminator: boolean +): GetAllClickEventsResponse { + if (json == null) { + return json; + } + return { + events: (json['events'] as Array).map(ClickEventResponseFromJSON), + }; +} + +export function GetAllClickEventsResponseToJSON( + value?: GetAllClickEventsResponse | null +): any { + if (value == null) { + return value; + } + return { + events: (value['events'] as Array).map(ClickEventResponseToJSON), + }; +} diff --git a/src/internal/models/GetAllCustomEventTypeResponse.ts b/src/internal/models/GetAllCustomEventTypeResponse.ts new file mode 100644 index 0000000..0c9dda7 --- /dev/null +++ b/src/internal/models/GetAllCustomEventTypeResponse.ts @@ -0,0 +1,79 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Juno + * Juno Public API Docs + * + * The version of the OpenAPI document: 1.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 { CustomEventTypeResponse } from './CustomEventTypeResponse'; +import { + CustomEventTypeResponseFromJSON, + CustomEventTypeResponseFromJSONTyped, + CustomEventTypeResponseToJSON, +} from './CustomEventTypeResponse'; + +/** + * + * @export + * @interface GetAllCustomEventTypeResponse + */ +export interface GetAllCustomEventTypeResponse { + /** + * All custom event types + * @type {Array} + * @memberof GetAllCustomEventTypeResponse + */ + eventTypes: Array; +} + +/** + * Check if a given object implements the GetAllCustomEventTypeResponse interface. + */ +export function instanceOfGetAllCustomEventTypeResponse( + value: object +): value is GetAllCustomEventTypeResponse { + if (!('eventTypes' in value) || value['eventTypes'] === undefined) + return false; + return true; +} + +export function GetAllCustomEventTypeResponseFromJSON( + json: any +): GetAllCustomEventTypeResponse { + return GetAllCustomEventTypeResponseFromJSONTyped(json, false); +} + +export function GetAllCustomEventTypeResponseFromJSONTyped( + json: any, + ignoreDiscriminator: boolean +): GetAllCustomEventTypeResponse { + if (json == null) { + return json; + } + return { + eventTypes: (json['eventTypes'] as Array).map( + CustomEventTypeResponseFromJSON + ), + }; +} + +export function GetAllCustomEventTypeResponseToJSON( + value?: GetAllCustomEventTypeResponse | null +): any { + if (value == null) { + return value; + } + return { + eventTypes: (value['eventTypes'] as Array).map( + CustomEventTypeResponseToJSON + ), + }; +} diff --git a/src/internal/models/GetAllCustomEventsResponse.ts b/src/internal/models/GetAllCustomEventsResponse.ts new file mode 100644 index 0000000..105e6a9 --- /dev/null +++ b/src/internal/models/GetAllCustomEventsResponse.ts @@ -0,0 +1,74 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Juno + * Juno Public API Docs + * + * The version of the OpenAPI document: 1.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 { CustomEventResponse } from './CustomEventResponse'; +import { + CustomEventResponseFromJSON, + CustomEventResponseFromJSONTyped, + CustomEventResponseToJSON, +} from './CustomEventResponse'; + +/** + * + * @export + * @interface GetAllCustomEventsResponse + */ +export interface GetAllCustomEventsResponse { + /** + * All custom events + * @type {Array} + * @memberof GetAllCustomEventsResponse + */ + events: Array; +} + +/** + * Check if a given object implements the GetAllCustomEventsResponse interface. + */ +export function instanceOfGetAllCustomEventsResponse( + value: object +): value is GetAllCustomEventsResponse { + if (!('events' in value) || value['events'] === undefined) return false; + return true; +} + +export function GetAllCustomEventsResponseFromJSON( + json: any +): GetAllCustomEventsResponse { + return GetAllCustomEventsResponseFromJSONTyped(json, false); +} + +export function GetAllCustomEventsResponseFromJSONTyped( + json: any, + ignoreDiscriminator: boolean +): GetAllCustomEventsResponse { + if (json == null) { + return json; + } + return { + events: (json['events'] as Array).map(CustomEventResponseFromJSON), + }; +} + +export function GetAllCustomEventsResponseToJSON( + value?: GetAllCustomEventsResponse | null +): any { + if (value == null) { + return value; + } + return { + events: (value['events'] as Array).map(CustomEventResponseToJSON), + }; +} diff --git a/src/internal/models/GetAllInputEventsResponse.ts b/src/internal/models/GetAllInputEventsResponse.ts new file mode 100644 index 0000000..cb35a4f --- /dev/null +++ b/src/internal/models/GetAllInputEventsResponse.ts @@ -0,0 +1,74 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Juno + * Juno Public API Docs + * + * The version of the OpenAPI document: 1.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 { InputEventResponse } from './InputEventResponse'; +import { + InputEventResponseFromJSON, + InputEventResponseFromJSONTyped, + InputEventResponseToJSON, +} from './InputEventResponse'; + +/** + * + * @export + * @interface GetAllInputEventsResponse + */ +export interface GetAllInputEventsResponse { + /** + * All input events + * @type {Array} + * @memberof GetAllInputEventsResponse + */ + events: Array; +} + +/** + * Check if a given object implements the GetAllInputEventsResponse interface. + */ +export function instanceOfGetAllInputEventsResponse( + value: object +): value is GetAllInputEventsResponse { + if (!('events' in value) || value['events'] === undefined) return false; + return true; +} + +export function GetAllInputEventsResponseFromJSON( + json: any +): GetAllInputEventsResponse { + return GetAllInputEventsResponseFromJSONTyped(json, false); +} + +export function GetAllInputEventsResponseFromJSONTyped( + json: any, + ignoreDiscriminator: boolean +): GetAllInputEventsResponse { + if (json == null) { + return json; + } + return { + events: (json['events'] as Array).map(InputEventResponseFromJSON), + }; +} + +export function GetAllInputEventsResponseToJSON( + value?: GetAllInputEventsResponse | null +): any { + if (value == null) { + return value; + } + return { + events: (value['events'] as Array).map(InputEventResponseToJSON), + }; +} diff --git a/src/internal/models/GetAllVisitEventsResponse.ts b/src/internal/models/GetAllVisitEventsResponse.ts new file mode 100644 index 0000000..d4d4867 --- /dev/null +++ b/src/internal/models/GetAllVisitEventsResponse.ts @@ -0,0 +1,74 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Juno + * Juno Public API Docs + * + * The version of the OpenAPI document: 1.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 { VisitEventResponse } from './VisitEventResponse'; +import { + VisitEventResponseFromJSON, + VisitEventResponseFromJSONTyped, + VisitEventResponseToJSON, +} from './VisitEventResponse'; + +/** + * + * @export + * @interface GetAllVisitEventsResponse + */ +export interface GetAllVisitEventsResponse { + /** + * All visit events + * @type {Array} + * @memberof GetAllVisitEventsResponse + */ + events: Array; +} + +/** + * Check if a given object implements the GetAllVisitEventsResponse interface. + */ +export function instanceOfGetAllVisitEventsResponse( + value: object +): value is GetAllVisitEventsResponse { + if (!('events' in value) || value['events'] === undefined) return false; + return true; +} + +export function GetAllVisitEventsResponseFromJSON( + json: any +): GetAllVisitEventsResponse { + return GetAllVisitEventsResponseFromJSONTyped(json, false); +} + +export function GetAllVisitEventsResponseFromJSONTyped( + json: any, + ignoreDiscriminator: boolean +): GetAllVisitEventsResponse { + if (json == null) { + return json; + } + return { + events: (json['events'] as Array).map(VisitEventResponseFromJSON), + }; +} + +export function GetAllVisitEventsResponseToJSON( + value?: GetAllVisitEventsResponse | null +): any { + if (value == null) { + return value; + } + return { + events: (value['events'] as Array).map(VisitEventResponseToJSON), + }; +} diff --git a/src/internal/models/GetClickEventsResponse.ts b/src/internal/models/GetClickEventsResponse.ts new file mode 100644 index 0000000..5182f34 --- /dev/null +++ b/src/internal/models/GetClickEventsResponse.ts @@ -0,0 +1,83 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Juno + * Juno Public API Docs + * + * The version of the OpenAPI document: 1.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 { ClickEventResponse } from './ClickEventResponse'; +import { + ClickEventResponseFromJSON, + ClickEventResponseFromJSONTyped, + ClickEventResponseToJSON, +} from './ClickEventResponse'; + +/** + * + * @export + * @interface GetClickEventsResponse + */ +export interface GetClickEventsResponse { + /** + * Click events + * @type {Array} + * @memberof GetClickEventsResponse + */ + events: Array; + /** + * Pagination cursor + * @type {string} + * @memberof GetClickEventsResponse + */ + afterId: string; +} + +/** + * Check if a given object implements the GetClickEventsResponse interface. + */ +export function instanceOfGetClickEventsResponse( + value: object +): value is GetClickEventsResponse { + if (!('events' in value) || value['events'] === undefined) return false; + if (!('afterId' in value) || value['afterId'] === undefined) return false; + return true; +} + +export function GetClickEventsResponseFromJSON( + json: any +): GetClickEventsResponse { + return GetClickEventsResponseFromJSONTyped(json, false); +} + +export function GetClickEventsResponseFromJSONTyped( + json: any, + ignoreDiscriminator: boolean +): GetClickEventsResponse { + if (json == null) { + return json; + } + return { + events: (json['events'] as Array).map(ClickEventResponseFromJSON), + afterId: json['afterId'], + }; +} + +export function GetClickEventsResponseToJSON( + value?: GetClickEventsResponse | null +): any { + if (value == null) { + return value; + } + return { + events: (value['events'] as Array).map(ClickEventResponseToJSON), + afterId: value['afterId'], + }; +} diff --git a/src/internal/models/GetCustomEventsResponse.ts b/src/internal/models/GetCustomEventsResponse.ts new file mode 100644 index 0000000..e726b28 --- /dev/null +++ b/src/internal/models/GetCustomEventsResponse.ts @@ -0,0 +1,83 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Juno + * Juno Public API Docs + * + * The version of the OpenAPI document: 1.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 { CustomEventResponse } from './CustomEventResponse'; +import { + CustomEventResponseFromJSON, + CustomEventResponseFromJSONTyped, + CustomEventResponseToJSON, +} from './CustomEventResponse'; + +/** + * + * @export + * @interface GetCustomEventsResponse + */ +export interface GetCustomEventsResponse { + /** + * Custom events + * @type {Array} + * @memberof GetCustomEventsResponse + */ + events: Array; + /** + * Pagination cursor + * @type {string} + * @memberof GetCustomEventsResponse + */ + afterId: string; +} + +/** + * Check if a given object implements the GetCustomEventsResponse interface. + */ +export function instanceOfGetCustomEventsResponse( + value: object +): value is GetCustomEventsResponse { + if (!('events' in value) || value['events'] === undefined) return false; + if (!('afterId' in value) || value['afterId'] === undefined) return false; + return true; +} + +export function GetCustomEventsResponseFromJSON( + json: any +): GetCustomEventsResponse { + return GetCustomEventsResponseFromJSONTyped(json, false); +} + +export function GetCustomEventsResponseFromJSONTyped( + json: any, + ignoreDiscriminator: boolean +): GetCustomEventsResponse { + if (json == null) { + return json; + } + return { + events: (json['events'] as Array).map(CustomEventResponseFromJSON), + afterId: json['afterId'], + }; +} + +export function GetCustomEventsResponseToJSON( + value?: GetCustomEventsResponse | null +): any { + if (value == null) { + return value; + } + return { + events: (value['events'] as Array).map(CustomEventResponseToJSON), + afterId: value['afterId'], + }; +} diff --git a/src/internal/models/GetInputEventsResponse.ts b/src/internal/models/GetInputEventsResponse.ts new file mode 100644 index 0000000..3f8f946 --- /dev/null +++ b/src/internal/models/GetInputEventsResponse.ts @@ -0,0 +1,83 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Juno + * Juno Public API Docs + * + * The version of the OpenAPI document: 1.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 { InputEventResponse } from './InputEventResponse'; +import { + InputEventResponseFromJSON, + InputEventResponseFromJSONTyped, + InputEventResponseToJSON, +} from './InputEventResponse'; + +/** + * + * @export + * @interface GetInputEventsResponse + */ +export interface GetInputEventsResponse { + /** + * Input events + * @type {Array} + * @memberof GetInputEventsResponse + */ + events: Array; + /** + * Pagination cursor + * @type {string} + * @memberof GetInputEventsResponse + */ + afterId: string; +} + +/** + * Check if a given object implements the GetInputEventsResponse interface. + */ +export function instanceOfGetInputEventsResponse( + value: object +): value is GetInputEventsResponse { + if (!('events' in value) || value['events'] === undefined) return false; + if (!('afterId' in value) || value['afterId'] === undefined) return false; + return true; +} + +export function GetInputEventsResponseFromJSON( + json: any +): GetInputEventsResponse { + return GetInputEventsResponseFromJSONTyped(json, false); +} + +export function GetInputEventsResponseFromJSONTyped( + json: any, + ignoreDiscriminator: boolean +): GetInputEventsResponse { + if (json == null) { + return json; + } + return { + events: (json['events'] as Array).map(InputEventResponseFromJSON), + afterId: json['afterId'], + }; +} + +export function GetInputEventsResponseToJSON( + value?: GetInputEventsResponse | null +): any { + if (value == null) { + return value; + } + return { + events: (value['events'] as Array).map(InputEventResponseToJSON), + afterId: value['afterId'], + }; +} diff --git a/src/internal/models/GetVisitEventsResponse.ts b/src/internal/models/GetVisitEventsResponse.ts new file mode 100644 index 0000000..e77e2d1 --- /dev/null +++ b/src/internal/models/GetVisitEventsResponse.ts @@ -0,0 +1,83 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Juno + * Juno Public API Docs + * + * The version of the OpenAPI document: 1.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 { VisitEventResponse } from './VisitEventResponse'; +import { + VisitEventResponseFromJSON, + VisitEventResponseFromJSONTyped, + VisitEventResponseToJSON, +} from './VisitEventResponse'; + +/** + * + * @export + * @interface GetVisitEventsResponse + */ +export interface GetVisitEventsResponse { + /** + * Visit events + * @type {Array} + * @memberof GetVisitEventsResponse + */ + events: Array; + /** + * Pagination cursor + * @type {string} + * @memberof GetVisitEventsResponse + */ + afterId: string; +} + +/** + * Check if a given object implements the GetVisitEventsResponse interface. + */ +export function instanceOfGetVisitEventsResponse( + value: object +): value is GetVisitEventsResponse { + if (!('events' in value) || value['events'] === undefined) return false; + if (!('afterId' in value) || value['afterId'] === undefined) return false; + return true; +} + +export function GetVisitEventsResponseFromJSON( + json: any +): GetVisitEventsResponse { + return GetVisitEventsResponseFromJSONTyped(json, false); +} + +export function GetVisitEventsResponseFromJSONTyped( + json: any, + ignoreDiscriminator: boolean +): GetVisitEventsResponse { + if (json == null) { + return json; + } + return { + events: (json['events'] as Array).map(VisitEventResponseFromJSON), + afterId: json['afterId'], + }; +} + +export function GetVisitEventsResponseToJSON( + value?: GetVisitEventsResponse | null +): any { + if (value == null) { + return value; + } + return { + events: (value['events'] as Array).map(VisitEventResponseToJSON), + afterId: value['afterId'], + }; +} diff --git a/src/internal/models/InputEventProperties.ts b/src/internal/models/InputEventProperties.ts new file mode 100644 index 0000000..b0ff2a2 --- /dev/null +++ b/src/internal/models/InputEventProperties.ts @@ -0,0 +1,83 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Juno + * Juno Public API Docs + * + * The version of the OpenAPI document: 1.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'; +/** + * + * @export + * @interface InputEventProperties + */ +export interface InputEventProperties { + /** + * Object ID + * @type {string} + * @memberof InputEventProperties + */ + objectId: string; + /** + * User ID + * @type {string} + * @memberof InputEventProperties + */ + userId: string; + /** + * Text value + * @type {string} + * @memberof InputEventProperties + */ + textValue: string; +} + +/** + * Check if a given object implements the InputEventProperties interface. + */ +export function instanceOfInputEventProperties( + value: object +): value is InputEventProperties { + if (!('objectId' in value) || value['objectId'] === undefined) return false; + if (!('userId' in value) || value['userId'] === undefined) return false; + if (!('textValue' in value) || value['textValue'] === undefined) return false; + return true; +} + +export function InputEventPropertiesFromJSON(json: any): InputEventProperties { + return InputEventPropertiesFromJSONTyped(json, false); +} + +export function InputEventPropertiesFromJSONTyped( + json: any, + ignoreDiscriminator: boolean +): InputEventProperties { + if (json == null) { + return json; + } + return { + objectId: json['objectId'], + userId: json['userId'], + textValue: json['textValue'], + }; +} + +export function InputEventPropertiesToJSON( + value?: InputEventProperties | null +): any { + if (value == null) { + return value; + } + return { + objectId: value['objectId'], + userId: value['userId'], + textValue: value['textValue'], + }; +} diff --git a/src/internal/models/InputEventResponse.ts b/src/internal/models/InputEventResponse.ts new file mode 100644 index 0000000..abd2935 --- /dev/null +++ b/src/internal/models/InputEventResponse.ts @@ -0,0 +1,138 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Juno + * Juno Public API Docs + * + * The version of the OpenAPI document: 1.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 { InputEventProperties } from './InputEventProperties'; +import { + InputEventPropertiesFromJSON, + InputEventPropertiesFromJSONTyped, + InputEventPropertiesToJSON, +} from './InputEventProperties'; + +/** + * + * @export + * @interface InputEventResponse + */ +export interface InputEventResponse { + /** + * Event ID + * @type {string} + * @memberof InputEventResponse + */ + id: string; + /** + * Event category + * @type {string} + * @memberof InputEventResponse + */ + category: string; + /** + * Event subcategory + * @type {string} + * @memberof InputEventResponse + */ + subcategory: string; + /** + * Project ID + * @type {string} + * @memberof InputEventResponse + */ + projectId: string; + /** + * Environment + * @type {string} + * @memberof InputEventResponse + */ + environment: string; + /** + * Created timestamp + * @type {string} + * @memberof InputEventResponse + */ + createdAt: string; + /** + * Updated timestamp + * @type {string} + * @memberof InputEventResponse + */ + updatedAt: string; + /** + * Event properties + * @type {InputEventProperties} + * @memberof InputEventResponse + */ + eventProperties: InputEventProperties; +} + +/** + * Check if a given object implements the InputEventResponse interface. + */ +export function instanceOfInputEventResponse( + value: object +): value is InputEventResponse { + if (!('id' in value) || value['id'] === undefined) return false; + if (!('category' in value) || value['category'] === undefined) return false; + if (!('subcategory' in value) || value['subcategory'] === undefined) + return false; + if (!('projectId' in value) || value['projectId'] === undefined) return false; + if (!('environment' in value) || value['environment'] === undefined) + return false; + if (!('createdAt' in value) || value['createdAt'] === undefined) return false; + if (!('updatedAt' in value) || value['updatedAt'] === undefined) return false; + if (!('eventProperties' in value) || value['eventProperties'] === undefined) + return false; + return true; +} + +export function InputEventResponseFromJSON(json: any): InputEventResponse { + return InputEventResponseFromJSONTyped(json, false); +} + +export function InputEventResponseFromJSONTyped( + json: any, + ignoreDiscriminator: boolean +): InputEventResponse { + if (json == null) { + return json; + } + return { + id: json['id'], + category: json['category'], + subcategory: json['subcategory'], + projectId: json['projectId'], + environment: json['environment'], + createdAt: json['createdAt'], + updatedAt: json['updatedAt'], + eventProperties: InputEventPropertiesFromJSON(json['eventProperties']), + }; +} + +export function InputEventResponseToJSON( + value?: InputEventResponse | null +): any { + if (value == null) { + return value; + } + return { + id: value['id'], + category: value['category'], + subcategory: value['subcategory'], + projectId: value['projectId'], + environment: value['environment'], + createdAt: value['createdAt'], + updatedAt: value['updatedAt'], + eventProperties: InputEventPropertiesToJSON(value['eventProperties']), + }; +} diff --git a/src/internal/models/IssueApiKeyRequest.ts b/src/internal/models/IssueApiKeyRequest.ts new file mode 100644 index 0000000..543d1b4 --- /dev/null +++ b/src/internal/models/IssueApiKeyRequest.ts @@ -0,0 +1,83 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Juno + * Juno Public API Docs + * + * The version of the OpenAPI document: 1.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'; +/** + * + * @export + * @interface IssueApiKeyRequest + */ +export interface IssueApiKeyRequest { + /** + * Optional description for key + * @type {string} + * @memberof IssueApiKeyRequest + */ + description?: string; + /** + * Environment the key will be tied to + * @type {string} + * @memberof IssueApiKeyRequest + */ + environment: string; + /** + * Project identifier + * @type {object} + * @memberof IssueApiKeyRequest + */ + project: object; +} + +/** + * Check if a given object implements the IssueApiKeyRequest interface. + */ +export function instanceOfIssueApiKeyRequest( + value: object +): value is IssueApiKeyRequest { + if (!('environment' in value) || value['environment'] === undefined) + return false; + if (!('project' in value) || value['project'] === undefined) return false; + return true; +} + +export function IssueApiKeyRequestFromJSON(json: any): IssueApiKeyRequest { + return IssueApiKeyRequestFromJSONTyped(json, false); +} + +export function IssueApiKeyRequestFromJSONTyped( + json: any, + ignoreDiscriminator: boolean +): IssueApiKeyRequest { + if (json == null) { + return json; + } + return { + description: json['description'] == null ? undefined : json['description'], + environment: json['environment'], + project: json['project'], + }; +} + +export function IssueApiKeyRequestToJSON( + value?: IssueApiKeyRequest | null +): any { + if (value == null) { + return value; + } + return { + description: value['description'], + environment: value['environment'], + project: value['project'], + }; +} diff --git a/src/internal/models/IssueApiKeyResponse.ts b/src/internal/models/IssueApiKeyResponse.ts new file mode 100644 index 0000000..6607916 --- /dev/null +++ b/src/internal/models/IssueApiKeyResponse.ts @@ -0,0 +1,65 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Juno + * Juno Public API Docs + * + * The version of the OpenAPI document: 1.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'; +/** + * + * @export + * @interface IssueApiKeyResponse + */ +export interface IssueApiKeyResponse { + /** + * The generated API key + * @type {string} + * @memberof IssueApiKeyResponse + */ + apiKey: string; +} + +/** + * Check if a given object implements the IssueApiKeyResponse interface. + */ +export function instanceOfIssueApiKeyResponse( + value: object +): value is IssueApiKeyResponse { + if (!('apiKey' in value) || value['apiKey'] === undefined) return false; + return true; +} + +export function IssueApiKeyResponseFromJSON(json: any): IssueApiKeyResponse { + return IssueApiKeyResponseFromJSONTyped(json, false); +} + +export function IssueApiKeyResponseFromJSONTyped( + json: any, + ignoreDiscriminator: boolean +): IssueApiKeyResponse { + if (json == null) { + return json; + } + return { + apiKey: json['apiKey'], + }; +} + +export function IssueApiKeyResponseToJSON( + value?: IssueApiKeyResponse | null +): any { + if (value == null) { + return value; + } + return { + apiKey: value['apiKey'], + }; +} diff --git a/src/internal/models/IssueJWTResponse.ts b/src/internal/models/IssueJWTResponse.ts new file mode 100644 index 0000000..4664f24 --- /dev/null +++ b/src/internal/models/IssueJWTResponse.ts @@ -0,0 +1,63 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Juno + * Juno Public API Docs + * + * The version of the OpenAPI document: 1.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'; +/** + * + * @export + * @interface IssueJWTResponse + */ +export interface IssueJWTResponse { + /** + * Created JWT token + * @type {string} + * @memberof IssueJWTResponse + */ + token: string; +} + +/** + * Check if a given object implements the IssueJWTResponse interface. + */ +export function instanceOfIssueJWTResponse( + value: object +): value is IssueJWTResponse { + if (!('token' in value) || value['token'] === undefined) return false; + return true; +} + +export function IssueJWTResponseFromJSON(json: any): IssueJWTResponse { + return IssueJWTResponseFromJSONTyped(json, false); +} + +export function IssueJWTResponseFromJSONTyped( + json: any, + ignoreDiscriminator: boolean +): IssueJWTResponse { + if (json == null) { + return json; + } + return { + token: json['token'], + }; +} + +export function IssueJWTResponseToJSON(value?: IssueJWTResponse | null): any { + if (value == null) { + return value; + } + return { + token: value['token'], + }; +} diff --git a/src/internal/models/LinkProjectModel.ts b/src/internal/models/LinkProjectModel.ts new file mode 100644 index 0000000..9f180cd --- /dev/null +++ b/src/internal/models/LinkProjectModel.ts @@ -0,0 +1,70 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Juno + * Juno Public API Docs + * + * The version of the OpenAPI document: 1.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'; +/** + * + * @export + * @interface LinkProjectModel + */ +export interface LinkProjectModel { + /** + * ID of project to be linked + * @type {number} + * @memberof LinkProjectModel + */ + id?: number; + /** + * Name of project to be linked + * @type {string} + * @memberof LinkProjectModel + */ + name?: string; +} + +/** + * Check if a given object implements the LinkProjectModel interface. + */ +export function instanceOfLinkProjectModel( + value: object +): value is LinkProjectModel { + return true; +} + +export function LinkProjectModelFromJSON(json: any): LinkProjectModel { + return LinkProjectModelFromJSONTyped(json, false); +} + +export function LinkProjectModelFromJSONTyped( + json: any, + ignoreDiscriminator: boolean +): LinkProjectModel { + if (json == null) { + return json; + } + return { + id: json['id'] == null ? undefined : json['id'], + name: json['name'] == null ? undefined : json['name'], + }; +} + +export function LinkProjectModelToJSON(value?: LinkProjectModel | null): any { + if (value == null) { + return value; + } + return { + id: value['id'], + name: value['name'], + }; +} diff --git a/src/internal/models/LinkUserModel.ts b/src/internal/models/LinkUserModel.ts new file mode 100644 index 0000000..7c7f34a --- /dev/null +++ b/src/internal/models/LinkUserModel.ts @@ -0,0 +1,68 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Juno + * Juno Public API Docs + * + * The version of the OpenAPI document: 1.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'; +/** + * + * @export + * @interface LinkUserModel + */ +export interface LinkUserModel { + /** + * The ID of the user + * @type {number} + * @memberof LinkUserModel + */ + id?: number; + /** + * The email of the user + * @type {string} + * @memberof LinkUserModel + */ + email?: string; +} + +/** + * Check if a given object implements the LinkUserModel interface. + */ +export function instanceOfLinkUserModel(value: object): value is LinkUserModel { + return true; +} + +export function LinkUserModelFromJSON(json: any): LinkUserModel { + return LinkUserModelFromJSONTyped(json, false); +} + +export function LinkUserModelFromJSONTyped( + json: any, + ignoreDiscriminator: boolean +): LinkUserModel { + if (json == null) { + return json; + } + return { + id: json['id'] == null ? undefined : json['id'], + email: json['email'] == null ? undefined : json['email'], + }; +} + +export function LinkUserModelToJSON(value?: LinkUserModel | null): any { + if (value == null) { + return value; + } + return { + id: value['id'], + email: value['email'], + }; +} diff --git a/src/internal/models/LogClickEventRequest.ts b/src/internal/models/LogClickEventRequest.ts new file mode 100644 index 0000000..830da85 --- /dev/null +++ b/src/internal/models/LogClickEventRequest.ts @@ -0,0 +1,74 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Juno + * Juno Public API Docs + * + * The version of the OpenAPI document: 1.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'; +/** + * + * @export + * @interface LogClickEventRequest + */ +export interface LogClickEventRequest { + /** + * The ID of the object that was clicked + * @type {string} + * @memberof LogClickEventRequest + */ + objectId: string; + /** + * The ID of the user who performed the click + * @type {string} + * @memberof LogClickEventRequest + */ + userId: string; +} + +/** + * Check if a given object implements the LogClickEventRequest interface. + */ +export function instanceOfLogClickEventRequest( + value: object +): value is LogClickEventRequest { + if (!('objectId' in value) || value['objectId'] === undefined) return false; + if (!('userId' in value) || value['userId'] === undefined) return false; + return true; +} + +export function LogClickEventRequestFromJSON(json: any): LogClickEventRequest { + return LogClickEventRequestFromJSONTyped(json, false); +} + +export function LogClickEventRequestFromJSONTyped( + json: any, + ignoreDiscriminator: boolean +): LogClickEventRequest { + if (json == null) { + return json; + } + return { + objectId: json['objectId'], + userId: json['userId'], + }; +} + +export function LogClickEventRequestToJSON( + value?: LogClickEventRequest | null +): any { + if (value == null) { + return value; + } + return { + objectId: value['objectId'], + userId: value['userId'], + }; +} diff --git a/src/internal/models/LogCustomEventRequest.ts b/src/internal/models/LogCustomEventRequest.ts new file mode 100644 index 0000000..fd222ea --- /dev/null +++ b/src/internal/models/LogCustomEventRequest.ts @@ -0,0 +1,87 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Juno + * Juno Public API Docs + * + * The version of the OpenAPI document: 1.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'; +/** + * + * @export + * @interface LogCustomEventRequest + */ +export interface LogCustomEventRequest { + /** + * The category of the custom event + * @type {string} + * @memberof LogCustomEventRequest + */ + category: string; + /** + * The subcategory of the custom event + * @type {string} + * @memberof LogCustomEventRequest + */ + subcategory: string; + /** + * Custom properties for the event + * @type {object} + * @memberof LogCustomEventRequest + */ + properties: object; +} + +/** + * Check if a given object implements the LogCustomEventRequest interface. + */ +export function instanceOfLogCustomEventRequest( + value: object +): value is LogCustomEventRequest { + if (!('category' in value) || value['category'] === undefined) return false; + if (!('subcategory' in value) || value['subcategory'] === undefined) + return false; + if (!('properties' in value) || value['properties'] === undefined) + return false; + return true; +} + +export function LogCustomEventRequestFromJSON( + json: any +): LogCustomEventRequest { + return LogCustomEventRequestFromJSONTyped(json, false); +} + +export function LogCustomEventRequestFromJSONTyped( + json: any, + ignoreDiscriminator: boolean +): LogCustomEventRequest { + if (json == null) { + return json; + } + return { + category: json['category'], + subcategory: json['subcategory'], + properties: json['properties'], + }; +} + +export function LogCustomEventRequestToJSON( + value?: LogCustomEventRequest | null +): any { + if (value == null) { + return value; + } + return { + category: value['category'], + subcategory: value['subcategory'], + properties: value['properties'], + }; +} diff --git a/src/internal/models/LogInputEventRequest.ts b/src/internal/models/LogInputEventRequest.ts new file mode 100644 index 0000000..b07fe6d --- /dev/null +++ b/src/internal/models/LogInputEventRequest.ts @@ -0,0 +1,83 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Juno + * Juno Public API Docs + * + * The version of the OpenAPI document: 1.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'; +/** + * + * @export + * @interface LogInputEventRequest + */ +export interface LogInputEventRequest { + /** + * The ID of the input object + * @type {string} + * @memberof LogInputEventRequest + */ + objectId: string; + /** + * The ID of the user who interacted with the input + * @type {string} + * @memberof LogInputEventRequest + */ + userId: string; + /** + * The text value entered in the input + * @type {string} + * @memberof LogInputEventRequest + */ + textValue: string; +} + +/** + * Check if a given object implements the LogInputEventRequest interface. + */ +export function instanceOfLogInputEventRequest( + value: object +): value is LogInputEventRequest { + if (!('objectId' in value) || value['objectId'] === undefined) return false; + if (!('userId' in value) || value['userId'] === undefined) return false; + if (!('textValue' in value) || value['textValue'] === undefined) return false; + return true; +} + +export function LogInputEventRequestFromJSON(json: any): LogInputEventRequest { + return LogInputEventRequestFromJSONTyped(json, false); +} + +export function LogInputEventRequestFromJSONTyped( + json: any, + ignoreDiscriminator: boolean +): LogInputEventRequest { + if (json == null) { + return json; + } + return { + objectId: json['objectId'], + userId: json['userId'], + textValue: json['textValue'], + }; +} + +export function LogInputEventRequestToJSON( + value?: LogInputEventRequest | null +): any { + if (value == null) { + return value; + } + return { + objectId: value['objectId'], + userId: value['userId'], + textValue: value['textValue'], + }; +} diff --git a/src/internal/models/LogVisitEventRequest.ts b/src/internal/models/LogVisitEventRequest.ts new file mode 100644 index 0000000..42bf83b --- /dev/null +++ b/src/internal/models/LogVisitEventRequest.ts @@ -0,0 +1,74 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Juno + * Juno Public API Docs + * + * The version of the OpenAPI document: 1.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'; +/** + * + * @export + * @interface LogVisitEventRequest + */ +export interface LogVisitEventRequest { + /** + * The URL of the page that was visited + * @type {string} + * @memberof LogVisitEventRequest + */ + pageUrl: string; + /** + * The ID of the user who visited the page + * @type {string} + * @memberof LogVisitEventRequest + */ + userId: string; +} + +/** + * Check if a given object implements the LogVisitEventRequest interface. + */ +export function instanceOfLogVisitEventRequest( + value: object +): value is LogVisitEventRequest { + if (!('pageUrl' in value) || value['pageUrl'] === undefined) return false; + if (!('userId' in value) || value['userId'] === undefined) return false; + return true; +} + +export function LogVisitEventRequestFromJSON(json: any): LogVisitEventRequest { + return LogVisitEventRequestFromJSONTyped(json, false); +} + +export function LogVisitEventRequestFromJSONTyped( + json: any, + ignoreDiscriminator: boolean +): LogVisitEventRequest { + if (json == null) { + return json; + } + return { + pageUrl: json['pageUrl'], + userId: json['userId'], + }; +} + +export function LogVisitEventRequestToJSON( + value?: LogVisitEventRequest | null +): any { + if (value == null) { + return value; + } + return { + pageUrl: value['pageUrl'], + userId: value['userId'], + }; +} diff --git a/src/internal/models/ModelFile.ts b/src/internal/models/ModelFile.ts new file mode 100644 index 0000000..b1c269a --- /dev/null +++ b/src/internal/models/ModelFile.ts @@ -0,0 +1,70 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Juno + * Juno Public API Docs + * + * The version of the OpenAPI document: 1.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'; +/** + * + * @export + * @interface ModelFile + */ +export interface ModelFile { + /** + * + * @type {object} + * @memberof ModelFile + */ + fileId: object; + /** + * + * @type {string} + * @memberof ModelFile + */ + metadata: string; +} + +/** + * Check if a given object implements the ModelFile interface. + */ +export function instanceOfModelFile(value: object): value is ModelFile { + if (!('fileId' in value) || value['fileId'] === undefined) return false; + if (!('metadata' in value) || value['metadata'] === undefined) return false; + return true; +} + +export function ModelFileFromJSON(json: any): ModelFile { + return ModelFileFromJSONTyped(json, false); +} + +export function ModelFileFromJSONTyped( + json: any, + ignoreDiscriminator: boolean +): ModelFile { + if (json == null) { + return json; + } + return { + fileId: json['fileId'], + metadata: json['metadata'], + }; +} + +export function ModelFileToJSON(value?: ModelFile | null): any { + if (value == null) { + return value; + } + return { + fileId: value['fileId'], + metadata: value['metadata'], + }; +} diff --git a/src/internal/models/NewAccountRequestResponse.ts b/src/internal/models/NewAccountRequestResponse.ts new file mode 100644 index 0000000..790f576 --- /dev/null +++ b/src/internal/models/NewAccountRequestResponse.ts @@ -0,0 +1,122 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Juno + * Juno Public API Docs + * + * The version of the OpenAPI document: 1.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'; +/** + * + * @export + * @interface NewAccountRequestResponse + */ +export interface NewAccountRequestResponse { + /** + * Request ID + * @type {number} + * @memberof NewAccountRequestResponse + */ + id: number; + /** + * Email + * @type {string} + * @memberof NewAccountRequestResponse + */ + email: string; + /** + * Name + * @type {string} + * @memberof NewAccountRequestResponse + */ + name: string; + /** + * Requested user type + * @type {string} + * @memberof NewAccountRequestResponse + */ + userType: NewAccountRequestResponseUserTypeEnum; + /** + * Project name + * @type {string} + * @memberof NewAccountRequestResponse + */ + projectName?: string; + /** + * Timestamp of request creation + * @type {string} + * @memberof NewAccountRequestResponse + */ + createdAt: string; +} + +/** + * @export + */ +export const NewAccountRequestResponseUserTypeEnum = { + Superadmin: 'SUPERADMIN', + Admin: 'ADMIN', + User: 'USER', +} as const; +export type NewAccountRequestResponseUserTypeEnum = + (typeof NewAccountRequestResponseUserTypeEnum)[keyof typeof NewAccountRequestResponseUserTypeEnum]; + +/** + * Check if a given object implements the NewAccountRequestResponse interface. + */ +export function instanceOfNewAccountRequestResponse( + value: object +): value is NewAccountRequestResponse { + if (!('id' in value) || value['id'] === undefined) return false; + if (!('email' in value) || value['email'] === undefined) return false; + if (!('name' in value) || value['name'] === undefined) return false; + if (!('userType' in value) || value['userType'] === undefined) return false; + if (!('createdAt' in value) || value['createdAt'] === undefined) return false; + return true; +} + +export function NewAccountRequestResponseFromJSON( + json: any +): NewAccountRequestResponse { + return NewAccountRequestResponseFromJSONTyped(json, false); +} + +export function NewAccountRequestResponseFromJSONTyped( + json: any, + ignoreDiscriminator: boolean +): NewAccountRequestResponse { + if (json == null) { + return json; + } + return { + id: json['id'], + email: json['email'], + name: json['name'], + userType: json['userType'], + projectName: json['projectName'] == null ? undefined : json['projectName'], + createdAt: json['createdAt'], + }; +} + +export function NewAccountRequestResponseToJSON( + value?: NewAccountRequestResponse | null +): any { + if (value == null) { + return value; + } + return { + id: value['id'], + email: value['email'], + name: value['name'], + userType: value['userType'], + projectName: value['projectName'], + createdAt: value['createdAt'], + }; +} diff --git a/src/internal/models/NewAccountRequestsResponse.ts b/src/internal/models/NewAccountRequestsResponse.ts new file mode 100644 index 0000000..474f661 --- /dev/null +++ b/src/internal/models/NewAccountRequestsResponse.ts @@ -0,0 +1,78 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Juno + * Juno Public API Docs + * + * The version of the OpenAPI document: 1.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 { NewAccountRequestResponse } from './NewAccountRequestResponse'; +import { + NewAccountRequestResponseFromJSON, + NewAccountRequestResponseFromJSONTyped, + NewAccountRequestResponseToJSON, +} from './NewAccountRequestResponse'; + +/** + * + * @export + * @interface NewAccountRequestsResponse + */ +export interface NewAccountRequestsResponse { + /** + * List of new account requests + * @type {Array} + * @memberof NewAccountRequestsResponse + */ + requests: Array; +} + +/** + * Check if a given object implements the NewAccountRequestsResponse interface. + */ +export function instanceOfNewAccountRequestsResponse( + value: object +): value is NewAccountRequestsResponse { + if (!('requests' in value) || value['requests'] === undefined) return false; + return true; +} + +export function NewAccountRequestsResponseFromJSON( + json: any +): NewAccountRequestsResponse { + return NewAccountRequestsResponseFromJSONTyped(json, false); +} + +export function NewAccountRequestsResponseFromJSONTyped( + json: any, + ignoreDiscriminator: boolean +): NewAccountRequestsResponse { + if (json == null) { + return json; + } + return { + requests: (json['requests'] as Array).map( + NewAccountRequestResponseFromJSON + ), + }; +} + +export function NewAccountRequestsResponseToJSON( + value?: NewAccountRequestsResponse | null +): any { + if (value == null) { + return value; + } + return { + requests: (value['requests'] as Array).map( + NewAccountRequestResponseToJSON + ), + }; +} diff --git a/src/internal/models/ProjectResponse.ts b/src/internal/models/ProjectResponse.ts new file mode 100644 index 0000000..012999a --- /dev/null +++ b/src/internal/models/ProjectResponse.ts @@ -0,0 +1,72 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Juno + * Juno Public API Docs + * + * The version of the OpenAPI document: 1.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'; +/** + * + * @export + * @interface ProjectResponse + */ +export interface ProjectResponse { + /** + * The ID of the project + * @type {number} + * @memberof ProjectResponse + */ + id: number; + /** + * The name of the project + * @type {string} + * @memberof ProjectResponse + */ + name: string; +} + +/** + * Check if a given object implements the ProjectResponse interface. + */ +export function instanceOfProjectResponse( + value: object +): value is ProjectResponse { + if (!('id' in value) || value['id'] === undefined) return false; + if (!('name' in value) || value['name'] === undefined) return false; + return true; +} + +export function ProjectResponseFromJSON(json: any): ProjectResponse { + return ProjectResponseFromJSONTyped(json, false); +} + +export function ProjectResponseFromJSONTyped( + json: any, + ignoreDiscriminator: boolean +): ProjectResponse { + if (json == null) { + return json; + } + return { + id: json['id'], + name: json['name'], + }; +} + +export function ProjectResponseToJSON(value?: ProjectResponse | null): any { + if (value == null) { + return value; + } + return { + id: value['id'], + name: value['name'], + }; +} diff --git a/src/internal/models/ProjectResponses.ts b/src/internal/models/ProjectResponses.ts new file mode 100644 index 0000000..14eed97 --- /dev/null +++ b/src/internal/models/ProjectResponses.ts @@ -0,0 +1,70 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Juno + * Juno Public API Docs + * + * The version of the OpenAPI document: 1.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 { ProjectResponse } from './ProjectResponse'; +import { + ProjectResponseFromJSON, + ProjectResponseFromJSONTyped, + ProjectResponseToJSON, +} from './ProjectResponse'; + +/** + * + * @export + * @interface ProjectResponses + */ +export interface ProjectResponses { + /** + * List of projects + * @type {Array} + * @memberof ProjectResponses + */ + projects: Array; +} + +/** + * Check if a given object implements the ProjectResponses interface. + */ +export function instanceOfProjectResponses( + value: object +): value is ProjectResponses { + if (!('projects' in value) || value['projects'] === undefined) return false; + return true; +} + +export function ProjectResponsesFromJSON(json: any): ProjectResponses { + return ProjectResponsesFromJSONTyped(json, false); +} + +export function ProjectResponsesFromJSONTyped( + json: any, + ignoreDiscriminator: boolean +): ProjectResponses { + if (json == null) { + return json; + } + return { + projects: (json['projects'] as Array).map(ProjectResponseFromJSON), + }; +} + +export function ProjectResponsesToJSON(value?: ProjectResponses | null): any { + if (value == null) { + return value; + } + return { + projects: (value['projects'] as Array).map(ProjectResponseToJSON), + }; +} diff --git a/src/internal/models/RegisterDomainModel.ts b/src/internal/models/RegisterDomainModel.ts new file mode 100644 index 0000000..737b577 --- /dev/null +++ b/src/internal/models/RegisterDomainModel.ts @@ -0,0 +1,73 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Juno + * Juno Public API Docs + * + * The version of the OpenAPI document: 1.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'; +/** + * + * @export + * @interface RegisterDomainModel + */ +export interface RegisterDomainModel { + /** + * Domain to be registered + * @type {string} + * @memberof RegisterDomainModel + */ + domain: string; + /** + * Subdomain to be registered + * @type {string} + * @memberof RegisterDomainModel + */ + subdomain?: string; +} + +/** + * Check if a given object implements the RegisterDomainModel interface. + */ +export function instanceOfRegisterDomainModel( + value: object +): value is RegisterDomainModel { + if (!('domain' in value) || value['domain'] === undefined) return false; + return true; +} + +export function RegisterDomainModelFromJSON(json: any): RegisterDomainModel { + return RegisterDomainModelFromJSONTyped(json, false); +} + +export function RegisterDomainModelFromJSONTyped( + json: any, + ignoreDiscriminator: boolean +): RegisterDomainModel { + if (json == null) { + return json; + } + return { + domain: json['domain'], + subdomain: json['subdomain'] == null ? undefined : json['subdomain'], + }; +} + +export function RegisterDomainModelToJSON( + value?: RegisterDomainModel | null +): any { + if (value == null) { + return value; + } + return { + domain: value['domain'], + subdomain: value['subdomain'], + }; +} diff --git a/src/internal/models/RegisterDomainResponse.ts b/src/internal/models/RegisterDomainResponse.ts new file mode 100644 index 0000000..bfdac39 --- /dev/null +++ b/src/internal/models/RegisterDomainResponse.ts @@ -0,0 +1,102 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Juno + * Juno Public API Docs + * + * The version of the OpenAPI document: 1.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 { SendGridDNSResponse } from './SendGridDNSResponse'; +import { + SendGridDNSResponseFromJSON, + SendGridDNSResponseFromJSONTyped, + SendGridDNSResponseToJSON, +} from './SendGridDNSResponse'; + +/** + * + * @export + * @interface RegisterDomainResponse + */ +export interface RegisterDomainResponse { + /** + * + * @type {number} + * @memberof RegisterDomainResponse + */ + id: number; + /** + * + * @type {string} + * @memberof RegisterDomainResponse + */ + valid: string; + /** + * + * @type {SendGridDNSResponse} + * @memberof RegisterDomainResponse + */ + records: SendGridDNSResponse; + /** + * + * @type {number} + * @memberof RegisterDomainResponse + */ + statusCode: number; +} + +/** + * Check if a given object implements the RegisterDomainResponse interface. + */ +export function instanceOfRegisterDomainResponse( + value: object +): value is RegisterDomainResponse { + if (!('id' in value) || value['id'] === undefined) return false; + if (!('valid' in value) || value['valid'] === undefined) return false; + if (!('records' in value) || value['records'] === undefined) return false; + if (!('statusCode' in value) || value['statusCode'] === undefined) + return false; + return true; +} + +export function RegisterDomainResponseFromJSON( + json: any +): RegisterDomainResponse { + return RegisterDomainResponseFromJSONTyped(json, false); +} + +export function RegisterDomainResponseFromJSONTyped( + json: any, + ignoreDiscriminator: boolean +): RegisterDomainResponse { + if (json == null) { + return json; + } + return { + id: json['id'], + valid: json['valid'], + records: SendGridDNSResponseFromJSON(json['records']), + statusCode: json['statusCode'], + }; +} + +export function RegisterDomainResponseToJSON( + value?: RegisterDomainResponse | null +): any { + if (value == null) { + return value; + } + return { + id: value['id'], + valid: value['valid'], + records: SendGridDNSResponseToJSON(value['records']), + statusCode: value['statusCode'], + }; +} diff --git a/src/internal/models/RegisterEmailModel.ts b/src/internal/models/RegisterEmailModel.ts new file mode 100644 index 0000000..531c995 --- /dev/null +++ b/src/internal/models/RegisterEmailModel.ts @@ -0,0 +1,136 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Juno + * Juno Public API Docs + * + * The version of the OpenAPI document: 1.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'; +/** + * + * @export + * @interface RegisterEmailModel + */ +export interface RegisterEmailModel { + /** + * The email to register + * @type {string} + * @memberof RegisterEmailModel + */ + email: string; + /** + * The name to assosicate with the email + * @type {string} + * @memberof RegisterEmailModel + */ + name: string; + /** + * The email to reply-to + * @type {string} + * @memberof RegisterEmailModel + */ + replyTo?: string; + /** + * The nickname to assosicate with the sender (only visible in sendgrid) + * @type {string} + * @memberof RegisterEmailModel + */ + nickname: string; + /** + * The address to assosicate with the sender + * @type {string} + * @memberof RegisterEmailModel + */ + address: string; + /** + * The city to assosicate with the sender + * @type {string} + * @memberof RegisterEmailModel + */ + city: string; + /** + * The state to assosicate with the sender + * @type {string} + * @memberof RegisterEmailModel + */ + state: string; + /** + * The zip code to assosicate with the sender + * @type {string} + * @memberof RegisterEmailModel + */ + zip: string; + /** + * The country to assosicate with the sender + * @type {string} + * @memberof RegisterEmailModel + */ + country: string; +} + +/** + * Check if a given object implements the RegisterEmailModel interface. + */ +export function instanceOfRegisterEmailModel( + value: object +): value is RegisterEmailModel { + if (!('email' in value) || value['email'] === undefined) return false; + if (!('name' in value) || value['name'] === undefined) return false; + if (!('nickname' in value) || value['nickname'] === undefined) return false; + if (!('address' in value) || value['address'] === undefined) return false; + if (!('city' in value) || value['city'] === undefined) return false; + if (!('state' in value) || value['state'] === undefined) return false; + if (!('zip' in value) || value['zip'] === undefined) return false; + if (!('country' in value) || value['country'] === undefined) return false; + return true; +} + +export function RegisterEmailModelFromJSON(json: any): RegisterEmailModel { + return RegisterEmailModelFromJSONTyped(json, false); +} + +export function RegisterEmailModelFromJSONTyped( + json: any, + ignoreDiscriminator: boolean +): RegisterEmailModel { + if (json == null) { + return json; + } + return { + email: json['email'], + name: json['name'], + replyTo: json['replyTo'] == null ? undefined : json['replyTo'], + nickname: json['nickname'], + address: json['address'], + city: json['city'], + state: json['state'], + zip: json['zip'], + country: json['country'], + }; +} + +export function RegisterEmailModelToJSON( + value?: RegisterEmailModel | null +): any { + if (value == null) { + return value; + } + return { + email: value['email'], + name: value['name'], + replyTo: value['replyTo'], + nickname: value['nickname'], + address: value['address'], + city: value['city'], + state: value['state'], + zip: value['zip'], + country: value['country'], + }; +} diff --git a/src/internal/models/RegisterEmailResponse.ts b/src/internal/models/RegisterEmailResponse.ts new file mode 100644 index 0000000..daede7f --- /dev/null +++ b/src/internal/models/RegisterEmailResponse.ts @@ -0,0 +1,67 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Juno + * Juno Public API Docs + * + * The version of the OpenAPI document: 1.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'; +/** + * + * @export + * @interface RegisterEmailResponse + */ +export interface RegisterEmailResponse { + /** + * The email registered + * @type {string} + * @memberof RegisterEmailResponse + */ + email: string; +} + +/** + * Check if a given object implements the RegisterEmailResponse interface. + */ +export function instanceOfRegisterEmailResponse( + value: object +): value is RegisterEmailResponse { + if (!('email' in value) || value['email'] === undefined) return false; + return true; +} + +export function RegisterEmailResponseFromJSON( + json: any +): RegisterEmailResponse { + return RegisterEmailResponseFromJSONTyped(json, false); +} + +export function RegisterEmailResponseFromJSONTyped( + json: any, + ignoreDiscriminator: boolean +): RegisterEmailResponse { + if (json == null) { + return json; + } + return { + email: json['email'], + }; +} + +export function RegisterEmailResponseToJSON( + value?: RegisterEmailResponse | null +): any { + if (value == null) { + return value; + } + return { + email: value['email'], + }; +} diff --git a/src/internal/models/RegisterFileBucketModel.ts b/src/internal/models/RegisterFileBucketModel.ts new file mode 100644 index 0000000..117d7b5 --- /dev/null +++ b/src/internal/models/RegisterFileBucketModel.ts @@ -0,0 +1,96 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Juno + * Juno Public API Docs + * + * The version of the OpenAPI document: 1.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'; +/** + * + * @export + * @interface RegisterFileBucketModel + */ +export interface RegisterFileBucketModel { + /** + * The unique name of the bucket + * @type {string} + * @memberof RegisterFileBucketModel + */ + name: string; + /** + * Configuration ID for the bucket + * @type {number} + * @memberof RegisterFileBucketModel + */ + configId: number; + /** + * The file provider name associated with the bucket + * @type {string} + * @memberof RegisterFileBucketModel + */ + fileProviderName: string; + /** + * The file identifiers linked to this bucket + * @type {Array} + * @memberof RegisterFileBucketModel + */ + fileServiceFile: Array; +} + +/** + * Check if a given object implements the RegisterFileBucketModel interface. + */ +export function instanceOfRegisterFileBucketModel( + value: object +): value is RegisterFileBucketModel { + if (!('name' in value) || value['name'] === undefined) return false; + if (!('configId' in value) || value['configId'] === undefined) return false; + if (!('fileProviderName' in value) || value['fileProviderName'] === undefined) + return false; + if (!('fileServiceFile' in value) || value['fileServiceFile'] === undefined) + return false; + return true; +} + +export function RegisterFileBucketModelFromJSON( + json: any +): RegisterFileBucketModel { + return RegisterFileBucketModelFromJSONTyped(json, false); +} + +export function RegisterFileBucketModelFromJSONTyped( + json: any, + ignoreDiscriminator: boolean +): RegisterFileBucketModel { + if (json == null) { + return json; + } + return { + name: json['name'], + configId: json['configId'], + fileProviderName: json['fileProviderName'], + fileServiceFile: json['FileServiceFile'], + }; +} + +export function RegisterFileBucketModelToJSON( + value?: RegisterFileBucketModel | null +): any { + if (value == null) { + return value; + } + return { + name: value['name'], + configId: value['configId'], + fileProviderName: value['fileProviderName'], + FileServiceFile: value['fileServiceFile'], + }; +} diff --git a/src/internal/models/RegisterFileProviderModel.ts b/src/internal/models/RegisterFileProviderModel.ts new file mode 100644 index 0000000..dcee382 --- /dev/null +++ b/src/internal/models/RegisterFileProviderModel.ts @@ -0,0 +1,102 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Juno + * Juno Public API Docs + * + * The version of the OpenAPI document: 1.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 { AccessKey } from './AccessKey'; +import { + AccessKeyFromJSON, + AccessKeyFromJSONTyped, + AccessKeyToJSON, +} from './AccessKey'; + +/** + * + * @export + * @interface RegisterFileProviderModel + */ +export interface RegisterFileProviderModel { + /** + * The access key to register with + * @type {AccessKey} + * @memberof RegisterFileProviderModel + */ + accessKey: AccessKey; + /** + * The base url associated with file provider. + * @type {string} + * @memberof RegisterFileProviderModel + */ + baseUrl: string; + /** + * The file provider name being registered. + * @type {string} + * @memberof RegisterFileProviderModel + */ + providerName: string; + /** + * File provider type (one of S3 or AZURE) + * @type {string} + * @memberof RegisterFileProviderModel + */ + type: string; +} + +/** + * Check if a given object implements the RegisterFileProviderModel interface. + */ +export function instanceOfRegisterFileProviderModel( + value: object +): value is RegisterFileProviderModel { + if (!('accessKey' in value) || value['accessKey'] === undefined) return false; + if (!('baseUrl' in value) || value['baseUrl'] === undefined) return false; + if (!('providerName' in value) || value['providerName'] === undefined) + return false; + if (!('type' in value) || value['type'] === undefined) return false; + return true; +} + +export function RegisterFileProviderModelFromJSON( + json: any +): RegisterFileProviderModel { + return RegisterFileProviderModelFromJSONTyped(json, false); +} + +export function RegisterFileProviderModelFromJSONTyped( + json: any, + ignoreDiscriminator: boolean +): RegisterFileProviderModel { + if (json == null) { + return json; + } + return { + accessKey: AccessKeyFromJSON(json['accessKey']), + baseUrl: json['baseUrl'], + providerName: json['providerName'], + type: json['type'], + }; +} + +export function RegisterFileProviderModelToJSON( + value?: RegisterFileProviderModel | null +): any { + if (value == null) { + return value; + } + return { + accessKey: AccessKeyToJSON(value['accessKey']), + baseUrl: value['baseUrl'], + providerName: value['providerName'], + type: value['type'], + }; +} diff --git a/src/internal/models/RequestNewAccountModel.ts b/src/internal/models/RequestNewAccountModel.ts new file mode 100644 index 0000000..ffeb911 --- /dev/null +++ b/src/internal/models/RequestNewAccountModel.ts @@ -0,0 +1,113 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Juno + * Juno Public API Docs + * + * The version of the OpenAPI document: 1.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'; +/** + * + * @export + * @interface RequestNewAccountModel + */ +export interface RequestNewAccountModel { + /** + * Email for the new account + * @type {string} + * @memberof RequestNewAccountModel + */ + email: string; + /** + * Name of the requester + * @type {string} + * @memberof RequestNewAccountModel + */ + name: string; + /** + * Password for the new account + * @type {string} + * @memberof RequestNewAccountModel + */ + password: string; + /** + * Requested user type / role + * @type {string} + * @memberof RequestNewAccountModel + */ + userType: RequestNewAccountModelUserTypeEnum; + /** + * Optional project name to associate + * @type {string} + * @memberof RequestNewAccountModel + */ + projectName?: string; +} + +/** + * @export + */ +export const RequestNewAccountModelUserTypeEnum = { + Superadmin: 'SUPERADMIN', + Admin: 'ADMIN', + User: 'USER', +} as const; +export type RequestNewAccountModelUserTypeEnum = + (typeof RequestNewAccountModelUserTypeEnum)[keyof typeof RequestNewAccountModelUserTypeEnum]; + +/** + * Check if a given object implements the RequestNewAccountModel interface. + */ +export function instanceOfRequestNewAccountModel( + value: object +): value is RequestNewAccountModel { + if (!('email' in value) || value['email'] === undefined) return false; + if (!('name' in value) || value['name'] === undefined) return false; + if (!('password' in value) || value['password'] === undefined) return false; + if (!('userType' in value) || value['userType'] === undefined) return false; + return true; +} + +export function RequestNewAccountModelFromJSON( + json: any +): RequestNewAccountModel { + return RequestNewAccountModelFromJSONTyped(json, false); +} + +export function RequestNewAccountModelFromJSONTyped( + json: any, + ignoreDiscriminator: boolean +): RequestNewAccountModel { + if (json == null) { + return json; + } + return { + email: json['email'], + name: json['name'], + password: json['password'], + userType: json['userType'], + projectName: json['projectName'] == null ? undefined : json['projectName'], + }; +} + +export function RequestNewAccountModelToJSON( + value?: RequestNewAccountModel | null +): any { + if (value == null) { + return value; + } + return { + email: value['email'], + name: value['name'], + password: value['password'], + userType: value['userType'], + projectName: value['projectName'], + }; +} diff --git a/src/internal/models/SendEmailModel.ts b/src/internal/models/SendEmailModel.ts new file mode 100644 index 0000000..39041c5 --- /dev/null +++ b/src/internal/models/SendEmailModel.ts @@ -0,0 +1,140 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Juno + * Juno Public API Docs + * + * The version of the OpenAPI document: 1.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 { EmailRecipient } from './EmailRecipient'; +import { + EmailRecipientFromJSON, + EmailRecipientFromJSONTyped, + EmailRecipientToJSON, +} from './EmailRecipient'; +import type { EmailSenderSendEmailModel } from './EmailSenderSendEmailModel'; +import { + EmailSenderSendEmailModelFromJSON, + EmailSenderSendEmailModelFromJSONTyped, + EmailSenderSendEmailModelToJSON, +} from './EmailSenderSendEmailModel'; +import type { EmailContent } from './EmailContent'; +import { + EmailContentFromJSON, + EmailContentFromJSONTyped, + EmailContentToJSON, +} from './EmailContent'; + +/** + * + * @export + * @interface SendEmailModel + */ +export interface SendEmailModel { + /** + * List of recipients for the email + * @type {Array} + * @memberof SendEmailModel + */ + recipients: Array; + /** + * List of email addresses to CC on the email + * @type {Array} + * @memberof SendEmailModel + */ + cc: Array; + /** + * List of email addresses to BCC on the email + * @type {Array} + * @memberof SendEmailModel + */ + bcc: Array; + /** + * List of emails to add to the Reply To list of the email + * @type {Array} + * @memberof SendEmailModel + */ + replyToList: Array; + /** + * The sender of the email + * @type {EmailSenderSendEmailModel} + * @memberof SendEmailModel + */ + sender: EmailSenderSendEmailModel; + /** + * The subject of the email + * @type {string} + * @memberof SendEmailModel + */ + subject: string; + /** + * List of MIME content to send in the email + * @type {Array} + * @memberof SendEmailModel + */ + content: Array; +} + +/** + * Check if a given object implements the SendEmailModel interface. + */ +export function instanceOfSendEmailModel( + value: object +): value is SendEmailModel { + if (!('recipients' in value) || value['recipients'] === undefined) + return false; + if (!('cc' in value) || value['cc'] === undefined) return false; + if (!('bcc' in value) || value['bcc'] === undefined) return false; + if (!('replyToList' in value) || value['replyToList'] === undefined) + return false; + if (!('sender' in value) || value['sender'] === undefined) return false; + if (!('subject' in value) || value['subject'] === undefined) return false; + if (!('content' in value) || value['content'] === undefined) return false; + return true; +} + +export function SendEmailModelFromJSON(json: any): SendEmailModel { + return SendEmailModelFromJSONTyped(json, false); +} + +export function SendEmailModelFromJSONTyped( + json: any, + ignoreDiscriminator: boolean +): SendEmailModel { + if (json == null) { + return json; + } + return { + recipients: (json['recipients'] as Array).map(EmailRecipientFromJSON), + cc: (json['cc'] as Array).map(EmailRecipientFromJSON), + bcc: (json['bcc'] as Array).map(EmailRecipientFromJSON), + replyToList: (json['replyToList'] as Array).map( + EmailRecipientFromJSON + ), + sender: EmailSenderSendEmailModelFromJSON(json['sender']), + subject: json['subject'], + content: (json['content'] as Array).map(EmailContentFromJSON), + }; +} + +export function SendEmailModelToJSON(value?: SendEmailModel | null): any { + if (value == null) { + return value; + } + return { + recipients: (value['recipients'] as Array).map(EmailRecipientToJSON), + cc: (value['cc'] as Array).map(EmailRecipientToJSON), + bcc: (value['bcc'] as Array).map(EmailRecipientToJSON), + replyToList: (value['replyToList'] as Array).map(EmailRecipientToJSON), + sender: EmailSenderSendEmailModelToJSON(value['sender']), + subject: value['subject'], + content: (value['content'] as Array).map(EmailContentToJSON), + }; +} diff --git a/src/internal/models/SendEmailResponse.ts b/src/internal/models/SendEmailResponse.ts new file mode 100644 index 0000000..f92bf36 --- /dev/null +++ b/src/internal/models/SendEmailResponse.ts @@ -0,0 +1,63 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Juno + * Juno Public API Docs + * + * The version of the OpenAPI document: 1.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'; +/** + * + * @export + * @interface SendEmailResponse + */ +export interface SendEmailResponse { + /** + * Whether an email was successfully sent + * @type {boolean} + * @memberof SendEmailResponse + */ + success: boolean; +} + +/** + * Check if a given object implements the SendEmailResponse interface. + */ +export function instanceOfSendEmailResponse( + value: object +): value is SendEmailResponse { + if (!('success' in value) || value['success'] === undefined) return false; + return true; +} + +export function SendEmailResponseFromJSON(json: any): SendEmailResponse { + return SendEmailResponseFromJSONTyped(json, false); +} + +export function SendEmailResponseFromJSONTyped( + json: any, + ignoreDiscriminator: boolean +): SendEmailResponse { + if (json == null) { + return json; + } + return { + success: json['success'], + }; +} + +export function SendEmailResponseToJSON(value?: SendEmailResponse | null): any { + if (value == null) { + return value; + } + return { + success: value['success'], + }; +} diff --git a/src/internal/models/SendEmailStatisticsResponse.ts b/src/internal/models/SendEmailStatisticsResponse.ts new file mode 100644 index 0000000..3fb0b64 --- /dev/null +++ b/src/internal/models/SendEmailStatisticsResponse.ts @@ -0,0 +1,219 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Juno + * Juno Public API Docs + * + * The version of the OpenAPI document: 1.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'; +/** + * + * @export + * @interface SendEmailStatisticsResponse + */ +export interface SendEmailStatisticsResponse { + /** + * Date + * @type {string} + * @memberof SendEmailStatisticsResponse + */ + date: string; + /** + * The number of links that were clicked in your emails. + * @type {number} + * @memberof SendEmailStatisticsResponse + */ + clicks: number; + /** + * The number of unique recipients who clicked links in your emails. + * @type {number} + * @memberof SendEmailStatisticsResponse + */ + uniqueClicks: number; + /** + * The total number of times your emails were opened by recipients. + * @type {number} + * @memberof SendEmailStatisticsResponse + */ + opens: number; + /** + * The number of unique recipients who opened your emails. + * @type {number} + * @memberof SendEmailStatisticsResponse + */ + uniqueOpens: number; + /** + * The number of emails that were not allowed to be delivered by ISPs. + * @type {number} + * @memberof SendEmailStatisticsResponse + */ + blocks: number; + /** + * The number of emails that were dropped because of a bounce. + * @type {number} + * @memberof SendEmailStatisticsResponse + */ + bounceDrops: number; + /** + * The number of emails that bounced instead of being delivered. + * @type {number} + * @memberof SendEmailStatisticsResponse + */ + bounces: number; + /** + * The number of emails that temporarily could not be delivered. + * @type {number} + * @memberof SendEmailStatisticsResponse + */ + deferred: number; + /** + * The number of emails confirmed to have been delivered. + * @type {number} + * @memberof SendEmailStatisticsResponse + */ + delivered: number; + /** + * The number of recipients with malformed or invalid email addresses. + * @type {number} + * @memberof SendEmailStatisticsResponse + */ + invalidEmails: number; + /** + * Requests from your website, application, or mail client via SMTP Relay or API. + * @type {number} + * @memberof SendEmailStatisticsResponse + */ + processed: number; + /** + * The number of emails that were requested to be delivered. + * @type {number} + * @memberof SendEmailStatisticsResponse + */ + requests: number; + /** + * The number of emails dropped due to a recipient marking your email as spam. + * @type {number} + * @memberof SendEmailStatisticsResponse + */ + spamReportDrops: number; + /** + * The number of recipients who marked your email as spam. + * @type {number} + * @memberof SendEmailStatisticsResponse + */ + spamReports: number; + /** + * The number of emails dropped due to a recipient unsubscribing. + * @type {number} + * @memberof SendEmailStatisticsResponse + */ + unsubscribeDrops: number; + /** + * The number of recipients who unsubscribed from your emails. + * @type {number} + * @memberof SendEmailStatisticsResponse + */ + unsubscribes: number; +} + +/** + * Check if a given object implements the SendEmailStatisticsResponse interface. + */ +export function instanceOfSendEmailStatisticsResponse( + value: object +): value is SendEmailStatisticsResponse { + if (!('date' in value) || value['date'] === undefined) return false; + if (!('clicks' in value) || value['clicks'] === undefined) return false; + if (!('uniqueClicks' in value) || value['uniqueClicks'] === undefined) + return false; + if (!('opens' in value) || value['opens'] === undefined) return false; + if (!('uniqueOpens' in value) || value['uniqueOpens'] === undefined) + return false; + if (!('blocks' in value) || value['blocks'] === undefined) return false; + if (!('bounceDrops' in value) || value['bounceDrops'] === undefined) + return false; + if (!('bounces' in value) || value['bounces'] === undefined) return false; + if (!('deferred' in value) || value['deferred'] === undefined) return false; + if (!('delivered' in value) || value['delivered'] === undefined) return false; + if (!('invalidEmails' in value) || value['invalidEmails'] === undefined) + return false; + if (!('processed' in value) || value['processed'] === undefined) return false; + if (!('requests' in value) || value['requests'] === undefined) return false; + if (!('spamReportDrops' in value) || value['spamReportDrops'] === undefined) + return false; + if (!('spamReports' in value) || value['spamReports'] === undefined) + return false; + if (!('unsubscribeDrops' in value) || value['unsubscribeDrops'] === undefined) + return false; + if (!('unsubscribes' in value) || value['unsubscribes'] === undefined) + return false; + return true; +} + +export function SendEmailStatisticsResponseFromJSON( + json: any +): SendEmailStatisticsResponse { + return SendEmailStatisticsResponseFromJSONTyped(json, false); +} + +export function SendEmailStatisticsResponseFromJSONTyped( + json: any, + ignoreDiscriminator: boolean +): SendEmailStatisticsResponse { + if (json == null) { + return json; + } + return { + date: json['date'], + clicks: json['clicks'], + uniqueClicks: json['unique_clicks'], + opens: json['opens'], + uniqueOpens: json['unique_opens'], + blocks: json['blocks'], + bounceDrops: json['bounce_drops'], + bounces: json['bounces'], + deferred: json['deferred'], + delivered: json['delivered'], + invalidEmails: json['invalid_emails'], + processed: json['processed'], + requests: json['requests'], + spamReportDrops: json['spam_report_drops'], + spamReports: json['spam_reports'], + unsubscribeDrops: json['unsubscribe_drops'], + unsubscribes: json['unsubscribes'], + }; +} + +export function SendEmailStatisticsResponseToJSON( + value?: SendEmailStatisticsResponse | null +): any { + if (value == null) { + return value; + } + return { + date: value['date'], + clicks: value['clicks'], + unique_clicks: value['uniqueClicks'], + opens: value['opens'], + unique_opens: value['uniqueOpens'], + blocks: value['blocks'], + bounce_drops: value['bounceDrops'], + bounces: value['bounces'], + deferred: value['deferred'], + delivered: value['delivered'], + invalid_emails: value['invalidEmails'], + processed: value['processed'], + requests: value['requests'], + spam_report_drops: value['spamReportDrops'], + spam_reports: value['spamReports'], + unsubscribe_drops: value['unsubscribeDrops'], + unsubscribes: value['unsubscribes'], + }; +} diff --git a/src/internal/models/SendEmailStatisticsResponses.ts b/src/internal/models/SendEmailStatisticsResponses.ts new file mode 100644 index 0000000..bd8f531 --- /dev/null +++ b/src/internal/models/SendEmailStatisticsResponses.ts @@ -0,0 +1,78 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Juno + * Juno Public API Docs + * + * The version of the OpenAPI document: 1.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 { SendEmailStatisticsResponse } from './SendEmailStatisticsResponse'; +import { + SendEmailStatisticsResponseFromJSON, + SendEmailStatisticsResponseFromJSONTyped, + SendEmailStatisticsResponseToJSON, +} from './SendEmailStatisticsResponse'; + +/** + * + * @export + * @interface SendEmailStatisticsResponses + */ +export interface SendEmailStatisticsResponses { + /** + * List of email analytics. + * @type {Array} + * @memberof SendEmailStatisticsResponses + */ + responses: Array; +} + +/** + * Check if a given object implements the SendEmailStatisticsResponses interface. + */ +export function instanceOfSendEmailStatisticsResponses( + value: object +): value is SendEmailStatisticsResponses { + if (!('responses' in value) || value['responses'] === undefined) return false; + return true; +} + +export function SendEmailStatisticsResponsesFromJSON( + json: any +): SendEmailStatisticsResponses { + return SendEmailStatisticsResponsesFromJSONTyped(json, false); +} + +export function SendEmailStatisticsResponsesFromJSONTyped( + json: any, + ignoreDiscriminator: boolean +): SendEmailStatisticsResponses { + if (json == null) { + return json; + } + return { + responses: (json['responses'] as Array).map( + SendEmailStatisticsResponseFromJSON + ), + }; +} + +export function SendEmailStatisticsResponsesToJSON( + value?: SendEmailStatisticsResponses | null +): any { + if (value == null) { + return value; + } + return { + responses: (value['responses'] as Array).map( + SendEmailStatisticsResponseToJSON + ), + }; +} diff --git a/src/internal/models/SendGridDNSRecord.ts b/src/internal/models/SendGridDNSRecord.ts new file mode 100644 index 0000000..130641a --- /dev/null +++ b/src/internal/models/SendGridDNSRecord.ts @@ -0,0 +1,90 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Juno + * Juno Public API Docs + * + * The version of the OpenAPI document: 1.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'; +/** + * + * @export + * @interface SendGridDNSRecord + */ +export interface SendGridDNSRecord { + /** + * + * @type {boolean} + * @memberof SendGridDNSRecord + */ + valid: boolean; + /** + * + * @type {string} + * @memberof SendGridDNSRecord + */ + type: string; + /** + * + * @type {string} + * @memberof SendGridDNSRecord + */ + host: string; + /** + * + * @type {string} + * @memberof SendGridDNSRecord + */ + data: string; +} + +/** + * Check if a given object implements the SendGridDNSRecord interface. + */ +export function instanceOfSendGridDNSRecord( + value: object +): value is SendGridDNSRecord { + if (!('valid' in value) || value['valid'] === undefined) return false; + if (!('type' in value) || value['type'] === undefined) return false; + if (!('host' in value) || value['host'] === undefined) return false; + if (!('data' in value) || value['data'] === undefined) return false; + return true; +} + +export function SendGridDNSRecordFromJSON(json: any): SendGridDNSRecord { + return SendGridDNSRecordFromJSONTyped(json, false); +} + +export function SendGridDNSRecordFromJSONTyped( + json: any, + ignoreDiscriminator: boolean +): SendGridDNSRecord { + if (json == null) { + return json; + } + return { + valid: json['valid'], + type: json['type'], + host: json['host'], + data: json['data'], + }; +} + +export function SendGridDNSRecordToJSON(value?: SendGridDNSRecord | null): any { + if (value == null) { + return value; + } + return { + valid: value['valid'], + type: value['type'], + host: value['host'], + data: value['data'], + }; +} diff --git a/src/internal/models/SendGridDNSResponse.ts b/src/internal/models/SendGridDNSResponse.ts new file mode 100644 index 0000000..19dae66 --- /dev/null +++ b/src/internal/models/SendGridDNSResponse.ts @@ -0,0 +1,90 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Juno + * Juno Public API Docs + * + * The version of the OpenAPI document: 1.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 { SendGridDNSRecord } from './SendGridDNSRecord'; +import { + SendGridDNSRecordFromJSON, + SendGridDNSRecordFromJSONTyped, + SendGridDNSRecordToJSON, +} from './SendGridDNSRecord'; + +/** + * + * @export + * @interface SendGridDNSResponse + */ +export interface SendGridDNSResponse { + /** + * + * @type {SendGridDNSRecord} + * @memberof SendGridDNSResponse + */ + mailCname: SendGridDNSRecord; + /** + * + * @type {SendGridDNSRecord} + * @memberof SendGridDNSResponse + */ + dkim1: SendGridDNSRecord; + /** + * + * @type {SendGridDNSRecord} + * @memberof SendGridDNSResponse + */ + dkim2: SendGridDNSRecord; +} + +/** + * Check if a given object implements the SendGridDNSResponse interface. + */ +export function instanceOfSendGridDNSResponse( + value: object +): value is SendGridDNSResponse { + if (!('mailCname' in value) || value['mailCname'] === undefined) return false; + if (!('dkim1' in value) || value['dkim1'] === undefined) return false; + if (!('dkim2' in value) || value['dkim2'] === undefined) return false; + return true; +} + +export function SendGridDNSResponseFromJSON(json: any): SendGridDNSResponse { + return SendGridDNSResponseFromJSONTyped(json, false); +} + +export function SendGridDNSResponseFromJSONTyped( + json: any, + ignoreDiscriminator: boolean +): SendGridDNSResponse { + if (json == null) { + return json; + } + return { + mailCname: SendGridDNSRecordFromJSON(json['mail_cname']), + dkim1: SendGridDNSRecordFromJSON(json['dkim1']), + dkim2: SendGridDNSRecordFromJSON(json['dkim2']), + }; +} + +export function SendGridDNSResponseToJSON( + value?: SendGridDNSResponse | null +): any { + if (value == null) { + return value; + } + return { + mail_cname: SendGridDNSRecordToJSON(value['mailCname']), + dkim1: SendGridDNSRecordToJSON(value['dkim1']), + dkim2: SendGridDNSRecordToJSON(value['dkim2']), + }; +} diff --git a/src/internal/models/SetUserTypeModel.ts b/src/internal/models/SetUserTypeModel.ts new file mode 100644 index 0000000..3891e6f --- /dev/null +++ b/src/internal/models/SetUserTypeModel.ts @@ -0,0 +1,91 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Juno + * Juno Public API Docs + * + * The version of the OpenAPI document: 1.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'; +/** + * + * @export + * @interface SetUserTypeModel + */ +export interface SetUserTypeModel { + /** + * User email + * @type {string} + * @memberof SetUserTypeModel + */ + email?: string; + /** + * User id + * @type {number} + * @memberof SetUserTypeModel + */ + id?: number; + /** + * New user type + * @type {number} + * @memberof SetUserTypeModel + */ + type: SetUserTypeModelTypeEnum; +} + +/** + * @export + */ +export const SetUserTypeModelTypeEnum = { + NUMBER_0: 0, + NUMBER_1: 1, + NUMBER_2: 2, + NUMBER_MINUS_1: -1, +} as const; +export type SetUserTypeModelTypeEnum = + (typeof SetUserTypeModelTypeEnum)[keyof typeof SetUserTypeModelTypeEnum]; + +/** + * Check if a given object implements the SetUserTypeModel interface. + */ +export function instanceOfSetUserTypeModel( + value: object +): value is SetUserTypeModel { + if (!('type' in value) || value['type'] === undefined) return false; + return true; +} + +export function SetUserTypeModelFromJSON(json: any): SetUserTypeModel { + return SetUserTypeModelFromJSONTyped(json, false); +} + +export function SetUserTypeModelFromJSONTyped( + json: any, + ignoreDiscriminator: boolean +): SetUserTypeModel { + if (json == null) { + return json; + } + return { + email: json['email'] == null ? undefined : json['email'], + id: json['id'] == null ? undefined : json['id'], + type: json['type'], + }; +} + +export function SetUserTypeModelToJSON(value?: SetUserTypeModel | null): any { + if (value == null) { + return value; + } + return { + email: value['email'], + id: value['id'], + type: value['type'], + }; +} diff --git a/src/internal/models/SetupEmailResponse.ts b/src/internal/models/SetupEmailResponse.ts new file mode 100644 index 0000000..4c19a14 --- /dev/null +++ b/src/internal/models/SetupEmailResponse.ts @@ -0,0 +1,65 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Juno + * Juno Public API Docs + * + * The version of the OpenAPI document: 1.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'; +/** + * + * @export + * @interface SetupEmailResponse + */ +export interface SetupEmailResponse { + /** + * Whether an email was successfully setup + * @type {boolean} + * @memberof SetupEmailResponse + */ + success: boolean; +} + +/** + * Check if a given object implements the SetupEmailResponse interface. + */ +export function instanceOfSetupEmailResponse( + value: object +): value is SetupEmailResponse { + if (!('success' in value) || value['success'] === undefined) return false; + return true; +} + +export function SetupEmailResponseFromJSON(json: any): SetupEmailResponse { + return SetupEmailResponseFromJSONTyped(json, false); +} + +export function SetupEmailResponseFromJSONTyped( + json: any, + ignoreDiscriminator: boolean +): SetupEmailResponse { + if (json == null) { + return json; + } + return { + success: json['success'], + }; +} + +export function SetupEmailResponseToJSON( + value?: SetupEmailResponse | null +): any { + if (value == null) { + return value; + } + return { + success: value['success'], + }; +} diff --git a/src/internal/models/SetupEmailServiceModel.ts b/src/internal/models/SetupEmailServiceModel.ts new file mode 100644 index 0000000..7df4f90 --- /dev/null +++ b/src/internal/models/SetupEmailServiceModel.ts @@ -0,0 +1,68 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Juno + * Juno Public API Docs + * + * The version of the OpenAPI document: 1.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'; +/** + * + * @export + * @interface SetupEmailServiceModel + */ +export interface SetupEmailServiceModel { + /** + * The sendgrid API Key to use + * @type {string} + * @memberof SetupEmailServiceModel + */ + sendgridKey: string; +} + +/** + * Check if a given object implements the SetupEmailServiceModel interface. + */ +export function instanceOfSetupEmailServiceModel( + value: object +): value is SetupEmailServiceModel { + if (!('sendgridKey' in value) || value['sendgridKey'] === undefined) + return false; + return true; +} + +export function SetupEmailServiceModelFromJSON( + json: any +): SetupEmailServiceModel { + return SetupEmailServiceModelFromJSONTyped(json, false); +} + +export function SetupEmailServiceModelFromJSONTyped( + json: any, + ignoreDiscriminator: boolean +): SetupEmailServiceModel { + if (json == null) { + return json; + } + return { + sendgridKey: json['sendgridKey'], + }; +} + +export function SetupEmailServiceModelToJSON( + value?: SetupEmailServiceModel | null +): any { + if (value == null) { + return value; + } + return { + sendgridKey: value['sendgridKey'], + }; +} diff --git a/src/internal/models/SetupFileServiceResponse.ts b/src/internal/models/SetupFileServiceResponse.ts new file mode 100644 index 0000000..cc89851 --- /dev/null +++ b/src/internal/models/SetupFileServiceResponse.ts @@ -0,0 +1,67 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Juno + * Juno Public API Docs + * + * The version of the OpenAPI document: 1.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'; +/** + * + * @export + * @interface SetupFileServiceResponse + */ +export interface SetupFileServiceResponse { + /** + * Whether file services were successfully setup + * @type {boolean} + * @memberof SetupFileServiceResponse + */ + success: boolean; +} + +/** + * Check if a given object implements the SetupFileServiceResponse interface. + */ +export function instanceOfSetupFileServiceResponse( + value: object +): value is SetupFileServiceResponse { + if (!('success' in value) || value['success'] === undefined) return false; + return true; +} + +export function SetupFileServiceResponseFromJSON( + json: any +): SetupFileServiceResponse { + return SetupFileServiceResponseFromJSONTyped(json, false); +} + +export function SetupFileServiceResponseFromJSONTyped( + json: any, + ignoreDiscriminator: boolean +): SetupFileServiceResponse { + if (json == null) { + return json; + } + return { + success: json['success'], + }; +} + +export function SetupFileServiceResponseToJSON( + value?: SetupFileServiceResponse | null +): any { + if (value == null) { + return value; + } + return { + success: value['success'], + }; +} diff --git a/src/internal/models/UnlinkProjectModel.ts b/src/internal/models/UnlinkProjectModel.ts new file mode 100644 index 0000000..e2c2af9 --- /dev/null +++ b/src/internal/models/UnlinkProjectModel.ts @@ -0,0 +1,72 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Juno + * Juno Public API Docs + * + * The version of the OpenAPI document: 1.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'; +/** + * + * @export + * @interface UnlinkProjectModel + */ +export interface UnlinkProjectModel { + /** + * ID of project to be unlinked + * @type {number} + * @memberof UnlinkProjectModel + */ + id?: number; + /** + * Name of project to be unlinked + * @type {string} + * @memberof UnlinkProjectModel + */ + name?: string; +} + +/** + * Check if a given object implements the UnlinkProjectModel interface. + */ +export function instanceOfUnlinkProjectModel( + value: object +): value is UnlinkProjectModel { + return true; +} + +export function UnlinkProjectModelFromJSON(json: any): UnlinkProjectModel { + return UnlinkProjectModelFromJSONTyped(json, false); +} + +export function UnlinkProjectModelFromJSONTyped( + json: any, + ignoreDiscriminator: boolean +): UnlinkProjectModel { + if (json == null) { + return json; + } + return { + id: json['id'] == null ? undefined : json['id'], + name: json['name'] == null ? undefined : json['name'], + }; +} + +export function UnlinkProjectModelToJSON( + value?: UnlinkProjectModel | null +): any { + if (value == null) { + return value; + } + return { + id: value['id'], + name: value['name'], + }; +} diff --git a/src/internal/models/UpdateAnalyticsConfigModel.ts b/src/internal/models/UpdateAnalyticsConfigModel.ts new file mode 100644 index 0000000..8199f0c --- /dev/null +++ b/src/internal/models/UpdateAnalyticsConfigModel.ts @@ -0,0 +1,80 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Juno + * Juno Public API Docs + * + * The version of the OpenAPI document: 1.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'; +/** + * + * @export + * @interface UpdateAnalyticsConfigModel + */ +export interface UpdateAnalyticsConfigModel { + /** + * + * @type {string} + * @memberof UpdateAnalyticsConfigModel + */ + serverAnalyticsKey?: string; + /** + * + * @type {string} + * @memberof UpdateAnalyticsConfigModel + */ + clientAnalyticsKey?: string; +} + +/** + * Check if a given object implements the UpdateAnalyticsConfigModel interface. + */ +export function instanceOfUpdateAnalyticsConfigModel( + value: object +): value is UpdateAnalyticsConfigModel { + return true; +} + +export function UpdateAnalyticsConfigModelFromJSON( + json: any +): UpdateAnalyticsConfigModel { + return UpdateAnalyticsConfigModelFromJSONTyped(json, false); +} + +export function UpdateAnalyticsConfigModelFromJSONTyped( + json: any, + ignoreDiscriminator: boolean +): UpdateAnalyticsConfigModel { + if (json == null) { + return json; + } + return { + serverAnalyticsKey: + json['serverAnalyticsKey'] == null + ? undefined + : json['serverAnalyticsKey'], + clientAnalyticsKey: + json['clientAnalyticsKey'] == null + ? undefined + : json['clientAnalyticsKey'], + }; +} + +export function UpdateAnalyticsConfigModelToJSON( + value?: UpdateAnalyticsConfigModel | null +): any { + if (value == null) { + return value; + } + return { + serverAnalyticsKey: value['serverAnalyticsKey'], + clientAnalyticsKey: value['clientAnalyticsKey'], + }; +} diff --git a/src/internal/models/UploadFileModel.ts b/src/internal/models/UploadFileModel.ts new file mode 100644 index 0000000..5ec1bb9 --- /dev/null +++ b/src/internal/models/UploadFileModel.ts @@ -0,0 +1,100 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Juno + * Juno Public API Docs + * + * The version of the OpenAPI document: 1.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'; +/** + * + * @export + * @interface UploadFileModel + */ +export interface UploadFileModel { + /** + * Name of file + * @type {string} + * @memberof UploadFileModel + */ + fileName: string; + /** + * Name of bucket. + * @type {string} + * @memberof UploadFileModel + */ + bucketName: string; + /** + * Name of file provider + * @type {string} + * @memberof UploadFileModel + */ + providerName: string; + /** + * File's configId + * @type {number} + * @memberof UploadFileModel + */ + configId: number; + /** + * File provider's region + * @type {string} + * @memberof UploadFileModel + */ + region?: string; +} + +/** + * Check if a given object implements the UploadFileModel interface. + */ +export function instanceOfUploadFileModel( + value: object +): value is UploadFileModel { + if (!('fileName' in value) || value['fileName'] === undefined) return false; + if (!('bucketName' in value) || value['bucketName'] === undefined) + return false; + if (!('providerName' in value) || value['providerName'] === undefined) + return false; + if (!('configId' in value) || value['configId'] === undefined) return false; + return true; +} + +export function UploadFileModelFromJSON(json: any): UploadFileModel { + return UploadFileModelFromJSONTyped(json, false); +} + +export function UploadFileModelFromJSONTyped( + json: any, + ignoreDiscriminator: boolean +): UploadFileModel { + if (json == null) { + return json; + } + return { + fileName: json['fileName'], + bucketName: json['bucketName'], + providerName: json['providerName'], + configId: json['configId'], + region: json['region'] == null ? undefined : json['region'], + }; +} + +export function UploadFileModelToJSON(value?: UploadFileModel | null): any { + if (value == null) { + return value; + } + return { + fileName: value['fileName'], + bucketName: value['bucketName'], + providerName: value['providerName'], + configId: value['configId'], + region: value['region'], + }; +} diff --git a/src/internal/models/UploadFileResponse.ts b/src/internal/models/UploadFileResponse.ts new file mode 100644 index 0000000..2bcde70 --- /dev/null +++ b/src/internal/models/UploadFileResponse.ts @@ -0,0 +1,65 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Juno + * Juno Public API Docs + * + * The version of the OpenAPI document: 1.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'; +/** + * + * @export + * @interface UploadFileResponse + */ +export interface UploadFileResponse { + /** + * Pre-signed URL used in file upload + * @type {string} + * @memberof UploadFileResponse + */ + url: string; +} + +/** + * Check if a given object implements the UploadFileResponse interface. + */ +export function instanceOfUploadFileResponse( + value: object +): value is UploadFileResponse { + if (!('url' in value) || value['url'] === undefined) return false; + return true; +} + +export function UploadFileResponseFromJSON(json: any): UploadFileResponse { + return UploadFileResponseFromJSONTyped(json, false); +} + +export function UploadFileResponseFromJSONTyped( + json: any, + ignoreDiscriminator: boolean +): UploadFileResponse { + if (json == null) { + return json; + } + return { + url: json['url'], + }; +} + +export function UploadFileResponseToJSON( + value?: UploadFileResponse | null +): any { + if (value == null) { + return value; + } + return { + url: value['url'], + }; +} diff --git a/src/internal/models/UserResponse.ts b/src/internal/models/UserResponse.ts new file mode 100644 index 0000000..ab55ed3 --- /dev/null +++ b/src/internal/models/UserResponse.ts @@ -0,0 +1,110 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Juno + * Juno Public API Docs + * + * The version of the OpenAPI document: 1.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'; +/** + * + * @export + * @interface UserResponse + */ +export interface UserResponse { + /** + * User id + * @type {number} + * @memberof UserResponse + */ + id: number; + /** + * User email + * @type {string} + * @memberof UserResponse + */ + email: string; + /** + * User name + * @type {string} + * @memberof UserResponse + */ + name: string; + /** + * User type + * @type {number} + * @memberof UserResponse + */ + type: UserResponseTypeEnum; + /** + * Project IDs associated with user + * @type {Array} + * @memberof UserResponse + */ + projectIds: Array; +} + +/** + * @export + */ +export const UserResponseTypeEnum = { + NUMBER_0: 0, + NUMBER_1: 1, + NUMBER_2: 2, + NUMBER_MINUS_1: -1, +} as const; +export type UserResponseTypeEnum = + (typeof UserResponseTypeEnum)[keyof typeof UserResponseTypeEnum]; + +/** + * Check if a given object implements the UserResponse interface. + */ +export function instanceOfUserResponse(value: object): value is UserResponse { + if (!('id' in value) || value['id'] === undefined) return false; + if (!('email' in value) || value['email'] === undefined) return false; + if (!('name' in value) || value['name'] === undefined) return false; + if (!('type' in value) || value['type'] === undefined) return false; + if (!('projectIds' in value) || value['projectIds'] === undefined) + return false; + return true; +} + +export function UserResponseFromJSON(json: any): UserResponse { + return UserResponseFromJSONTyped(json, false); +} + +export function UserResponseFromJSONTyped( + json: any, + ignoreDiscriminator: boolean +): UserResponse { + if (json == null) { + return json; + } + return { + id: json['id'], + email: json['email'], + name: json['name'], + type: json['type'], + projectIds: json['projectIds'], + }; +} + +export function UserResponseToJSON(value?: UserResponse | null): any { + if (value == null) { + return value; + } + return { + id: value['id'], + email: value['email'], + name: value['name'], + type: value['type'], + projectIds: value['projectIds'], + }; +} diff --git a/src/internal/models/UserResponses.ts b/src/internal/models/UserResponses.ts new file mode 100644 index 0000000..3e30daf --- /dev/null +++ b/src/internal/models/UserResponses.ts @@ -0,0 +1,68 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Juno + * Juno Public API Docs + * + * The version of the OpenAPI document: 1.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 { UserResponse } from './UserResponse'; +import { + UserResponseFromJSON, + UserResponseFromJSONTyped, + UserResponseToJSON, +} from './UserResponse'; + +/** + * + * @export + * @interface UserResponses + */ +export interface UserResponses { + /** + * List of Users + * @type {Array} + * @memberof UserResponses + */ + users: Array; +} + +/** + * Check if a given object implements the UserResponses interface. + */ +export function instanceOfUserResponses(value: object): value is UserResponses { + if (!('users' in value) || value['users'] === undefined) return false; + return true; +} + +export function UserResponsesFromJSON(json: any): UserResponses { + return UserResponsesFromJSONTyped(json, false); +} + +export function UserResponsesFromJSONTyped( + json: any, + ignoreDiscriminator: boolean +): UserResponses { + if (json == null) { + return json; + } + return { + users: (json['users'] as Array).map(UserResponseFromJSON), + }; +} + +export function UserResponsesToJSON(value?: UserResponses | null): any { + if (value == null) { + return value; + } + return { + users: (value['users'] as Array).map(UserResponseToJSON), + }; +} diff --git a/src/internal/models/VerifyDomainModel.ts b/src/internal/models/VerifyDomainModel.ts new file mode 100644 index 0000000..124a7f3 --- /dev/null +++ b/src/internal/models/VerifyDomainModel.ts @@ -0,0 +1,63 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Juno + * Juno Public API Docs + * + * The version of the OpenAPI document: 1.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'; +/** + * + * @export + * @interface VerifyDomainModel + */ +export interface VerifyDomainModel { + /** + * Domain to be verified + * @type {string} + * @memberof VerifyDomainModel + */ + domain: string; +} + +/** + * Check if a given object implements the VerifyDomainModel interface. + */ +export function instanceOfVerifyDomainModel( + value: object +): value is VerifyDomainModel { + if (!('domain' in value) || value['domain'] === undefined) return false; + return true; +} + +export function VerifyDomainModelFromJSON(json: any): VerifyDomainModel { + return VerifyDomainModelFromJSONTyped(json, false); +} + +export function VerifyDomainModelFromJSONTyped( + json: any, + ignoreDiscriminator: boolean +): VerifyDomainModel { + if (json == null) { + return json; + } + return { + domain: json['domain'], + }; +} + +export function VerifyDomainModelToJSON(value?: VerifyDomainModel | null): any { + if (value == null) { + return value; + } + return { + domain: value['domain'], + }; +} diff --git a/src/internal/models/VisitEventProperties.ts b/src/internal/models/VisitEventProperties.ts new file mode 100644 index 0000000..1f49c3c --- /dev/null +++ b/src/internal/models/VisitEventProperties.ts @@ -0,0 +1,74 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Juno + * Juno Public API Docs + * + * The version of the OpenAPI document: 1.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'; +/** + * + * @export + * @interface VisitEventProperties + */ +export interface VisitEventProperties { + /** + * Page URL + * @type {string} + * @memberof VisitEventProperties + */ + pageUrl: string; + /** + * User ID + * @type {string} + * @memberof VisitEventProperties + */ + userId: string; +} + +/** + * Check if a given object implements the VisitEventProperties interface. + */ +export function instanceOfVisitEventProperties( + value: object +): value is VisitEventProperties { + if (!('pageUrl' in value) || value['pageUrl'] === undefined) return false; + if (!('userId' in value) || value['userId'] === undefined) return false; + return true; +} + +export function VisitEventPropertiesFromJSON(json: any): VisitEventProperties { + return VisitEventPropertiesFromJSONTyped(json, false); +} + +export function VisitEventPropertiesFromJSONTyped( + json: any, + ignoreDiscriminator: boolean +): VisitEventProperties { + if (json == null) { + return json; + } + return { + pageUrl: json['pageUrl'], + userId: json['userId'], + }; +} + +export function VisitEventPropertiesToJSON( + value?: VisitEventProperties | null +): any { + if (value == null) { + return value; + } + return { + pageUrl: value['pageUrl'], + userId: value['userId'], + }; +} diff --git a/src/internal/models/VisitEventResponse.ts b/src/internal/models/VisitEventResponse.ts new file mode 100644 index 0000000..2977a3f --- /dev/null +++ b/src/internal/models/VisitEventResponse.ts @@ -0,0 +1,138 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Juno + * Juno Public API Docs + * + * The version of the OpenAPI document: 1.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 { VisitEventProperties } from './VisitEventProperties'; +import { + VisitEventPropertiesFromJSON, + VisitEventPropertiesFromJSONTyped, + VisitEventPropertiesToJSON, +} from './VisitEventProperties'; + +/** + * + * @export + * @interface VisitEventResponse + */ +export interface VisitEventResponse { + /** + * Event ID + * @type {string} + * @memberof VisitEventResponse + */ + id: string; + /** + * Event category + * @type {string} + * @memberof VisitEventResponse + */ + category: string; + /** + * Event subcategory + * @type {string} + * @memberof VisitEventResponse + */ + subcategory: string; + /** + * Project ID + * @type {string} + * @memberof VisitEventResponse + */ + projectId: string; + /** + * Environment + * @type {string} + * @memberof VisitEventResponse + */ + environment: string; + /** + * Created timestamp + * @type {string} + * @memberof VisitEventResponse + */ + createdAt: string; + /** + * Updated timestamp + * @type {string} + * @memberof VisitEventResponse + */ + updatedAt: string; + /** + * Event properties + * @type {VisitEventProperties} + * @memberof VisitEventResponse + */ + eventProperties: VisitEventProperties; +} + +/** + * Check if a given object implements the VisitEventResponse interface. + */ +export function instanceOfVisitEventResponse( + value: object +): value is VisitEventResponse { + if (!('id' in value) || value['id'] === undefined) return false; + if (!('category' in value) || value['category'] === undefined) return false; + if (!('subcategory' in value) || value['subcategory'] === undefined) + return false; + if (!('projectId' in value) || value['projectId'] === undefined) return false; + if (!('environment' in value) || value['environment'] === undefined) + return false; + if (!('createdAt' in value) || value['createdAt'] === undefined) return false; + if (!('updatedAt' in value) || value['updatedAt'] === undefined) return false; + if (!('eventProperties' in value) || value['eventProperties'] === undefined) + return false; + return true; +} + +export function VisitEventResponseFromJSON(json: any): VisitEventResponse { + return VisitEventResponseFromJSONTyped(json, false); +} + +export function VisitEventResponseFromJSONTyped( + json: any, + ignoreDiscriminator: boolean +): VisitEventResponse { + if (json == null) { + return json; + } + return { + id: json['id'], + category: json['category'], + subcategory: json['subcategory'], + projectId: json['projectId'], + environment: json['environment'], + createdAt: json['createdAt'], + updatedAt: json['updatedAt'], + eventProperties: VisitEventPropertiesFromJSON(json['eventProperties']), + }; +} + +export function VisitEventResponseToJSON( + value?: VisitEventResponse | null +): any { + if (value == null) { + return value; + } + return { + id: value['id'], + category: value['category'], + subcategory: value['subcategory'], + projectId: value['projectId'], + environment: value['environment'], + createdAt: value['createdAt'], + updatedAt: value['updatedAt'], + eventProperties: VisitEventPropertiesToJSON(value['eventProperties']), + }; +} diff --git a/src/internal/models/index.ts b/src/internal/models/index.ts new file mode 100644 index 0000000..bb099d7 --- /dev/null +++ b/src/internal/models/index.ts @@ -0,0 +1,78 @@ +/* tslint:disable */ +/* eslint-disable */ +export * from './AccessKey'; +export * from './AggregateInterval'; +export * from './AnalyticsConfigResponse'; +export * from './ClickEventProperties'; +export * from './ClickEventResponse'; +export * from './CreateAnalyticsConfigModel'; +export * from './CreateProjectModel'; +export * from './CreateUserModel'; +export * from './CustomEventResponse'; +export * from './CustomEventTypeResponse'; +export * from './CustomGraphType'; +export * from './CustomGraphTypeResponse'; +export * from './DeleteFileBucketModel'; +export * from './DownloadFileModel'; +export * from './DownloadFileResponse'; +export * from './EmailConfigResponse'; +export * from './EmailContent'; +export * from './EmailDomain'; +export * from './EmailRecipient'; +export * from './EmailSender'; +export * from './EmailSenderSendEmailModel'; +export * from './FileBucket'; +export * from './FileConfigResponse'; +export * from './FileProvider'; +export * from './FileProviderPartial'; +export * from './GetAllClickEventsResponse'; +export * from './GetAllCustomEventTypeResponse'; +export * from './GetAllCustomEventsResponse'; +export * from './GetAllInputEventsResponse'; +export * from './GetAllVisitEventsResponse'; +export * from './GetClickEventsResponse'; +export * from './GetCustomEventsResponse'; +export * from './GetInputEventsResponse'; +export * from './GetVisitEventsResponse'; +export * from './InputEventProperties'; +export * from './InputEventResponse'; +export * from './IssueApiKeyRequest'; +export * from './IssueApiKeyResponse'; +export * from './IssueJWTResponse'; +export * from './LinkProjectModel'; +export * from './LinkUserModel'; +export * from './LogClickEventRequest'; +export * from './LogCustomEventRequest'; +export * from './LogInputEventRequest'; +export * from './LogVisitEventRequest'; +export * from './ModelFile'; +export * from './NewAccountRequestResponse'; +export * from './NewAccountRequestsResponse'; +export * from './ProjectResponse'; +export * from './ProjectResponses'; +export * from './RegisterDomainModel'; +export * from './RegisterDomainResponse'; +export * from './RegisterEmailModel'; +export * from './RegisterEmailResponse'; +export * from './RegisterFileBucketModel'; +export * from './RegisterFileProviderModel'; +export * from './RequestNewAccountModel'; +export * from './SendEmailModel'; +export * from './SendEmailResponse'; +export * from './SendEmailStatisticsResponse'; +export * from './SendEmailStatisticsResponses'; +export * from './SendGridDNSRecord'; +export * from './SendGridDNSResponse'; +export * from './SetUserTypeModel'; +export * from './SetupEmailResponse'; +export * from './SetupEmailServiceModel'; +export * from './SetupFileServiceResponse'; +export * from './UnlinkProjectModel'; +export * from './UpdateAnalyticsConfigModel'; +export * from './UploadFileModel'; +export * from './UploadFileResponse'; +export * from './UserResponse'; +export * from './UserResponses'; +export * from './VerifyDomainModel'; +export * from './VisitEventProperties'; +export * from './VisitEventResponse'; diff --git a/src/internal/runtime.ts b/src/internal/runtime.ts new file mode 100644 index 0000000..db6bcf8 --- /dev/null +++ b/src/internal/runtime.ts @@ -0,0 +1,517 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Juno + * Juno Public API Docs + * + * The version of the OpenAPI document: 1.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +export const BASE_PATH = 'http://localhost'.replace(/\/+$/, ''); + +export interface ConfigurationParameters { + basePath?: string; // override base path + fetchApi?: FetchAPI; // override for fetch implementation + middleware?: Middleware[]; // middleware to apply before/after fetch requests + queryParamsStringify?: (params: HTTPQuery) => string; // stringify function for query strings + username?: string; // parameter for basic security + password?: string; // parameter for basic security + apiKey?: + | string + | Promise + | ((name: string) => string | Promise); // parameter for apiKey security + accessToken?: + | string + | Promise + | ((name?: string, scopes?: string[]) => string | Promise); // parameter for oauth2 security + headers?: HTTPHeaders; //header params we want to use on every request + credentials?: RequestCredentials; //value for the credentials param we want to use on each request +} + +export class Configuration { + constructor(private configuration: ConfigurationParameters = {}) {} + + set config(configuration: Configuration) { + this.configuration = configuration; + } + + get basePath(): string { + return this.configuration.basePath != null + ? this.configuration.basePath + : BASE_PATH; + } + + get fetchApi(): FetchAPI | undefined { + return this.configuration.fetchApi; + } + + get middleware(): Middleware[] { + return this.configuration.middleware || []; + } + + get queryParamsStringify(): (params: HTTPQuery) => string { + return this.configuration.queryParamsStringify || querystring; + } + + get username(): string | undefined { + return this.configuration.username; + } + + get password(): string | undefined { + return this.configuration.password; + } + + get apiKey(): ((name: string) => string | Promise) | undefined { + const apiKey = this.configuration.apiKey; + if (apiKey) { + return typeof apiKey === 'function' ? apiKey : () => apiKey; + } + return undefined; + } + + get accessToken(): + | ((name?: string, scopes?: string[]) => string | Promise) + | undefined { + const accessToken = this.configuration.accessToken; + if (accessToken) { + return typeof accessToken === 'function' + ? accessToken + : async () => accessToken; + } + return undefined; + } + + get headers(): HTTPHeaders | undefined { + return this.configuration.headers; + } + + get credentials(): RequestCredentials | undefined { + return this.configuration.credentials; + } +} + +export const DefaultConfig = new Configuration(); + +/** + * This is the base class for all generated API classes. + */ +export class BaseAPI { + private static readonly jsonRegex = new RegExp( + '^(:?application/json|[^;/ \t]+/[^;/ \t]+[+]json)[ \t]*(:?;.*)?$', + 'i' + ); + private middleware: Middleware[]; + + constructor(protected configuration = DefaultConfig) { + this.middleware = configuration.middleware; + } + + withMiddleware(this: T, ...middlewares: Middleware[]) { + const next = this.clone(); + next.middleware = next.middleware.concat(...middlewares); + return next; + } + + withPreMiddleware( + this: T, + ...preMiddlewares: Array + ) { + const middlewares = preMiddlewares.map((pre) => ({ pre })); + return this.withMiddleware(...middlewares); + } + + withPostMiddleware( + this: T, + ...postMiddlewares: Array + ) { + const middlewares = postMiddlewares.map((post) => ({ post })); + return this.withMiddleware(...middlewares); + } + + /** + * Check if the given MIME is a JSON MIME. + * JSON MIME examples: + * application/json + * application/json; charset=UTF8 + * APPLICATION/JSON + * application/vnd.company+json + * @param mime - MIME (Multipurpose Internet Mail Extensions) + * @return True if the given MIME is JSON, false otherwise. + */ + protected isJsonMime(mime: string | null | undefined): boolean { + if (!mime) { + return false; + } + return BaseAPI.jsonRegex.test(mime); + } + + protected async request( + context: RequestOpts, + initOverrides?: RequestInit | InitOverrideFunction + ): Promise { + const { url, init } = await this.createFetchParams(context, initOverrides); + const response = await this.fetchApi(url, init); + if (response && response.status >= 200 && response.status < 300) { + return response; + } + throw new ResponseError(response, 'Response returned an error code'); + } + + private async createFetchParams( + context: RequestOpts, + initOverrides?: RequestInit | InitOverrideFunction + ) { + let url = this.configuration.basePath + context.path; + if ( + context.query !== undefined && + Object.keys(context.query).length !== 0 + ) { + // only add the querystring to the URL if there are query parameters. + // this is done to avoid urls ending with a "?" character which buggy webservers + // do not handle correctly sometimes. + url += '?' + this.configuration.queryParamsStringify(context.query); + } + + const headers = Object.assign( + {}, + this.configuration.headers, + context.headers + ); + Object.keys(headers).forEach((key) => + headers[key] === undefined ? delete headers[key] : {} + ); + + const initOverrideFn = + typeof initOverrides === 'function' + ? initOverrides + : async () => initOverrides; + + const initParams = { + method: context.method, + headers, + body: context.body, + credentials: this.configuration.credentials, + }; + + const overriddenInit: RequestInit = { + ...initParams, + ...(await initOverrideFn({ + init: initParams, + context, + })), + }; + + let body: any; + if ( + isFormData(overriddenInit.body) || + overriddenInit.body instanceof URLSearchParams || + isBlob(overriddenInit.body) + ) { + body = overriddenInit.body; + } else if (this.isJsonMime(headers['Content-Type'])) { + body = JSON.stringify(overriddenInit.body); + } else { + body = overriddenInit.body; + } + + const init: RequestInit = { + ...overriddenInit, + body, + }; + + return { url, init }; + } + + private fetchApi = async (url: string, init: RequestInit) => { + let fetchParams = { url, init }; + for (const middleware of this.middleware) { + if (middleware.pre) { + fetchParams = + (await middleware.pre({ + fetch: this.fetchApi, + ...fetchParams, + })) || fetchParams; + } + } + let response: Response | undefined = undefined; + try { + response = await (this.configuration.fetchApi || fetch)( + fetchParams.url, + fetchParams.init + ); + } catch (e) { + for (const middleware of this.middleware) { + if (middleware.onError) { + response = + (await middleware.onError({ + fetch: this.fetchApi, + url: fetchParams.url, + init: fetchParams.init, + error: e, + response: response ? response.clone() : undefined, + })) || response; + } + } + if (response === undefined) { + if (e instanceof Error) { + throw new FetchError( + e, + 'The request failed and the interceptors did not return an alternative response' + ); + } else { + throw e; + } + } + } + for (const middleware of this.middleware) { + if (middleware.post) { + response = + (await middleware.post({ + fetch: this.fetchApi, + url: fetchParams.url, + init: fetchParams.init, + response: response.clone(), + })) || response; + } + } + return response; + }; + + /** + * Create a shallow clone of `this` by constructing a new instance + * and then shallow cloning data members. + */ + private clone(this: T): T { + const constructor = this.constructor as any; + const next = new constructor(this.configuration); + next.middleware = this.middleware.slice(); + return next; + } +} + +function isBlob(value: any): value is Blob { + return typeof Blob !== 'undefined' && value instanceof Blob; +} + +function isFormData(value: any): value is FormData { + return typeof FormData !== 'undefined' && value instanceof FormData; +} + +export class ResponseError extends Error { + override name: 'ResponseError' = 'ResponseError'; + constructor(public response: Response, msg?: string) { + super(msg); + } +} + +export class FetchError extends Error { + override name: 'FetchError' = 'FetchError'; + constructor(public cause: Error, msg?: string) { + super(msg); + } +} + +export class RequiredError extends Error { + override name: 'RequiredError' = 'RequiredError'; + constructor(public field: string, msg?: string) { + super(msg); + } +} + +export const COLLECTION_FORMATS = { + csv: ',', + ssv: ' ', + tsv: '\t', + pipes: '|', +}; + +export type FetchAPI = WindowOrWorkerGlobalScope['fetch']; + +export type Json = any; +export type HTTPMethod = + | 'GET' + | 'POST' + | 'PUT' + | 'PATCH' + | 'DELETE' + | 'OPTIONS' + | 'HEAD'; +export type HTTPHeaders = { [key: string]: string }; +export type HTTPQuery = { + [key: string]: + | string + | number + | null + | boolean + | Array + | Set + | HTTPQuery; +}; +export type HTTPBody = Json | FormData | URLSearchParams; +export type HTTPRequestInit = { + headers?: HTTPHeaders; + method: HTTPMethod; + credentials?: RequestCredentials; + body?: HTTPBody; +}; +export type ModelPropertyNaming = + | 'camelCase' + | 'snake_case' + | 'PascalCase' + | 'original'; + +export type InitOverrideFunction = (requestContext: { + init: HTTPRequestInit; + context: RequestOpts; +}) => Promise; + +export interface FetchParams { + url: string; + init: RequestInit; +} + +export interface RequestOpts { + path: string; + method: HTTPMethod; + headers: HTTPHeaders; + query?: HTTPQuery; + body?: HTTPBody; +} + +export function querystring(params: HTTPQuery, prefix: string = ''): string { + return Object.keys(params) + .map((key) => querystringSingleKey(key, params[key], prefix)) + .filter((part) => part.length > 0) + .join('&'); +} + +function querystringSingleKey( + key: string, + value: + | string + | number + | null + | undefined + | boolean + | Array + | Set + | HTTPQuery, + keyPrefix: string = '' +): string { + const fullKey = keyPrefix + (keyPrefix.length ? `[${key}]` : key); + if (value instanceof Array) { + const multiValue = value + .map((singleValue) => encodeURIComponent(String(singleValue))) + .join(`&${encodeURIComponent(fullKey)}=`); + return `${encodeURIComponent(fullKey)}=${multiValue}`; + } + if (value instanceof Set) { + const valueAsArray = Array.from(value); + return querystringSingleKey(key, valueAsArray, keyPrefix); + } + if (value instanceof Date) { + return `${encodeURIComponent(fullKey)}=${encodeURIComponent( + value.toISOString() + )}`; + } + if (value instanceof Object) { + return querystring(value as HTTPQuery, fullKey); + } + return `${encodeURIComponent(fullKey)}=${encodeURIComponent(String(value))}`; +} + +export function mapValues(data: any, fn: (item: any) => any) { + return Object.keys(data).reduce( + (acc, key) => ({ ...acc, [key]: fn(data[key]) }), + {} + ); +} + +export function canConsumeForm(consumes: Consume[]): boolean { + for (const consume of consumes) { + if ('multipart/form-data' === consume.contentType) { + return true; + } + } + return false; +} + +export interface Consume { + contentType: string; +} + +export interface RequestContext { + fetch: FetchAPI; + url: string; + init: RequestInit; +} + +export interface ResponseContext { + fetch: FetchAPI; + url: string; + init: RequestInit; + response: Response; +} + +export interface ErrorContext { + fetch: FetchAPI; + url: string; + init: RequestInit; + error: unknown; + response?: Response; +} + +export interface Middleware { + pre?(context: RequestContext): Promise; + post?(context: ResponseContext): Promise; + onError?(context: ErrorContext): Promise; +} + +export interface ApiResponse { + raw: Response; + value(): Promise; +} + +export interface ResponseTransformer { + (json: any): T; +} + +export class JSONApiResponse { + constructor( + public raw: Response, + private transformer: ResponseTransformer = (jsonValue: any) => jsonValue + ) {} + + async value(): Promise { + return this.transformer(await this.raw.json()); + } +} + +export class VoidApiResponse { + constructor(public raw: Response) {} + + async value(): Promise { + return undefined; + } +} + +export class BlobApiResponse { + constructor(public raw: Response) {} + + async value(): Promise { + return await this.raw.blob(); + } +} + +export class TextApiResponse { + constructor(public raw: Response) {} + + async value(): Promise { + return await this.raw.text(); + } +} diff --git a/src/lib/analytics.ts b/src/lib/analytics.ts index 41703e8..e67dd26 100644 --- a/src/lib/analytics.ts +++ b/src/lib/analytics.ts @@ -1,5 +1,6 @@ import { AnalyticsApi, + Configuration, ClickEventResponse, CustomEventResponse, GetAllCustomEventTypeResponse, @@ -18,15 +19,16 @@ import { LogInputEventRequest, LogVisitEventRequest, VisitEventResponse, -} from '../internal/api'; +} from '../internal/index'; import { ApiCredentials } from './apiCredentials'; import { validateString } from './validators'; export class AnalyticsAPI { private internalApi: AnalyticsApi; constructor(baseURL?: string, apiKey?: string) { - this.internalApi = new AnalyticsApi(baseURL); - this.internalApi.accessToken = apiKey; + this.internalApi = new AnalyticsApi( + new Configuration({ basePath: baseURL, accessToken: apiKey }) + ); } async logClickEvent( @@ -42,8 +44,9 @@ export class AnalyticsAPI { 'The userId must be provided as an input and has to be nonempty.' ); - const res = await this.internalApi.analyticsControllerLogClickEvent(event); - return res.body; + return await this.internalApi.analyticsControllerLogClickEvent({ + logClickEventRequest: event, + }); } async getClickEventsPaginated(event: { @@ -59,15 +62,13 @@ export class AnalyticsAPI { 'The projectName must be provided as an input and has to be nonempty.' ); - const res = - await this.internalApi.analyticsControllerGetClickEventsPaginated( - projectName, - afterId, - environment, - limit, - afterTime - ); - return res.body; + return await this.internalApi.analyticsControllerGetClickEventsPaginated({ + projectName, + afterId, + environment, + limit, + afterTime, + }); } async logVisitEvent( @@ -83,8 +84,9 @@ export class AnalyticsAPI { 'The userId must be provided as an input and has to be nonempty.' ); - const res = await this.internalApi.analyticsControllerLogVisitEvent(event); - return res.body; + return await this.internalApi.analyticsControllerLogVisitEvent({ + logVisitEventRequest: event, + }); } async getVisitEventsPaginated(event: { @@ -100,15 +102,13 @@ export class AnalyticsAPI { 'The projectName must be provided as an input and has to be nonempty.' ); - const res = - await this.internalApi.analyticsControllerGetVisitEventsPaginated( - projectName, - afterId, - environment, - limit, - afterTime - ); - return res.body; + return await this.internalApi.analyticsControllerGetVisitEventsPaginated({ + projectName, + afterId, + environment, + limit, + afterTime, + }); } async logInputEvent( @@ -124,8 +124,9 @@ export class AnalyticsAPI { 'The userId must be provided as an input and has to be nonempty.' ); - const res = await this.internalApi.analyticsControllerLogInputEvent(event); - return res.body; + return await this.internalApi.analyticsControllerLogInputEvent({ + logInputEventRequest: event, + }); } async getInputEventsPaginated(event: { @@ -141,15 +142,13 @@ export class AnalyticsAPI { 'The projectName must be provided as an input and has to be nonempty.' ); - const res = - await this.internalApi.analyticsControllerGetInputEventsPaginated( - projectName, - afterId, - environment, - limit, - afterTime - ); - return res.body; + return await this.internalApi.analyticsControllerGetInputEventsPaginated({ + projectName, + afterId, + environment, + limit, + afterTime, + }); } async logCustomEvent( @@ -165,8 +164,9 @@ export class AnalyticsAPI { 'The subcategory must be provided as an input and has to be nonempty.' ); - const res = await this.internalApi.analyticsControllerLogCustomEvent(event); - return res.body; + return await this.internalApi.analyticsControllerLogCustomEvent({ + logCustomEventRequest: event, + }); } async getCustomEventsPaginated(event: { @@ -203,17 +203,15 @@ export class AnalyticsAPI { 'The subcategory must be provided as an input and has to be nonempty.' ); - const res = - await this.internalApi.analyticsControllerGetCustomEventsPaginated( - projectName, - category, - subcategory, - afterId, - environment, - limit, - afterTime - ); - return res.body; + return await this.internalApi.analyticsControllerGetCustomEventsPaginated({ + projectName, + category, + subcategory, + afterId, + environment, + limit, + afterTime, + }); } async getCustomEventTypesByProject( @@ -225,7 +223,7 @@ export class AnalyticsAPI { 'The projectName must be provided as an input and has to be nonempty.' ); - const headers: any = {}; + const headers: Record = {}; if (credentials?.userJwt) { headers['X-User-JWT'] = credentials.userJwt; } @@ -236,12 +234,12 @@ export class AnalyticsAPI { headers['X-Project-Id'] = String(credentials.projectId); } - const res = await this.internalApi.analyticsControllerGetCustomEventTypes( - projectName, - { headers } + return await this.internalApi.analyticsControllerGetCustomEventTypes( + { projectName }, + async ({ init }) => ({ + headers: { ...(init.headers as Record), ...headers }, + }) ); - - return res.body; } async getCustomGraphTypesById(data: { @@ -259,13 +257,10 @@ export class AnalyticsAPI { 'The eventTypeId must be provided as an input and has to be nonempty.' ); - const res = - await this.internalApi.analyticsControllerGetCustomGraphTypesById( - projectName, - eventTypeId - ); - - return res.body; + return await this.internalApi.analyticsControllerGetCustomGraphTypesById({ + projectName, + eventTypeId, + }); } async getAllClickEvents( @@ -283,7 +278,7 @@ export class AnalyticsAPI { 'The projectName must be provided as an input and has to be nonempty.' ); - const headers: any = {}; + const headers: Record = {}; if (credentials?.userJwt) { headers['X-User-JWT'] = credentials.userJwt; } @@ -294,13 +289,12 @@ export class AnalyticsAPI { headers['X-Project-Id'] = String(credentials.projectId); } - const res = await this.internalApi.analyticsControllerGetAllClickEvents( - projectName, - afterTime, - limit, - { headers } + return await this.internalApi.analyticsControllerGetAllClickEvents( + { projectName, afterTime, limit }, + async ({ init }) => ({ + headers: { ...(init.headers as Record), ...headers }, + }) ); - return res.body; } async getAllVisitEvents( @@ -318,7 +312,7 @@ export class AnalyticsAPI { 'The projectName must be provided as an input and has to be nonempty.' ); - const headers: any = {}; + const headers: Record = {}; if (credentials?.userJwt) { headers['X-User-JWT'] = credentials.userJwt; } @@ -329,13 +323,12 @@ export class AnalyticsAPI { headers['X-Project-Id'] = String(credentials.projectId); } - const res = await this.internalApi.analyticsControllerGetAllVisitEvents( - projectName, - afterTime, - limit, - { headers } + return await this.internalApi.analyticsControllerGetAllVisitEvents( + { projectName, afterTime, limit }, + async ({ init }) => ({ + headers: { ...(init.headers as Record), ...headers }, + }) ); - return res.body; } async getAllInputEvents( @@ -353,7 +346,7 @@ export class AnalyticsAPI { 'The projectName must be provided as an input and has to be nonempty.' ); - const headers: any = {}; + const headers: Record = {}; if (credentials?.userJwt) { headers['X-User-JWT'] = credentials.userJwt; } @@ -364,13 +357,12 @@ export class AnalyticsAPI { headers['X-Project-Id'] = String(credentials.projectId); } - const res = await this.internalApi.analyticsControllerGetAllInputEvents( - projectName, - afterTime, - limit, - { headers } + return await this.internalApi.analyticsControllerGetAllInputEvents( + { projectName, afterTime, limit }, + async ({ init }) => ({ + headers: { ...(init.headers as Record), ...headers }, + }) ); - return res.body; } async getAllCustomEvents( @@ -400,7 +392,7 @@ export class AnalyticsAPI { 'The subcategory must be provided as an input and has to be nonempty.' ); - const headers: any = {}; + const headers: Record = {}; if (credentials?.userJwt) { headers['X-User-JWT'] = credentials.userJwt; } @@ -411,14 +403,11 @@ export class AnalyticsAPI { headers['X-Project-Id'] = String(credentials.projectId); } - const res = await this.internalApi.analyticsControllerGetAllCustomEvents( - projectName, - category, - subcategory, - afterTime, - limit, - { headers } + return await this.internalApi.analyticsControllerGetAllCustomEvents( + { projectName, category, subcategory, afterTime, limit }, + async ({ init }) => ({ + headers: { ...(init.headers as Record), ...headers }, + }) ); - return res.body; } } diff --git a/src/lib/analyticsConfig.ts b/src/lib/analyticsConfig.ts index 5deb748..4464375 100644 --- a/src/lib/analyticsConfig.ts +++ b/src/lib/analyticsConfig.ts @@ -1,17 +1,19 @@ import { AnalyticsConfigApi, + Configuration, AnalyticsConfigResponse, CreateAnalyticsConfigModel, UpdateAnalyticsConfigModel, -} from '../internal/api'; +} from '../internal/index'; import { ApiCredentials } from './apiCredentials'; import { validateString } from './validators'; export class AnalyticsConfigAPI { private internalApi: AnalyticsConfigApi; constructor(baseURL?: string, apiKey?: string) { - this.internalApi = new AnalyticsConfigApi(baseURL); - this.internalApi.accessToken = apiKey; + this.internalApi = new AnalyticsConfigApi( + new Configuration({ basePath: baseURL, accessToken: apiKey }) + ); } async createAnalyticsConfig( @@ -28,7 +30,7 @@ export class AnalyticsConfigAPI { 'The serverAnalyticsKey must be provided as an input and has to be nonempty.' ); - const headers: any = {}; + const headers: Record = {}; if (credentials?.userJwt) { headers['X-User-JWT'] = credentials.userJwt; } @@ -39,12 +41,12 @@ export class AnalyticsConfigAPI { headers['X-Project-Id'] = String(credentials.projectId); } - const res = - await this.internalApi.analyticsConfigControllerCreateAnalyticsConfig( - config, - { headers } - ); - return res.body; + return await this.internalApi.analyticsConfigControllerCreateAnalyticsConfig( + { createAnalyticsConfigModel: config }, + async ({ init }) => ({ + headers: { ...(init.headers as Record), ...headers }, + }) + ); } async getAnalyticsConfig( @@ -56,7 +58,7 @@ export class AnalyticsConfigAPI { 'The projectId must be provided as an input and has to be nonempty.' ); - const headers: any = {}; + const headers: Record = {}; if (credentials?.userJwt) { headers['X-User-JWT'] = credentials.userJwt; } @@ -64,12 +66,12 @@ export class AnalyticsConfigAPI { headers['X-Project-Id'] = String(credentials.projectId); } - const res = - await this.internalApi.analyticsConfigControllerGetAnalyticsConfig( - projectId, - { headers } - ); - return res.body; + return await this.internalApi.analyticsConfigControllerGetAnalyticsConfig( + { projectId }, + async ({ init }) => ({ + headers: { ...(init.headers as Record), ...headers }, + }) + ); } async updateAnalyticsConfig( @@ -81,12 +83,12 @@ export class AnalyticsConfigAPI { 'The projectId must be provided as an input and has to be nonempty.' ); - const res = - await this.internalApi.analyticsConfigControllerUpdateAnalyticsConfig( + return await this.internalApi.analyticsConfigControllerUpdateAnalyticsConfig( + { projectId, - config - ); - return res.body; + updateAnalyticsConfigModel: config, + } + ); } async deleteAnalyticsConfig( @@ -97,10 +99,8 @@ export class AnalyticsConfigAPI { 'The projectId must be provided as an input and has to be nonempty.' ); - const res = - await this.internalApi.analyticsConfigControllerDeleteAnalyticsConfig( - projectId - ); - return res.body; + return await this.internalApi.analyticsConfigControllerDeleteAnalyticsConfig( + { projectId } + ); } } diff --git a/src/lib/auth.ts b/src/lib/auth.ts index e3b8231..93830e9 100644 --- a/src/lib/auth.ts +++ b/src/lib/auth.ts @@ -1,12 +1,14 @@ import { AuthApi, + Configuration, IssueApiKeyResponse, IssueApiKeyRequest, IssueJWTResponse, NewAccountRequestResponse, NewAccountRequestsResponse, RequestNewAccountModel, -} from '../internal/api'; + RequestNewAccountModelUserTypeEnum, +} from '../internal/index'; import { validateString } from './validators'; export type UserCredentials = string | { email: string; password: string }; @@ -15,12 +17,13 @@ export class AuthAPI { private internalApi: AuthApi; private apiKey?: string; constructor(baseURL?: string, apiKey?: string) { - this.internalApi = new AuthApi(baseURL); this.apiKey = apiKey; - this.internalApi.accessToken = this.apiKey; + this.internalApi = new AuthApi( + new Configuration({ basePath: baseURL, accessToken: apiKey }) + ); } get junoApiKey(): string { - return this.apiKey; + return this.apiKey || ''; } async createKey(options: { email: string; @@ -51,12 +54,11 @@ export class AuthAPI { name: project, }, }; - const result = await this.internalApi.authControllerCreateApiKey( - email, - password, - issueApiKeyRequest - ); - return result.body; + return await this.internalApi.authControllerCreateApiKey({ + xUserPassword: password, + xUserEmail: email, + issueApiKeyRequest, + }); } catch (e) { throw e; } @@ -68,8 +70,9 @@ export class AuthAPI { apiKey = apiKey.trim(); try { - const result = await this.internalApi.authControllerDeleteApiKey(apiKey); - return result.body; + return await this.internalApi.authControllerDeleteApiKey({ + authorization: apiKey, + }); } catch (e) { throw e; } @@ -81,12 +84,10 @@ export class AuthAPI { }): Promise { const { email, password } = options; try { - const result = await this.internalApi.authControllerGetUserJWT( - password, - email - ); - - return result.body; + return await this.internalApi.authControllerGetUserJWT({ + xUserPassword: password, + xUserEmail: email, + }); } catch (e) { throw e; } @@ -95,9 +96,9 @@ export class AuthAPI { async getApiKeyJWT(options: { apiKey: string }): Promise { const { apiKey } = options; try { - const result = await this.internalApi.authControllerGetApiKeyJWT(apiKey); - - return result.body; + return await this.internalApi.authControllerGetApiKeyJWT({ + authorization: apiKey, + }); } catch (e) { throw e; } @@ -107,56 +108,42 @@ export class AuthAPI { email: string; name: string; password: string; - userType: RequestNewAccountModel.UserTypeEnum; + userType: RequestNewAccountModelUserTypeEnum; projectName?: string; }): Promise { - let { email, name, password, userType, projectName } = options; + const { email, name, password, userType, projectName } = options; validateString(email, 'The email must be nonempty'); validateString(name, 'The name must be nonempty'); validateString(password, 'The password must be nonempty'); - - email = email.trim(); - name = name.trim(); - password = password.trim(); - projectName = projectName?.trim(); - try { - const requestNewAccountModel: RequestNewAccountModel = { - email, - name, - password, - userType, - projectName, - }; - const result = await this.internalApi.authControllerCreateAccountRequest( - requestNewAccountModel - ); - return result.body; - } catch (e) { - throw e; - } + validateString(userType, 'The userType must be nonempty'); + + const requestNewAccountModel: RequestNewAccountModel = { + email: email.trim(), + name: name.trim(), + password: password.trim(), + userType, + projectName: projectName?.trim(), + }; + + return await this.internalApi.authControllerCreateAccountRequest({ + requestNewAccountModel, + }); } async getAllAccountRequests(options: { email: string; password: string; }): Promise { - let { email, password } = options; + const { email, password } = options; validateString(email, 'The email must be nonempty'); validateString(password, 'The password must be nonempty'); - email = email.trim(); - password = password.trim(); - try { - const result = await this.internalApi.authControllerGetAllAccountRequests( - password, - email - ); - return result.body; - } catch (e) { - throw e; - } + return await this.internalApi.authControllerGetAllAccountRequests({ + xUserEmail: email.trim(), + xUserPassword: password.trim(), + }); } async deleteAccountRequest(options: { @@ -164,24 +151,16 @@ export class AuthAPI { email: string; password: string; }): Promise { - let { id, email, password } = options; + const { id, email, password } = options; - validateString(id, 'The request ID must be nonempty'); + validateString(id, 'The id must be nonempty'); validateString(email, 'The email must be nonempty'); validateString(password, 'The password must be nonempty'); - id = id.trim(); - email = email.trim(); - password = password.trim(); - try { - const result = await this.internalApi.authControllerDeleteAccountRequest( - id, - password, - email - ); - return result.body; - } catch (e) { - throw e; - } + return await this.internalApi.authControllerDeleteAccountRequest({ + id: id.trim(), + xUserEmail: email.trim(), + xUserPassword: password.trim(), + }); } } diff --git a/src/lib/email.ts b/src/lib/email.ts index bcfef65..f0e529e 100644 --- a/src/lib/email.ts +++ b/src/lib/email.ts @@ -1,5 +1,6 @@ import { EmailApi, + Configuration, EmailConfigResponse, EmailContent, EmailRecipient, @@ -13,7 +14,7 @@ import { SetupEmailResponse, SetupEmailServiceModel, VerifyDomainModel, -} from '../internal/api'; +} from '../internal/index'; import { ApiCredentials } from './apiCredentials'; import { AuthAPI } from './auth'; import { JunoValidationError } from './errors'; @@ -29,16 +30,17 @@ export class EmailAPI { private internalApi: EmailApi; private auth?: AuthAPI; constructor(baseURL?: string, auth?: AuthAPI) { - this.internalApi = new EmailApi(baseURL); this.auth = auth; - this.internalApi.accessToken = this.auth?.junoApiKey; + this.internalApi = new EmailApi( + new Configuration({ basePath: baseURL, accessToken: auth?.junoApiKey }) + ); } async getEmailConfig( projectId: string, credentials?: ApiCredentials ): Promise { - const headers: any = {}; + const headers: Record = {}; if (credentials?.userJwt) { headers['X-User-JWT'] = credentials.userJwt; } @@ -46,11 +48,12 @@ export class EmailAPI { headers['X-Project-Id'] = String(credentials.projectId); } - const res = await this.internalApi.emailControllerGetEmailConfigById( - projectId, - { headers } + return await this.internalApi.emailControllerGetEmailConfigById( + { id: projectId }, + async ({ init }) => ({ + headers: { ...(init.headers as Record), ...headers }, + }) ); - return res.body; } async setupEmail( @@ -61,9 +64,7 @@ export class EmailAPI { validateSendGridKey(sendgridKey); - const headers: any = { - Authorization: `Bearer ${this.auth.junoApiKey}`, - }; + const headers: Record = {}; if (credentials?.userJwt) { headers['X-User-JWT'] = credentials.userJwt; } @@ -71,11 +72,12 @@ export class EmailAPI { headers['X-Project-Id'] = String(credentials.projectId); } - const result = await this.internalApi.emailControllerSetup(options, { - headers, - }); - - return result.body; + return await this.internalApi.emailControllerSetup( + { setupEmailServiceModel: options }, + async ({ init }) => ({ + headers: { ...(init.headers as Record), ...headers }, + }) + ); } async sendEmail( @@ -112,23 +114,22 @@ export class EmailAPI { 'Parameter contents cannot be an empty array' ); } - recipients.forEach((recipient) => validateEmailRecipient(recipient)); + recipients?.forEach((recipient) => validateEmailRecipient(recipient)); contents.forEach((content) => validateEmailContent(content)); validateEmailSender(sender); try { - const sendEmailModel = new SendEmailModel(); - sendEmailModel.sender = sender; - sendEmailModel.content = contents; - sendEmailModel.recipients = recipients ?? []; - sendEmailModel.replyToList = replyToList ?? []; - sendEmailModel.cc = cc ?? []; - sendEmailModel.bcc = bcc ?? []; - sendEmailModel.subject = options.subject; - - const headers: any = { - Authorization: `Bearer ${this.auth.junoApiKey}`, + const sendEmailModel: SendEmailModel = { + sender, + content: contents, + recipients: recipients ?? [], + replyToList: replyToList ?? [], + cc: cc ?? [], + bcc: bcc ?? [], + subject: options.subject, }; + + const headers: Record = {}; if (credentials?.userJwt) { headers['X-User-JWT'] = credentials.userJwt; } @@ -136,13 +137,12 @@ export class EmailAPI { headers['X-Project-Id'] = String(credentials.projectId); } - const result = await this.internalApi.emailControllerSendEmail( - sendEmailModel, - { - headers, - } + return await this.internalApi.emailControllerSendEmail( + { sendEmailModel }, + async ({ init }) => ({ + headers: { ...(init.headers as Record), ...headers }, + }) ); - return result.body; } catch (e) { throw e; } @@ -179,20 +179,19 @@ export class EmailAPI { : email; try { - const registerEmailModel = new RegisterEmailModel(); - registerEmailModel.email = email; - registerEmailModel.name = name; - registerEmailModel.replyTo = replyTo; - registerEmailModel.address = address; - registerEmailModel.nickname = nickname; - registerEmailModel.zip = zip; - registerEmailModel.city = city; - registerEmailModel.state = state; - registerEmailModel.country = country; - - const headers: any = { - Authorization: `Bearer ${this.auth.junoApiKey}`, + const registerEmailModel: RegisterEmailModel = { + email, + name, + replyTo, + address, + nickname, + zip, + city, + state, + country, }; + + const headers: Record = {}; if (credentials?.userJwt) { headers['X-User-JWT'] = credentials.userJwt; } @@ -200,14 +199,12 @@ export class EmailAPI { headers['X-Project-Id'] = String(credentials.projectId); } - const result = - await this.internalApi.emailControllerRegisterSenderAddress( - registerEmailModel, - { - headers, - } - ); - return result.body; + return await this.internalApi.emailControllerRegisterSenderAddress( + { registerEmailModel }, + async ({ init }) => ({ + headers: { ...(init.headers as Record), ...headers }, + }) + ); } catch (e) { throw e; } @@ -224,13 +221,12 @@ export class EmailAPI { validateString(domain, 'Domain cannot be null or empty string'); try { - const registerDomainModel = new RegisterDomainModel(); - registerDomainModel.domain = domain; - registerDomainModel.subdomain = subdomain; - - const headers: any = { - Authorization: `Bearer ${this.auth.junoApiKey}`, + const registerDomainModel: RegisterDomainModel = { + domain, + subdomain, }; + + const headers: Record = {}; if (credentials?.userJwt) { headers['X-User-JWT'] = credentials.userJwt; } @@ -238,13 +234,12 @@ export class EmailAPI { headers['X-Project-Id'] = String(credentials.projectId); } - const result = await this.internalApi.emailControllerRegisterEmailDomain( - registerDomainModel, - { - headers, - } + return await this.internalApi.emailControllerRegisterEmailDomain( + { registerDomainModel }, + async ({ init }) => ({ + headers: { ...(init.headers as Record), ...headers }, + }) ); - return result.body; } catch (e) { throw e; } @@ -260,12 +255,11 @@ export class EmailAPI { validateString(domain, 'Domain cannot be null or empty string'); try { - const verifyDomainModel = new VerifyDomainModel(); - verifyDomainModel.domain = domain; - - const headers: any = { - Authorization: `Bearer ${this.auth.junoApiKey}`, + const verifyDomainModel: VerifyDomainModel = { + domain, }; + + const headers: Record = {}; if (credentials?.userJwt) { headers['X-User-JWT'] = credentials.userJwt; } @@ -273,13 +267,12 @@ export class EmailAPI { headers['X-Project-Id'] = String(credentials.projectId); } - const result = await this.internalApi.emailControllerVerifySenderDomain( - verifyDomainModel, - { - headers, - } + return await this.internalApi.emailControllerVerifySenderDomain( + { verifyDomainModel }, + async ({ init }) => ({ + headers: { ...(init.headers as Record), ...headers }, + }) ); - return result.body; } catch (e) { throw e; } @@ -299,9 +292,7 @@ export class EmailAPI { validateString(startDate, 'startDate must be non-empty'); - const headers: any = { - Authorization: `Bearer ${this.auth.junoApiKey}`, - }; + const headers: Record = {}; if (credentials?.userJwt) { headers['X-User-JWT'] = credentials.userJwt; } @@ -309,20 +300,11 @@ export class EmailAPI { headers['X-Project-Id'] = String(credentials.projectId); } - const queryParams: any = { startDate }; - if (endDate) queryParams.endDate = endDate; - if (limit !== undefined) queryParams.limit = limit; - if (offset !== undefined) queryParams.offset = offset; - if (aggregatedBy) queryParams.aggregatedBy = aggregatedBy; - - const result = await this.internalApi.emailControllerGetStatistics( - startDate, - limit, - offset, - aggregatedBy as any, - endDate, - { headers } + return await this.internalApi.emailControllerGetStatistics( + { startDate, limit, offset, aggregatedBy: aggregatedBy as any, endDate }, + async ({ init }) => ({ + headers: { ...(init.headers as Record), ...headers }, + }) ); - return result.body; } } diff --git a/src/lib/file.ts b/src/lib/file.ts index 1569a4b..74f99db 100644 --- a/src/lib/file.ts +++ b/src/lib/file.ts @@ -1,4 +1,5 @@ import { + Configuration, DeleteFileBucketModel, DownloadFileModel, DownloadFileResponse, @@ -16,7 +17,7 @@ import { SetupFileServiceResponse, UploadFileModel, UploadFileResponse, -} from '../internal/api'; +} from '../internal/index'; import { ApiCredentials } from './apiCredentials'; import { JunoValidationError } from './errors'; import { validateString } from './validators'; @@ -29,36 +30,35 @@ export class FileAPI { private providerApi: FileProviderApi; constructor(baseURL?: string, apiKey?: string) { - this.configApi = new FileConfigApi(baseURL); - this.uploadApi = new FileUploadApi(baseURL); - this.downloadApi = new FileDownloadApi(baseURL); - this.bucketApi = new FileBucketApi(baseURL); - this.providerApi = new FileProviderApi(baseURL); - - this.configApi.accessToken = apiKey; - this.uploadApi.accessToken = apiKey; - this.downloadApi.accessToken = apiKey; - this.bucketApi.accessToken = apiKey; - this.providerApi.accessToken = apiKey; + const config = new Configuration({ + basePath: baseURL, + accessToken: apiKey, + }); + this.configApi = new FileConfigApi(config); + this.uploadApi = new FileUploadApi(config); + this.downloadApi = new FileDownloadApi(config); + this.bucketApi = new FileBucketApi(config); + this.providerApi = new FileProviderApi(config); } async setup(credentials?: ApiCredentials): Promise { - const headers: any = {}; + const headers: Record = {}; if (credentials?.userJwt) { headers['X-User-JWT'] = credentials.userJwt; } if (credentials?.projectId !== undefined) { headers['X-Project-Id'] = String(credentials.projectId); } - const res = await this.configApi.fileConfigControllerSetup({ headers }); - return res.body; + return await this.configApi.fileConfigControllerSetup(async ({ init }) => ({ + headers: { ...(init.headers as Record), ...headers }, + })); } async getConfig( projectId: string, credentials?: ApiCredentials ): Promise { - const headers: any = {}; + const headers: Record = {}; if (credentials?.userJwt) { headers['X-User-JWT'] = credentials.userJwt; } @@ -66,19 +66,19 @@ export class FileAPI { headers['X-Project-Id'] = String(credentials.projectId); } - const res = - await this.configApi.fileConfigControllerGetFileConfigByProjectId( - projectId, - { headers } - ); - return res.body; + return await this.configApi.fileConfigControllerGetFileConfigByProjectId( + { projectId }, + async ({ init }) => ({ + headers: { ...(init.headers as Record), ...headers }, + }) + ); } async deleteConfig( projectId: string, credentials?: ApiCredentials ): Promise { - const headers: any = {}; + const headers: Record = {}; if (credentials?.userJwt) { headers['X-User-JWT'] = credentials.userJwt; } @@ -86,12 +86,12 @@ export class FileAPI { headers['X-Project-Id'] = String(credentials.projectId); } - const res = - await this.configApi.fileConfigControllerDeleteFileConfigByProjectId( - projectId, - { headers } - ); - return res.body; + return await this.configApi.fileConfigControllerDeleteFileConfigByProjectId( + { projectId }, + async ({ init }) => ({ + headers: { ...(init.headers as Record), ...headers }, + }) + ); } async registerProvider( @@ -116,7 +116,7 @@ export class FileAPI { 'privateAccessKey must be non-empty' ); - const headers: any = {}; + const headers: Record = {}; if (credentials?.userJwt) { headers['X-User-JWT'] = credentials.userJwt; } @@ -124,17 +124,19 @@ export class FileAPI { headers['X-Project-Id'] = String(credentials.projectId); } - const model = new RegisterFileProviderModel(); - (model as any).accessKey = accessKey as any; - model.baseUrl = baseUrl; - model.providerName = providerName; - model.type = type; - - const res = - await this.providerApi.fileProviderControllerRegisterFileProvider(model, { - headers, - }); - return res.body; + const model: RegisterFileProviderModel = { + accessKey: accessKey as any, + baseUrl, + providerName, + type, + }; + + return await this.providerApi.fileProviderControllerRegisterFileProvider( + { registerFileProviderModel: model }, + async ({ init }) => ({ + headers: { ...(init.headers as Record), ...headers }, + }) + ); } async deleteProvider( @@ -142,7 +144,7 @@ export class FileAPI { credentials?: ApiCredentials ): Promise { validateString(name, 'Provider name must be non-empty'); - const headers: any = {}; + const headers: Record = {}; if (credentials?.userJwt) { headers['X-User-JWT'] = credentials.userJwt; } @@ -150,17 +152,18 @@ export class FileAPI { headers['X-Project-Id'] = String(credentials.projectId); } - const res = await this.providerApi.fileProviderControllerDeleteFileProvider( - name, - { headers } + return await this.providerApi.fileProviderControllerDeleteFileProvider( + { name }, + async ({ init }) => ({ + headers: { ...(init.headers as Record), ...headers }, + }) ); - return res.body; } async getAllFileProviders( credentials?: ApiCredentials ): Promise { - const headers: any = {}; + const headers: Record = {}; if (credentials?.userJwt) { headers['X-User-JWT'] = credentials.userJwt; } @@ -168,11 +171,11 @@ export class FileAPI { headers['X-Project-Id'] = String(credentials.projectId); } - const res = - await this.providerApi.fileProviderControllerGetAllFileProviders({ - headers, - }); - return res.body; + return await this.providerApi.fileProviderControllerGetAllFileProviders( + async ({ init }) => ({ + headers: { ...(init.headers as Record), ...headers }, + }) + ); } async registerBucket( @@ -192,7 +195,7 @@ export class FileAPI { } validateString(fileProviderName, 'fileProviderName must be non-empty'); - const headers: any = {}; + const headers: Record = {}; if (credentials?.userJwt) { headers['X-User-JWT'] = credentials.userJwt; } @@ -200,17 +203,19 @@ export class FileAPI { headers['X-Project-Id'] = String(credentials.projectId); } - const model = new RegisterFileBucketModel(); - model.name = name; - model.configId = configId; - model.fileProviderName = fileProviderName; - model.fileServiceFile = fileServiceFile ?? []; - - const res = await this.bucketApi.fileBucketControllerRegisterFileBucket( - model, - { headers } + const model: RegisterFileBucketModel = { + name, + configId, + fileProviderName, + fileServiceFile: fileServiceFile ?? [], + }; + + return await this.bucketApi.fileBucketControllerRegisterFileBucket( + { registerFileBucketModel: model }, + async ({ init }) => ({ + headers: { ...(init.headers as Record), ...headers }, + }) ); - return res.body; } async deleteBucket( @@ -224,7 +229,7 @@ export class FileAPI { } validateString(fileProviderName, 'fileProviderName must be non-empty'); - const headers: any = {}; + const headers: Record = {}; if (credentials?.userJwt) { headers['X-User-JWT'] = credentials.userJwt; } @@ -232,18 +237,19 @@ export class FileAPI { headers['X-Project-Id'] = String(credentials.projectId); } - const res = await this.bucketApi.fileBucketControllerDeleteFileBucket( - options, - { headers } + return await this.bucketApi.fileBucketControllerDeleteFileBucket( + { deleteFileBucketModel: options }, + async ({ init }) => ({ + headers: { ...(init.headers as Record), ...headers }, + }) ); - return res.body; } async getBucketsByConfigIdAndEnv( configId: string, credentials?: ApiCredentials ): Promise { - const headers: any = {}; + const headers: Record = {}; if (credentials?.userJwt) { headers['X-User-JWT'] = credentials.userJwt; } @@ -251,12 +257,12 @@ export class FileAPI { headers['X-Project-Id'] = String(credentials.projectId); } - const res = - await this.bucketApi.fileBucketControllerGetBucketsByConfigIdAndEnv( - configId, - { headers } - ); - return res.body; + return await this.bucketApi.fileBucketControllerGetBucketsByConfigIdAndEnv( + { configId }, + async ({ init }) => ({ + headers: { ...(init.headers as Record), ...headers }, + }) + ); } async uploadFile(options: { @@ -276,15 +282,17 @@ export class FileAPI { } if (region) validateString(region, 'region must be non-empty'); - const model = new UploadFileModel(); - model.fileName = fileName; - model.bucketName = bucketName; - model.providerName = providerName; - model.configId = configId; - if (region) model.region = region; - - const res = await this.uploadApi.fileUploadControllerUploadFile(model); - return res.body; + const model: UploadFileModel = { + fileName, + bucketName, + providerName, + configId, + region: region ?? undefined, + }; + + return await this.uploadApi.fileUploadControllerUploadFile({ + uploadFileModel: model, + }); } async downloadFile(options: { @@ -304,16 +312,16 @@ export class FileAPI { validateString(providerName, 'providerName must be non-empty'); if (region) validateString(region, 'region must be non-empty'); - const model = new DownloadFileModel(); - model.bucketName = bucketName; - model.configId = configId; - model.fileName = fileName; - model.providerName = providerName; - if (region) model.region = region; - - const res = await this.downloadApi.fileDownloadControllerDownloadFile( - model - ); - return res.body; + const model: DownloadFileModel = { + bucketName, + configId, + fileName, + providerName, + region: region ?? undefined, + }; + + return await this.downloadApi.fileDownloadControllerDownloadFile({ + downloadFileModel: model, + }); } } diff --git a/src/lib/project.ts b/src/lib/project.ts index b4c722e..80c2521 100644 --- a/src/lib/project.ts +++ b/src/lib/project.ts @@ -1,11 +1,12 @@ -import { IncomingMessage } from 'http'; import { + Configuration, CreateProjectModel, LinkUserModel, ProjectApi, ProjectResponse, UserResponses, -} from '../internal/api'; +} from '../internal/index'; +import { ProjectResponses } from '../internal/models/ProjectResponses'; import { UserCredentials } from './auth'; import { ProjectIdentifier, UserIdentifier } from './identifiers'; import { @@ -18,8 +19,9 @@ import { export class ProjectAPI { private internalApi: ProjectApi; constructor(baseURL?: string, apiKey?: string) { - this.internalApi = new ProjectApi(baseURL); - this.internalApi.accessToken = apiKey; + this.internalApi = new ProjectApi( + new Configuration({ basePath: baseURL, accessToken: apiKey }) + ); } async createProject(options: { @@ -34,62 +36,68 @@ export class ProjectAPI { ); validateUserCredentials(credentials); - const createProjectModel = new CreateProjectModel(); - createProjectModel.name = projectName; + const createProjectModel: CreateProjectModel = { + name: projectName, + }; - let res: { body: any; response?: IncomingMessage }; if (typeof credentials == 'string') { - this.internalApi.accessToken = credentials; - res = await this.internalApi.projectControllerCreateProject( - createProjectModel, - undefined, - undefined + return await this.internalApi.projectControllerCreateProject( + { createProjectModel }, + async ({ init }) => ({ + headers: { + ...(init.headers as Record), + Authorization: `Bearer ${credentials}`, + }, + }) ); } else { - res = await this.internalApi.projectControllerCreateProject( + return await this.internalApi.projectControllerCreateProject({ createProjectModel, - credentials.password, - credentials.email - ); + xUserPassword: credentials.password, + xUserEmail: credentials.email, + }); } - return res.body; } // Should be by ID or Name async getProject(input: ProjectIdentifier): Promise { validateProjectIdentifier(input); - const res = input.name - ? await this.internalApi.projectControllerGetProjectByName(input.name) - : await this.internalApi.projectControllerGetProjectById(`${input.id}`); - return res.body; + return input.name + ? await this.internalApi.projectControllerGetProjectByName({ + name: input.name, + }) + : await this.internalApi.projectControllerGetProjectById({ + id: `${input.id}`, + }); } // Should be by ID or Name async linkProjectToUser(options: { project: ProjectIdentifier; user: UserIdentifier; - }): Promise { + }): Promise { const { project, user } = options; validateProjectIdentifier(project); validateUserIdentifier(user); - const linkUserModel = new LinkUserModel(); + const linkUserModel: LinkUserModel = {}; if (user.email) { linkUserModel.email = user.email; } else { linkUserModel.id = user.id; } - const res = project.name - ? await this.internalApi.projectControllerLinkUserWithProjectName( - project.name, - linkUserModel - ) - : await this.internalApi.projectControllerLinkUserWithProjectId( - project.id, - linkUserModel - ); - return res.body; + if (project.name) { + return await this.internalApi.projectControllerLinkUserWithProjectName({ + name: project.name, + linkUserModel, + }); + } else { + return await this.internalApi.projectControllerLinkUserWithProjectId({ + id: project.id || -1, + linkUserModel, + }); + } } async getProjectUsersById( @@ -98,47 +106,44 @@ export class ProjectAPI { ): Promise { validateUserCredentials(credentials); - let res: { body: any; response?: IncomingMessage }; - if (typeof credentials == 'string') { - this.internalApi.accessToken = credentials; - res = await this.internalApi.projectControllerGetUsersByProject( - projectId, - undefined, - undefined + return await this.internalApi.projectControllerGetUsersByProject( + { id: projectId }, + async ({ init }) => ({ + headers: { + ...(init.headers as Record), + Authorization: `Bearer ${credentials}`, + }, + }) ); } else { - res = await this.internalApi.projectControllerGetUsersByProject( - projectId, - credentials.password, - credentials.email - ); + return await this.internalApi.projectControllerGetUsersByProject({ + id: projectId, + xUserPassword: credentials.password, + xUserEmail: credentials.email, + }); } - - return res.body; } - async getProjects( - credentials: UserCredentials - ): Promise> { + async getProjects(credentials: UserCredentials): Promise { validateUserCredentials(credentials); - let res: { body?: any; response?: IncomingMessage }; - if (typeof credentials == 'string') { - this.internalApi.accessToken = credentials; - res = await this.internalApi.projectControllerGetAllProjects( - undefined, - undefined + return await this.internalApi.projectControllerGetAllProjects( + {}, + async ({ init }) => ({ + headers: { + ...(init.headers as Record), + Authorization: `Bearer ${credentials}`, + }, + }) ); } else { - res = await this.internalApi.projectControllerGetAllProjects( - credentials.password, - credentials.email - ); + return await this.internalApi.projectControllerGetAllProjects({ + xUserPassword: credentials.password, + xUserEmail: credentials.email, + }); } - - return res.body; } async deleteProject(options: { @@ -154,23 +159,22 @@ export class ProjectAPI { throw new Error('Project deletion is only supported by ID, not by name'); } - let res: { body: any; response?: IncomingMessage }; - if (typeof credentials == 'string') { - this.internalApi.accessToken = credentials; - res = await this.internalApi.projectControllerDeleteProjectById( - project.id.toString(), - undefined, - undefined + return await this.internalApi.projectControllerDeleteProjectById( + { id: project.id.toString() }, + async ({ init }) => ({ + headers: { + ...(init.headers as Record), + Authorization: `Bearer ${credentials}`, + }, + }) ); } else { - res = await this.internalApi.projectControllerDeleteProjectById( - project.id.toString(), - credentials.password, - credentials.email - ); + return await this.internalApi.projectControllerDeleteProjectById({ + id: project.id.toString(), + xUserPassword: credentials.password, + xUserEmail: credentials.email, + }); } - - return res.body; } } diff --git a/src/lib/user.ts b/src/lib/user.ts index 471316f..8a54e73 100644 --- a/src/lib/user.ts +++ b/src/lib/user.ts @@ -1,20 +1,20 @@ -import { IncomingMessage } from 'http'; import { UserApi, + Configuration, LinkProjectModel, SetUserTypeModel, CreateUserModel, UserResponse, UserResponses, UnlinkProjectModel, -} from '../internal/api'; +} from '../internal/index'; import { UserCredentials } from './auth'; import { validateString, validateUserCredentials } from './validators'; export class UserAPI { private internalApi: UserApi; constructor(baseURL?: string) { - this.internalApi = new UserApi(baseURL); + this.internalApi = new UserApi(new Configuration({ basePath: baseURL })); } async createUser(options: { email: string; @@ -34,25 +34,30 @@ export class UserAPI { password = password.trim(); const createUserModel: CreateUserModel = { email, name, password }; - let res: { body: any; response?: IncomingMessage }; if (typeof credentials == 'string') { - this.internalApi.accessToken = credentials; - res = await this.internalApi.userControllerCreateUser(createUserModel); + return await this.internalApi.userControllerCreateUser( + { createUserModel }, + async ({ init }) => ({ + headers: { + ...(init.headers as Record), + Authorization: `Bearer ${credentials}`, + }, + }) + ); } else { - res = await this.internalApi.userControllerCreateUser( + return await this.internalApi.userControllerCreateUser({ createUserModel, - credentials.password, - credentials.email - ); + xUserPassword: credentials.password, + xUserEmail: credentials.email, + }); } - return res.body; } async linkToProject(options: { userId: string; project: LinkProjectModel; credentials: UserCredentials; - }): Promise { + }): Promise { let { userId, project, credentials } = options; validateString(userId, 'The user ID must be a non-empty string.'); @@ -66,30 +71,30 @@ export class UserAPI { validateUserCredentials(credentials); - let response: { body?: any; response?: IncomingMessage }; - if (typeof credentials == 'string') { - this.internalApi.accessToken = credentials; - response = await this.internalApi.userControllerLinkUserWithProjectId( - userId, - project + await this.internalApi.userControllerLinkUserWithProjectIdRaw( + { id: userId, linkProjectModel: project }, + async ({ init }) => ({ + headers: { + ...(init.headers as Record), + Authorization: `Bearer ${credentials}`, + }, + }) ); } else { - response = await this.internalApi.userControllerLinkUserWithProjectId( - userId, - project, - credentials.password, - credentials.email - ); + await this.internalApi.userControllerLinkUserWithProjectIdRaw({ + id: userId, + linkProjectModel: project, + xUserPassword: credentials.password, + xUserEmail: credentials.email, + }); } - - return response.body; } async setUserType(options: { input: SetUserTypeModel; credentials: UserCredentials; - }): Promise { + }): Promise { const { input, credentials } = options; if (input.email) { input.email = input.email.trim(); @@ -98,53 +103,57 @@ export class UserAPI { validateUserCredentials(credentials); - let res: { response: IncomingMessage; body: UserResponse }; if (typeof credentials == 'string') { - this.internalApi.accessToken = credentials; - res = await this.internalApi.userControllerSetUserType(input); - } else { - res = await this.internalApi.userControllerSetUserType( - input, - credentials.password, - credentials.email + await this.internalApi.userControllerSetUserTypeRaw( + { setUserTypeModel: input }, + async ({ init }) => ({ + headers: { + ...(init.headers as Record), + Authorization: `Bearer ${credentials}`, + }, + }) ); + } else { + await this.internalApi.userControllerSetUserTypeRaw({ + setUserTypeModel: input, + xUserPassword: credentials.password, + xUserEmail: credentials.email, + }); } - return res.body; } async getUser(id: string): Promise { validateString(id, 'The id must be nonempty'); - const res = await this.internalApi.userControllerGetUserById(id); - return res.body; + return await this.internalApi.userControllerGetUserById({ id }); } async getUsers(credentials: UserCredentials): Promise { validateUserCredentials(credentials); - let res: { body: any; response?: IncomingMessage }; - if (typeof credentials == 'string') { - this.internalApi.accessToken = credentials; - res = await this.internalApi.userControllerGetAllUsers( - undefined, - undefined + return await this.internalApi.userControllerGetAllUsers( + {}, + async ({ init }) => ({ + headers: { + ...(init.headers as Record), + Authorization: `Bearer ${credentials}`, + }, + }) ); } else { - res = await this.internalApi.userControllerGetAllUsers( - credentials.password, - credentials.email - ); + return await this.internalApi.userControllerGetAllUsers({ + xUserPassword: credentials.password, + xUserEmail: credentials.email, + }); } - - return res.body; } async unlinkFromProject(options: { userId: string; project: UnlinkProjectModel; credentials: UserCredentials; - }): Promise { + }): Promise { let { userId, project, credentials } = options; validateString(userId, 'The user ID must be a non-empty string.'); @@ -159,24 +168,24 @@ export class UserAPI { validateUserCredentials(credentials); - let response: { body?: any; response?: IncomingMessage }; - if (typeof credentials == 'string') { - this.internalApi.accessToken = credentials; - response = await this.internalApi.userControllerUnlinkUserFromProject( - userId, - project + await this.internalApi.userControllerUnlinkUserFromProjectRaw( + { id: userId, unlinkProjectModel: project }, + async ({ init }) => ({ + headers: { + ...(init.headers as Record), + Authorization: `Bearer ${credentials}`, + }, + }) ); } else { - response = await this.internalApi.userControllerUnlinkUserFromProject( - userId, - project, - credentials.password, - credentials.email - ); + await this.internalApi.userControllerUnlinkUserFromProjectRaw({ + id: userId, + unlinkProjectModel: project, + xUserPassword: credentials.password, + xUserEmail: credentials.email, + }); } - - return response.body; } async deleteUser(options: { @@ -188,19 +197,22 @@ export class UserAPI { validateString(userId, 'The user ID must be a non-empty string.'); validateUserCredentials(credentials); - let response: { body?: any; response?: IncomingMessage }; - if (typeof credentials == 'string') { - this.internalApi.accessToken = credentials; - response = await this.internalApi.userControllerDeleteUserById(userId); - } else { - response = await this.internalApi.userControllerDeleteUserById( - userId, - credentials.password, - credentials.email + return await this.internalApi.userControllerDeleteUserById( + { id: userId }, + async ({ init }) => ({ + headers: { + ...(init.headers as Record), + Authorization: `Bearer ${credentials}`, + }, + }) ); + } else { + return await this.internalApi.userControllerDeleteUserById({ + id: userId, + xUserPassword: credentials.password, + xUserEmail: credentials.email, + }); } - - return response.body; } } diff --git a/src/lib/validators.ts b/src/lib/validators.ts index 42189c6..7840d58 100644 --- a/src/lib/validators.ts +++ b/src/lib/validators.ts @@ -2,7 +2,7 @@ import { EmailContent, EmailRecipient, EmailSenderSendEmailModel, -} from '../internal/api'; +} from '../internal/index'; import { UserCredentials } from './auth'; import { JunoValidationError } from './errors'; import { ProjectIdentifier, UserIdentifier } from './identifiers'; diff --git a/tests/email/emailApi.test.ts b/tests/email/emailApi.test.ts index a9edc6e..a1d2da9 100644 --- a/tests/email/emailApi.test.ts +++ b/tests/email/emailApi.test.ts @@ -27,7 +27,7 @@ describe('sendEmail validation tests', () => { ], }); })() - ).rejects.toThrow(TypeError); // TypeError from lack of apiKey + ).rejects.toThrow(); // Error from lack of apiKey }); it('does not throw an validation error with a recipient', async () => { @@ -55,7 +55,7 @@ describe('sendEmail validation tests', () => { ], }); })() - ).rejects.toThrow(TypeError); // TypeError from lack of apiKey + ).rejects.toThrow(); // Error from lack of apiKey }); it('does not throw an validation error with a recipient', async () => { @@ -81,7 +81,7 @@ describe('sendEmail validation tests', () => { ], }); })() - ).rejects.toThrow(TypeError); // TypeError from lack of apiKey + ).rejects.toThrow(); // Error from lack of apiKey }); it('throws an validation error with no recipient, cc, or bcc', async () => { @@ -163,7 +163,7 @@ describe('sendEmail validation tests', () => { ], }); })() - ).rejects.toThrow(TypeError); // TypeError from lack of apiKey + ).rejects.toThrow(); // Error from lack of apiKey }); it('does not throw a validation error with only bcc', async () => { @@ -189,7 +189,7 @@ describe('sendEmail validation tests', () => { ], }); })() - ).rejects.toThrow(TypeError); // TypeError from lack of apiKey + ).rejects.toThrow(); // Error from lack of apiKey }); }); @@ -291,7 +291,7 @@ describe('Registering sender test validation tests', () => { country: 'country', }); })() - ).rejects.toThrow(TypeError); // TypeError from lack of apiKey + ).rejects.toThrow(); // Error from lack of apiKey }); }); diff --git a/tests/validators/validators.test.ts b/tests/validators/validators.test.ts index a2f8189..8b54ccb 100644 --- a/tests/validators/validators.test.ts +++ b/tests/validators/validators.test.ts @@ -1,9 +1,15 @@ -import { EmailRecipient } from "../../src/internal/model/emailRecipient"; -import { JunoError, JunoValidationError } from "../../src/lib/errors"; -import { validateEmailRecipient, validateProjectIdentifier, validateSendGridKey, validateString, validateUserIdentifier } from "../../src/lib/validators"; - -describe("Email validation tests", () => { - it("throws an error if a recipient is null", () => { +import { EmailRecipient } from '../../src/internal/models/EmailRecipient'; +import { JunoError, JunoValidationError } from '../../src/lib/errors'; +import { + validateEmailRecipient, + validateProjectIdentifier, + validateSendGridKey, + validateString, + validateUserIdentifier, +} from '../../src/lib/validators'; + +describe('Email validation tests', () => { + it('throws an error if a recipient is null', () => { let validEmailRecipient: unknown = null; expect(() => { @@ -11,7 +17,7 @@ describe("Email validation tests", () => { }).toThrow(JunoError); }); - it("throws an error if a recipient email is null", () => { + it('throws an error if a recipient email is null', () => { let validEmailRecipient: unknown = {}; expect(() => { @@ -19,18 +25,17 @@ describe("Email validation tests", () => { }).toThrow(JunoError); validEmailRecipient = { - email: null - } + email: null, + }; expect(() => { validateEmailRecipient(validEmailRecipient as EmailRecipient); }).toThrow(JunoError); }); - - it("throws an error if a recipient email is blank", () => { + it('throws an error if a recipient email is blank', () => { let validEmailRecipient: unknown = { - email: " " + email: ' ', }; expect(() => { @@ -38,151 +43,174 @@ describe("Email validation tests", () => { }).toThrow(JunoError); }); - it("does not throw an error if a recipient name is null", () => { + it('does not throw an error if a recipient name is null', () => { let validEmailRecipient: unknown = { - email: "someEmail" + email: 'someEmail', }; validateEmailRecipient(validEmailRecipient as EmailRecipient); }); - it("does not throw an error if a recipient name is blank", () => { + it('does not throw an error if a recipient name is blank', () => { let validEmailRecipient: unknown = { - email: "someEmail", - name: " " + email: 'someEmail', + name: ' ', }; validateEmailRecipient(validEmailRecipient as EmailRecipient); }); - }); - -describe("String validation tests", () => { - it("throws an error if the string is empty or null", () => { - let str = ""; +describe('String validation tests', () => { + it('throws an error if the string is empty or null', () => { + let str = ''; expect(() => { - validateString(str) + validateString(str); }).toThrow(JunoError); - let nullStr: unknown = null; expect(() => { - validateString(nullStr as string) + validateString(nullStr as string); }).toThrow(JunoError); - }) + }); - it("throws an error if the string is not actually a string", () => { + it('throws an error if the string is not actually a string', () => { let fakeStr: any = 3; expect(() => { - validateString(fakeStr) + validateString(fakeStr); }).toThrow(JunoError); - }) + }); - it("throws an error if the string is blank", () => { - let str = " "; + it('throws an error if the string is blank', () => { + let str = ' '; expect(() => { - validateString(str) + validateString(str); }).toThrow(JunoError); - }) + }); }); -describe("Validate user identifier tests", () => { - it("validates against null input", () => { +describe('Validate user identifier tests', () => { + it('validates against null input', () => { expect(() => validateUserIdentifier(null as any)).toThrow(JunoError); }); - it("validates against having both inputs", () => { - expect(() => validateUserIdentifier({ email: "a", id: 4 } as any)).toThrow(JunoError); + it('validates against having both inputs', () => { + expect(() => validateUserIdentifier({ email: 'a', id: 4 } as any)).toThrow( + JunoError + ); }); - it("validates against negative id", () => { - expect(() => validateUserIdentifier({ email: "a", id: -4 } as any)).toThrow(JunoError); + it('validates against negative id', () => { + expect(() => validateUserIdentifier({ email: 'a', id: -4 } as any)).toThrow( + JunoError + ); }); - it("validates against empty email", () => { - expect(() => validateUserIdentifier({ email: "" } as any)).toThrow(JunoError); + it('validates against empty email', () => { + expect(() => validateUserIdentifier({ email: '' } as any)).toThrow( + JunoError + ); }); - it("validates against null email", () => { - expect(() => validateUserIdentifier({ email: null } as any)).toThrow(JunoError); + it('validates against null email', () => { + expect(() => validateUserIdentifier({ email: null } as any)).toThrow( + JunoError + ); }); - it("validates against null id", () => { - expect(() => validateUserIdentifier({ id: null } as any)).toThrow(JunoError); + it('validates against null id', () => { + expect(() => validateUserIdentifier({ id: null } as any)).toThrow( + JunoError + ); }); - it("validates against valid id", () => { - expect(() => validateUserIdentifier({ id: 3 } as any)).not.toThrow(JunoError); + it('validates against valid id', () => { + expect(() => validateUserIdentifier({ id: 3 } as any)).not.toThrow( + JunoError + ); }); - it("validates against valid email", () => { - expect(() => validateUserIdentifier({ email: "email" })).not.toThrow(JunoError); + it('validates against valid email', () => { + expect(() => validateUserIdentifier({ email: 'email' })).not.toThrow( + JunoError + ); expect(() => validateUserIdentifier({ id: 3 })).not.toThrow(JunoError); }); }); -describe("Validate project identifier tests", () => { - it("validates against null input", () => { +describe('Validate project identifier tests', () => { + it('validates against null input', () => { expect(() => validateProjectIdentifier(null as any)).toThrow(JunoError); }); - it("validates against having both inputs", () => { - expect(() => validateProjectIdentifier({ name: "a", id: 4 } as any)).toThrow(JunoError); + it('validates against having both inputs', () => { + expect(() => + validateProjectIdentifier({ name: 'a', id: 4 } as any) + ).toThrow(JunoError); }); - it("validates against negative id", () => { - expect(() => validateProjectIdentifier({ name: "a", id: -4 } as any)).toThrow(JunoError); + it('validates against negative id', () => { + expect(() => + validateProjectIdentifier({ name: 'a', id: -4 } as any) + ).toThrow(JunoError); }); - it("validates against empty name", () => { - expect(() => validateProjectIdentifier({ name: "" } as any)).toThrow(JunoError); + it('validates against empty name', () => { + expect(() => validateProjectIdentifier({ name: '' } as any)).toThrow( + JunoError + ); }); - it("validates against null name", () => { - expect(() => validateProjectIdentifier({ name: null } as any)).toThrow(JunoError); + it('validates against null name', () => { + expect(() => validateProjectIdentifier({ name: null } as any)).toThrow( + JunoError + ); }); - it("validates against null id", () => { - expect(() => validateProjectIdentifier({ id: null } as any)).toThrow(JunoError); + it('validates against null id', () => { + expect(() => validateProjectIdentifier({ id: null } as any)).toThrow( + JunoError + ); }); - it("validates against valid id", () => { - expect(() => validateProjectIdentifier({ id: 3 } as any)).not.toThrow(JunoError); + it('validates against valid id', () => { + expect(() => validateProjectIdentifier({ id: 3 } as any)).not.toThrow( + JunoError + ); }); - it("validates against valid name", () => { - expect(() => validateProjectIdentifier({ name: "name" })).not.toThrow(JunoError); + it('validates against valid name', () => { + expect(() => validateProjectIdentifier({ name: 'name' })).not.toThrow( + JunoError + ); expect(() => validateProjectIdentifier({ id: 3 })).not.toThrow(JunoError); }); }); - - -describe("Validate sendgrid key tests", () => { - it("fails validation against null (missing) sendgrid key", () => { +describe('Validate sendgrid key tests', () => { + it('fails validation against null (missing) sendgrid key', () => { expect(() => validateSendGridKey(null as any)).toThrow(JunoValidationError); }); - it("fails validation against empty sendgrid key", () => { - expect(() => validateSendGridKey("")).toThrow(JunoValidationError); + it('fails validation against empty sendgrid key', () => { + expect(() => validateSendGridKey('')).toThrow(JunoValidationError); }); - it("fails validation against providing a sendgrid key without prefix of SG", () => { - expect(() => validateSendGridKey("awdiojawiodj")).toThrow(JunoValidationError); + it('fails validation against providing a sendgrid key without prefix of SG', () => { + expect(() => validateSendGridKey('awdiojawiodj')).toThrow( + JunoValidationError + ); }); - it("fails validation a sendgrid key that is non-string", () => { + it('fails validation a sendgrid key that is non-string', () => { expect(() => validateSendGridKey(3 as any)).toThrow(JunoValidationError); }); - - it("validates a sendgrid key that is valid", () => { - expect(() => validateSendGridKey("SG.aiwjdiowa")).not.toThrow(JunoError); + it('validates a sendgrid key that is valid', () => { + expect(() => validateSendGridKey('SG.aiwjdiowa')).not.toThrow(JunoError); }); - -}) +}); diff --git a/tsconfig.json b/tsconfig.json index 646728f..9989c73 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -20,7 +20,7 @@ // "alwaysStrict": true /* Parse in strict mode and emit "use strict" for each source file. */, /* Additional Checks */ "noUnusedLocals": false /* Report errors on unused locals. */, - "noUnusedParameters": true /* Report errors on unused parameters. */, + "noUnusedParameters": false /* Report errors on unused parameters. */, "noImplicitReturns": true /* Report error when not all code paths in function return a value. */, "noFallthroughCasesInSwitch": true /* Report errors for fallthrough cases in switch statement. */, /* Debugging Options */ @@ -32,7 +32,8 @@ // "experimentalDecorators": true /* Enables experimental support for ES7 decorators. */, // "emitDecoratorMetadata": true /* Enables experimental support for emitting type metadata for decorators. */, "lib": [ - "es2017" + "es2017", + "dom" ], "types": [ "node",