Listing_SuggestPrice/backend/app/helpers/condition.ts

33 lines
976 B
TypeScript

/**
* Quy đổi condition gốc từ ERP về condition chuẩn dùng trong hệ thống.
*
* Quy tắc:
* NIB, NOB -> NEW
* USEB -> USED
*/
/** Các condition gốc từ ERP được phép đồng bộ / lưu trữ. */
export const SYNCABLE_CONDITIONS = ['NIB', 'NOB', 'USEB'] as const
/**
* Convert condition gốc -> condition chuẩn (NEW/USED).
* Trả về `null` nếu condition không nằm trong danh sách hỗ trợ (NIB/NOB/USEB).
*/
export function convertCondition(condition?: string | null): string | null {
const normalized = (condition ?? '').trim().toUpperCase()
switch (normalized) {
case 'NIB':
case 'NOB':
return 'NEW'
case 'USEB':
return 'USED'
default:
return null
}
}
/** Condition gốc có thuộc danh sách được phép đồng bộ (NIB/NOB/USEB) hay không. */
export function isSyncableCondition(condition?: string | null): boolean {
return convertCondition(condition) !== null
}