40 lines
1.5 KiB
TypeScript
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);
|
|
};
|
|
|