forked from jappel/leistungsbilanz-ts
- Project settings gain siteAddress, workStage, projectLead and projectEditor (project.update-settings schema version 3, migration 0009); versions 2 and 1 stay executable and keep the current cover values. Snapshot schema 6 carries the fields; older versions upgrade with null. - Global office profile (office name/address) next to the document logo: table document_branding_settings, PUT /api/document-branding/office, editable from the print view toolbar. - Cover page reads all fields; empty values show the "[ergänzen]" marker. The Planstände editor column shows the project editor. - Shared logo constants moved to a dependency-free module so the Next.js bundler can import them. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
29 lines
1.2 KiB
TypeScript
29 lines
1.2 KiB
TypeScript
import { sql } from "drizzle-orm";
|
|
import { integer, sqliteTable, text } from "drizzle-orm/sqlite-core";
|
|
import type { DistributionBoardSupplyType } from "../../shared/constants/distribution-board.js";
|
|
|
|
export const projects = sqliteTable("projects", {
|
|
id: text("id").primaryKey(),
|
|
name: text("name").notNull(),
|
|
internalProjectNumber: text("internal_project_number"),
|
|
externalProjectNumber: text("external_project_number"),
|
|
buildingOwner: text("building_owner"),
|
|
description: text("description"),
|
|
isPublicBuilding: integer("is_public_building", { mode: "boolean" })
|
|
.notNull()
|
|
.default(false),
|
|
singlePhaseVoltageV: integer("single_phase_voltage_v").notNull().default(230),
|
|
threePhaseVoltageV: integer("three_phase_voltage_v").notNull().default(400),
|
|
enabledDistributionBoardSupplyTypes: text(
|
|
"enabled_distribution_board_supply_types",
|
|
{ mode: "json" }
|
|
)
|
|
.$type<DistributionBoardSupplyType[]>()
|
|
.notNull()
|
|
.default(sql`'["AV","SV","EV","USV","MSR","SiBe"]'`),
|
|
siteAddress: text("site_address"),
|
|
workStage: text("work_stage"),
|
|
projectLead: text("project_lead"),
|
|
projectEditor: text("project_editor"),
|
|
currentRevision: integer("current_revision").notNull().default(0),
|
|
});
|