import { commissionStatusSchema, createCommissionInputSchema, createCustomerInputSchema, updateCommissionStatusInputSchema, } from "@cms/content" import { db } from "./client" export const commissionKanbanOrder = commissionStatusSchema.options export async function listCustomers(limit = 200) { return db.customer.findMany({ orderBy: [{ updatedAt: "desc" }], take: limit, }) } export async function createCustomer(input: unknown) { const payload = createCustomerInputSchema.parse(input) return db.customer.create({ data: payload, }) } export async function listCommissions(limit = 300) { return db.commission.findMany({ orderBy: [{ updatedAt: "desc" }], take: limit, include: { customer: { select: { id: true, name: true, email: true, isRecurring: true, }, }, assignedUser: { select: { id: true, name: true, username: true, }, }, }, }) } export async function createCommission(input: unknown) { const payload = createCommissionInputSchema.parse(input) return db.commission.create({ data: payload, }) } export async function updateCommissionStatus(input: unknown) { const payload = updateCommissionStatusInputSchema.parse(input) return db.commission.update({ where: { id: payload.id }, data: { status: payload.status }, }) }