mirror of
https://github.com/Tria-plc/edr-platform.git
synced 2026-08-30 13:28:11 +00:00
change price logic on the ,rule engine ui, auto generate the contrat
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
import { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger';
|
||||
import { IsBoolean, IsInt, IsOptional, IsString, MaxLength, Min } from 'class-validator';
|
||||
import { IsBoolean, IsInt, IsOptional, IsString, IsUUID, MaxLength, Min } from 'class-validator';
|
||||
|
||||
const ROLES = ['LINE_STAFF', 'DIRECTOR', 'CEO'] as const;
|
||||
|
||||
@@ -8,10 +8,16 @@ export class CreateApprovalRuleDto {
|
||||
@IsBoolean()
|
||||
requiresDirectorApproval!: boolean;
|
||||
|
||||
@ApiProperty({ description: 'Step sequence number (1 = first, 2 = second)', minimum: 1 })
|
||||
@ApiPropertyOptional({ description: 'Step sequence number (auto-assigned if omitted)', minimum: 1 })
|
||||
@IsOptional()
|
||||
@IsInt()
|
||||
@Min(1)
|
||||
stepOrder!: number;
|
||||
stepOrder?: number;
|
||||
|
||||
@ApiPropertyOptional({ description: 'Insert after this step ID within the same chain' })
|
||||
@IsOptional()
|
||||
@IsUUID('4')
|
||||
insertAfterId?: string;
|
||||
|
||||
@ApiProperty({ enum: ROLES, description: 'Role required to action this step' })
|
||||
@IsString()
|
||||
|
||||
@@ -32,4 +32,9 @@ export class CreateCargoTypeDto {
|
||||
@IsInt()
|
||||
@Min(1)
|
||||
displayOrder?: number;
|
||||
|
||||
@ApiPropertyOptional({ description: 'Insert after this record ID' })
|
||||
@IsOptional()
|
||||
@IsUUID('4')
|
||||
insertAfterId?: string;
|
||||
}
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger';
|
||||
import { Transform } from 'class-transformer';
|
||||
import { IsBoolean, IsInt, IsNumber, IsOptional, IsString, Max, MaxLength, Min } from 'class-validator';
|
||||
import { IsBoolean, IsInt, IsNumber, IsOptional, IsString, IsUUID, Max, MaxLength, Min } from 'class-validator';
|
||||
|
||||
export class CreateContainerTypeDto {
|
||||
@ApiProperty({ description: 'Customer-facing label, e.g. "20ft Dry Container"', maxLength: 100 })
|
||||
@@ -40,4 +40,9 @@ export class CreateContainerTypeDto {
|
||||
@IsInt()
|
||||
@Min(1)
|
||||
displayOrder?: number;
|
||||
|
||||
@ApiPropertyOptional({ description: 'Insert after this record ID' })
|
||||
@IsOptional()
|
||||
@IsUUID('4')
|
||||
insertAfterId?: string;
|
||||
}
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger';
|
||||
import { IsBoolean, IsInt, IsOptional, IsString, MaxLength, Min } from 'class-validator';
|
||||
import { IsBoolean, IsInt, IsOptional, IsString, IsUUID, MaxLength, Min } from 'class-validator';
|
||||
|
||||
export class CreateServiceTypeDto {
|
||||
@ApiProperty({ description: 'Service type display name', maxLength: 255 })
|
||||
@@ -48,4 +48,9 @@ export class CreateServiceTypeDto {
|
||||
@IsInt()
|
||||
@Min(1)
|
||||
displayOrder?: number;
|
||||
|
||||
@ApiPropertyOptional({ description: 'Insert after this record ID' })
|
||||
@IsOptional()
|
||||
@IsUUID('4')
|
||||
insertAfterId?: string;
|
||||
}
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger';
|
||||
import { IsBoolean, IsInt, IsOptional, IsString, MaxLength, Min } from 'class-validator';
|
||||
import { IsBoolean, IsInt, IsOptional, IsString, IsUUID, MaxLength, Min } from 'class-validator';
|
||||
|
||||
export class CreateYardDto {
|
||||
@ApiProperty({ description: 'Customer-facing yard label', maxLength: 100 })
|
||||
@@ -22,4 +22,9 @@ export class CreateYardDto {
|
||||
@IsInt()
|
||||
@Min(1)
|
||||
displayOrder?: number;
|
||||
|
||||
@ApiPropertyOptional({ description: 'Insert after this record ID' })
|
||||
@IsOptional()
|
||||
@IsUUID('4')
|
||||
insertAfterId?: string;
|
||||
}
|
||||
|
||||
@@ -0,0 +1,8 @@
|
||||
import { ApiProperty } from '@nestjs/swagger';
|
||||
import { IsIn } from 'class-validator';
|
||||
|
||||
export class MoveOrderDto {
|
||||
@ApiProperty({ enum: ['up', 'down'] })
|
||||
@IsIn(['up', 'down'])
|
||||
direction!: 'up' | 'down';
|
||||
}
|
||||
@@ -0,0 +1,17 @@
|
||||
import { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger';
|
||||
import { ArrayMinSize, IsArray, IsBoolean, IsOptional, IsUUID } from 'class-validator';
|
||||
|
||||
export class ReorderItemsDto {
|
||||
@ApiProperty({ description: 'Ordered list of record IDs (new display/step order)', type: [String] })
|
||||
@IsArray()
|
||||
@ArrayMinSize(1)
|
||||
@IsUUID('4', { each: true })
|
||||
ids!: string[];
|
||||
|
||||
@ApiPropertyOptional({
|
||||
description: 'Approval-rules only: scope reorder to this chain',
|
||||
})
|
||||
@IsOptional()
|
||||
@IsBoolean()
|
||||
requiresDirectorApproval?: boolean;
|
||||
}
|
||||
Reference in New Issue
Block a user