dto.ts 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. import { IsString, IsOptional } from 'class-validator';
  2. export class CreateUserDto {
  3. @IsString({ message: 'username is required.' })
  4. readonly username: string;
  5. @IsString({ message: 'password is required.' })
  6. readonly password: string;
  7. }
  8. export class CreateRoleDto {
  9. @IsString({ message: 'roleName is required.' })
  10. readonly roleName: string;
  11. }
  12. export class UpdateUserDto {
  13. @IsString({ message: 'username is required.' })
  14. readonly username: string;
  15. @IsString({ message: 'oldPassword is required.' })
  16. readonly oldPassword: string;
  17. @IsString({ message: 'newPassword is required.' })
  18. readonly newPassword: string;
  19. }
  20. export class AssignUserRoleDto {
  21. @IsString({ each: true, message: 'roles is required.' })
  22. readonly roles: string;
  23. }
  24. export class UnassignUserRoleDto {
  25. @IsString({ message: 'roles is required.' })
  26. readonly roleName: string;
  27. }
  28. // privilege group
  29. export class CreatePrivilegeGroupDto {
  30. @IsString({ message: 'group_name is required.' })
  31. readonly group_name: string;
  32. @IsString({ message: 'privileges[] is required.', each: true })
  33. readonly privileges: string[];
  34. }
  35. // get privilege group
  36. export class GetPrivilegeGroupDto {
  37. @IsString({ message: 'group_name is required.' })
  38. readonly group_name: string;
  39. }
  40. export class UpdatePrivilegeGroupDto {
  41. @IsString({ message: 'privileges[] is required.', each: true })
  42. readonly privileges: string[];
  43. }
  44. // grant/revoke privilege to role
  45. export class PrivilegeToRoleDto {
  46. @IsString({ message: 'roleName is empty.' })
  47. readonly role: string;
  48. @IsString()
  49. @IsOptional()
  50. readonly collection: string;
  51. @IsString({ message: 'privilege is empty.' })
  52. readonly privilege: string;
  53. }