/** * Generated by orval v8.19.0 🍺 * Do not edit manually. * Webitel API * OpenAPI spec version: 24.04.0 */ import axios from '@aliasedDeps/api-services/axios'; import type { AxiosInstance, AxiosRequestConfig, AxiosResponse } from 'axios'; import type { ContactsEmailAddress, ContactsEmailList, ContactsInputEmailAddress, DeleteEmailParams, DeleteEmailsParams, ListEmailsParams, LocateEmailParams, MergeEmailsParams, ResetEmailsParams, UpdateEmail2Body, UpdateEmail2Params, UpdateEmailBody, UpdateEmailParams, } from '../_models'; // --- header start // export const // --- title start getEmails = // --- title end (axiosInstance: AxiosInstance = axios) => { // --- header end /** * @summary Remove email address(es) of the contact. */ const deleteEmails = ( contactId: string, params: DeleteEmailsParams, options?: AxiosRequestConfig, ): Promise> => { return axiosInstance.delete(`/contacts/${contactId}/emails`, { ...options, params: { ...params, ...options?.params, }, }); }; /** * @summary Locates email address(es) of the contact. */ const listEmails = ( contactId: string, params?: ListEmailsParams, options?: AxiosRequestConfig, ): Promise> => { return axiosInstance.get(`/contacts/${contactId}/emails`, { ...options, params: { ...params, ...options?.params, }, }); }; /** * @summary Update or append email address(es) of the contact. */ const mergeEmails = ( contactId: string, contactsInputEmailAddress: ContactsInputEmailAddress[], params?: MergeEmailsParams, options?: AxiosRequestConfig, ): Promise> => { return axiosInstance.post( `/contacts/${contactId}/emails`, contactsInputEmailAddress, { ...options, params: { ...params, ...options?.params, }, }, ); }; /** * @summary Resets all emails of the contact according to the input dataset. */ const resetEmails = ( contactId: string, contactsInputEmailAddress: ContactsInputEmailAddress[], params?: ResetEmailsParams, options?: AxiosRequestConfig, ): Promise> => { return axiosInstance.put( `/contacts/${contactId}/emails`, contactsInputEmailAddress, { ...options, params: { ...params, ...options?.params, }, }, ); }; /** * @summary Remove the contact's email address link */ const deleteEmail = ( contactId: string, etag: string, params?: DeleteEmailParams, options?: AxiosRequestConfig, ): Promise> => { return axiosInstance.delete(`/contacts/${contactId}/emails/${etag}`, { ...options, params: { ...params, ...options?.params, }, }); }; /** * @summary Locate the email address link. */ const locateEmail = ( contactId: string, etag: string, params?: LocateEmailParams, options?: AxiosRequestConfig, ): Promise> => { return axiosInstance.get(`/contacts/${contactId}/emails/${etag}`, { ...options, params: { ...params, ...options?.params, }, }); }; /** * @summary Update the contact's email address link details */ const updateEmail2 = ( contactId: string, etag: string, updateEmail2Body: UpdateEmail2Body, params?: UpdateEmail2Params, options?: AxiosRequestConfig, ): Promise> => { return axiosInstance.patch( `/contacts/${contactId}/emails/${etag}`, updateEmail2Body, { ...options, params: { ...params, ...options?.params, }, }, ); }; /** * @summary Update the contact's email address link details */ const updateEmail = ( contactId: string, etag: string, updateEmailBody: UpdateEmailBody, params?: UpdateEmailParams, options?: AxiosRequestConfig, ): Promise> => { return axiosInstance.put( `/contacts/${contactId}/emails/${etag}`, updateEmailBody, { ...options, params: { ...params, ...options?.params, }, }, ); }; // --- footer start return { deleteEmails, listEmails, mergeEmails, resetEmails, deleteEmail, locateEmail, updateEmail2, updateEmail, }; }; export type DeleteEmailsResult = AxiosResponse; export type ListEmailsResult = AxiosResponse; export type MergeEmailsResult = AxiosResponse; export type ResetEmailsResult = AxiosResponse; export type DeleteEmailResult = AxiosResponse; export type LocateEmailResult = AxiosResponse; export type UpdateEmail2Result = AxiosResponse; export type UpdateEmailResult = AxiosResponse; // --- footer end