62 lines
1.1 KiB
TypeScript
62 lines
1.1 KiB
TypeScript
|
import { SuccessResponse } from './base';
|
||
|
import {
|
||
|
IsArray,
|
||
|
IsBoolean,
|
||
|
IsEnum,
|
||
|
IsNotEmpty,
|
||
|
IsNumber,
|
||
|
IsString,
|
||
|
ValidateNested
|
||
|
} from 'class-validator';
|
||
|
import { UserRole, ValidateConstructor } from '../utils';
|
||
|
|
||
|
@ValidateConstructor
|
||
|
export class GetUsersEntry {
|
||
|
constructor(
|
||
|
id: number,
|
||
|
gitlab: boolean,
|
||
|
name: string,
|
||
|
role: UserRole,
|
||
|
tfaEnabled: boolean
|
||
|
) {
|
||
|
this.id = id;
|
||
|
this.gitlab = gitlab;
|
||
|
this.name = name;
|
||
|
this.role = role;
|
||
|
this.tfaEnabled = tfaEnabled;
|
||
|
}
|
||
|
|
||
|
@IsNumber()
|
||
|
id: number;
|
||
|
|
||
|
@IsBoolean()
|
||
|
gitlab: boolean;
|
||
|
|
||
|
@IsString()
|
||
|
@IsNotEmpty()
|
||
|
name: string;
|
||
|
|
||
|
@IsEnum(UserRole)
|
||
|
role: UserRole;
|
||
|
|
||
|
@IsBoolean()
|
||
|
tfaEnabled: boolean;
|
||
|
}
|
||
|
|
||
|
@ValidateConstructor
|
||
|
export class GetUsers extends SuccessResponse {
|
||
|
constructor(users: GetUsersEntry[]) {
|
||
|
super();
|
||
|
this.users = users;
|
||
|
}
|
||
|
|
||
|
@IsArray()
|
||
|
@ValidateNested({ each: true })
|
||
|
users: GetUsersEntry[];
|
||
|
}
|
||
|
|
||
|
export class LogoutAllUser extends SuccessResponse {}
|
||
|
export class DeleteUser extends SuccessResponse {}
|
||
|
export class SetUserRole extends SuccessResponse {}
|
||
|
export class DisableTfa extends SuccessResponse {}
|