Added totp/mail otp, split up dto and api into multiple files
This commit is contained in:
		
							
								
								
									
										75
									
								
								dto/index.ts
									
									
									
									
									
								
							
							
						
						
									
										75
									
								
								dto/index.ts
									
									
									
									
									
								
							@@ -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
									
								
							
							
						
						
									
										10
									
								
								dto/requests/auth.ts
									
									
									
									
									
										Normal 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
									
								
							
							
						
						
									
										2
									
								
								dto/requests/base.ts
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,2 @@
 | 
			
		||||
// eslint-disable-next-line @typescript-eslint/no-empty-interface
 | 
			
		||||
export interface BaseRequest {}
 | 
			
		||||
							
								
								
									
										12
									
								
								dto/requests/fs.ts
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										12
									
								
								dto/requests/fs.ts
									
									
									
									
									
										Normal 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
									
								
							
							
						
						
									
										3
									
								
								dto/requests/index.ts
									
									
									
									
									
										Normal 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
									
								
							
							
						
						
									
										19
									
								
								dto/responses/auth.ts
									
									
									
									
									
										Normal 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
									
								
							
							
						
						
									
										12
									
								
								dto/responses/base.ts
									
									
									
									
									
										Normal 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
									
								
							
							
						
						
									
										30
									
								
								dto/responses/fs.ts
									
									
									
									
									
										Normal 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
									
								
							
							
						
						
									
										3
									
								
								dto/responses/index.ts
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,3 @@
 | 
			
		||||
export * from './base';
 | 
			
		||||
export * as Auth from './auth';
 | 
			
		||||
export * as FS from './fs';
 | 
			
		||||
		Reference in New Issue
	
	Block a user