import type { Request, Response } from "express"; import { circuitNumberingService } from "../composition/circuit-numbering-service.js"; import { circuitListRepository, circuitSectionRepository, } from "../composition/application-repositories.js"; export async function getNextCircuitIdentifier(req: Request, res: Response) { const { projectId, sectionId } = req.params; if (typeof projectId !== "string" || typeof sectionId !== "string") { return res.status(400).json({ error: "Invalid parameters" }); } const section = await circuitSectionRepository.findById(sectionId); const list = section ? await circuitListRepository.findById(projectId, section.circuitListId) : null; if (!section || !list) { return res.status(404).json({ error: "Section not found" }); } try { const nextIdentifier = await circuitNumberingService.getNextIdentifier(sectionId); return res.json({ sectionId, nextIdentifier }); } catch (error) { return res.status(400).json({ error: error instanceof Error ? error.message : "Failed to get identifier." }); } }