UNPKG

mailslurp-client

Version:

Official client for MailSlurp Email and SMS API. Create email addresses and phone numbers in Javascript without a mail server. Send and receive real emails in applications or tests.

584 lines (504 loc) 16 kB
/* tslint:disable */ /* eslint-disable */ /** * MailSlurp API * MailSlurp is an API for sending and receiving emails from dynamically allocated email addresses. It\'s designed for developers and QA teams to test applications, process inbound emails, send templated notifications, attachments, and more. ## Resources - [Homepage](https://www.mailslurp.com) - Get an [API KEY](https://app.mailslurp.com/sign-up/) - Generated [SDK Clients](https://docs.mailslurp.com/) - [Examples](https://github.com/mailslurp/examples) repository * * The version of the OpenAPI document: 6.5.2 * Contact: contact@mailslurp.dev * * 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 { CreateEmergencyAddressOptions, CreateEmergencyAddressOptionsFromJSON, CreateEmergencyAddressOptionsToJSON, EmergencyAddress, EmergencyAddressFromJSON, EmergencyAddressToJSON, EmergencyAddressDto, EmergencyAddressDtoFromJSON, EmergencyAddressDtoToJSON, EmptyResponseDto, EmptyResponseDtoFromJSON, EmptyResponseDtoToJSON, PagePhoneNumberProjection, PagePhoneNumberProjectionFromJSON, PagePhoneNumberProjectionToJSON, PhoneNumberDto, PhoneNumberDtoFromJSON, PhoneNumberDtoToJSON, PhonePlanDto, PhonePlanDtoFromJSON, PhonePlanDtoToJSON, TestPhoneNumberOptions, TestPhoneNumberOptionsFromJSON, TestPhoneNumberOptionsToJSON, } from '../models'; export interface CreateEmergencyAddressRequest { createEmergencyAddressOptions: CreateEmergencyAddressOptions; } export interface DeleteEmergencyAddressRequest { addressId: string; } export interface DeletePhoneNumberRequest { phoneNumberId: string; } export interface GetEmergencyAddressRequest { addressId: string; } export interface GetPhoneNumberRequest { phoneNumberId: string; } export interface GetPhoneNumbersRequest { phoneCountry?: GetPhoneNumbersPhoneCountryEnum; page?: number; size?: number; sort?: GetPhoneNumbersSortEnum; since?: Date; before?: Date; } export interface TestPhoneNumberSendSmsRequest { phoneNumberId: string; testPhoneNumberOptions: TestPhoneNumberOptions; xTestId?: string; } /** * */ export class PhoneControllerApi extends runtime.BaseAPI { /** */ async createEmergencyAddressRaw( requestParameters: CreateEmergencyAddressRequest, initOverrides?: RequestInit ): Promise<runtime.ApiResponse<EmergencyAddress>> { if ( requestParameters.createEmergencyAddressOptions === null || requestParameters.createEmergencyAddressOptions === undefined ) { throw new runtime.RequiredError( 'createEmergencyAddressOptions', 'Required parameter requestParameters.createEmergencyAddressOptions was null or undefined when calling createEmergencyAddress.' ); } const queryParameters: any = {}; const headerParameters: runtime.HTTPHeaders = {}; headerParameters['Content-Type'] = 'application/json'; if (this.configuration && this.configuration.apiKey) { headerParameters['x-api-key'] = this.configuration.apiKey('x-api-key'); // API_KEY authentication } const response = await this.request( { path: `/phone/emergency-addresses`, method: 'POST', headers: headerParameters, query: queryParameters, body: CreateEmergencyAddressOptionsToJSON( requestParameters.createEmergencyAddressOptions ), }, initOverrides ); return new runtime.JSONApiResponse(response, (jsonValue) => EmergencyAddressFromJSON(jsonValue) ); } /** */ async createEmergencyAddress( requestParameters: CreateEmergencyAddressRequest, initOverrides?: RequestInit ): Promise<EmergencyAddress> { const response = await this.createEmergencyAddressRaw( requestParameters, initOverrides ); return await response.value(); } /** */ async deleteEmergencyAddressRaw( requestParameters: DeleteEmergencyAddressRequest, initOverrides?: RequestInit ): Promise<runtime.ApiResponse<EmptyResponseDto>> { if ( requestParameters.addressId === null || requestParameters.addressId === undefined ) { throw new runtime.RequiredError( 'addressId', 'Required parameter requestParameters.addressId was null or undefined when calling deleteEmergencyAddress.' ); } const queryParameters: any = {}; const headerParameters: runtime.HTTPHeaders = {}; if (this.configuration && this.configuration.apiKey) { headerParameters['x-api-key'] = this.configuration.apiKey('x-api-key'); // API_KEY authentication } const response = await this.request( { path: `/phone/emergency-addresses/{addressId}`.replace( `{${'addressId'}}`, encodeURIComponent(String(requestParameters.addressId)) ), method: 'DELETE', headers: headerParameters, query: queryParameters, }, initOverrides ); return new runtime.JSONApiResponse(response, (jsonValue) => EmptyResponseDtoFromJSON(jsonValue) ); } /** */ async deleteEmergencyAddress( requestParameters: DeleteEmergencyAddressRequest, initOverrides?: RequestInit ): Promise<EmptyResponseDto> { const response = await this.deleteEmergencyAddressRaw( requestParameters, initOverrides ); return await response.value(); } /** */ async deletePhoneNumberRaw( requestParameters: DeletePhoneNumberRequest, initOverrides?: RequestInit ): Promise<runtime.ApiResponse<void>> { if ( requestParameters.phoneNumberId === null || requestParameters.phoneNumberId === undefined ) { throw new runtime.RequiredError( 'phoneNumberId', 'Required parameter requestParameters.phoneNumberId was null or undefined when calling deletePhoneNumber.' ); } const queryParameters: any = {}; const headerParameters: runtime.HTTPHeaders = {}; if (this.configuration && this.configuration.apiKey) { headerParameters['x-api-key'] = this.configuration.apiKey('x-api-key'); // API_KEY authentication } const response = await this.request( { path: `/phone/numbers/{phoneNumberId}`.replace( `{${'phoneNumberId'}}`, encodeURIComponent(String(requestParameters.phoneNumberId)) ), method: 'DELETE', headers: headerParameters, query: queryParameters, }, initOverrides ); return new runtime.VoidApiResponse(response); } /** */ async deletePhoneNumber( requestParameters: DeletePhoneNumberRequest, initOverrides?: RequestInit ): Promise<void> { await this.deletePhoneNumberRaw(requestParameters, initOverrides); } /** */ async getEmergencyAddressRaw( requestParameters: GetEmergencyAddressRequest, initOverrides?: RequestInit ): Promise<runtime.ApiResponse<EmergencyAddress>> { if ( requestParameters.addressId === null || requestParameters.addressId === undefined ) { throw new runtime.RequiredError( 'addressId', 'Required parameter requestParameters.addressId was null or undefined when calling getEmergencyAddress.' ); } const queryParameters: any = {}; const headerParameters: runtime.HTTPHeaders = {}; if (this.configuration && this.configuration.apiKey) { headerParameters['x-api-key'] = this.configuration.apiKey('x-api-key'); // API_KEY authentication } const response = await this.request( { path: `/phone/emergency-addresses/{addressId}`.replace( `{${'addressId'}}`, encodeURIComponent(String(requestParameters.addressId)) ), method: 'GET', headers: headerParameters, query: queryParameters, }, initOverrides ); return new runtime.JSONApiResponse(response, (jsonValue) => EmergencyAddressFromJSON(jsonValue) ); } /** */ async getEmergencyAddress( requestParameters: GetEmergencyAddressRequest, initOverrides?: RequestInit ): Promise<EmergencyAddress> { const response = await this.getEmergencyAddressRaw( requestParameters, initOverrides ); return await response.value(); } /** */ async getEmergencyAddressesRaw( initOverrides?: RequestInit ): Promise<runtime.ApiResponse<Array<EmergencyAddressDto>>> { const queryParameters: any = {}; const headerParameters: runtime.HTTPHeaders = {}; if (this.configuration && this.configuration.apiKey) { headerParameters['x-api-key'] = this.configuration.apiKey('x-api-key'); // API_KEY authentication } const response = await this.request( { path: `/phone/emergency-addresses`, method: 'GET', headers: headerParameters, query: queryParameters, }, initOverrides ); return new runtime.JSONApiResponse(response, (jsonValue) => jsonValue.map(EmergencyAddressDtoFromJSON) ); } /** */ async getEmergencyAddresses( initOverrides?: RequestInit ): Promise<Array<EmergencyAddressDto>> { const response = await this.getEmergencyAddressesRaw(initOverrides); return await response.value(); } /** */ async getPhoneNumberRaw( requestParameters: GetPhoneNumberRequest, initOverrides?: RequestInit ): Promise<runtime.ApiResponse<PhoneNumberDto>> { if ( requestParameters.phoneNumberId === null || requestParameters.phoneNumberId === undefined ) { throw new runtime.RequiredError( 'phoneNumberId', 'Required parameter requestParameters.phoneNumberId was null or undefined when calling getPhoneNumber.' ); } const queryParameters: any = {}; const headerParameters: runtime.HTTPHeaders = {}; if (this.configuration && this.configuration.apiKey) { headerParameters['x-api-key'] = this.configuration.apiKey('x-api-key'); // API_KEY authentication } const response = await this.request( { path: `/phone/numbers/{phoneNumberId}`.replace( `{${'phoneNumberId'}}`, encodeURIComponent(String(requestParameters.phoneNumberId)) ), method: 'GET', headers: headerParameters, query: queryParameters, }, initOverrides ); return new runtime.JSONApiResponse(response, (jsonValue) => PhoneNumberDtoFromJSON(jsonValue) ); } /** */ async getPhoneNumber( requestParameters: GetPhoneNumberRequest, initOverrides?: RequestInit ): Promise<PhoneNumberDto> { const response = await this.getPhoneNumberRaw( requestParameters, initOverrides ); return await response.value(); } /** */ async getPhoneNumbersRaw( requestParameters: GetPhoneNumbersRequest, initOverrides?: RequestInit ): Promise<runtime.ApiResponse<PagePhoneNumberProjection>> { const queryParameters: any = {}; if (requestParameters.phoneCountry !== undefined) { queryParameters['phoneCountry'] = requestParameters.phoneCountry; } if (requestParameters.page !== undefined) { queryParameters['page'] = requestParameters.page; } if (requestParameters.size !== undefined) { queryParameters['size'] = requestParameters.size; } if (requestParameters.sort !== undefined) { queryParameters['sort'] = requestParameters.sort; } if (requestParameters.since !== undefined) { queryParameters['since'] = (requestParameters.since as any).toISOString(); } if (requestParameters.before !== undefined) { queryParameters['before'] = ( requestParameters.before as any ).toISOString(); } const headerParameters: runtime.HTTPHeaders = {}; if (this.configuration && this.configuration.apiKey) { headerParameters['x-api-key'] = this.configuration.apiKey('x-api-key'); // API_KEY authentication } const response = await this.request( { path: `/phone/numbers`, method: 'GET', headers: headerParameters, query: queryParameters, }, initOverrides ); return new runtime.JSONApiResponse(response, (jsonValue) => PagePhoneNumberProjectionFromJSON(jsonValue) ); } /** */ async getPhoneNumbers( requestParameters: GetPhoneNumbersRequest, initOverrides?: RequestInit ): Promise<PagePhoneNumberProjection> { const response = await this.getPhoneNumbersRaw( requestParameters, initOverrides ); return await response.value(); } /** */ async getPhonePlansRaw( initOverrides?: RequestInit ): Promise<runtime.ApiResponse<Array<PhonePlanDto>>> { const queryParameters: any = {}; const headerParameters: runtime.HTTPHeaders = {}; if (this.configuration && this.configuration.apiKey) { headerParameters['x-api-key'] = this.configuration.apiKey('x-api-key'); // API_KEY authentication } const response = await this.request( { path: `/phone/plans`, method: 'GET', headers: headerParameters, query: queryParameters, }, initOverrides ); return new runtime.JSONApiResponse(response, (jsonValue) => jsonValue.map(PhonePlanDtoFromJSON) ); } /** */ async getPhonePlans( initOverrides?: RequestInit ): Promise<Array<PhonePlanDto>> { const response = await this.getPhonePlansRaw(initOverrides); return await response.value(); } /** */ async testPhoneNumberSendSmsRaw( requestParameters: TestPhoneNumberSendSmsRequest, initOverrides?: RequestInit ): Promise<runtime.ApiResponse<void>> { if ( requestParameters.phoneNumberId === null || requestParameters.phoneNumberId === undefined ) { throw new runtime.RequiredError( 'phoneNumberId', 'Required parameter requestParameters.phoneNumberId was null or undefined when calling testPhoneNumberSendSms.' ); } if ( requestParameters.testPhoneNumberOptions === null || requestParameters.testPhoneNumberOptions === undefined ) { throw new runtime.RequiredError( 'testPhoneNumberOptions', 'Required parameter requestParameters.testPhoneNumberOptions was null or undefined when calling testPhoneNumberSendSms.' ); } const queryParameters: any = {}; const headerParameters: runtime.HTTPHeaders = {}; headerParameters['Content-Type'] = 'application/json'; if ( requestParameters.xTestId !== undefined && requestParameters.xTestId !== null ) { headerParameters['x-test-id'] = String(requestParameters.xTestId); } if (this.configuration && this.configuration.apiKey) { headerParameters['x-api-key'] = this.configuration.apiKey('x-api-key'); // API_KEY authentication } const response = await this.request( { path: `/phone/numbers/{phoneNumberId}/test`.replace( `{${'phoneNumberId'}}`, encodeURIComponent(String(requestParameters.phoneNumberId)) ), method: 'POST', headers: headerParameters, query: queryParameters, body: TestPhoneNumberOptionsToJSON( requestParameters.testPhoneNumberOptions ), }, initOverrides ); return new runtime.VoidApiResponse(response); } /** */ async testPhoneNumberSendSms( requestParameters: TestPhoneNumberSendSmsRequest, initOverrides?: RequestInit ): Promise<void> { await this.testPhoneNumberSendSmsRaw(requestParameters, initOverrides); } } /** * @export * @enum {string} */ export enum GetPhoneNumbersPhoneCountryEnum { US = 'US', GB = 'GB', AU = 'AU', } /** * @export * @enum {string} */ export enum GetPhoneNumbersSortEnum { ASC = 'ASC', DESC = 'DESC', }