feat(keamanan): tambah modul CCTV — schema, API, admin UI, seeder

- Tambah model CctvKeamanan + enum StatusCctv ke prisma schema
- Tambah status Baru ke enum StatusLaporan
- Migration: add_cctv_keamanan_model
- API CRUD + stats endpoint di /api/keamanan/cctv/...
- Admin state (valtio proxy) dengan create/findMany/edit/delete/stats
- Admin pages: list, create, detail (peta Leaflet), edit (peta picker)
- Seeder 8 data CCTV lokasi Darmasaba
- Tambah submenu CCTV di sidebar nav keamanan
- Bump version 0.1.57 → 0.1.58

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-05-06 16:40:31 +08:00
parent 60841039dd
commit 936dd14ca9
20 changed files with 1398 additions and 1 deletions

View File

@@ -0,0 +1,23 @@
-- CreateEnum
CREATE TYPE "StatusCctv" AS ENUM ('Online', 'Offline');
-- AlterEnum
ALTER TYPE "StatusLaporan" ADD VALUE 'Baru';
-- CreateTable
CREATE TABLE "CctvKeamanan" (
"id" TEXT NOT NULL,
"kode" TEXT NOT NULL,
"nama" TEXT NOT NULL,
"lokasi" TEXT NOT NULL,
"latitude" DOUBLE PRECISION,
"longitude" DOUBLE PRECISION,
"status" "StatusCctv" NOT NULL DEFAULT 'Online',
"lastActive" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
"createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
"updatedAt" TIMESTAMP(3) NOT NULL,
"deletedAt" TIMESTAMP(3),
"isActive" BOOLEAN NOT NULL DEFAULT true,
CONSTRAINT "CctvKeamanan_pkey" PRIMARY KEY ("id")
);