22 lines
1.0 KiB
TypeScript
22 lines
1.0 KiB
TypeScript
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)
|
|
);
|
|
}
|