native_convex_CRM/app/api/leadsApi.ts

40 lines
1.5 KiB
TypeScript

import { LeadItem, LeadCountItem, AddLeadPayload, AddLeadResponse } from '@interfaces';
import { api } from '@utils';
export const getLeadsApi = async (
leadId: string | null,
staffId: string,
): Promise<LeadItem[]> => {
const url = `/api/leads/${leadId}/${staffId}`;
return await api.get<LeadItem[]>(url);
};
export const getLeadCountListApi = async (
staffId: string,
): Promise<LeadCountItem[]> => {
const url = `/api/leadcountlist/${staffId}`;
return await api.get<LeadCountItem[]>(url);
};
export const addLeadApi = async (
payload: AddLeadPayload,
): Promise<AddLeadResponse> => {
const formData = new FormData();
formData.append('staff_id', payload.staff_id);
formData.append('name', payload.name);
if (payload.company) formData.append('company', payload.company);
if (payload.email) formData.append('email', payload.email);
if (payload.phonenumber) formData.append('phonenumber', payload.phonenumber);
if (payload.website) formData.append('website', payload.website);
if (payload.source) formData.append('source', payload.source);
if (payload.status) formData.append('status', payload.status);
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);
return await api.post<AddLeadResponse>('/api/leads', formData);
};