import type { PrinterConfigurationValues } from "../domain/value-objects/printer-configuration-values"; import type { PrinterContext } from "./printer-configuration.repository"; export function printerReferences(values: PrinterConfigurationValues, context: PrinterContext) { const profile = context.profiles.find((item) => item.id.equals(values.profileId)); return ( !!profile && !profile.values.assetId.equals(values.printerId) && context.assets.some((asset) => asset.id.equals(values.printerId)) ); } export function printerAvailable(values: PrinterConfigurationValues, context: PrinterContext) { const profile = context.profiles.find((item) => item.id.equals(values.profileId)); return ( !!profile && profile.values.active && context.people.some((person) => person.id.equals(profile.values.personId) && person.active) && context.assets.some((asset) => asset.id.equals(profile.values.assetId) && asset.available) && context.assets.some((asset) => asset.id.equals(values.printerId) && asset.available) ); }