"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.ORDER_STATUS_LABELS = exports.ADMIN_STATUS_MAP = void 0; exports.resolveAdminStatusFilter = resolveAdminStatusFilter; exports.toAdminStatus = toAdminStatus; const client_1 = require("@prisma/client"); exports.ADMIN_STATUS_MAP = { pending_review: [ client_1.OrderStatus.cart, client_1.OrderStatus.awaiting_settlement, client_1.OrderStatus.cash_in_progress, client_1.OrderStatus.check_in_progress, client_1.OrderStatus.submitted, client_1.OrderStatus.awaiting_review, client_1.OrderStatus.pricing, client_1.OrderStatus.cash_invoice_issued, client_1.OrderStatus.awaiting_cash_payment, client_1.OrderStatus.cash_payment_submitted, client_1.OrderStatus.awaiting_cash_confirmation, ], pending_check: [client_1.OrderStatus.awaiting_check_review], needs_correction: [ client_1.OrderStatus.needs_correction, client_1.OrderStatus.awaiting_settlement_fix, ], check_correction: [client_1.OrderStatus.check_needs_fix, client_1.OrderStatus.check_rejected], final_approval: [ client_1.OrderStatus.final_approved, client_1.OrderStatus.checks_approved, client_1.OrderStatus.cash_confirmed, client_1.OrderStatus.preparing, client_1.OrderStatus.ready_to_ship, ], shipped: [client_1.OrderStatus.shipped], delivered: [client_1.OrderStatus.delivered], }; const TERMINAL_STATUSES = [ client_1.OrderStatus.cancelled, client_1.OrderStatus.rejected, client_1.OrderStatus.expired, ]; function resolveAdminStatusFilter(status) { if (!status) return undefined; if (exports.ADMIN_STATUS_MAP[status]) return exports.ADMIN_STATUS_MAP[status]; if (Object.values(client_1.OrderStatus).includes(status)) { return [status]; } return undefined; } function toAdminStatus(status) { for (const [admin, list] of Object.entries(exports.ADMIN_STATUS_MAP)) { if (list.includes(status)) return admin; } if (TERMINAL_STATUSES.includes(status)) return status; return 'pending_review'; } exports.ORDER_STATUS_LABELS = { cart: 'سبد خرید', awaiting_settlement: 'در انتظار تسویه', cash_in_progress: 'در حال ثبت نقدی', check_in_progress: 'در حال ثبت چک', submitted: 'ثبت‌شده', awaiting_review: 'در انتظار بررسی', pricing: 'قیمت‌گذاری', needs_correction: 'نیاز به اصلاح', awaiting_settlement_fix: 'اصلاح تسویه', cash_invoice_issued: 'صدور فاکتور نقدی', awaiting_cash_payment: 'در انتظار پرداخت نقدی', cash_payment_submitted: 'رسید نقدی ارسال‌شده', awaiting_cash_confirmation: 'تأیید پرداخت نقدی', cash_confirmed: 'پرداخت نقدی تأیید شد', awaiting_check_review: 'بررسی چک', check_needs_fix: 'اصلاح چک', check_rejected: 'رد چک', checks_approved: 'تأیید چک‌ها', final_approved: 'تأیید نهایی', preparing: 'آماده‌سازی', ready_to_ship: 'آماده ارسال', shipped: 'ارسال‌شده', delivered: 'تحویل‌شده', cancelled: 'لغو شده', rejected: 'رد شده', expired: 'منقضی', }; //# sourceMappingURL=order-status.js.map