import http from './http'; import type { OrderPriority } from '@/types/OrderPriority'; export interface CreateOrderPriorityPayload { orderID: number; pageID: number; priority?: number; } export interface UpdateOrderPriorityPayload { priority?: number; } export interface BatchUpdateManyOrderPriorityDto { pages: { pageID: number; configs: { id: number; priority: number; }[]; }[]; } export async function listOrderPriorities(): Promise<OrderPriority[]> { const { data } = await http.get('/orderpiorities'); return data; } export async function findOrderPrioritiesWithFilter( orderId?: number, pageId?: number ): Promise<OrderPriority[]> { const params = new URLSearchParams(); if (orderId !== undefined) params.append('orderId', orderId.toString()); if (pageId !== undefined) params.append('pageId', pageId.toString()); const query = params.toString(); const { data } = await http.get(`/orderpiorities${query ? '?' + query : ''}`); return data; } export async function createOrUpdateOrderPriority( payload: CreateOrderPriorityPayload ): Promise<{ message: string; orderPriority: OrderPriority }> { const { data } = await http.post('/orderpiorities', payload); return data; } export async function updateManyOrderPriorities( payload: BatchUpdateManyOrderPriorityDto ): Promise<any> { const { data } = await http.patch('/orderpiorities/batch', payload); return data; } export async function deleteOrderPriority(id: number): Promise<void> { await http.delete(`/orderpiorities/${id}`); }