chore: import DH V2 D5.6.4 production baseline

This commit is contained in:
DH V2
2026-09-05 10:12:35 -03:00
commit 82213e72f5
757 changed files with 84218 additions and 0 deletions
@@ -0,0 +1,7 @@
import { IsString, Matches } from 'class-validator';
export class ApplyAssetImportPlanDto {
@IsString()
@Matches(/^[0-9a-f]{64}$/)
planHash!: string;
}
@@ -0,0 +1,5 @@
import { IsString, MaxLength, MinLength } from 'class-validator';
export class CancelAssetImportDto {
@IsString() @MinLength(5) @MaxLength(500) reason!: string;
}
@@ -0,0 +1,13 @@
import { IsOptional, IsString, IsUUID, Matches, MaxLength } from 'class-validator';
export class CreateAssetImportPlanDto {
@IsOptional()
@IsUUID('4')
operatorAssetId?: string;
@IsOptional()
@IsString()
@MaxLength(80)
@Matches(/^[A-Z0-9][A-Z0-9._/-]{1,79}$/i)
externalIdNamespace?: string;
}
@@ -0,0 +1,14 @@
import { Type } from 'class-transformer';
import { IsIn, IsInt, IsOptional, Max, Min } from 'class-validator';
const entityKinds = [
'DEPARTMENT','ORGANIZATION','AREA','AREA_DEPARTMENT_RELATION','FIELD','OPERATOR_RELATION',
'LEGAL_RIGHT','LEGAL_RIGHT_ORGANIZATION','INSTALLATION','LOCAL_STRUCTURE','TECHNICAL_ASSET',
] as const;
export class ListAssetImportPlanItemsQueryDto {
@IsOptional() @Type(() => Number) @IsInt() @Min(1) page = 1;
@IsOptional() @Type(() => Number) @IsInt() @Min(1) @Max(200) pageSize = 50;
@IsOptional() @IsIn(entityKinds) entityKind?: typeof entityKinds[number];
@IsOptional() @IsIn(['CREATE','MATCH','REVIEW','IGNORE']) action?: 'CREATE' | 'MATCH' | 'REVIEW' | 'IGNORE';
}
@@ -0,0 +1,8 @@
import { Type } from 'class-transformer';
import { IsIn, IsInt, IsOptional, Max, Min } from 'class-validator';
export class ListAssetImportReviewsQueryDto {
@IsOptional() @Type(() => Number) @IsInt() @Min(1) page = 1;
@IsOptional() @Type(() => Number) @IsInt() @Min(1) @Max(100) pageSize = 30;
@IsOptional() @IsIn(['ALL','DIRECT','DEPENDENCY']) kind: 'ALL' | 'DIRECT' | 'DEPENDENCY' = 'ALL';
}
@@ -0,0 +1,9 @@
import { Type } from 'class-transformer';
import { IsIn, IsInt, IsOptional, IsString, Max, MaxLength, Min } from 'class-validator';
export class ListAssetImportRowsQueryDto {
@IsOptional() @Type(() => Number) @IsInt() @Min(1) page = 1;
@IsOptional() @Type(() => Number) @IsInt() @Min(1) @Max(200) pageSize = 50;
@IsOptional() @IsIn(['READY','WARNING','CONFLICT','IGNORED']) status?: string;
@IsOptional() @IsString() @MaxLength(160) search?: string;
}
@@ -0,0 +1,8 @@
import { Type } from 'class-transformer';
import { IsIn, IsInt, IsOptional, Max, Min } from 'class-validator';
export class ListAssetImportsQueryDto {
@IsOptional() @Type(() => Number) @IsInt() @Min(1) page = 1;
@IsOptional() @Type(() => Number) @IsInt() @Min(1) @Max(100) pageSize = 20;
@IsOptional() @IsIn(['ANALYZED','REVIEW_REQUIRED','CANCELLED','FAILED']) status?: string;
}
@@ -0,0 +1,15 @@
import { IsIn, IsOptional, IsString, IsUUID, MaxLength, MinLength, ValidateIf } from 'class-validator';
export class ResolveAssetImportPlanItemDto {
@IsIn(['CREATE', 'MATCH', 'IGNORE'])
action!: 'CREATE' | 'MATCH' | 'IGNORE';
@ValidateIf((value: ResolveAssetImportPlanItemDto) => value.action === 'MATCH')
@IsUUID('4')
matchedAssetId?: string;
@IsString()
@MinLength(5)
@MaxLength(1000)
reason!: string;
}
@@ -0,0 +1,8 @@
import { IsString, MaxLength, MinLength } from 'class-validator';
export class RollbackAssetImportPlanDto {
@IsString()
@MinLength(8)
@MaxLength(1000)
reason!: string;
}
@@ -0,0 +1,18 @@
import { IsIn, IsOptional, IsString, MaxLength, MinLength } from 'class-validator';
import type { AssetImportProfileCode } from '../asset-import-profiles';
export class UploadAssetImportDto {
@IsOptional()
@IsString()
@MaxLength(240)
sourceLabel?: string;
@IsOptional()
@IsString()
@MaxLength(2000)
notes?: string;
@IsOptional()
@IsIn(['MENDOZA_INVENTORY_V1', 'MENDOZA_YACIMIENTOS_V1'])
profileCode?: Exclude<AssetImportProfileCode, 'UNKNOWN'>;
}