F1.2 · Seguimiento administrativo por Acta
Plazo único por Acta, respuestas de empresa con PDF, fecha comprometida, estados administrativos, cola y calendario por Acta.
This commit is contained in:
@@ -0,0 +1,31 @@
|
||||
|
||||
import { Transform } from 'class-transformer';
|
||||
import { IsDateString, IsEmail, IsOptional, IsString, MaxLength, MinLength } from 'class-validator';
|
||||
|
||||
export class CreateActCompanyResponseDto {
|
||||
@IsDateString()
|
||||
receivedOn!: string;
|
||||
|
||||
@IsOptional()
|
||||
@Transform(({ value }) => (typeof value === 'string' ? value.trim() : value))
|
||||
@IsString()
|
||||
@MinLength(3)
|
||||
@MaxLength(8000)
|
||||
details?: string;
|
||||
|
||||
@IsOptional()
|
||||
@IsDateString()
|
||||
committedCorrectionOn?: string;
|
||||
|
||||
@IsOptional()
|
||||
@Transform(({ value }) => (typeof value === 'string' ? value.trim() : value))
|
||||
@IsString()
|
||||
@MaxLength(200)
|
||||
contactName?: string;
|
||||
|
||||
@IsOptional()
|
||||
@Transform(({ value }) => (typeof value === 'string' ? value.trim() : value))
|
||||
@IsEmail()
|
||||
@MaxLength(320)
|
||||
contactEmail?: string;
|
||||
}
|
||||
@@ -0,0 +1,17 @@
|
||||
|
||||
import { Transform } from 'class-transformer';
|
||||
import { IsIn, IsInt, IsOptional, IsUUID, Max, Min } from 'class-validator';
|
||||
|
||||
export const ACT_ADMIN_STATES = [
|
||||
'ALL', 'NEW', 'WAITING_RESPONSE', 'DUE_SOON', 'OVERDUE',
|
||||
'RESPONSE_RECEIVED', 'VERIFICATION_PENDING', 'COMMITMENT_OVERDUE', 'REGULARIZED',
|
||||
] as const;
|
||||
export type ActAdministrationState = typeof ACT_ADMIN_STATES[number];
|
||||
|
||||
export class ListActAdministrationQueryDto {
|
||||
@IsOptional() @IsIn(ACT_ADMIN_STATES) state?: ActAdministrationState;
|
||||
@IsOptional() @IsUUID('4') areaId?: string;
|
||||
@IsOptional() @IsUUID('4') companyId?: string;
|
||||
@IsOptional() @Transform(({ value }) => Number(value)) @IsInt() @Min(1) page?: number;
|
||||
@IsOptional() @Transform(({ value }) => Number(value)) @IsInt() @Min(1) @Max(100) pageSize?: number;
|
||||
}
|
||||
@@ -0,0 +1,14 @@
|
||||
|
||||
import { Transform } from 'class-transformer';
|
||||
import { IsDateString, IsString, MaxLength, MinLength } from 'class-validator';
|
||||
|
||||
export class SetActResponseDeadlineDto {
|
||||
@IsDateString()
|
||||
responseDueOn!: string;
|
||||
|
||||
@Transform(({ value }) => (typeof value === 'string' ? value.trim() : value))
|
||||
@IsString()
|
||||
@MinLength(3)
|
||||
@MaxLength(1000)
|
||||
reason!: string;
|
||||
}
|
||||
Reference in New Issue
Block a user