Added totp/mail otp, split up dto and api into multiple files

This commit is contained in:
2022-08-24 16:15:33 +02:00
parent af1df3e508
commit cd0d25ba4f
30 changed files with 535 additions and 379 deletions

View File

@@ -1,73 +1,2 @@
//
// Responses
//
export interface BaseResponse {
statusCode: number;
}
export interface ErrorResponse extends BaseResponse {
statusCode: 400 | 401 | 403;
message?: string;
}
export type RefreshResponse = LoginResponse;
export interface LoginResponse extends BaseResponse {
statusCode: 200;
jwt: string;
}
export interface GetRootResponse extends BaseResponse {
statusCode: 200;
rootId: number;
}
export interface GetNodeResponse extends BaseResponse {
statusCode: 200;
id: number;
name: string;
isFile: boolean;
parent: number | null;
children?: number[];
size?: number;
}
export interface GetPathResponse extends BaseResponse {
statusCode: 200;
path: string;
}
export type CreateFileResponse = CreateFolderResponse;
export interface CreateFolderResponse extends BaseResponse {
statusCode: 200;
id: number;
}
export type SignupResponse = DeleteResponse;
export type UploadFileResponse = DeleteResponse;
export interface DeleteResponse extends BaseResponse {
statusCode: 200;
}
//
// Requests
//
// eslint-disable-next-line @typescript-eslint/no-empty-interface
export interface BaseRequest {}
export type AuthSignUpRequest = AuthLoginRequest;
export interface AuthLoginRequest extends BaseRequest {
username: string;
password: string;
}
export type CreateFileRequest = CreateFolderRequest;
export interface CreateFolderRequest extends BaseRequest {
parent: number;
name: string;
}
export interface DeleteRequest extends BaseRequest {
node: number;
}
export * as Requests from './requests';
export * as Responses from './responses';

10
dto/requests/auth.ts Normal file
View File

@@ -0,0 +1,10 @@
import { BaseRequest } from './base';
export interface AuthSignUpRequest extends BaseRequest {
username: string;
password: string;
}
export interface AuthLoginRequest extends AuthSignUpRequest {
otp?: string;
}

2
dto/requests/base.ts Normal file
View File

@@ -0,0 +1,2 @@
// eslint-disable-next-line @typescript-eslint/no-empty-interface
export interface BaseRequest {}

12
dto/requests/fs.ts Normal file
View File

@@ -0,0 +1,12 @@
import { BaseRequest } from './base';
export type CreateFileRequest = CreateFolderRequest;
export interface CreateFolderRequest extends BaseRequest {
parent: number;
name: string;
}
export interface DeleteRequest extends BaseRequest {
node: number;
}

3
dto/requests/index.ts Normal file
View File

@@ -0,0 +1,3 @@
export * from './base';
export * as Auth from './auth';
export * as FS from './fs';

19
dto/responses/auth.ts Normal file
View File

@@ -0,0 +1,19 @@
import { BaseResponse, SuccessResponse } from './base';
export type TfaRequiredResponse = SuccessResponse;
export type RemoveTfaResponse = SuccessResponse;
export type RequestEmailTfaResponse = SuccessResponse;
export type TfaCompletedResponse = SuccessResponse;
export type SignupResponse = SuccessResponse;
export type RefreshResponse = LoginResponse;
export interface LoginResponse extends BaseResponse {
statusCode: 200;
jwt: string;
}
export interface RequestTotpTfaResponse extends BaseResponse {
statusCode: 200;
qrCode: string;
secret: string;
}

12
dto/responses/base.ts Normal file
View File

@@ -0,0 +1,12 @@
export interface BaseResponse {
statusCode: number;
}
export interface SuccessResponse extends BaseResponse {
statusCode: 200;
}
export interface ErrorResponse extends BaseResponse {
statusCode: 400 | 401 | 403;
message?: string;
}

30
dto/responses/fs.ts Normal file
View File

@@ -0,0 +1,30 @@
import { BaseResponse, SuccessResponse } from './base';
export type UploadFileResponse = SuccessResponse;
export type DeleteResponse = SuccessResponse;
export type CreateFileResponse = CreateFolderResponse;
export interface GetRootResponse extends BaseResponse {
statusCode: 200;
rootId: number;
}
export interface GetNodeResponse extends BaseResponse {
statusCode: 200;
id: number;
name: string;
isFile: boolean;
parent: number | null;
children?: number[];
size?: number;
}
export interface GetPathResponse extends BaseResponse {
statusCode: 200;
path: string;
}
export interface CreateFolderResponse extends BaseResponse {
statusCode: 200;
id: number;
}

3
dto/responses/index.ts Normal file
View File

@@ -0,0 +1,3 @@
export * from './base';
export * as Auth from './auth';
export * as FS from './fs';