Initial scaffold: full-stack RackMapper application
Complete project scaffold with working auth, REST API, Prisma/SQLite schema, Docker config, and React frontend for both Rack Planner and Service Mapper modules. Both server and client pass TypeScript strict mode with zero errors. Initial migration applied. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
103
prisma/migrations/20260322024601_init/migration.sql
Normal file
103
prisma/migrations/20260322024601_init/migration.sql
Normal file
@@ -0,0 +1,103 @@
|
||||
-- CreateTable
|
||||
CREATE TABLE "Rack" (
|
||||
"id" TEXT NOT NULL PRIMARY KEY,
|
||||
"name" TEXT NOT NULL,
|
||||
"totalU" INTEGER NOT NULL DEFAULT 42,
|
||||
"location" TEXT,
|
||||
"displayOrder" INTEGER NOT NULL DEFAULT 0,
|
||||
"createdAt" DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
"updatedAt" DATETIME NOT NULL
|
||||
);
|
||||
|
||||
-- CreateTable
|
||||
CREATE TABLE "Module" (
|
||||
"id" TEXT NOT NULL PRIMARY KEY,
|
||||
"rackId" TEXT NOT NULL,
|
||||
"name" TEXT NOT NULL,
|
||||
"type" TEXT NOT NULL,
|
||||
"uPosition" INTEGER NOT NULL,
|
||||
"uSize" INTEGER NOT NULL DEFAULT 1,
|
||||
"manufacturer" TEXT,
|
||||
"model" TEXT,
|
||||
"ipAddress" TEXT,
|
||||
"notes" TEXT,
|
||||
"createdAt" DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
"updatedAt" DATETIME NOT NULL,
|
||||
CONSTRAINT "Module_rackId_fkey" FOREIGN KEY ("rackId") REFERENCES "Rack" ("id") ON DELETE CASCADE ON UPDATE CASCADE
|
||||
);
|
||||
|
||||
-- CreateTable
|
||||
CREATE TABLE "Port" (
|
||||
"id" TEXT NOT NULL PRIMARY KEY,
|
||||
"moduleId" TEXT NOT NULL,
|
||||
"portNumber" INTEGER NOT NULL,
|
||||
"label" TEXT,
|
||||
"portType" TEXT NOT NULL DEFAULT 'ETHERNET',
|
||||
"mode" TEXT NOT NULL DEFAULT 'ACCESS',
|
||||
"nativeVlan" INTEGER,
|
||||
"notes" TEXT,
|
||||
CONSTRAINT "Port_moduleId_fkey" FOREIGN KEY ("moduleId") REFERENCES "Module" ("id") ON DELETE CASCADE ON UPDATE CASCADE
|
||||
);
|
||||
|
||||
-- CreateTable
|
||||
CREATE TABLE "Vlan" (
|
||||
"id" TEXT NOT NULL PRIMARY KEY,
|
||||
"vlanId" INTEGER NOT NULL,
|
||||
"name" TEXT NOT NULL,
|
||||
"description" TEXT,
|
||||
"color" TEXT
|
||||
);
|
||||
|
||||
-- CreateTable
|
||||
CREATE TABLE "PortVlan" (
|
||||
"portId" TEXT NOT NULL,
|
||||
"vlanId" TEXT NOT NULL,
|
||||
"tagged" BOOLEAN NOT NULL DEFAULT false,
|
||||
|
||||
PRIMARY KEY ("portId", "vlanId"),
|
||||
CONSTRAINT "PortVlan_portId_fkey" FOREIGN KEY ("portId") REFERENCES "Port" ("id") ON DELETE CASCADE ON UPDATE CASCADE,
|
||||
CONSTRAINT "PortVlan_vlanId_fkey" FOREIGN KEY ("vlanId") REFERENCES "Vlan" ("id") ON DELETE CASCADE ON UPDATE CASCADE
|
||||
);
|
||||
|
||||
-- CreateTable
|
||||
CREATE TABLE "ServiceMap" (
|
||||
"id" TEXT NOT NULL PRIMARY KEY,
|
||||
"name" TEXT NOT NULL,
|
||||
"description" TEXT,
|
||||
"createdAt" DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
"updatedAt" DATETIME NOT NULL
|
||||
);
|
||||
|
||||
-- CreateTable
|
||||
CREATE TABLE "ServiceNode" (
|
||||
"id" TEXT NOT NULL PRIMARY KEY,
|
||||
"mapId" TEXT NOT NULL,
|
||||
"label" TEXT NOT NULL,
|
||||
"nodeType" TEXT NOT NULL,
|
||||
"positionX" REAL NOT NULL,
|
||||
"positionY" REAL NOT NULL,
|
||||
"metadata" TEXT,
|
||||
"color" TEXT,
|
||||
"icon" TEXT,
|
||||
"moduleId" TEXT,
|
||||
CONSTRAINT "ServiceNode_mapId_fkey" FOREIGN KEY ("mapId") REFERENCES "ServiceMap" ("id") ON DELETE CASCADE ON UPDATE CASCADE,
|
||||
CONSTRAINT "ServiceNode_moduleId_fkey" FOREIGN KEY ("moduleId") REFERENCES "Module" ("id") ON DELETE SET NULL ON UPDATE CASCADE
|
||||
);
|
||||
|
||||
-- CreateTable
|
||||
CREATE TABLE "ServiceEdge" (
|
||||
"id" TEXT NOT NULL PRIMARY KEY,
|
||||
"mapId" TEXT NOT NULL,
|
||||
"sourceId" TEXT NOT NULL,
|
||||
"targetId" TEXT NOT NULL,
|
||||
"label" TEXT,
|
||||
"edgeType" TEXT NOT NULL DEFAULT 'smoothstep',
|
||||
"animated" BOOLEAN NOT NULL DEFAULT false,
|
||||
"metadata" TEXT,
|
||||
CONSTRAINT "ServiceEdge_mapId_fkey" FOREIGN KEY ("mapId") REFERENCES "ServiceMap" ("id") ON DELETE CASCADE ON UPDATE CASCADE,
|
||||
CONSTRAINT "ServiceEdge_sourceId_fkey" FOREIGN KEY ("sourceId") REFERENCES "ServiceNode" ("id") ON DELETE CASCADE ON UPDATE CASCADE,
|
||||
CONSTRAINT "ServiceEdge_targetId_fkey" FOREIGN KEY ("targetId") REFERENCES "ServiceNode" ("id") ON DELETE CASCADE ON UPDATE CASCADE
|
||||
);
|
||||
|
||||
-- CreateIndex
|
||||
CREATE UNIQUE INDEX "Vlan_vlanId_key" ON "Vlan"("vlanId");
|
||||
3
prisma/migrations/migration_lock.toml
Normal file
3
prisma/migrations/migration_lock.toml
Normal file
@@ -0,0 +1,3 @@
|
||||
# Please do not edit this file manually
|
||||
# It should be added in your version-control system (i.e. Git)
|
||||
provider = "sqlite"
|
||||
Reference in New Issue
Block a user