12 lines
600 B
TypeScript
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});
|
|
}
|