native_convex_CRM/app/api/customersApi.ts

53 lines
2.6 KiB
TypeScript

import { CustomerItem, DeleteCustomerResponse, AddCustomerPayload, AddCustomerResponse } from '@interfaces';
import { api } from '@utils';
export const getCustomersApi = async (): Promise<CustomerItem[]> => {
return await api.get<CustomerItem[]>('/api/customers');
};
export const getCustomerDetailsApi = async (
userid: string,
): Promise<CustomerItem> => {
return await api.get<CustomerItem>(`/api/customers/${userid}`);
};
export const deleteCustomerApi = async (
userid: string,
): Promise<DeleteCustomerResponse> => {
return await api.delete<DeleteCustomerResponse>(`/api/delete/customers/${userid}`);
};
export const addCustomerApi = async (
payload: AddCustomerPayload,
): Promise<AddCustomerResponse> => {
const formData = new FormData();
formData.append('company', payload.company);
if (payload.vat) formData.append('vat', payload.vat);
if (payload.phonenumber) formData.append('phonenumber', payload.phonenumber);
if (payload.website) formData.append('website', payload.website);
if (payload.groups_in) formData.append('groups_in', payload.groups_in);
if (payload.default_language) formData.append('default_language', payload.default_language);
if (payload.default_currency) formData.append('default_currency', payload.default_currency);
if (payload.address) formData.append('address', payload.address);
if (payload.city) formData.append('city', payload.city);
if (payload.state) formData.append('state', payload.state);
if (payload.zip) formData.append('zip', payload.zip);
if (payload.country) formData.append('country', payload.country);
if (payload.billing_street) formData.append('billing_street', payload.billing_street);
if (payload.billing_city) formData.append('billing_city', payload.billing_city);
if (payload.billing_state) formData.append('billing_state', payload.billing_state);
if (payload.billing_zip) formData.append('billing_zip', payload.billing_zip);
if (payload.billing_country) formData.append('billing_country', payload.billing_country);
if (payload.shipping_street) formData.append('shipping_street', payload.shipping_street);
if (payload.shipping_city) formData.append('shipping_city', payload.shipping_city);
if (payload.shipping_state) formData.append('shipping_state', payload.shipping_state);
if (payload.shipping_zip) formData.append('shipping_zip', payload.shipping_zip);
if (payload.shipping_country) formData.append('shipping_country', payload.shipping_country);
if (payload.addedfrom) formData.append('addedfrom', payload.addedfrom);
return await api.post<AddCustomerResponse>('/api/customers', formData);
};