metis-desk/modules/companies/src/api/application/software-installation-policy.ts

26 lines
903 B
TypeScript
Raw Normal View History

import type { SoftwareInstallationValues } from "../domain/value-objects/software-installation-values.vo";
import type { SoftwareContext } from "./software-installation.repository";
export function softwareReferences(values: SoftwareInstallationValues, context: SoftwareContext) {
return (
context.assets.some((item) => item.id.equals(values.assetId)) &&
context.resources.some(
(item) =>
item.id.equals(values.resourceId) && (item.usage === "application" || item.usage === "os")
)
);
}
export function softwareAvailable(values: SoftwareInstallationValues, context: SoftwareContext) {
return (
context.assets.some((item) => item.id.equals(values.assetId) && item.available) &&
context.resources.some(
(item) =>
item.id.equals(values.resourceId) &&
item.active &&
(item.usage === "application" || item.usage === "os")
)
);
}