Tie points to locator serial numbers and store receiver telemetry
Field setups often relay through a phone/gateway that owns the MQTT connection, so the publishing credential and the instrument are now separate concepts: - Points messages carry a "serial" identifying the locator receiver; unknown serials are auto-registered as devices in the publisher's org (name "Locator <serial>"). Device.mqttUsername is now optional and serialNumber is unique per org. - LocatePoint gains standard receiver telemetry: frequencyHz, currentMa, signalDb, gainDb, locateMode (PEAK/NULL/BROAD_PEAK/SONDE), phaseDeg, compassDeg, distortionPct, plus GPS quality columns vAccuracy, satellites, hdop. All optional; raw payload still kept. - Migration hand-edited to preserve the generated geom column and its GIST index (Prisma diff wanted to drop both). - REST create/point DTOs, map tooltips, job-detail latest-point readout, devices settings form, seed, and the sample publisher all carry the new fields. - Added .dockerignore for backend/web: COPY . . was clobbering the image's freshly generated Prisma client with the host's stale node_modules, breaking image builds after schema changes. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,25 @@
|
||||
-- Locator receiver telemetry + device identity by serial number.
|
||||
-- NOTE: hand-edited — Prisma's diff wanted to drop the geom GIST index and the
|
||||
-- generated-column expression on locate_points.geom; those statements were removed.
|
||||
|
||||
-- CreateEnum
|
||||
CREATE TYPE "LocateMode" AS ENUM ('PEAK', 'NULL', 'BROAD_PEAK', 'SONDE');
|
||||
|
||||
-- AlterTable
|
||||
ALTER TABLE "devices" ALTER COLUMN "mqttUsername" DROP NOT NULL;
|
||||
|
||||
-- AlterTable
|
||||
ALTER TABLE "locate_points" ADD COLUMN "compassDeg" DECIMAL(5,2),
|
||||
ADD COLUMN "currentMa" DECIMAL(9,3),
|
||||
ADD COLUMN "distortionPct" DECIMAL(5,2),
|
||||
ADD COLUMN "frequencyHz" INTEGER,
|
||||
ADD COLUMN "gainDb" DECIMAL(6,2),
|
||||
ADD COLUMN "hdop" DECIMAL(4,2),
|
||||
ADD COLUMN "locateMode" "LocateMode",
|
||||
ADD COLUMN "phaseDeg" DECIMAL(6,2),
|
||||
ADD COLUMN "satellites" INTEGER,
|
||||
ADD COLUMN "signalDb" DECIMAL(6,2),
|
||||
ADD COLUMN "vAccuracy" DECIMAL(7,3);
|
||||
|
||||
-- CreateIndex
|
||||
CREATE UNIQUE INDEX "devices_orgId_serialNumber_key" ON "devices"("orgId", "serialNumber");
|
||||
Reference in New Issue
Block a user