39 lines
1.4 KiB
TypeScript
39 lines
1.4 KiB
TypeScript
import { Job } from '@app-types/index';
|
|
import { JobStatus } from '@utils/constants';
|
|
import { mockJobOffer } from '@store/mockData/mockJobs';
|
|
// import apiClient from '../services/apiClient'; // Used when connecting to real backend
|
|
|
|
export const acceptJob = async (jobId: string): Promise<Job> => {
|
|
// return (await apiClient.post(`/jobs/${jobId}/accept`)).data;
|
|
await new Promise<void>((r) => setTimeout(r, 500));
|
|
return {
|
|
...mockJobOffer,
|
|
jobId,
|
|
orderId: '#ORD125487',
|
|
status: JobStatus.Accepted,
|
|
acceptedAt: new Date().toISOString(),
|
|
collectAmount: 0,
|
|
};
|
|
};
|
|
|
|
export const rejectJob = async (jobId: string): Promise<void> => {
|
|
// await apiClient.post(`/jobs/${jobId}/reject`);
|
|
await new Promise<void>((r) => setTimeout(r, 300));
|
|
};
|
|
|
|
export const confirmPickup = async (jobId: string): Promise<void> => {
|
|
// await apiClient.post(`/jobs/${jobId}/pickup`);
|
|
await new Promise<void>((r) => setTimeout(r, 500));
|
|
};
|
|
|
|
export const confirmDelivery = async (jobId: string, rating: number): Promise<{ earnings: number }> => {
|
|
// return (await apiClient.post(`/jobs/${jobId}/deliver`, { rating })).data;
|
|
await new Promise<void>((r) => setTimeout(r, 800));
|
|
return { earnings: 78 };
|
|
};
|
|
|
|
export const reportIssue = async (jobId: string, reason: string): Promise<void> => {
|
|
// await apiClient.post(`/jobs/${jobId}/issue`, { reason });
|
|
await new Promise<void>((r) => setTimeout(r, 500));
|
|
};
|