import type { AppDatabase } from "../../src/db/database-context.js"; import { circuitLists } from "../../src/db/schema/circuit-lists.js"; import { circuitSections } from "../../src/db/schema/circuit-sections.js"; import { distributionBoards } from "../../src/db/schema/distribution-boards.js"; import { createDistributionBoardStructureSnapshot } from "../../src/domain/models/distribution-board-structure-project-command.model.js"; export class DistributionBoardFixtureRepository { constructor(private readonly database: AppDatabase) {} createWithCircuitListAndDefaultSections( projectId: string, name: string ) { const structure = createDistributionBoardStructureSnapshot( projectId, name ); this.database.transaction((tx) => { tx.insert(distributionBoards) .values(structure.distributionBoard) .run(); tx.insert(circuitLists).values(structure.circuitList).run(); tx.insert(circuitSections).values(structure.sections).run(); }); return structure.distributionBoard; } }