feat: improve attendance scheduling and API validation
This commit is contained in:
@@ -1,13 +1,14 @@
|
||||
import { IsInt, IsNumber, IsString, IsOptional } from 'class-validator';
|
||||
import { IsDateString, IsIn, IsInt, IsNumber, IsString, IsOptional, Min } from 'class-validator';
|
||||
|
||||
export class CreateDepositDto {
|
||||
@IsInt()
|
||||
studentId: number;
|
||||
|
||||
@IsNumber()
|
||||
@IsNumber({ maxDecimalPlaces: 2 })
|
||||
@Min(0.01)
|
||||
amount: number;
|
||||
|
||||
@IsString()
|
||||
@IsDateString()
|
||||
paidDate: string;
|
||||
|
||||
@IsOptional()
|
||||
@@ -16,10 +17,29 @@ export class CreateDepositDto {
|
||||
}
|
||||
|
||||
export class RefundDepositDto {
|
||||
@IsString()
|
||||
@IsDateString()
|
||||
refundDate: string;
|
||||
|
||||
@IsOptional()
|
||||
@IsString()
|
||||
notes?: string;
|
||||
}
|
||||
|
||||
export class CreateDepositInstallmentDto {
|
||||
@IsNumber({ maxDecimalPlaces: 2 })
|
||||
@Min(0.01)
|
||||
amount: number;
|
||||
|
||||
@IsDateString()
|
||||
dueDate: string;
|
||||
}
|
||||
|
||||
export class UpdateDepositInstallmentDto {
|
||||
@IsOptional()
|
||||
@IsDateString()
|
||||
paidDate?: string;
|
||||
|
||||
@IsOptional()
|
||||
@IsIn(['pending', 'paid', 'overdue'])
|
||||
status?: string;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user