Files
fabric_trade_server/dist/common/utils/order-status.js
T

93 lines
3.5 KiB
JavaScript

"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.submitted,
client_1.OrderStatus.awaiting_review,
client_1.OrderStatus.pricing,
],
awaiting_customer: [
client_1.OrderStatus.awaiting_settlement,
client_1.OrderStatus.awaiting_settlement_fix,
client_1.OrderStatus.check_in_progress,
client_1.OrderStatus.cash_in_progress,
client_1.OrderStatus.cash_invoice_issued,
client_1.OrderStatus.awaiting_cash_payment,
],
pending_check: [client_1.OrderStatus.awaiting_check_review],
pending_payment: [
client_1.OrderStatus.cash_payment_submitted,
client_1.OrderStatus.awaiting_cash_confirmation,
],
needs_correction: [client_1.OrderStatus.needs_correction],
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,
],
preparing: [
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