Renombrar ficheros Value Object

This commit is contained in:
David Arranz 2026-10-09 10:38:19 +02:00
parent 22b2d1612f
commit 5cd16ee972
174 changed files with 240 additions and 216 deletions

View File

@ -25,7 +25,18 @@ La dependencia uuid 13 se usa para generar UUID v7, como en el ERP; se evita imp
Se conserva la organización y los nombres del ERP, con tipos estrictos y sin copiar sus dependencias o utilidades no utilizadas. Esta base escalar no introduce comparación genérica de objetos compuestos ni un bus de eventos sin consumidores. Se conserva la organización y los nombres del ERP, con tipos estrictos y sin copiar sus dependencias o utilidades no utilizadas. Esta base escalar no introduce comparación genérica de objetos compuestos ni un bus de eventos sin consumidores.
Las raíces se declaran en archivos *.aggregate.ts; las entidades internas en *.entity.ts. Los Value Objects específicos de un módulo viven en domain/value-objects. Domain permanece libre de Express, DTOs de transporte y Sequelize. La validación propia de los Value Objects puede usar Zod, igual que en el ERP. Las raíces se declaran en archivos *.aggregate.ts; las entidades internas en *.entity.ts.
Las implementaciones de Value Objects, incluida su base compartida, se declaran en
archivos `*.vo.ts`: por ejemplo, `email-address.vo.ts`, `unique-id.vo.ts` y
`ticket-values.vo.ts`. Los Value Objects específicos de un módulo viven en
domain/value-objects, salvo ámbitos existentes con organización propia, como
`domain/access/access-values.vo.ts`. Esta convención identifica las implementaciones,
no los schemas de entrada ni todos los ficheros que importan un Value Object.
Cuando un Value Object esté dentro de una entidad, separar su implementación sin
renombrar el fichero de la entidad; `ProcessReferenceValues` vive en
`domain/value-objects/process-reference-values.vo.ts` y `ProcessTask` conserva
`process-task.entity.ts`. Domain permanece libre de Express, DTOs de transporte y
Sequelize. La validación propia de los Value Objects puede usar Zod, igual que en el ERP.
## Ciclo de vida y fronteras ## Ciclo de vida y fronteras

View File

@ -3,7 +3,7 @@ import { Maybe, Result } from "@repo/rdx-utils";
import type { AssetDefinitionSpec } from "../../common"; import type { AssetDefinitionSpec } from "../../common";
import { AssetCatalogError } from "../domain/asset-definition"; import { AssetCatalogError } from "../domain/asset-definition";
import { AssetDefinitionValues } from "../domain/value-objects/asset-definition-values"; import { AssetDefinitionValues } from "../domain/value-objects/asset-definition-values.vo";
import type { IAssetCatalogRepository } from "./asset-catalog.repository"; import type { IAssetCatalogRepository } from "./asset-catalog.repository";

View File

@ -4,7 +4,7 @@ import { Maybe, Result } from "@repo/rdx-utils";
import type { Asset } from "../domain/asset.aggregate"; import type { Asset } from "../domain/asset.aggregate";
import { AssetCatalogError } from "../domain/asset-definition"; import { AssetCatalogError } from "../domain/asset-definition";
import type { AssetInput } from "../domain/asset-values"; import type { AssetInput } from "../domain/asset-values";
import { AssetSpecification, AssetValues } from "../domain/value-objects/asset-values"; import { AssetSpecification, AssetValues } from "../domain/value-objects/asset-values.vo";
import type { InventoryContext } from "./asset.repository"; import type { InventoryContext } from "./asset.repository";

View File

@ -4,7 +4,7 @@ import { Maybe, Result } from "@repo/rdx-utils";
import type { RelationshipInputDTO } from "../../common/relationships"; import type { RelationshipInputDTO } from "../../common/relationships";
import { AssetCatalogError } from "../domain/asset-definition"; import { AssetCatalogError } from "../domain/asset-definition";
import { AssetRelationship } from "../domain/asset-relationship.aggregate"; import { AssetRelationship } from "../domain/asset-relationship.aggregate";
import { AssetRelationshipValues } from "../domain/value-objects/asset-relationship-values"; import { AssetRelationshipValues } from "../domain/value-objects/asset-relationship-values.vo";
import type { IAssetRepository, InventoryContext } from "./asset.repository"; import type { IAssetRepository, InventoryContext } from "./asset.repository";

View File

@ -6,7 +6,7 @@ import type { AssetCatalog } from "../domain/asset-catalog.aggregate";
import { AssetCatalogError } from "../domain/asset-definition"; import { AssetCatalogError } from "../domain/asset-definition";
import type { AssetRelationship } from "../domain/asset-relationship.aggregate"; import type { AssetRelationship } from "../domain/asset-relationship.aggregate";
import type { Brand } from "../domain/brand.aggregate"; import type { Brand } from "../domain/brand.aggregate";
import type { AssetValues } from "../domain/value-objects/asset-values"; import type { AssetValues } from "../domain/value-objects/asset-values.vo";
import type { Workstation } from "../domain/workstation.aggregate"; import type { Workstation } from "../domain/workstation.aggregate";
export type InventoryContext = Readonly<{ export type InventoryContext = Readonly<{

View File

@ -3,7 +3,7 @@ import { Result } from "@repo/rdx-utils";
import type { SupportConnection } from "../domain/support-connection.aggregate"; import type { SupportConnection } from "../domain/support-connection.aggregate";
import type { SupportInput } from "../domain/support-values"; import type { SupportInput } from "../domain/support-values";
import { SupportError } from "../domain/support-values"; import { SupportError } from "../domain/support-values";
import { SupportValues } from "../domain/value-objects/support-values"; import { SupportValues } from "../domain/value-objects/support-values.vo";
import type { SupportContext } from "./support.repository"; import type { SupportContext } from "./support.repository";
export function mapSupportInput( export function mapSupportInput(

View File

@ -1,7 +1,7 @@
import { Result } from "@repo/rdx-utils"; import { Result } from "@repo/rdx-utils";
import { AssetCatalogError } from "../domain/asset-definition"; import { AssetCatalogError } from "../domain/asset-definition";
import { WorkstationValues } from "../domain/value-objects/workstation-values"; import { WorkstationValues } from "../domain/value-objects/workstation-values.vo";
import type { Workstation } from "../domain/workstation.aggregate"; import type { Workstation } from "../domain/workstation.aggregate";
import type { WorkstationInput } from "../domain/workstation-values"; import type { WorkstationInput } from "../domain/workstation-values";

View File

@ -1,6 +1,6 @@
import type { AssetCatalog } from "./asset-catalog.aggregate"; import type { AssetCatalog } from "./asset-catalog.aggregate";
import type { AssetDefinitionSpec, AssetFieldType } from "./asset-definition"; import type { AssetDefinitionSpec, AssetFieldType } from "./asset-definition";
import { AssetDefinitionValues } from "./value-objects/asset-definition-values"; import { AssetDefinitionValues } from "./value-objects/asset-definition-values.vo";
const FIELDS: readonly [string, string, AssetFieldType, string][] = [ const FIELDS: readonly [string, string, AssetFieldType, string][] = [
["brand", "Marca", "text", ""], ["brand", "Marca", "text", ""],

View File

@ -4,7 +4,7 @@ import { Maybe, Result } from "@repo/rdx-utils";
import { AssetCatalogError } from "./asset-definition"; import { AssetCatalogError } from "./asset-definition";
import { AssetDefinition, CatalogAvailability } from "./asset-definition.entity"; import { AssetDefinition, CatalogAvailability } from "./asset-definition.entity";
import type { AssetDefinitionValues } from "./value-objects/asset-definition-values"; import type { AssetDefinitionValues } from "./value-objects/asset-definition-values.vo";
type CatalogProps = { type CatalogProps = {
definitions: readonly AssetDefinition[]; definitions: readonly AssetDefinition[];

View File

@ -7,7 +7,7 @@ import { Maybe } from "@repo/rdx-utils";
import { AssetCatalog } from "./asset-catalog.aggregate"; import { AssetCatalog } from "./asset-catalog.aggregate";
import { seedAssetCatalog } from "./asset-catalog-seed"; import { seedAssetCatalog } from "./asset-catalog-seed";
import type { AssetDefinitionSpec } from "./asset-definition"; import type { AssetDefinitionSpec } from "./asset-definition";
import { AssetDefinitionValues } from "./value-objects/asset-definition-values"; import { AssetDefinitionValues } from "./value-objects/asset-definition-values.vo";
const global = Maybe.none<UniqueID>(); const global = Maybe.none<UniqueID>();
function values(spec: AssetDefinitionSpec) { function values(spec: AssetDefinitionSpec) {

View File

@ -3,7 +3,7 @@ import { DomainEntity } from "@repo/rdx-ddd";
import { Maybe, Result } from "@repo/rdx-utils"; import { Maybe, Result } from "@repo/rdx-utils";
import { AssetCatalogError } from "./asset-definition"; import { AssetCatalogError } from "./asset-definition";
import type { AssetDefinitionValues } from "./value-objects/asset-definition-values"; import type { AssetDefinitionValues } from "./value-objects/asset-definition-values.vo";
export class TemplateField extends DomainEntity<{ fieldId: UniqueID; required: boolean }> { export class TemplateField extends DomainEntity<{ fieldId: UniqueID; required: boolean }> {
static create(fieldId: UniqueID, required: boolean, id?: UniqueID) { static create(fieldId: UniqueID, required: boolean, id?: UniqueID) {

View File

@ -4,7 +4,7 @@ import { Maybe, Result } from "@repo/rdx-utils";
import { z } from "zod/v4"; import { z } from "zod/v4";
import { AssetCatalogError } from "./asset-definition"; import { AssetCatalogError } from "./asset-definition";
import type { AssetRelationshipValues } from "./value-objects/asset-relationship-values"; import type { AssetRelationshipValues } from "./value-objects/asset-relationship-values.vo";
type RelationshipProps = Readonly<{ type RelationshipProps = Readonly<{
companyId: UniqueID; companyId: UniqueID;

View File

@ -7,9 +7,9 @@ import { Maybe } from "@repo/rdx-utils";
import { AssetCatalog } from "./asset-catalog.aggregate"; import { AssetCatalog } from "./asset-catalog.aggregate";
import { seedAssetCatalog } from "./asset-catalog-seed"; import { seedAssetCatalog } from "./asset-catalog-seed";
import { AssetRelationship } from "./asset-relationship.aggregate"; import { AssetRelationship } from "./asset-relationship.aggregate";
import { AssetDefinitionValues } from "./value-objects/asset-definition-values"; import { AssetDefinitionValues } from "./value-objects/asset-definition-values.vo";
import type { RelationshipValuesData } from "./value-objects/asset-relationship-values"; import type { RelationshipValuesData } from "./value-objects/asset-relationship-values.vo";
import { AssetRelationshipValues } from "./value-objects/asset-relationship-values"; import { AssetRelationshipValues } from "./value-objects/asset-relationship-values.vo";
const sourceId = UniqueID.generateNewID().toPrimitive(); const sourceId = UniqueID.generateNewID().toPrimitive();
const targetId = UniqueID.generateNewID().toPrimitive(); const targetId = UniqueID.generateNewID().toPrimitive();

View File

@ -1,7 +1,7 @@
import type { UniqueID } from "@repo/rdx-ddd"; import type { UniqueID } from "@repo/rdx-ddd";
import { DomainEntity } from "@repo/rdx-ddd"; import { DomainEntity } from "@repo/rdx-ddd";
import type { AssetValues } from "./value-objects/asset-values"; import type { AssetValues } from "./value-objects/asset-values.vo";
export type AssetRevisionProps = Readonly<{ export type AssetRevisionProps = Readonly<{
values: AssetValues; values: AssetValues;
actorId: UniqueID; actorId: UniqueID;

View File

@ -4,7 +4,7 @@ import { Result } from "@repo/rdx-utils";
import { AssetCatalogError } from "./asset-definition"; import { AssetCatalogError } from "./asset-definition";
import { AssetRevision } from "./asset-revision.entity"; import { AssetRevision } from "./asset-revision.entity";
import type { AssetSpecification, AssetValues } from "./value-objects/asset-values"; import type { AssetSpecification, AssetValues } from "./value-objects/asset-values.vo";
type AssetProps = Readonly<{ type AssetProps = Readonly<{
companyId: UniqueID; companyId: UniqueID;

View File

@ -5,7 +5,7 @@ import { UniqueID } from "@repo/rdx-ddd";
import { Asset } from "./asset.aggregate"; import { Asset } from "./asset.aggregate";
import type { AssetInput } from "./asset-values"; import type { AssetInput } from "./asset-values";
import { AssetSpecification, AssetValues } from "./value-objects/asset-values"; import { AssetSpecification, AssetValues } from "./value-objects/asset-values.vo";
const company = UniqueID.generateNewID(); const company = UniqueID.generateNewID();
const actor = UniqueID.generateNewID(); const actor = UniqueID.generateNewID();

View File

@ -1,7 +1,7 @@
import type { UniqueID } from "@repo/rdx-ddd"; import type { UniqueID } from "@repo/rdx-ddd";
import { DomainEntity } from "@repo/rdx-ddd"; import { DomainEntity } from "@repo/rdx-ddd";
import type { SupportValues } from "./value-objects/support-values"; import type { SupportValues } from "./value-objects/support-values.vo";
export type SupportConnectionRevisionProps = Readonly<{ export type SupportConnectionRevisionProps = Readonly<{
values: SupportValues; values: SupportValues;
actorId: UniqueID; actorId: UniqueID;

View File

@ -5,7 +5,7 @@ import { z } from "zod/v4";
import { SupportConnectionRevision } from "./support-connection-revision.entity"; import { SupportConnectionRevision } from "./support-connection-revision.entity";
import { SupportError } from "./support-values"; import { SupportError } from "./support-values";
import type { SupportValues } from "./value-objects/support-values"; import type { SupportValues } from "./value-objects/support-values.vo";
type SupportConnectionProps = Readonly<{ type SupportConnectionProps = Readonly<{
companyId: UniqueID; companyId: UniqueID;

View File

@ -9,7 +9,7 @@ import { SupportPersistenceMapper } from "../infrastructure/persistence/support-
import { SupportConnection } from "./support-connection.aggregate"; import { SupportConnection } from "./support-connection.aggregate";
import { SupportTool } from "./support-tool.aggregate"; import { SupportTool } from "./support-tool.aggregate";
import { SupportValuesSchema } from "./support-values"; import { SupportValuesSchema } from "./support-values";
import { SupportValues } from "./value-objects/support-values"; import { SupportValues } from "./value-objects/support-values.vo";
const company = UniqueID.generateNewID(); const company = UniqueID.generateNewID();
const asset = UniqueID.generateNewID(); const asset = UniqueID.generateNewID();

View File

@ -1,7 +1,7 @@
import type { UniqueID } from "@repo/rdx-ddd"; import type { UniqueID } from "@repo/rdx-ddd";
import { DomainEntity } from "@repo/rdx-ddd"; import { DomainEntity } from "@repo/rdx-ddd";
import type { WorkstationValues } from "./value-objects/workstation-values"; import type { WorkstationValues } from "./value-objects/workstation-values.vo";
export type WorkstationRevisionProps = Readonly<{ export type WorkstationRevisionProps = Readonly<{
values: WorkstationValues; values: WorkstationValues;
actorId: UniqueID; actorId: UniqueID;

View File

@ -4,7 +4,7 @@ import { Result } from "@repo/rdx-utils";
import { z } from "zod/v4"; import { z } from "zod/v4";
import { AssetCatalogError } from "./asset-definition"; import { AssetCatalogError } from "./asset-definition";
import type { WorkstationValues } from "./value-objects/workstation-values"; import type { WorkstationValues } from "./value-objects/workstation-values.vo";
import { WorkstationRevision } from "./workstation-revision.entity"; import { WorkstationRevision } from "./workstation-revision.entity";
type WorkstationProps = Readonly<{ type WorkstationProps = Readonly<{

View File

@ -3,7 +3,7 @@ import { test } from "node:test";
import { UniqueID } from "@repo/rdx-ddd"; import { UniqueID } from "@repo/rdx-ddd";
import { WorkstationValues } from "./value-objects/workstation-values"; import { WorkstationValues } from "./value-objects/workstation-values.vo";
import { Workstation } from "./workstation.aggregate"; import { Workstation } from "./workstation.aggregate";
import type { WorkstationInput } from "./workstation-values"; import type { WorkstationInput } from "./workstation-values";

View File

@ -8,7 +8,7 @@ import {
CatalogAvailability, CatalogAvailability,
TemplateField, TemplateField,
} from "../../domain/asset-definition.entity"; } from "../../domain/asset-definition.entity";
import { AssetDefinitionValues } from "../../domain/value-objects/asset-definition-values"; import { AssetDefinitionValues } from "../../domain/value-objects/asset-definition-values.vo";
import type { import type {
AvailabilityModel, AvailabilityModel,

View File

@ -4,7 +4,7 @@ import { z } from "zod/v4";
import { Asset } from "../../domain/asset.aggregate"; import { Asset } from "../../domain/asset.aggregate";
import { AssetRevision } from "../../domain/asset-revision.entity"; import { AssetRevision } from "../../domain/asset-revision.entity";
import { AssetInputSchema, AssetSpecificationSchema } from "../../domain/asset-values"; import { AssetInputSchema, AssetSpecificationSchema } from "../../domain/asset-values";
import { AssetSpecification, AssetValues } from "../../domain/value-objects/asset-values"; import { AssetSpecification, AssetValues } from "../../domain/value-objects/asset-values.vo";
import type { AssetModel, AssetRevisionModel } from "./asset.model"; import type { AssetModel, AssetRevisionModel } from "./asset.model";
export function inventoryIdentity(value: string) { export function inventoryIdentity(value: string) {

View File

@ -5,7 +5,7 @@ import { AssetRelationship } from "../../domain/asset-relationship.aggregate";
import { import {
AssetRelationshipValues, AssetRelationshipValues,
RelationshipValuesSchema, RelationshipValuesSchema,
} from "../../domain/value-objects/asset-relationship-values"; } from "../../domain/value-objects/asset-relationship-values.vo";
import { inventoryIdentity } from "./asset-persistence.mapper"; import { inventoryIdentity } from "./asset-persistence.mapper";
import type { RelationshipModel } from "./asset-relationship.model"; import type { RelationshipModel } from "./asset-relationship.model";

View File

@ -5,7 +5,7 @@ import { SupportConnection } from "../../domain/support-connection.aggregate";
import { SupportConnectionRevision } from "../../domain/support-connection-revision.entity"; import { SupportConnectionRevision } from "../../domain/support-connection-revision.entity";
import { SupportTool } from "../../domain/support-tool.aggregate"; import { SupportTool } from "../../domain/support-tool.aggregate";
import { SupportValuesSchema } from "../../domain/support-values"; import { SupportValuesSchema } from "../../domain/support-values";
import { SupportValues } from "../../domain/value-objects/support-values"; import { SupportValues } from "../../domain/value-objects/support-values.vo";
const RootSchema = z.strictObject({ const RootSchema = z.strictObject({
id: z.uuid(), id: z.uuid(),

View File

@ -1,6 +1,6 @@
import { z } from "zod/v4"; import { z } from "zod/v4";
import { WorkstationValues } from "../../domain/value-objects/workstation-values"; import { WorkstationValues } from "../../domain/value-objects/workstation-values.vo";
import { Workstation } from "../../domain/workstation.aggregate"; import { Workstation } from "../../domain/workstation.aggregate";
import { WorkstationRevision } from "../../domain/workstation-revision.entity"; import { WorkstationRevision } from "../../domain/workstation-revision.entity";
import { WorkstationInputSchema } from "../../domain/workstation-values"; import { WorkstationInputSchema } from "../../domain/workstation-values";

View File

@ -1,6 +1,6 @@
import { z } from "zod/v4"; import { z } from "zod/v4";
import { RelationshipValuesSchema } from "../api/domain/value-objects/asset-relationship-values"; import { RelationshipValuesSchema } from "../api/domain/value-objects/asset-relationship-values.vo";
export const RelationshipInputSchema = z.strictObject({ export const RelationshipInputSchema = z.strictObject({
sourceId: z.uuid(), sourceId: z.uuid(),

View File

@ -4,7 +4,7 @@ import { Maybe, Result } from "@repo/rdx-utils";
import type { AccessFieldsDTO } from "../../common/dto/shared/access.dto"; import type { AccessFieldsDTO } from "../../common/dto/shared/access.dto";
import { AccessError } from "../domain/access/access-error"; import { AccessError } from "../domain/access/access-error";
import { AccessItem } from "../domain/access/access-item.entity"; import { AccessItem } from "../domain/access/access-item.entity";
import { AccessValues } from "../domain/access/access-values"; import { AccessValues } from "../domain/access/access-values.vo";
import type { IAccessRepository } from "./access.repository"; import type { IAccessRepository } from "./access.repository";
export class AccessUseCases { export class AccessUseCases {

View File

@ -3,7 +3,7 @@ import { Result } from "@repo/rdx-utils";
import type { ApplicationConfiguration } from "../domain/application-configuration.aggregate"; import type { ApplicationConfiguration } from "../domain/application-configuration.aggregate";
import type { ApplicationConfigurationInput } from "../domain/application-configuration-values"; import type { ApplicationConfigurationInput } from "../domain/application-configuration-values";
import { ApplicationConfigurationError } from "../domain/application-configuration-values"; import { ApplicationConfigurationError } from "../domain/application-configuration-values";
import { ApplicationConfigurationValues } from "../domain/value-objects/application-configuration-values"; import { ApplicationConfigurationValues } from "../domain/value-objects/application-configuration-values.vo";
import type { ApplicationContext } from "./application-configuration.repository"; import type { ApplicationContext } from "./application-configuration.repository";
import { applicationAvailable, applicationReferences } from "./application-configuration-policy"; import { applicationAvailable, applicationReferences } from "./application-configuration-policy";

View File

@ -1,4 +1,4 @@
import type { ApplicationConfigurationValues } from "../domain/value-objects/application-configuration-values"; import type { ApplicationConfigurationValues } from "../domain/value-objects/application-configuration-values.vo";
import type { ApplicationContext } from "./application-configuration.repository"; import type { ApplicationContext } from "./application-configuration.repository";
export function applicationReferences( export function applicationReferences(

View File

@ -3,7 +3,7 @@ import { Result } from "@repo/rdx-utils";
import type { CertificateConfiguration } from "../domain/certificate-configuration.aggregate"; import type { CertificateConfiguration } from "../domain/certificate-configuration.aggregate";
import type { CertificateConfigurationInput } from "../domain/certificate-configuration-values"; import type { CertificateConfigurationInput } from "../domain/certificate-configuration-values";
import { CertificateConfigurationError } from "../domain/certificate-configuration-values"; import { CertificateConfigurationError } from "../domain/certificate-configuration-values";
import { CertificateConfigurationValues } from "../domain/value-objects/certificate-configuration-values"; import { CertificateConfigurationValues } from "../domain/value-objects/certificate-configuration-values.vo";
import type { CertificateContext } from "./certificate-configuration.repository"; import type { CertificateContext } from "./certificate-configuration.repository";
import { certificateAvailable, certificateReferences } from "./certificate-configuration-policy"; import { certificateAvailable, certificateReferences } from "./certificate-configuration-policy";

View File

@ -1,4 +1,4 @@
import type { CertificateConfigurationValues } from "../domain/value-objects/certificate-configuration-values"; import type { CertificateConfigurationValues } from "../domain/value-objects/certificate-configuration-values.vo";
import type { CertificateContext } from "./certificate-configuration.repository"; import type { CertificateContext } from "./certificate-configuration.repository";
export function certificateReferences( export function certificateReferences(

View File

@ -10,9 +10,9 @@ import type {
SiteRequestDTO, SiteRequestDTO,
} from "../../common"; } from "../../common";
import { CompanyError } from "../domain/company-error"; import { CompanyError } from "../domain/company-error";
import { CalendarDate } from "../domain/value-objects/calendar-date"; import { CalendarDate } from "../domain/value-objects/calendar-date.vo";
import { PhoneNumber } from "../domain/value-objects/phone-number"; import { PhoneNumber } from "../domain/value-objects/phone-number.vo";
import { SiteAddress } from "../domain/value-objects/site-address"; import { SiteAddress } from "../domain/value-objects/site-address.vo";
function optional<T>( function optional<T>(
value: string | null, value: string | null,

View File

@ -3,7 +3,7 @@ import { Result } from "@repo/rdx-utils";
import type { FolderMapping } from "../domain/folder-mapping.aggregate"; import type { FolderMapping } from "../domain/folder-mapping.aggregate";
import type { FolderMappingInput } from "../domain/folder-mapping-values"; import type { FolderMappingInput } from "../domain/folder-mapping-values";
import { FolderMappingError } from "../domain/folder-mapping-values"; import { FolderMappingError } from "../domain/folder-mapping-values";
import { FolderMappingValues } from "../domain/value-objects/folder-mapping-values"; import { FolderMappingValues } from "../domain/value-objects/folder-mapping-values.vo";
import type { FolderContext } from "./folder-mapping.repository"; import type { FolderContext } from "./folder-mapping.repository";
import { folderAvailable, folderReferences } from "./folder-mapping-policy"; import { folderAvailable, folderReferences } from "./folder-mapping-policy";

View File

@ -1,6 +1,6 @@
import { projectAccess } from "../domain/access/access-projection"; import { projectAccess } from "../domain/access/access-projection";
import type { FolderMappingValues } from "../domain/value-objects/folder-mapping-values"; import type { FolderMappingValues } from "../domain/value-objects/folder-mapping-values.vo";
import { SharedFolderPath } from "../domain/value-objects/shared-folder-path"; import { SharedFolderPath } from "../domain/value-objects/shared-folder-path.vo";
import type { FolderContext } from "./folder-mapping.repository"; import type { FolderContext } from "./folder-mapping.repository";
export function folderReferences(values: FolderMappingValues, context: FolderContext) { export function folderReferences(values: FolderMappingValues, context: FolderContext) {

View File

@ -1,7 +1,7 @@
import type { UniqueID } from "@repo/rdx-ddd"; import type { UniqueID } from "@repo/rdx-ddd";
import type { Result } from "@repo/rdx-utils"; import type { Result } from "@repo/rdx-utils";
import type { AccessValues } from "../domain/access/access-values"; import type { AccessValues } from "../domain/access/access-values.vo";
import type { FolderMapping } from "../domain/folder-mapping.aggregate"; import type { FolderMapping } from "../domain/folder-mapping.aggregate";
import type { FolderMappingError } from "../domain/folder-mapping-values"; import type { FolderMappingError } from "../domain/folder-mapping-values";
import type { WorkProfile } from "../domain/work-profile.aggregate"; import type { WorkProfile } from "../domain/work-profile.aggregate";

View File

@ -3,7 +3,7 @@ import { Result } from "@repo/rdx-utils";
import type { Intervention } from "../domain/intervention.aggregate"; import type { Intervention } from "../domain/intervention.aggregate";
import type { InterventionInput } from "../domain/intervention-values"; import type { InterventionInput } from "../domain/intervention-values";
import { InterventionError } from "../domain/intervention-values"; import { InterventionError } from "../domain/intervention-values";
import { InterventionValues } from "../domain/value-objects/intervention-values"; import { InterventionValues } from "../domain/value-objects/intervention-values.vo";
import type { InterventionSaveContext } from "./intervention.repository"; import type { InterventionSaveContext } from "./intervention.repository";
import { targetOptions } from "./ticket.repository"; import { targetOptions } from "./ticket.repository";

View File

@ -5,7 +5,7 @@ import type { SaveInterventionTemplateInput } from "../../common/intervention-te
import { SaveInterventionTemplateSchema } from "../../common/intervention-templates"; import { SaveInterventionTemplateSchema } from "../../common/intervention-templates";
import { InterventionTemplate } from "../domain/intervention-template.aggregate"; import { InterventionTemplate } from "../domain/intervention-template.aggregate";
import { InterventionTemplateError } from "../domain/intervention-template-values"; import { InterventionTemplateError } from "../domain/intervention-template-values";
import { InterventionTemplateValues } from "../domain/value-objects/intervention-template-values"; import { InterventionTemplateValues } from "../domain/value-objects/intervention-template-values.vo";
import type { IInterventionTemplateRepository } from "./intervention-template.repository"; import type { IInterventionTemplateRepository } from "./intervention-template.repository";

View File

@ -5,8 +5,8 @@ import type { SaveInterventionInput } from "../../common/interventions";
import { SaveInterventionSchema } from "../../common/interventions"; import { SaveInterventionSchema } from "../../common/interventions";
import { Intervention } from "../domain/intervention.aggregate"; import { Intervention } from "../domain/intervention.aggregate";
import { InterventionError } from "../domain/intervention-values"; import { InterventionError } from "../domain/intervention-values";
import { InterventionProcedure } from "../domain/value-objects/intervention-procedure"; import { InterventionProcedure } from "../domain/value-objects/intervention-procedure.vo";
import { InterventionValues } from "../domain/value-objects/intervention-values"; import { InterventionValues } from "../domain/value-objects/intervention-values.vo";
import type { IInterventionRepository, InterventionSaveContext } from "./intervention.repository"; import type { IInterventionRepository, InterventionSaveContext } from "./intervention.repository";
import { mapInterventionInput } from "./intervention-input.mapper"; import { mapInterventionInput } from "./intervention-input.mapper";

View File

@ -4,7 +4,7 @@ import { Result } from "@repo/rdx-utils";
import type { MailConfiguration } from "../domain/mail-configuration.aggregate"; import type { MailConfiguration } from "../domain/mail-configuration.aggregate";
import type { MailConfigurationInput } from "../domain/mail-configuration-values"; import type { MailConfigurationInput } from "../domain/mail-configuration-values";
import { MailConfigurationError } from "../domain/mail-configuration-values"; import { MailConfigurationError } from "../domain/mail-configuration-values";
import { MailConfigurationValues } from "../domain/value-objects/mail-configuration-values"; import { MailConfigurationValues } from "../domain/value-objects/mail-configuration-values.vo";
import type { MailContext } from "./mail-configuration.repository"; import type { MailContext } from "./mail-configuration.repository";
import { mailAuthorized } from "./mail-configuration-policy"; import { mailAuthorized } from "./mail-configuration-policy";

View File

@ -1,4 +1,4 @@
import type { MailConfigurationValues } from "../domain/value-objects/mail-configuration-values"; import type { MailConfigurationValues } from "../domain/value-objects/mail-configuration-values.vo";
import type { MailContext } from "./mail-configuration.repository"; import type { MailContext } from "./mail-configuration.repository";
export function mailAuthorized(values: MailConfigurationValues, context: MailContext) { export function mailAuthorized(values: MailConfigurationValues, context: MailContext) {

View File

@ -4,8 +4,8 @@ import type { Mailbox } from "../domain/mailbox.aggregate";
import type { MailboxUse } from "../domain/mailbox-use.aggregate"; import type { MailboxUse } from "../domain/mailbox-use.aggregate";
import type { MailboxInput, MailboxUseInput } from "../domain/mailbox-values"; import type { MailboxInput, MailboxUseInput } from "../domain/mailbox-values";
import { MailboxError } from "../domain/mailbox-values"; import { MailboxError } from "../domain/mailbox-values";
import { MailboxUseValues } from "../domain/value-objects/mailbox-use-values"; import { MailboxUseValues } from "../domain/value-objects/mailbox-use-values.vo";
import { MailboxValues } from "../domain/value-objects/mailbox-values"; import { MailboxValues } from "../domain/value-objects/mailbox-values.vo";
import type { MailboxContext } from "./mailbox.repository"; import type { MailboxContext } from "./mailbox.repository";

View File

@ -3,7 +3,7 @@ import { Result } from "@repo/rdx-utils";
import type { PrinterConfiguration } from "../domain/printer-configuration.aggregate"; import type { PrinterConfiguration } from "../domain/printer-configuration.aggregate";
import type { PrinterConfigurationInput } from "../domain/printer-configuration-values"; import type { PrinterConfigurationInput } from "../domain/printer-configuration-values";
import { PrinterConfigurationError } from "../domain/printer-configuration-values"; import { PrinterConfigurationError } from "../domain/printer-configuration-values";
import { PrinterConfigurationValues } from "../domain/value-objects/printer-configuration-values"; import { PrinterConfigurationValues } from "../domain/value-objects/printer-configuration-values.vo";
import type { PrinterContext } from "./printer-configuration.repository"; import type { PrinterContext } from "./printer-configuration.repository";
import { printerAvailable, printerReferences } from "./printer-configuration-policy"; import { printerAvailable, printerReferences } from "./printer-configuration-policy";

View File

@ -1,4 +1,4 @@
import type { PrinterConfigurationValues } from "../domain/value-objects/printer-configuration-values"; import type { PrinterConfigurationValues } from "../domain/value-objects/printer-configuration-values.vo";
import type { PrinterContext } from "./printer-configuration.repository"; import type { PrinterContext } from "./printer-configuration.repository";
export function printerReferences(values: PrinterConfigurationValues, context: PrinterContext) { export function printerReferences(values: PrinterConfigurationValues, context: PrinterContext) {

View File

@ -10,8 +10,8 @@ import type {
UpdateProcessInput, UpdateProcessInput,
} from "../domain/process-values"; } from "../domain/process-values";
import { ProcessError } from "../domain/process-values"; import { ProcessError } from "../domain/process-values";
import { ProcessTemplateValues } from "../domain/value-objects/process-template-values"; import { ProcessTemplateValues } from "../domain/value-objects/process-template-values.vo";
import { ProcessValues } from "../domain/value-objects/process-values"; import { ProcessValues } from "../domain/value-objects/process-values.vo";
import type { IProcessRepository } from "./process.repository"; import type { IProcessRepository } from "./process.repository";
export class ProcessUseCases { export class ProcessUseCases {

View File

@ -3,7 +3,7 @@ import { Result } from "@repo/rdx-utils";
import type { RemoteConnection } from "../domain/remote-connection.aggregate"; import type { RemoteConnection } from "../domain/remote-connection.aggregate";
import type { RemoteConnectionInput } from "../domain/remote-connection-values"; import type { RemoteConnectionInput } from "../domain/remote-connection-values";
import { RemoteConnectionError } from "../domain/remote-connection-values"; import { RemoteConnectionError } from "../domain/remote-connection-values";
import { RemoteConnectionValues } from "../domain/value-objects/remote-connection-values"; import { RemoteConnectionValues } from "../domain/value-objects/remote-connection-values.vo";
import type { RemoteContext } from "./remote-connection.repository"; import type { RemoteContext } from "./remote-connection.repository";
import { remoteReferences } from "./remote-connection-policy"; import { remoteReferences } from "./remote-connection-policy";

View File

@ -1,4 +1,4 @@
import type { RemoteConnectionValues } from "../domain/value-objects/remote-connection-values"; import type { RemoteConnectionValues } from "../domain/value-objects/remote-connection-values.vo";
import type { RemoteContext } from "./remote-connection.repository"; import type { RemoteContext } from "./remote-connection.repository";
import { teleworkAuthorizationState } from "./telework-authorization-policy"; import { teleworkAuthorizationState } from "./telework-authorization-policy";

View File

@ -3,7 +3,7 @@ import { Result } from "@repo/rdx-utils";
import type { TeleworkAuthorization } from "../domain/telework-authorization.aggregate"; import type { TeleworkAuthorization } from "../domain/telework-authorization.aggregate";
import type { TeleworkAuthorizationInput } from "../domain/telework-authorization-values"; import type { TeleworkAuthorizationInput } from "../domain/telework-authorization-values";
import { TeleworkAuthorizationError } from "../domain/telework-authorization-values"; import { TeleworkAuthorizationError } from "../domain/telework-authorization-values";
import { TeleworkAuthorizationValues } from "../domain/value-objects/telework-authorization-values"; import { TeleworkAuthorizationValues } from "../domain/value-objects/telework-authorization-values.vo";
import type { TeleworkAuthorizationContext } from "./telework-authorization.repository"; import type { TeleworkAuthorizationContext } from "./telework-authorization.repository";

View File

@ -3,7 +3,7 @@ import { Result } from "@repo/rdx-utils";
import type { Ticket } from "../domain/ticket.aggregate"; import type { Ticket } from "../domain/ticket.aggregate";
import type { TicketInput } from "../domain/ticket-values"; import type { TicketInput } from "../domain/ticket-values";
import { TicketError } from "../domain/ticket-values"; import { TicketError } from "../domain/ticket-values";
import { TicketValues } from "../domain/value-objects/ticket-values"; import { TicketValues } from "../domain/value-objects/ticket-values.vo";
import type { TicketOption, TicketSaveContext } from "./ticket.repository"; import type { TicketOption, TicketSaveContext } from "./ticket.repository";
import { targetOptions } from "./ticket.repository"; import { targetOptions } from "./ticket.repository";

View File

@ -4,7 +4,7 @@ import { Result } from "@repo/rdx-utils";
import type { SaveTicketInput } from "../../common/tickets"; import type { SaveTicketInput } from "../../common/tickets";
import { Ticket } from "../domain/ticket.aggregate"; import { Ticket } from "../domain/ticket.aggregate";
import { TicketError } from "../domain/ticket-values"; import { TicketError } from "../domain/ticket-values";
import { TicketValues } from "../domain/value-objects/ticket-values"; import { TicketValues } from "../domain/value-objects/ticket-values.vo";
import type { ITicketRepository } from "./ticket.repository"; import type { ITicketRepository } from "./ticket.repository";
import { mapTicketInput } from "./ticket-input.mapper"; import { mapTicketInput } from "./ticket-input.mapper";

View File

@ -1,6 +1,6 @@
import { Result } from "@repo/rdx-utils"; import { Result } from "@repo/rdx-utils";
import { WorkProfileValues } from "../domain/value-objects/work-profile-values"; import { WorkProfileValues } from "../domain/value-objects/work-profile-values.vo";
import type { WorkProfile } from "../domain/work-profile.aggregate"; import type { WorkProfile } from "../domain/work-profile.aggregate";
import type { WorkProfileInput } from "../domain/work-profile-values"; import type { WorkProfileInput } from "../domain/work-profile-values";
import { WorkProfileError } from "../domain/work-profile-values"; import { WorkProfileError } from "../domain/work-profile-values";

View File

@ -5,7 +5,7 @@ import { Result } from "@repo/rdx-utils";
import type { AccessDefinition } from "./access-definition"; import type { AccessDefinition } from "./access-definition";
import { AccessError } from "./access-error"; import { AccessError } from "./access-error";
import { AccessValues } from "./access-values"; import { AccessValues } from "./access-values.vo";
export type AuditContext = Readonly<{ actorId: UniqueID; recordedAt: string }>; export type AuditContext = Readonly<{ actorId: UniqueID; recordedAt: string }>;
export class AccessRevision extends DomainEntity<AuditContext & { values: AccessValues }> { export class AccessRevision extends DomainEntity<AuditContext & { values: AccessValues }> {

View File

@ -1,7 +1,7 @@
import { Name, UniqueID } from "@repo/rdx-ddd"; import { Name, UniqueID } from "@repo/rdx-ddd";
import { Maybe, Result } from "@repo/rdx-utils"; import { Maybe, Result } from "@repo/rdx-utils";
import { CalendarDate } from "../value-objects/calendar-date"; import { CalendarDate } from "../value-objects/calendar-date.vo";
import type { AccessDefinition } from "./access-definition"; import type { AccessDefinition } from "./access-definition";
import { AccessDefinitionSchema } from "./access-definition"; import { AccessDefinitionSchema } from "./access-definition";

View File

@ -14,7 +14,7 @@ import {
checkConfiguration, checkConfiguration,
checkRelations, checkRelations,
} from "./access-policy"; } from "./access-policy";
import type { AccessValues } from "./access-values"; import type { AccessValues } from "./access-values.vo";
export type AccessContext = Readonly<{ export type AccessContext = Readonly<{
catalog: readonly AccessItem[]; catalog: readonly AccessItem[];

View File

@ -10,7 +10,7 @@ import { Person } from "../person.entity";
import type { AccessDefinition } from "./access-definition"; import type { AccessDefinition } from "./access-definition";
import { AccessDefinitionSchema } from "./access-definition"; import { AccessDefinitionSchema } from "./access-definition";
import { AccessItem } from "./access-item.entity"; import { AccessItem } from "./access-item.entity";
import { AccessValues } from "./access-values"; import { AccessValues } from "./access-values.vo";
import type { AccessContext } from "./access-workspace.aggregate"; import type { AccessContext } from "./access-workspace.aggregate";
import { AccessWorkspace } from "./access-workspace.aggregate"; import { AccessWorkspace } from "./access-workspace.aggregate";

View File

@ -1,7 +1,7 @@
import type { UniqueID } from "@repo/rdx-ddd"; import type { UniqueID } from "@repo/rdx-ddd";
import { DomainEntity } from "@repo/rdx-ddd"; import { DomainEntity } from "@repo/rdx-ddd";
import type { ApplicationConfigurationValues } from "./value-objects/application-configuration-values"; import type { ApplicationConfigurationValues } from "./value-objects/application-configuration-values.vo";
export type ApplicationConfigurationRevisionProps = Readonly<{ export type ApplicationConfigurationRevisionProps = Readonly<{
values: ApplicationConfigurationValues; values: ApplicationConfigurationValues;
actorId: UniqueID; actorId: UniqueID;

View File

@ -8,7 +8,7 @@ import {
APPLICATION_STATE_TRANSITIONS, APPLICATION_STATE_TRANSITIONS,
ApplicationConfigurationError, ApplicationConfigurationError,
} from "./application-configuration-values"; } from "./application-configuration-values";
import type { ApplicationConfigurationValues } from "./value-objects/application-configuration-values"; import type { ApplicationConfigurationValues } from "./value-objects/application-configuration-values.vo";
type Props = Readonly<{ type Props = Readonly<{
companyId: UniqueID; companyId: UniqueID;

View File

@ -11,8 +11,8 @@ import { ApplicationConfigurationPersistenceMapper } from "../infrastructure/per
import { ApplicationConfiguration } from "./application-configuration.aggregate"; import { ApplicationConfiguration } from "./application-configuration.aggregate";
import type { ApplicationConfigurationInput } from "./application-configuration-values"; import type { ApplicationConfigurationInput } from "./application-configuration-values";
import { ApplicationConfigurationInputSchema } from "./application-configuration-values"; import { ApplicationConfigurationInputSchema } from "./application-configuration-values";
import { ApplicationConfigurationValues } from "./value-objects/application-configuration-values"; import { ApplicationConfigurationValues } from "./value-objects/application-configuration-values.vo";
import { WorkProfileValues } from "./value-objects/work-profile-values"; import { WorkProfileValues } from "./value-objects/work-profile-values.vo";
import { WorkProfile } from "./work-profile.aggregate"; import { WorkProfile } from "./work-profile.aggregate";
const company = UniqueID.generateNewID(); const company = UniqueID.generateNewID();

View File

@ -1,7 +1,7 @@
import type { UniqueID } from "@repo/rdx-ddd"; import type { UniqueID } from "@repo/rdx-ddd";
import { DomainEntity } from "@repo/rdx-ddd"; import { DomainEntity } from "@repo/rdx-ddd";
import type { CertificateConfigurationValues } from "./value-objects/certificate-configuration-values"; import type { CertificateConfigurationValues } from "./value-objects/certificate-configuration-values.vo";
export type CertificateConfigurationRevisionProps = Readonly<{ export type CertificateConfigurationRevisionProps = Readonly<{
values: CertificateConfigurationValues; values: CertificateConfigurationValues;
actorId: UniqueID; actorId: UniqueID;

View File

@ -8,7 +8,7 @@ import {
CERTIFICATE_STATE_TRANSITIONS, CERTIFICATE_STATE_TRANSITIONS,
CertificateConfigurationError, CertificateConfigurationError,
} from "./certificate-configuration-values"; } from "./certificate-configuration-values";
import type { CertificateConfigurationValues } from "./value-objects/certificate-configuration-values"; import type { CertificateConfigurationValues } from "./value-objects/certificate-configuration-values.vo";
type Props = Readonly<{ type Props = Readonly<{
companyId: UniqueID; companyId: UniqueID;

View File

@ -11,8 +11,8 @@ import { CertificateConfigurationPersistenceMapper } from "../infrastructure/per
import { CertificateConfiguration } from "./certificate-configuration.aggregate"; import { CertificateConfiguration } from "./certificate-configuration.aggregate";
import type { CertificateConfigurationInput } from "./certificate-configuration-values"; import type { CertificateConfigurationInput } from "./certificate-configuration-values";
import { CertificateConfigurationInputSchema } from "./certificate-configuration-values"; import { CertificateConfigurationInputSchema } from "./certificate-configuration-values";
import { CertificateConfigurationValues } from "./value-objects/certificate-configuration-values"; import { CertificateConfigurationValues } from "./value-objects/certificate-configuration-values.vo";
import { WorkProfileValues } from "./value-objects/work-profile-values"; import { WorkProfileValues } from "./value-objects/work-profile-values.vo";
import { WorkProfile } from "./work-profile.aggregate"; import { WorkProfile } from "./work-profile.aggregate";
const company = UniqueID.generateNewID(); const company = UniqueID.generateNewID();

View File

@ -5,7 +5,7 @@ import { Result } from "@repo/rdx-utils";
import { CompanyError } from "./company-error"; import { CompanyError } from "./company-error";
import { sameOptional } from "./person.entity"; import { sameOptional } from "./person.entity";
import type { CalendarDate } from "./value-objects/calendar-date"; import type { CalendarDate } from "./value-objects/calendar-date.vo";
export type AssignmentValues = Readonly<{ export type AssignmentValues = Readonly<{
position: Maybe<Name>; position: Maybe<Name>;

View File

@ -1,7 +1,7 @@
import type { UniqueID } from "@repo/rdx-ddd"; import type { UniqueID } from "@repo/rdx-ddd";
import { DomainEntity } from "@repo/rdx-ddd"; import { DomainEntity } from "@repo/rdx-ddd";
import type { FolderMappingValues } from "./value-objects/folder-mapping-values"; import type { FolderMappingValues } from "./value-objects/folder-mapping-values.vo";
export type FolderMappingRevisionProps = Readonly<{ export type FolderMappingRevisionProps = Readonly<{
values: FolderMappingValues; values: FolderMappingValues;
actorId: UniqueID; actorId: UniqueID;

View File

@ -5,7 +5,7 @@ import { z } from "zod/v4";
import { FolderMappingRevision } from "./folder-mapping-revision.entity"; import { FolderMappingRevision } from "./folder-mapping-revision.entity";
import { FOLDER_STATE_TRANSITIONS, FolderMappingError } from "./folder-mapping-values"; import { FOLDER_STATE_TRANSITIONS, FolderMappingError } from "./folder-mapping-values";
import type { FolderMappingValues } from "./value-objects/folder-mapping-values"; import type { FolderMappingValues } from "./value-objects/folder-mapping-values.vo";
type Props = Readonly<{ type Props = Readonly<{
companyId: UniqueID; companyId: UniqueID;

View File

@ -1,7 +1,7 @@
import type { UniqueID } from "@repo/rdx-ddd"; import type { UniqueID } from "@repo/rdx-ddd";
import { DomainEntity } from "@repo/rdx-ddd"; import { DomainEntity } from "@repo/rdx-ddd";
import type { InterventionValues } from "./value-objects/intervention-values"; import type { InterventionValues } from "./value-objects/intervention-values.vo";
export type InterventionRevisionProps = Readonly<{ export type InterventionRevisionProps = Readonly<{
values: InterventionValues; values: InterventionValues;
actorId: UniqueID; actorId: UniqueID;

View File

@ -2,7 +2,7 @@ import type { UniqueID } from "@repo/rdx-ddd";
import { DomainEntity } from "@repo/rdx-ddd"; import { DomainEntity } from "@repo/rdx-ddd";
import type { Maybe } from "@repo/rdx-utils"; import type { Maybe } from "@repo/rdx-utils";
import type { InterventionTemplateValues } from "./value-objects/intervention-template-values"; import type { InterventionTemplateValues } from "./value-objects/intervention-template-values.vo";
type Props = Readonly<{ type Props = Readonly<{
values: InterventionTemplateValues; values: InterventionTemplateValues;

View File

@ -2,7 +2,7 @@ import { UniqueID } from "@repo/rdx-ddd";
import { Maybe } from "@repo/rdx-utils"; import { Maybe } from "@repo/rdx-utils";
import { InterventionTemplate } from "./intervention-template.aggregate"; import { InterventionTemplate } from "./intervention-template.aggregate";
import { InterventionTemplateValues } from "./value-objects/intervention-template-values"; import { InterventionTemplateValues } from "./value-objects/intervention-template-values.vo";
const definitions = [ const definitions = [
[ [

View File

@ -5,7 +5,7 @@ import { z } from "zod/v4";
import { InterventionTemplateRevision } from "./intervention-template-revision.entity"; import { InterventionTemplateRevision } from "./intervention-template-revision.entity";
import { InterventionTemplateError } from "./intervention-template-values"; import { InterventionTemplateError } from "./intervention-template-values";
import type { InterventionTemplateValues } from "./value-objects/intervention-template-values"; import type { InterventionTemplateValues } from "./value-objects/intervention-template-values.vo";
type Props = Readonly<{ type Props = Readonly<{
companyId: Maybe<UniqueID>; companyId: Maybe<UniqueID>;

View File

@ -11,7 +11,7 @@ import { InterventionTemplate } from "./intervention-template.aggregate";
import { interventionTemplateSeeds } from "./intervention-template-seed"; import { interventionTemplateSeeds } from "./intervention-template-seed";
import type { InterventionTemplateInput } from "./intervention-template-values"; import type { InterventionTemplateInput } from "./intervention-template-values";
import { InterventionTemplateInputSchema } from "./intervention-template-values"; import { InterventionTemplateInputSchema } from "./intervention-template-values";
import { InterventionTemplateValues } from "./value-objects/intervention-template-values"; import { InterventionTemplateValues } from "./value-objects/intervention-template-values.vo";
const actor = UniqueID.generateNewID(); const actor = UniqueID.generateNewID();
const date = "2026-10-07T10:00:00.000Z"; const date = "2026-10-07T10:00:00.000Z";

View File

@ -6,8 +6,8 @@ import { z } from "zod/v4";
import { InterventionRevision } from "./intervention-revision.entity"; import { InterventionRevision } from "./intervention-revision.entity";
import { InterventionError } from "./intervention-values"; import { InterventionError } from "./intervention-values";
import type { InterventionProcedure } from "./value-objects/intervention-procedure"; import type { InterventionProcedure } from "./value-objects/intervention-procedure.vo";
import type { InterventionValues } from "./value-objects/intervention-values"; import type { InterventionValues } from "./value-objects/intervention-values.vo";
type InterventionProps = Readonly<{ type InterventionProps = Readonly<{
companyId: UniqueID; companyId: UniqueID;

View File

@ -9,8 +9,8 @@ import { InterventionPersistenceMapper } from "../infrastructure/persistence/int
import { Intervention } from "./intervention.aggregate"; import { Intervention } from "./intervention.aggregate";
import type { InterventionInput } from "./intervention-values"; import type { InterventionInput } from "./intervention-values";
import { InterventionInputSchema } from "./intervention-values"; import { InterventionInputSchema } from "./intervention-values";
import { InterventionProcedure } from "./value-objects/intervention-procedure"; import { InterventionProcedure } from "./value-objects/intervention-procedure.vo";
import { InterventionValues } from "./value-objects/intervention-values"; import { InterventionValues } from "./value-objects/intervention-values.vo";
const actor = UniqueID.generateNewID(); const actor = UniqueID.generateNewID();
function input(): InterventionInput { function input(): InterventionInput {

View File

@ -1,7 +1,7 @@
import type { UniqueID } from "@repo/rdx-ddd"; import type { UniqueID } from "@repo/rdx-ddd";
import { DomainEntity } from "@repo/rdx-ddd"; import { DomainEntity } from "@repo/rdx-ddd";
import type { MailConfigurationValues } from "./value-objects/mail-configuration-values"; import type { MailConfigurationValues } from "./value-objects/mail-configuration-values.vo";
export type MailRevisionProps = Readonly<{ export type MailRevisionProps = Readonly<{
values: MailConfigurationValues; values: MailConfigurationValues;
actorId: UniqueID; actorId: UniqueID;

View File

@ -5,7 +5,7 @@ import { z } from "zod/v4";
import { MailConfigurationRevision } from "./mail-configuration-revision.entity"; import { MailConfigurationRevision } from "./mail-configuration-revision.entity";
import { MAIL_STATE_TRANSITIONS, MailConfigurationError } from "./mail-configuration-values"; import { MAIL_STATE_TRANSITIONS, MailConfigurationError } from "./mail-configuration-values";
import type { MailConfigurationValues } from "./value-objects/mail-configuration-values"; import type { MailConfigurationValues } from "./value-objects/mail-configuration-values.vo";
type Props = Readonly<{ type Props = Readonly<{
companyId: UniqueID; companyId: UniqueID;

View File

@ -13,10 +13,10 @@ import { MailConfigurationRevision } from "./mail-configuration-revision.entity"
import type { MailConfigurationInput, MailSnapshot } from "./mail-configuration-values"; import type { MailConfigurationInput, MailSnapshot } from "./mail-configuration-values";
import { Mailbox } from "./mailbox.aggregate"; import { Mailbox } from "./mailbox.aggregate";
import { MailboxUse } from "./mailbox-use.aggregate"; import { MailboxUse } from "./mailbox-use.aggregate";
import { MailConfigurationValues } from "./value-objects/mail-configuration-values"; import { MailConfigurationValues } from "./value-objects/mail-configuration-values.vo";
import { MailboxUseValues } from "./value-objects/mailbox-use-values"; import { MailboxUseValues } from "./value-objects/mailbox-use-values.vo";
import { MailboxValues } from "./value-objects/mailbox-values"; import { MailboxValues } from "./value-objects/mailbox-values.vo";
import { WorkProfileValues } from "./value-objects/work-profile-values"; import { WorkProfileValues } from "./value-objects/work-profile-values.vo";
import { WorkProfile } from "./work-profile.aggregate"; import { WorkProfile } from "./work-profile.aggregate";
const company = UniqueID.generateNewID(); const company = UniqueID.generateNewID();

View File

@ -1,7 +1,7 @@
import type { UniqueID } from "@repo/rdx-ddd"; import type { UniqueID } from "@repo/rdx-ddd";
import { DomainEntity } from "@repo/rdx-ddd"; import { DomainEntity } from "@repo/rdx-ddd";
import type { MailboxValues } from "./value-objects/mailbox-values"; import type { MailboxValues } from "./value-objects/mailbox-values.vo";
export type MailboxRevisionProps = Readonly<{ export type MailboxRevisionProps = Readonly<{
values: MailboxValues; values: MailboxValues;
actorId: UniqueID; actorId: UniqueID;

View File

@ -1,7 +1,7 @@
import type { UniqueID } from "@repo/rdx-ddd"; import type { UniqueID } from "@repo/rdx-ddd";
import { DomainEntity } from "@repo/rdx-ddd"; import { DomainEntity } from "@repo/rdx-ddd";
import type { MailboxUseValues } from "./value-objects/mailbox-use-values"; import type { MailboxUseValues } from "./value-objects/mailbox-use-values.vo";
export type MailboxUseRevisionProps = Readonly<{ export type MailboxUseRevisionProps = Readonly<{
values: MailboxUseValues; values: MailboxUseValues;
actorId: UniqueID; actorId: UniqueID;

View File

@ -5,7 +5,7 @@ import { z } from "zod/v4";
import { MailboxUseRevision } from "./mailbox-use-revision.entity"; import { MailboxUseRevision } from "./mailbox-use-revision.entity";
import { MailboxError } from "./mailbox-values"; import { MailboxError } from "./mailbox-values";
import type { MailboxUseValues } from "./value-objects/mailbox-use-values"; import type { MailboxUseValues } from "./value-objects/mailbox-use-values.vo";
type MailboxUseProps = Readonly<{ type MailboxUseProps = Readonly<{
companyId: UniqueID; companyId: UniqueID;

View File

@ -5,7 +5,7 @@ import { z } from "zod/v4";
import { MailboxRevision } from "./mailbox-revision.entity"; import { MailboxRevision } from "./mailbox-revision.entity";
import { MailboxError } from "./mailbox-values"; import { MailboxError } from "./mailbox-values";
import type { MailboxValues } from "./value-objects/mailbox-values"; import type { MailboxValues } from "./value-objects/mailbox-values.vo";
type MailboxProps = Readonly<{ type MailboxProps = Readonly<{
companyId: UniqueID; companyId: UniqueID;

View File

@ -9,8 +9,8 @@ import { MailboxPersistenceMapper } from "../infrastructure/persistence/mailbox-
import { Mailbox } from "./mailbox.aggregate"; import { Mailbox } from "./mailbox.aggregate";
import { MailboxUse } from "./mailbox-use.aggregate"; import { MailboxUse } from "./mailbox-use.aggregate";
import { MailboxUseValues } from "./value-objects/mailbox-use-values"; import { MailboxUseValues } from "./value-objects/mailbox-use-values.vo";
import { MailboxValues } from "./value-objects/mailbox-values"; import { MailboxValues } from "./value-objects/mailbox-values.vo";
const company = UniqueID.generateNewID(); const company = UniqueID.generateNewID();
const actor = UniqueID.generateNewID(); const actor = UniqueID.generateNewID();

View File

@ -4,7 +4,7 @@ import type { Maybe } from "@repo/rdx-utils";
import { Result } from "@repo/rdx-utils"; import { Result } from "@repo/rdx-utils";
import { CompanyError } from "./company-error"; import { CompanyError } from "./company-error";
import type { PhoneNumber } from "./value-objects/phone-number"; import type { PhoneNumber } from "./value-objects/phone-number.vo";
export type PersonProps = Readonly<{ export type PersonProps = Readonly<{
companyId: UniqueID; companyId: UniqueID;

View File

@ -1,7 +1,7 @@
import type { UniqueID } from "@repo/rdx-ddd"; import type { UniqueID } from "@repo/rdx-ddd";
import { DomainEntity } from "@repo/rdx-ddd"; import { DomainEntity } from "@repo/rdx-ddd";
import type { PrinterConfigurationValues } from "./value-objects/printer-configuration-values"; import type { PrinterConfigurationValues } from "./value-objects/printer-configuration-values.vo";
export type PrinterConfigurationRevisionProps = Readonly<{ export type PrinterConfigurationRevisionProps = Readonly<{
values: PrinterConfigurationValues; values: PrinterConfigurationValues;
actorId: UniqueID; actorId: UniqueID;

View File

@ -8,7 +8,7 @@ import {
PRINTER_STATE_TRANSITIONS, PRINTER_STATE_TRANSITIONS,
PrinterConfigurationError, PrinterConfigurationError,
} from "./printer-configuration-values"; } from "./printer-configuration-values";
import type { PrinterConfigurationValues } from "./value-objects/printer-configuration-values"; import type { PrinterConfigurationValues } from "./value-objects/printer-configuration-values.vo";
type Props = Readonly<{ type Props = Readonly<{
companyId: UniqueID; companyId: UniqueID;

View File

@ -11,8 +11,8 @@ import { PrinterConfigurationPersistenceMapper } from "../infrastructure/persist
import { PrinterConfiguration } from "./printer-configuration.aggregate"; import { PrinterConfiguration } from "./printer-configuration.aggregate";
import type { PrinterConfigurationInput } from "./printer-configuration-values"; import type { PrinterConfigurationInput } from "./printer-configuration-values";
import { PrinterConfigurationInputSchema } from "./printer-configuration-values"; import { PrinterConfigurationInputSchema } from "./printer-configuration-values";
import { PrinterConfigurationValues } from "./value-objects/printer-configuration-values"; import { PrinterConfigurationValues } from "./value-objects/printer-configuration-values.vo";
import { WorkProfileValues } from "./value-objects/work-profile-values"; import { WorkProfileValues } from "./value-objects/work-profile-values.vo";
import { WorkProfile } from "./work-profile.aggregate"; import { WorkProfile } from "./work-profile.aggregate";
const company = UniqueID.generateNewID(); const company = UniqueID.generateNewID();

View File

@ -2,7 +2,7 @@ import type { UniqueID } from "@repo/rdx-ddd";
import { DomainEntity } from "@repo/rdx-ddd"; import { DomainEntity } from "@repo/rdx-ddd";
import type { Maybe } from "@repo/rdx-utils"; import type { Maybe } from "@repo/rdx-utils";
import type { ProcessValues } from "./value-objects/process-values"; import type { ProcessValues } from "./value-objects/process-values.vo";
type Props = Readonly<{ values: ProcessValues; actorId: Maybe<UniqueID>; recordedAt: string }>; type Props = Readonly<{ values: ProcessValues; actorId: Maybe<UniqueID>; recordedAt: string }>;
export class PersonProcessRevision extends DomainEntity<Props> { export class PersonProcessRevision extends DomainEntity<Props> {

View File

@ -2,49 +2,9 @@ import { DomainEntity, Name, UniqueID } from "@repo/rdx-ddd";
import { Maybe } from "@repo/rdx-utils"; import { Maybe } from "@repo/rdx-utils";
import type { ProcessReferenceInput, ProcessTaskInput } from "./process-values"; import type { ProcessReferenceInput, ProcessTaskInput } from "./process-values";
import { ProcessReferenceSchema, ProcessTaskSchema } from "./process-values"; import { ProcessTaskSchema } from "./process-values";
import { ProcessReferenceValues } from "./value-objects/process-reference-values.vo";
class ProcessReferenceValues {
private constructor(
public readonly id: UniqueID,
public readonly label: Name,
public readonly kind: ProcessReferenceInput["kind"],
public readonly sourceKind: Maybe<ProcessReferenceInput["sourceKind"]>
) {
Object.freeze(this);
}
static create(input: ProcessReferenceInput) {
const value = ProcessReferenceSchema.parse(input);
const id = UniqueID.create(value.id);
const label = Name.create(value.label, 500);
if (!(id.isSuccess && label.isSuccess)) {
throw new Error("Referencia de tarea inconsistente.");
}
return new ProcessReferenceValues(
id.data,
label.data,
value.kind,
value.sourceKind ? Maybe.some(value.sourceKind) : Maybe.none()
);
}
toPrimitive(): ProcessReferenceInput {
const sourceKind = this.sourceKind.getOrUndefined();
return {
kind: this.kind,
id: this.id.toPrimitive(),
label: this.label.toPrimitive(),
...(sourceKind ? { sourceKind } : {}),
};
}
equals(other: ProcessReferenceValues) {
return (
this.id.equals(other.id) &&
this.label.equals(other.label) &&
this.kind === other.kind &&
this.sourceKind.getOrUndefined() === other.sourceKind.getOrUndefined()
);
}
}
type Values = { type Values = {
title: Name; title: Name;
status: ProcessTaskInput["status"]; status: ProcessTaskInput["status"];

View File

@ -2,7 +2,7 @@ import type { UniqueID } from "@repo/rdx-ddd";
import { DomainEntity } from "@repo/rdx-ddd"; import { DomainEntity } from "@repo/rdx-ddd";
import type { Maybe } from "@repo/rdx-utils"; import type { Maybe } from "@repo/rdx-utils";
import type { ProcessTemplateValues } from "./value-objects/process-template-values"; import type { ProcessTemplateValues } from "./value-objects/process-template-values.vo";
type Props = Readonly<{ type Props = Readonly<{
values: ProcessTemplateValues; values: ProcessTemplateValues;

View File

@ -5,7 +5,7 @@ import { z } from "zod/v4";
import { ProcessTemplateRevision } from "./process-template-revision.entity"; import { ProcessTemplateRevision } from "./process-template-revision.entity";
import { ProcessError } from "./process-values"; import { ProcessError } from "./process-values";
import type { ProcessTemplateValues } from "./value-objects/process-template-values"; import type { ProcessTemplateValues } from "./value-objects/process-template-values.vo";
type Props = Readonly<{ type Props = Readonly<{
values: ProcessTemplateValues; values: ProcessTemplateValues;

View File

@ -7,7 +7,7 @@ import { PersonProcessRevision } from "./process-revision.entity";
import { ProcessTask } from "./process-task.entity"; import { ProcessTask } from "./process-task.entity";
import type { ProcessReferenceInput } from "./process-values"; import type { ProcessReferenceInput } from "./process-values";
import { ProcessError } from "./process-values"; import { ProcessError } from "./process-values";
import { ProcessValues } from "./value-objects/process-values"; import { ProcessValues } from "./value-objects/process-values.vo";
type Props = Readonly<{ type Props = Readonly<{
companyId: UniqueID; companyId: UniqueID;

View File

@ -17,8 +17,8 @@ import {
ProcessValuesSchema, ProcessValuesSchema,
StartProcessInputSchema, StartProcessInputSchema,
} from "./process-values"; } from "./process-values";
import { ProcessTemplateValues } from "./value-objects/process-template-values"; import { ProcessTemplateValues } from "./value-objects/process-template-values.vo";
import { ProcessValues } from "./value-objects/process-values"; import { ProcessValues } from "./value-objects/process-values.vo";
const company = UniqueID.generateNewID(); const company = UniqueID.generateNewID();
const actor = UniqueID.generateNewID(); const actor = UniqueID.generateNewID();

View File

@ -1,7 +1,7 @@
import type { UniqueID } from "@repo/rdx-ddd"; import type { UniqueID } from "@repo/rdx-ddd";
import { DomainEntity } from "@repo/rdx-ddd"; import { DomainEntity } from "@repo/rdx-ddd";
import type { RemoteConnectionValues } from "./value-objects/remote-connection-values"; import type { RemoteConnectionValues } from "./value-objects/remote-connection-values.vo";
export type RemoteConnectionRevisionProps = Readonly<{ export type RemoteConnectionRevisionProps = Readonly<{
values: RemoteConnectionValues; values: RemoteConnectionValues;
actorId: UniqueID; actorId: UniqueID;

View File

@ -5,7 +5,7 @@ import { z } from "zod/v4";
import { RemoteConnectionRevision } from "./remote-connection-revision.entity"; import { RemoteConnectionRevision } from "./remote-connection-revision.entity";
import { REMOTE_STATE_TRANSITIONS, RemoteConnectionError } from "./remote-connection-values"; import { REMOTE_STATE_TRANSITIONS, RemoteConnectionError } from "./remote-connection-values";
import type { RemoteConnectionValues } from "./value-objects/remote-connection-values"; import type { RemoteConnectionValues } from "./value-objects/remote-connection-values.vo";
type Props = Readonly<{ type Props = Readonly<{
companyId: UniqueID; companyId: UniqueID;

View File

@ -12,8 +12,8 @@ import { RemoteConnection } from "./remote-connection.aggregate";
import type { RemoteConnectionInput } from "./remote-connection-values"; import type { RemoteConnectionInput } from "./remote-connection-values";
import { RemoteConnectionInputSchema } from "./remote-connection-values"; import { RemoteConnectionInputSchema } from "./remote-connection-values";
import { TeleworkAuthorization } from "./telework-authorization.aggregate"; import { TeleworkAuthorization } from "./telework-authorization.aggregate";
import { RemoteConnectionValues } from "./value-objects/remote-connection-values"; import { RemoteConnectionValues } from "./value-objects/remote-connection-values.vo";
import { TeleworkAuthorizationValues } from "./value-objects/telework-authorization-values"; import { TeleworkAuthorizationValues } from "./value-objects/telework-authorization-values.vo";
const company = UniqueID.generateNewID(); const company = UniqueID.generateNewID();
const person = UniqueID.generateNewID(); const person = UniqueID.generateNewID();

View File

@ -4,7 +4,7 @@ import type { Maybe } from "@repo/rdx-utils";
import { Result } from "@repo/rdx-utils"; import { Result } from "@repo/rdx-utils";
import { CompanyError } from "./company-error"; import { CompanyError } from "./company-error";
import type { SiteAddress } from "./value-objects/site-address"; import type { SiteAddress } from "./value-objects/site-address.vo";
export type SiteProps = Readonly<{ companyId: UniqueID; name: Name; address: Maybe<SiteAddress> }>; export type SiteProps = Readonly<{ companyId: UniqueID; name: Name; address: Maybe<SiteAddress> }>;
export class Site extends DomainEntity<SiteProps> { export class Site extends DomainEntity<SiteProps> {

View File

@ -1,7 +1,7 @@
import type { UniqueID } from "@repo/rdx-ddd"; import type { UniqueID } from "@repo/rdx-ddd";
import { DomainEntity } from "@repo/rdx-ddd"; import { DomainEntity } from "@repo/rdx-ddd";
import type { TeleworkAuthorizationValues } from "./value-objects/telework-authorization-values"; import type { TeleworkAuthorizationValues } from "./value-objects/telework-authorization-values.vo";
export type TeleworkAuthorizationRevisionProps = Readonly<{ export type TeleworkAuthorizationRevisionProps = Readonly<{
values: TeleworkAuthorizationValues; values: TeleworkAuthorizationValues;
actorId: UniqueID; actorId: UniqueID;

Some files were not shown because too many files have changed in this diff Show More