/** * 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 { ContactsAddContactsToGroupRequest, ContactsContactList, ContactsCreateGroupRequest, ContactsGroup, ContactsGroupList, ContactsInputGroup, ContactsLocateGroupResponse, ListGroupsParams, LocateGroupParams, RemoveContactsFromGroupParams, } from '../_models'; // --- header start // export const // --- title start getGroups = // --- title end (axiosInstance: AxiosInstance = axios) => { // --- header end /** * @summary Retrieve a list of groups or search groups */ const listGroups = ( params?: ListGroupsParams, options?: AxiosRequestConfig, ): Promise> => { return axiosInstance.get(`/contacts/groups`, { ...options, params: { ...params, ...options?.params, }, }); }; /** * @summary Create a new group */ const createGroup = ( contactsCreateGroupRequest: ContactsCreateGroupRequest, options?: AxiosRequestConfig, ): Promise> => { return axiosInstance.post( `/contacts/groups`, contactsCreateGroupRequest, options, ); }; /** * @summary Attach contacts to multiple groups */ const addContactsToGroups = ( contactsAddContactsToGroupRequest: ContactsAddContactsToGroupRequest, options?: AxiosRequestConfig, ): Promise> => { return axiosInstance.post( `/contacts/groups/contacts:attach`, contactsAddContactsToGroupRequest, options, ); }; /** * @summary Remove contacts from a group */ const removeContactsFromGroup = ( groupId: string, params?: RemoveContactsFromGroupParams, options?: AxiosRequestConfig, ): Promise> => { return axiosInstance.delete(`/contacts/groups/${groupId}/contact`, { ...options, params: { ...params, ...options?.params, }, }); }; /** * @summary Delete a group */ const deleteGroup = ( id: string, options?: AxiosRequestConfig, ): Promise> => { return axiosInstance.delete(`/contacts/groups/${id}`, options); }; /** * @summary Locate a group by ID */ const locateGroup = ( id: string, params?: LocateGroupParams, options?: AxiosRequestConfig, ): Promise> => { return axiosInstance.get(`/contacts/groups/${id}`, { ...options, params: { ...params, ...options?.params, }, }); }; /** * @summary Update an existing group */ const updateGroup2 = ( id: string, contactsInputGroup: ContactsInputGroup, options?: AxiosRequestConfig, ): Promise> => { return axiosInstance.patch( `/contacts/groups/${id}`, contactsInputGroup, options, ); }; /** * @summary Update an existing group */ const updateGroup = ( id: string, contactsInputGroup: ContactsInputGroup, options?: AxiosRequestConfig, ): Promise> => { return axiosInstance.put( `/contacts/groups/${id}`, contactsInputGroup, options, ); }; // --- footer start return { listGroups, createGroup, addContactsToGroups, removeContactsFromGroup, deleteGroup, locateGroup, updateGroup2, updateGroup, }; }; export type ListGroupsResult = AxiosResponse; export type CreateGroupResult = AxiosResponse; export type AddContactsToGroupsResult = AxiosResponse; export type RemoveContactsFromGroupResult = AxiosResponse; export type DeleteGroupResult = AxiosResponse; export type LocateGroupResult = AxiosResponse; export type UpdateGroup2Result = AxiosResponse; export type UpdateGroupResult = AxiosResponse; // --- footer end