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") ) ); }