Ship 4-digit OTP with rate-limit attempts, Tehran-safe expiry/rass math, larger JSON body limit for check images, and safer order pricing/status guards. Include rebuilt dist for prebuilt deploy. Co-authored-by: Cursor <cursoragent@cursor.com>
89 lines
3.4 KiB
JavaScript
89 lines
3.4 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.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
|