- 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>
36 lines
910 B
TypeScript
36 lines
910 B
TypeScript
import prisma from "@/lib/prisma";
|
|
import { loadJsonData } from "../../load-json";
|
|
|
|
const cctvData = loadJsonData("keamanan/cctv/cctv.json");
|
|
|
|
export async function seedCctv() {
|
|
console.log("🔄 Seeding CCTV Keamanan...");
|
|
|
|
for (const c of cctvData) {
|
|
await prisma.cctvKeamanan.upsert({
|
|
where: { id: c.id },
|
|
update: {
|
|
kode: c.kode,
|
|
nama: c.nama,
|
|
lokasi: c.lokasi,
|
|
latitude: c.latitude ?? null,
|
|
longitude: c.longitude ?? null,
|
|
status: c.status,
|
|
lastActive: new Date(c.lastActive),
|
|
},
|
|
create: {
|
|
id: c.id,
|
|
kode: c.kode,
|
|
nama: c.nama,
|
|
lokasi: c.lokasi,
|
|
latitude: c.latitude ?? null,
|
|
longitude: c.longitude ?? null,
|
|
status: c.status,
|
|
lastActive: new Date(c.lastActive),
|
|
},
|
|
});
|
|
}
|
|
|
|
console.log(`✅ CCTV Keamanan seeded: ${cctvData.length} data`);
|
|
}
|