import type { Structure } from "@/payload-types"; export type StaffingDefaults = { readonly maintenanceCost: number; readonly laborRequirements: NonNullable; readonly staffPositions: NonNullable; }; export function staffingDefaultsFromBlueprint(blueprint: Structure): StaffingDefaults { return { maintenanceCost: blueprint.maintenanceCost ?? 0, laborRequirements: (blueprint.laborRequirements ?? []).map((requirement) => ({ classification: typeof requirement.classification === "object" ? requirement.classification.id : requirement.classification, requiredHeadcount: requirement.requiredHeadcount, maxHeadcount: requirement.maxHeadcount ?? null, enforcedSalary: requirement.enforcedSalary ?? null, })), staffPositions: (blueprint.staffPositions ?? []).map((position) => ({ positionType: position.positionType, max: position.max ?? null, enforcedSalary: position.enforcedSalary ?? null, })), }; }