Files
gongxue-base/packages/domain/src/index.js
2026-06-21 21:54:43 +08:00

38 lines
1.2 KiB
JavaScript

export const TENANT_ROLES = [
'platform_admin',
'tenant_owner',
'tenant_admin',
'tenant_operator',
'teacher',
'sales',
'agent',
'student',
];
export const QUESTION_STATUSES = ['draft', 'published', 'archived'];
export const ORDER_STATUSES = ['pending', 'paid', 'failed', 'closed', 'refunded'];
export const ENTITLEMENT_SCOPE_TYPES = ['tenant', 'region', 'module', 'subject', 'question_bank'];
export function normalizeTenantRole(role) {
const value = String(role || '').toLowerCase();
if (value === 'superadmin')
return 'platform_admin';
if (value === 'admin')
return 'tenant_admin';
if (value === 'operator')
return 'tenant_operator';
if (TENANT_ROLES.includes(value))
return value;
return 'student';
}
export function normalizeOrderStatus(status) {
const value = String(status || '').toLowerCase();
if (value === 'paid' || value === 'success')
return 'paid';
if (value === 'failed' || value === 'fail')
return 'failed';
if (value === 'refunded' || value === 'refund')
return 'refunded';
if (value === 'closed' || value === 'cancelled' || value === 'canceled')
return 'closed';
return 'pending';
}