Everything is validated now
This commit is contained in:
@@ -1,20 +1,27 @@
|
||||
import { SuccessResponse } from './base';
|
||||
import { IsBase32, IsJWT, IsNotEmpty } from 'class-validator';
|
||||
import { ValidateConstructor } from '../utils';
|
||||
|
||||
export type TfaRequiredResponse = SuccessResponse;
|
||||
export type RemoveTfaResponse = SuccessResponse;
|
||||
export type RequestEmailTfaResponse = SuccessResponse;
|
||||
export type TfaCompletedResponse = SuccessResponse;
|
||||
export type SignupResponse = SuccessResponse;
|
||||
export type RefreshResponse = LoginResponse;
|
||||
|
||||
@ValidateConstructor
|
||||
export class LoginResponse extends SuccessResponse {
|
||||
constructor(jwt: string) {
|
||||
super();
|
||||
this.jwt = jwt;
|
||||
}
|
||||
|
||||
@IsNotEmpty()
|
||||
@IsJWT()
|
||||
jwt: string;
|
||||
}
|
||||
|
||||
@ValidateConstructor
|
||||
export class RequestTotpTfaResponse extends SuccessResponse {
|
||||
constructor(qrCode: string, secret: string) {
|
||||
super();
|
||||
this.qrCode = qrCode;
|
||||
this.secret = secret;
|
||||
}
|
||||
|
||||
@IsNotEmpty()
|
||||
qrCode: string;
|
||||
|
||||
@@ -22,3 +29,10 @@ export class RequestTotpTfaResponse extends SuccessResponse {
|
||||
@IsBase32()
|
||||
secret: string;
|
||||
}
|
||||
|
||||
export class TfaRequiredResponse extends SuccessResponse {}
|
||||
export class RemoveTfaResponse extends SuccessResponse {}
|
||||
export class RequestEmailTfaResponse extends SuccessResponse {}
|
||||
export class TfaCompletedResponse extends SuccessResponse {}
|
||||
export class SignupResponse extends SuccessResponse {}
|
||||
export class RefreshResponse extends LoginResponse {}
|
||||
|
||||
@@ -1,17 +1,39 @@
|
||||
import { SuccessResponse } from './base';
|
||||
import { IsBoolean, IsInt, IsNotEmpty, Min } from 'class-validator';
|
||||
|
||||
export type UploadFileResponse = SuccessResponse;
|
||||
export type DeleteResponse = SuccessResponse;
|
||||
export type CreateFileResponse = CreateFolderResponse;
|
||||
import {
|
||||
IsBoolean,
|
||||
IsInt,
|
||||
IsNotEmpty,
|
||||
IsOptional,
|
||||
IsString,
|
||||
Min
|
||||
} from 'class-validator';
|
||||
import { ValidateConstructor } from '../utils';
|
||||
|
||||
@ValidateConstructor
|
||||
export class GetRootResponse extends SuccessResponse {
|
||||
constructor(rootId: number) {
|
||||
super();
|
||||
this.rootId = rootId;
|
||||
}
|
||||
@IsInt()
|
||||
@Min(1)
|
||||
rootId: number;
|
||||
}
|
||||
|
||||
export class GetNodeResponse extends SuccessResponse {
|
||||
constructor(
|
||||
id: number,
|
||||
name: string,
|
||||
isFile: boolean,
|
||||
parent: number | null
|
||||
) {
|
||||
super();
|
||||
this.id = id;
|
||||
this.name = name;
|
||||
this.isFile = isFile;
|
||||
this.parent = parent;
|
||||
}
|
||||
|
||||
@IsInt()
|
||||
@Min(1)
|
||||
id: number;
|
||||
@@ -22,22 +44,46 @@ export class GetNodeResponse extends SuccessResponse {
|
||||
@IsBoolean()
|
||||
isFile: boolean;
|
||||
|
||||
@IsOptional()
|
||||
@IsInt()
|
||||
@Min(1)
|
||||
parent: number | null;
|
||||
|
||||
@IsOptional()
|
||||
@IsInt({ each: true })
|
||||
@Min(1, { each: true })
|
||||
children?: number[];
|
||||
|
||||
@IsOptional()
|
||||
@IsInt()
|
||||
@Min(0)
|
||||
size?: number;
|
||||
}
|
||||
|
||||
@ValidateConstructor
|
||||
export class GetPathResponse extends SuccessResponse {
|
||||
constructor(path: string) {
|
||||
super();
|
||||
this.path = path;
|
||||
}
|
||||
|
||||
@IsNotEmpty()
|
||||
@IsString()
|
||||
path: string;
|
||||
}
|
||||
|
||||
@ValidateConstructor
|
||||
export class CreateFolderResponse extends SuccessResponse {
|
||||
constructor(id: number) {
|
||||
super();
|
||||
this.id = id;
|
||||
}
|
||||
|
||||
@IsInt()
|
||||
@Min(1)
|
||||
id: number;
|
||||
}
|
||||
|
||||
export class UploadFileResponse extends SuccessResponse {}
|
||||
export class DeleteResponse extends SuccessResponse {}
|
||||
export class CreateFileResponse extends CreateFolderResponse {}
|
||||
|
||||
Reference in New Issue
Block a user