forked from jappel/leistungsbilanz-ts
Add Revit circuit list object feed
This commit is contained in:
parent
a69b7b603f
commit
74bea1a3c9
11 changed files with 287 additions and 0 deletions
|
|
@ -5,6 +5,7 @@ import { ExternalCsvParseError } from "../../external-model/csv/external-csv-tra
|
|||
import { createExternalCsvPreview } from "../../external-model/application/external-csv-preview.js";
|
||||
import { createExternalInitialImportPlan } from "../../external-model/application/external-initial-import-plan.js";
|
||||
import { buildExternalInitialImportTarget } from "../../external-model/application/external-initial-import-target.js";
|
||||
import { createExternalCircuitListObjects } from "../../external-model/application/external-circuit-list-objects.js";
|
||||
import { parseExternalCsv } from "../../external-model/csv/external-csv-transport.js";
|
||||
import {
|
||||
createEmptyExternalModelState,
|
||||
|
|
@ -24,6 +25,7 @@ import {
|
|||
floorRepository,
|
||||
projectDeviceRepository,
|
||||
roomRepository,
|
||||
circuitListRepository,
|
||||
} from "../composition/application-repositories.js";
|
||||
import { projectCommandService } from "../composition/project-command-stores.js";
|
||||
import { respondWithProjectCommandError } from "./project-command.controller.js";
|
||||
|
|
@ -38,6 +40,27 @@ export function getExternalCsvConfiguration(req: Request, res: Response) {
|
|||
return res.json({ configuration: result.configuration });
|
||||
}
|
||||
|
||||
export async function getExternalCircuitListObjects(req: Request, res: Response) {
|
||||
const projectId = getProjectId(req, res);
|
||||
if (!projectId) return;
|
||||
const { circuitListId } = req.params;
|
||||
if (typeof circuitListId !== "string" || !circuitListId.trim()) {
|
||||
return res.status(400).json({ error: "Invalid circuitListId" });
|
||||
}
|
||||
const circuitList = await circuitListRepository.findById(projectId, circuitListId);
|
||||
if (!circuitList) {
|
||||
return res.status(404).json({ error: "Circuit list not found" });
|
||||
}
|
||||
const state = externalModelStateRepository.getByProject(projectId);
|
||||
if (!state.projectExists) {
|
||||
return res.status(404).json({ error: "Project not found" });
|
||||
}
|
||||
return res.json(createExternalCircuitListObjects({
|
||||
state: state.state,
|
||||
distributionBoardId: circuitList.distributionBoardId,
|
||||
}));
|
||||
}
|
||||
|
||||
export function updateExternalCsvConfiguration(req: Request, res: Response) {
|
||||
const projectId = getProjectId(req, res);
|
||||
if (!projectId) return;
|
||||
|
|
|
|||
|
|
@ -41,6 +41,7 @@ import {
|
|||
previewExternalCsv,
|
||||
planExternalInitialImport,
|
||||
updateExternalCsvConfiguration,
|
||||
getExternalCircuitListObjects,
|
||||
} from "../controllers/external-csv.controller.js";
|
||||
|
||||
export const projectRouter = Router();
|
||||
|
|
@ -58,6 +59,10 @@ projectRouter.post(
|
|||
"/:projectId/external-csv/initial-import/plan",
|
||||
planExternalInitialImport
|
||||
);
|
||||
projectRouter.get(
|
||||
"/:projectId/circuit-lists/:circuitListId/external-objects",
|
||||
getExternalCircuitListObjects
|
||||
);
|
||||
projectRouter.post(
|
||||
"/:projectId/external-csv/initial-import/apply",
|
||||
applyExternalInitialImport
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue