(llm-first): context budget, validation, and eval harness, orchestration general-prompt
This commit is contained in:
85
server/src/modules/shared/record-mappers.ts
Normal file
85
server/src/modules/shared/record-mappers.ts
Normal file
@@ -0,0 +1,85 @@
|
||||
function decimalToString(value: unknown): string | null {
|
||||
if (value === null || value === undefined) {
|
||||
return null;
|
||||
}
|
||||
|
||||
return String(value);
|
||||
}
|
||||
|
||||
function isoDate(value: unknown): string | null {
|
||||
if (!value) {
|
||||
return null;
|
||||
}
|
||||
|
||||
const date = value instanceof Date ? value : new Date(String(value));
|
||||
return Number.isNaN(date.getTime()) ? null : date.toISOString();
|
||||
}
|
||||
|
||||
export function mapEquipment(record: any) {
|
||||
return {
|
||||
id: record.id,
|
||||
name: record.name,
|
||||
serialNumber: record.serialNumber,
|
||||
inventoryNumber: record.inventoryNumber,
|
||||
equipmentType: record.equipmentType,
|
||||
dateOfInspection: isoDate(record.dateOfInspection),
|
||||
periodicityTO: record.periodicityTO,
|
||||
location: record.location ?? null,
|
||||
status: record.status,
|
||||
commissionedAt: isoDate(record.commissionedAt),
|
||||
totalEngineHours: decimalToString(record.totalEngineHours),
|
||||
engineHoursSinceLastRepair: decimalToString(record.engineHoursSinceLastRepair),
|
||||
lastRepairAt: isoDate(record.lastRepairAt),
|
||||
notes: record.notes ?? null,
|
||||
workAsPartOf: record.workAsPartOf ?? null,
|
||||
fuelConsumed: record.fuelConsumed ?? null,
|
||||
};
|
||||
}
|
||||
|
||||
export function mapEmployee(record: any, shallow = false): any {
|
||||
return {
|
||||
id: record.code,
|
||||
code: record.code,
|
||||
fullName: record.fullName,
|
||||
role: record.role,
|
||||
position: record.position,
|
||||
bossCode: record.bossCode ?? record.boss?.code ?? null,
|
||||
boss: shallow || !record.boss ? null : mapEmployee(record.boss, true),
|
||||
subordinates: shallow
|
||||
? []
|
||||
: Array.isArray(record.subordinates)
|
||||
? record.subordinates.map((item: any) => mapEmployee(item, true))
|
||||
: [],
|
||||
price: record.price ?? null,
|
||||
phoneNumber: record.phoneNumber ?? null,
|
||||
};
|
||||
}
|
||||
|
||||
export function mapPart(record: any) {
|
||||
return {
|
||||
id: record.id,
|
||||
name: record.name,
|
||||
categories: record.categories ?? null,
|
||||
price: record.price ?? null,
|
||||
description: record.description ?? null,
|
||||
serialNumber: record.serialNumber ?? null,
|
||||
};
|
||||
}
|
||||
|
||||
export function mapCategoryResource(record: any) {
|
||||
return {
|
||||
id: record.id,
|
||||
partId: record.partId ?? record.part?.id ?? null,
|
||||
employeeCode: record.employeeCode ?? record.employee?.code ?? null,
|
||||
part: record.part ? mapPart(record.part) : null,
|
||||
employee: record.employee ? mapEmployee(record.employee, true) : null,
|
||||
};
|
||||
}
|
||||
|
||||
export function mapPriceList(costOfWorkingHours: number | null | undefined, partPrice: number | null | undefined) {
|
||||
return {
|
||||
id: 'price-list',
|
||||
costOfWorkingHours: costOfWorkingHours ?? 0,
|
||||
partPrice: partPrice ?? 0,
|
||||
};
|
||||
}
|
||||
Reference in New Issue
Block a user