67 lines
1.4 KiB
TypeScript
67 lines
1.4 KiB
TypeScript
// src/app/services/party-order.service.ts
|
|
//
|
|
// PURPOSE:
|
|
// - Service for handling PartyOrderItem Record
|
|
//
|
|
|
|
import type { PartyOrderItem } from '@prisma/client';
|
|
|
|
import prisma from '../lib/prisma';
|
|
|
|
type CreateOrder = {
|
|
status: string;
|
|
taxes: number;
|
|
shipping: number;
|
|
discount: number;
|
|
items: any[];
|
|
customer: any;
|
|
payment: any;
|
|
delivery: any;
|
|
shippingAddress: any;
|
|
billingAddress: any;
|
|
};
|
|
|
|
type UpdateOrder = {
|
|
status?: string;
|
|
taxes?: number;
|
|
shipping?: number;
|
|
discount?: number;
|
|
items?: any[];
|
|
customer?: any;
|
|
payment?: any;
|
|
delivery?: any;
|
|
shippingAddress?: any;
|
|
billingAddress?: any;
|
|
};
|
|
|
|
async function listPartyOrders(): Promise<PartyOrderItem[]> {
|
|
return prisma.partyOrderItem.findMany();
|
|
}
|
|
|
|
async function getPartyOrder(partyOrderId: string): Promise<PartyOrderItem | null> {
|
|
return prisma.partyOrderItem.findUnique({
|
|
where: { id: partyOrderId },
|
|
});
|
|
}
|
|
|
|
async function createOrder(orderData: any) {
|
|
return prisma.partyOrderItem.create({
|
|
data: orderData,
|
|
});
|
|
}
|
|
|
|
async function updateOrder(orderId: string, updateData: UpdateOrder) {
|
|
return prisma.partyOrderItem.update({
|
|
where: { id: orderId },
|
|
data: updateData,
|
|
});
|
|
}
|
|
|
|
async function deleteOrder(orderId: string) {
|
|
return prisma.partyOrderItem.delete({
|
|
where: { id: orderId },
|
|
});
|
|
}
|
|
|
|
export { getPartyOrder as getOrder, createOrder, updateOrder, deleteOrder, listPartyOrders, type CreateOrder, type UpdateOrder };
|