49 lines
1.8 KiB
TypeScript
49 lines
1.8 KiB
TypeScript
import { CrudController } from "../../core/controllers/crud_controller";
|
|
import { CoreHttpController } from "../../core/controllers/http_controller";
|
|
import { RobossemblerAssets } from "../../core/models/robossembler_assets";
|
|
|
|
import { CreateNewProjectInstanceScenario } from "./domain/create_new_project_scenario";
|
|
import { RobossemblerAssetsNetworkMapperScenario } from "./domain/robossembler_assets_network_mapper_scenario";
|
|
import { SaveActiveSceneScenario } from "./domain/save_active_scene_scenario";
|
|
import { SetActiveProjectScenario } from "./domain/set_active_project_use_scenario";
|
|
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";
|
|
|
|
export class ProjectInstancePresentation extends CrudController<
|
|
ProjectInstanceValidationModel,
|
|
typeof ProjectInstanceDbModel
|
|
> {
|
|
constructor() {
|
|
super({
|
|
validationModel: ProjectInstanceValidationModel,
|
|
url: "project_instance",
|
|
databaseModel: ProjectInstanceDbModel,
|
|
});
|
|
|
|
super.post(new CreateNewProjectInstanceScenario().call);
|
|
|
|
this.subRoutes.push({
|
|
method: "POST",
|
|
subUrl: "set/active/project",
|
|
fn: new SetActiveProjectScenario(),
|
|
});
|
|
|
|
this.subRoutes.push({
|
|
method: "POST",
|
|
subUrl: "upload",
|
|
fn: new UploadCadFileToProjectScenario(),
|
|
});
|
|
}
|
|
}
|
|
|
|
export class RobossemblerAssetsPresentation extends CoreHttpController<RobossemblerAssets> {
|
|
constructor() {
|
|
super({
|
|
url: "robossembler_assets",
|
|
validationModel: RobossemblerAssets,
|
|
});
|
|
super.get(new RobossemblerAssetsNetworkMapperScenario().call);
|
|
super.post(new SaveActiveSceneScenario().call);
|
|
}
|
|
}
|