mega-plant/lib/clock-badge.ts

12 lines
600 B
TypeScript

import {mechanicQrPayload, parseMechanicQr} from './mechanics';
import type {ClockEmployee} from './clock';
/** Preserve Plant's printed name/code badges and support Infrastructure code-only badges. */
export function employeeCodeFromBadge(raw:string):string|null {
if(raw.length>300)return null;
const code=raw.includes('|')?parseMechanicQr(raw)?.employeeCode:raw.trim();
return code && code.length<=100?code:null;
}
export function employeeBadgePayload(employee:Pick<ClockEmployee,'name'|'employeeNo'>) {
return mechanicQrPayload({name:employee.name,employee_code:employee.employeeNo});
}