scenes
This commit is contained in:
parent
9120729d41
commit
6003cfde04
9 changed files with 29 additions and 184 deletions
|
@ -182,7 +182,7 @@ export class CoreHttpController<V> implements ICoreHttpController {
|
|||
public put(usecase: any) {
|
||||
this.routes["PUT"] = usecase;
|
||||
}
|
||||
public delete(usecase: CallbackStrategyWithValidationModel<V>) {
|
||||
public delete(usecase: any) {
|
||||
this.routes["DELETE"] = usecase;
|
||||
}
|
||||
public async requestResponseController<T>(
|
||||
|
|
|
@ -1,16 +1,31 @@
|
|||
import { CallbackStrategyWithIdQuery, ResponseBase } from "../../core/controllers/http_controller";
|
||||
import { Result } from "../../core/helpers/result";
|
||||
import { StaticFiles } from "../../core/models/static_files";
|
||||
import { DeleteDataBaseModelUseCase } from "../../core/usecases/delete_database_model_usecase";
|
||||
import { DeleteFileUseCase } from "../../core/usecases/delete_file_usecase";
|
||||
import { ReadByIdDataBaseModelUseCase } from "../../core/usecases/read_by_id_database_model_usecase";
|
||||
import { SearchManyDataBaseModelUseCase } from "../../core/usecases/search_many_database_model_usecase";
|
||||
import { CoreValidation } from "../../core/validations/core_validation";
|
||||
import { MongoIdValidation } from "../../core/validations/mongo_id_validation";
|
||||
import { IProjectModel, ProjectDBModel } from "../projects/models/project_model_database_model";
|
||||
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 )
|
||||
(await new ReadByIdDataBaseModelUseCase<SceneModel>(SceneModel).call(id)).map(async (sceneModel) =>
|
||||
(await new DeleteDataBaseModelUseCase(SceneModel).call(id)).map(async () =>
|
||||
(
|
||||
await new SearchManyDataBaseModelUseCase<IProjectModel>(ProjectDBModel).call(
|
||||
{ isActive: true },
|
||||
"is dont active projects"
|
||||
)
|
||||
).map(async (projectModel) => {
|
||||
const { rootDir } = projectModel[0];
|
||||
|
||||
(await new DeleteFileUseCase()).call(`${rootDir}${StaticFiles.scenes}${sceneModel.name}.json`);
|
||||
return Result.ok("Delete scene");
|
||||
})
|
||||
)
|
||||
);
|
||||
}
|
||||
|
||||
|
|
|
@ -16,6 +16,7 @@ export class ScenePresentation extends CrudController<SceneValidationModel, type
|
|||
validationModel: SceneValidationModel,
|
||||
databaseModel: SceneDBModel,
|
||||
});
|
||||
|
||||
super.post(new CreateNewSceneScenario().call);
|
||||
super.put(new EditSceneScenario().call);
|
||||
this.subRoutes.push({
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue