ignore folder
This commit is contained in:
43
services/workflow.ts
Normal file
43
services/workflow.ts
Normal file
@ -0,0 +1,43 @@
|
||||
import {
|
||||
ApiResponse,
|
||||
WorkflowActionPayload,
|
||||
WorkflowCreateRequest,
|
||||
WorkflowFilters,
|
||||
WorkflowRequestItem
|
||||
} from "@/types/api";
|
||||
import { apiClient } from "./api";
|
||||
|
||||
export async function getWorkflowRequests(filters: WorkflowFilters = {}): Promise<WorkflowRequestItem[]> {
|
||||
const response = await apiClient.get<ApiResponse<WorkflowRequestItem[]>>("/api/workflow/requests", {
|
||||
params: filters
|
||||
});
|
||||
if (!response.data.success) throw new Error(response.data.message);
|
||||
return response.data.data;
|
||||
}
|
||||
|
||||
export async function createWorkflowRequest(payload: WorkflowCreateRequest): Promise<WorkflowRequestItem> {
|
||||
const response = await apiClient.post<ApiResponse<WorkflowRequestItem>>("/api/workflow/request", payload);
|
||||
const data = response.data;
|
||||
if (!data.success) throw new Error(data.message);
|
||||
return data.data;
|
||||
}
|
||||
|
||||
export async function approveWorkflowRequest(id: string, payload: WorkflowActionPayload): Promise<WorkflowRequestItem> {
|
||||
const response = await apiClient.post<ApiResponse<WorkflowRequestItem>>(
|
||||
`/api/workflow/${id}/approve`,
|
||||
payload
|
||||
);
|
||||
const data = response.data;
|
||||
if (!data.success) throw new Error(data.message);
|
||||
return data.data;
|
||||
}
|
||||
|
||||
export async function rejectWorkflowRequest(id: string, payload: WorkflowActionPayload): Promise<WorkflowRequestItem> {
|
||||
const response = await apiClient.post<ApiResponse<WorkflowRequestItem>>(
|
||||
`/api/workflow/${id}/reject`,
|
||||
payload
|
||||
);
|
||||
const data = response.data;
|
||||
if (!data.success) throw new Error(data.message);
|
||||
return data.data;
|
||||
}
|
||||
Reference in New Issue
Block a user