progress
This commit is contained in:
parent
318d0a7893
commit
9120729d41
20 changed files with 119 additions and 79 deletions
|
@ -1,6 +1,6 @@
|
|||
import * as fs from "fs";
|
||||
import { promisify } from "node:util";
|
||||
import { rimraf } from 'rimraf'
|
||||
import { rimraf } from "rimraf";
|
||||
|
||||
export class FileSystemRepository {
|
||||
public createDir = promisify(fs.mkdir);
|
||||
|
@ -8,6 +8,7 @@ export class FileSystemRepository {
|
|||
public writeFileAsync = promisify(fs.writeFile);
|
||||
public dirIsExists = promisify(fs.exists);
|
||||
public stat = promisify(fs.stat);
|
||||
public deleteDir = promisify(fs.unlink);
|
||||
public readFileAsync = promisify(fs.readFile);
|
||||
public readdir = promisify(fs.readdir);
|
||||
public deleteDirRecursive = rimraf;
|
||||
|
@ -21,7 +22,9 @@ export class FileSystemRepository {
|
|||
}
|
||||
return await this.readFileAsync(path);
|
||||
}
|
||||
|
||||
deleteFile = async (path: string) => {
|
||||
return await this.deleteDir(path);
|
||||
};
|
||||
readDirRecursive(path: string, filesToDir: string[] = []): string[] {
|
||||
const files = fs.readdirSync(path);
|
||||
files.forEach((file) => {
|
||||
|
@ -41,5 +44,4 @@ export class FileSystemRepository {
|
|||
});
|
||||
return filesToDir;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
14
server/src/core/usecases/delete_file_usecase.ts
Normal file
14
server/src/core/usecases/delete_file_usecase.ts
Normal file
|
@ -0,0 +1,14 @@
|
|||
import { Result } from "../helpers/result";
|
||||
import { FileSystemRepository } from "../repository/file_system_repository";
|
||||
|
||||
export class DeleteFileUseCase {
|
||||
fileSystemRepository = new FileSystemRepository();
|
||||
call = (path: string) => {
|
||||
try {
|
||||
this.fileSystemRepository.deleteFile(path);
|
||||
return Result.ok("file delete");
|
||||
} catch {
|
||||
return Result.error("Unknown error");
|
||||
}
|
||||
};
|
||||
}
|
16
server/src/features/scene/delete_scene_scenario.ts
Normal file
16
server/src/features/scene/delete_scene_scenario.ts
Normal file
|
@ -0,0 +1,16 @@
|
|||
import { CallbackStrategyWithIdQuery, ResponseBase } from "../../core/controllers/http_controller";
|
||||
import { Result } from "../../core/helpers/result";
|
||||
import { DeleteDataBaseModelUseCase } from "../../core/usecases/delete_database_model_usecase";
|
||||
import { ReadByIdDataBaseModelUseCase } from "../../core/usecases/read_by_id_database_model_usecase";
|
||||
import { CoreValidation } from "../../core/validations/core_validation";
|
||||
import { MongoIdValidation } from "../../core/validations/mongo_id_validation";
|
||||
import { SceneModel } from "./create_new_scene_scenario";
|
||||
|
||||
export class DeleteSceneScenario extends CallbackStrategyWithIdQuery {
|
||||
idValidationExpression: CoreValidation = new MongoIdValidation();
|
||||
call = async (id: string): ResponseBase =>
|
||||
(await new ReadByIdDataBaseModelUseCase<SceneModel>(SceneModel).call(id)).map((sceneModel) => Result.ok()
|
||||
// (await new DeleteDataBaseModelUseCase(SceneModel).call(id)).map(() => DeleteF )
|
||||
);
|
||||
}
|
||||
|
Loading…
Add table
Add a link
Reference in a new issue