2023-10-26 17:44:54 +03:00
|
|
|
import { CrudController } from "../../core/controllers/crud_controller";
|
2024-06-10 17:28:13 +03:00
|
|
|
import { CreateNewProjectInstanceScenario, ProjectValidationModel } from "./domain/create_new_project_scenario";
|
2024-06-19 15:23:01 +03:00
|
|
|
import { GetActiveProjectIdScenario } from "./domain/get_active_project_id_scenario";
|
2024-04-09 16:31:25 +03:00
|
|
|
import { RobossemblerAssetsNetworkMapperScenario } from "./domain/robossembler_assets_network_mapper_scenario";
|
|
|
|
import { SetActiveProjectScenario } from "./domain/set_active_project_use_scenario";
|
|
|
|
import { UploadCadFileToProjectScenario } from "./domain/upload_file_to_to_project_scenario";
|
2024-06-10 17:28:13 +03:00
|
|
|
import { ProjectDBModel } from "./models/project_model_database_model";
|
|
|
|
|
|
|
|
export class ProjectsPresentation extends CrudController<ProjectValidationModel, typeof ProjectDBModel> {
|
2023-10-26 17:44:54 +03:00
|
|
|
constructor() {
|
|
|
|
super({
|
2024-06-10 17:28:13 +03:00
|
|
|
validationModel: ProjectValidationModel,
|
2024-04-09 16:31:25 +03:00
|
|
|
url: "projects",
|
2023-10-26 17:44:54 +03:00
|
|
|
databaseModel: ProjectDBModel,
|
|
|
|
});
|
2024-04-09 16:31:25 +03:00
|
|
|
|
|
|
|
super.post(new CreateNewProjectInstanceScenario().call);
|
|
|
|
|
|
|
|
this.subRoutes.push({
|
|
|
|
method: "POST",
|
|
|
|
subUrl: "set/active/project",
|
|
|
|
fn: new SetActiveProjectScenario(),
|
|
|
|
});
|
2024-06-19 15:23:01 +03:00
|
|
|
|
2024-04-09 16:31:25 +03:00
|
|
|
this.subRoutes.push({
|
|
|
|
method: "GET",
|
|
|
|
subUrl: "get/active/project/id",
|
2024-06-19 15:23:01 +03:00
|
|
|
fn: new GetActiveProjectIdScenario(),
|
2024-04-09 16:31:25 +03:00
|
|
|
});
|
|
|
|
this.subRoutes.push({
|
|
|
|
method: "POST",
|
|
|
|
subUrl: "upload",
|
|
|
|
fn: new UploadCadFileToProjectScenario(),
|
|
|
|
});
|
|
|
|
this.subRoutes.push({
|
|
|
|
method: "GET",
|
|
|
|
subUrl: "assets",
|
|
|
|
fn: new RobossemblerAssetsNetworkMapperScenario(),
|
|
|
|
});
|
2024-06-19 15:23:01 +03:00
|
|
|
|
2023-10-26 17:44:54 +03:00
|
|
|
}
|
|
|
|
}
|