webstudio/server/src/features/project_instance/project_instance_presentation.ts

50 lines
1.8 KiB
TypeScript
Raw Normal View History

2023-11-20 00:48:40 +03:00
import { CrudController } from "../../core/controllers/crud_controller";
2024-01-23 17:23:10 +03:00
import { CoreHttpController } from "../../core/controllers/http_controller";
import { RobossemblerAssets } from "../../core/models/robossembler_assets";
2023-12-28 17:18:12 +03:00
2023-12-03 16:16:08 +03:00
import { CreateNewProjectInstanceScenario } from "./domain/create_new_project_scenario";
2023-12-28 17:18:12 +03:00
import { RobossemblerAssetsNetworkMapperScenario } from "./domain/robossembler_assets_network_mapper_scenario";
2024-01-23 17:23:10 +03:00
import { SaveActiveSceneScenario } from "./domain/save_active_scene_scenario";
2023-12-28 17:18:12 +03:00
import { SetActiveProjectScenario } from "./domain/set_active_project_use_scenario";
2023-12-03 16:16:08 +03:00
import { UploadCadFileToProjectScenario } from "./domain/upload_file_to_to_project_scenario";
import { ProjectInstanceDbModel } from "./models/project_instance_database_model";
import { ProjectInstanceValidationModel } from "./models/project_instance_validation_model";
2023-11-20 00:48:40 +03:00
export class ProjectInstancePresentation extends CrudController<
ProjectInstanceValidationModel,
typeof ProjectInstanceDbModel
> {
constructor() {
super({
validationModel: ProjectInstanceValidationModel,
url: "project_instance",
databaseModel: ProjectInstanceDbModel,
});
2023-12-28 17:18:12 +03:00
2023-11-20 00:48:40 +03:00
super.post(new CreateNewProjectInstanceScenario().call);
2023-11-27 12:13:54 +03:00
2023-12-28 17:18:12 +03:00
this.subRoutes.push({
method: "POST",
subUrl: "set/active/project",
fn: new SetActiveProjectScenario(),
});
2023-12-22 21:07:55 +03:00
this.subRoutes.push({
method: "POST",
subUrl: "upload",
fn: new UploadCadFileToProjectScenario(),
});
2024-01-23 17:23:10 +03:00
}
}
2023-12-28 17:18:12 +03:00
2024-01-23 17:23:10 +03:00
export class RobossemblerAssetsPresentation extends CoreHttpController<RobossemblerAssets> {
constructor() {
super({
url: "robossembler_assets",
validationModel: RobossemblerAssets,
2023-12-28 17:18:12 +03:00
});
2024-01-23 17:23:10 +03:00
super.get(new RobossemblerAssetsNetworkMapperScenario().call);
super.post(new SaveActiveSceneScenario().call);
2023-11-27 12:13:54 +03:00
}
}