/** * 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 { ContactsInputTimezone, ContactsTimezone, ContactsTimezoneList, DeleteTimezoneParams, DeleteTimezonesParams, ListTimezonesParams, LocateTimezoneParams, MergeTimezonesParams, ResetTimezonesParams, UpdateTimezone2Body, UpdateTimezone2Params, UpdateTimezoneBody, UpdateTimezoneParams, } from '../_models'; // --- header start // export const // --- title start getTimezones = // --- title end (axiosInstance: AxiosInstance = axios) => { // --- header end /** * @summary Remove the Contact's timezone(s). */ const deleteTimezones = ( contactId: string, params: DeleteTimezonesParams, options?: AxiosRequestConfig, ): Promise> => { return axiosInstance.delete(`/contacts/${contactId}/timezones`, { ...options, params: { ...params, ...options?.params, }, }); }; /** * @summary List of the Contact's timezone(s). */ const listTimezones = ( contactId: string, params?: ListTimezonesParams, options?: AxiosRequestConfig, ): Promise> => { return axiosInstance.get(`/contacts/${contactId}/timezones`, { ...options, params: { ...params, ...options?.params, }, }); }; /** * @summary Associate more timezone(s) with the Contact. */ const mergeTimezones = ( contactId: string, contactsInputTimezone: ContactsInputTimezone[], params?: MergeTimezonesParams, options?: AxiosRequestConfig, ): Promise> => { return axiosInstance.post( `/contacts/${contactId}/timezones`, contactsInputTimezone, { ...options, params: { ...params, ...options?.params, }, }, ); }; /** * @summary Resets all timezones of the contact according to the input dataset. */ const resetTimezones = ( contactId: string, contactsInputTimezone: ContactsInputTimezone[], params?: ResetTimezonesParams, options?: AxiosRequestConfig, ): Promise> => { return axiosInstance.put( `/contacts/${contactId}/timezones`, contactsInputTimezone, { ...options, params: { ...params, ...options?.params, }, }, ); }; /** * @summary Remove the Contact's timezone association. */ const deleteTimezone = ( contactId: string, etag: string, params?: DeleteTimezoneParams, options?: AxiosRequestConfig, ): Promise> => { return axiosInstance.delete( `/contacts/${contactId}/timezones/${etag}`, { ...options, params: { ...params, ...options?.params, }, }, ); }; /** * @summary Locate the Contact's timezone association. */ const locateTimezone = ( contactId: string, etag: string, params?: LocateTimezoneParams, options?: AxiosRequestConfig, ): Promise> => { return axiosInstance.get(`/contacts/${contactId}/timezones/${etag}`, { ...options, params: { ...params, ...options?.params, }, }); }; /** * @summary Update the Contact's timezone details. */ const updateTimezone2 = ( contactId: string, etag: string, updateTimezone2Body: UpdateTimezone2Body, params?: UpdateTimezone2Params, options?: AxiosRequestConfig, ): Promise> => { return axiosInstance.patch( `/contacts/${contactId}/timezones/${etag}`, updateTimezone2Body, { ...options, params: { ...params, ...options?.params, }, }, ); }; /** * @summary Update the Contact's timezone details. */ const updateTimezone = ( contactId: string, etag: string, updateTimezoneBody: UpdateTimezoneBody, params?: UpdateTimezoneParams, options?: AxiosRequestConfig, ): Promise> => { return axiosInstance.put( `/contacts/${contactId}/timezones/${etag}`, updateTimezoneBody, { ...options, params: { ...params, ...options?.params, }, }, ); }; // --- footer start return { deleteTimezones, listTimezones, mergeTimezones, resetTimezones, deleteTimezone, locateTimezone, updateTimezone2, updateTimezone, }; }; export type DeleteTimezonesResult = AxiosResponse; export type ListTimezonesResult = AxiosResponse; export type MergeTimezonesResult = AxiosResponse; export type ResetTimezonesResult = AxiosResponse; export type DeleteTimezoneResult = AxiosResponse; export type LocateTimezoneResult = AxiosResponse; export type UpdateTimezone2Result = AxiosResponse; export type UpdateTimezoneResult = AxiosResponse; // --- footer end