hospital-log/backend/api/src/modules/log/dto/store-log.dto.ts

37 lines
968 B
TypeScript

import { IsString, IsNotEmpty, Length, IsEnum } from 'class-validator';
export class StoreLogDto {
@IsNotEmpty({ message: 'ID is required' })
@IsString({ message: 'ID must be a string' })
id: string;
@IsNotEmpty({ message: 'Event is required' })
@IsString({ message: 'Event must be a string' })
@IsEnum(
[
'tindakan_dokter_created',
'obat_created',
'rekam_medis_created',
'tindakan_dokter_updated',
'obat_updated',
'rekam_medis_updated',
'tindakan_dokter_deleted',
'obat_deleted',
'rekam_medis_deleted',
],
{
message: 'Invalid event',
},
)
@Length(1, 100, { message: 'Event must be at most 100 characters' })
event: string;
@IsNotEmpty({ message: 'User ID is required' })
@IsString({ message: 'User ID must be a string' })
user_id: string;
@IsNotEmpty({ message: 'Payload is required' })
@IsString({ message: 'Payload must be a string' })
payload: string;
}