seed(prod): add 4 sites with addresses and geocoordinates

New / updated sites:
- HOFC  Head Office Mumbai   19.0449, 73.0758  Kharghar, Navi Mumbai
- HLDA  Haldia Port          22.0286, 88.0780  Haldia Dock Complex, WB
- KCHI  Kochi                10.0261, 76.2193  LNG Terminal, Puthuvype
- PTNA  Patna                25.6097, 85.1376  Gaighat, Gulzarbagh

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
Hardik 2026-05-31 02:42:38 +05:30
parent ccc93d40f3
commit d4bee878e5

View file

@ -40,14 +40,34 @@ const USERS: { employeeId: string; name: string; email: string; role: Role }[] =
// ─── Sites ──────────────────────────────────────────────────────────────────── // ─── Sites ────────────────────────────────────────────────────────────────────
const SITES: { code: string; name: string }[] = [ type SiteEntry = { code: string; name: string; address?: string; latitude?: number; longitude?: number };
{ code: "HOFC", name: "Head Office" },
const SITES: SiteEntry[] = [
{
code: "HOFC", name: "Head Office Mumbai",
address: "ZION, 409-410, Sector 10, Kharghar, Panvel, Maharashtra 410210",
latitude: 19.0449, longitude: 73.0758,
},
{ code: "PMSK", name: "PMS Kochi" }, { code: "PMSK", name: "PMS Kochi" },
{ code: "LACD", name: "Laccadives" }, { code: "LACD", name: "Laccadives" },
{ code: "HLDA", name: "Haldia" }, {
code: "HLDA", name: "Haldia Port",
address: "Haldia Dock Complex, Haldia, West Bengal 721604",
latitude: 22.0286, longitude: 88.0780,
},
{ code: "THKM", name: "Thilakkam" }, { code: "THKM", name: "Thilakkam" },
{ code: "KVRT", name: "Kavaratti" }, { code: "KVRT", name: "Kavaratti" },
{ code: "THNK", name: "Thinnakara" }, { code: "THNK", name: "Thinnakara" },
{
code: "KCHI", name: "Kochi",
address: "LNG Terminal, Survey No. 347, Puthuvype, Kochi, Kerala 682508",
latitude: 10.0261, longitude: 76.2193,
},
{
code: "PTNA", name: "Patna",
address: "Gaighat, Ashok Rajpath, Gulzarbagh, Patna, Bihar 800007",
latitude: 25.6097, longitude: 85.1376,
},
]; ];
// ─── Vessels (code, name, site code) ───────────────────────────────────────── // ─── Vessels (code, name, site code) ─────────────────────────────────────────
@ -98,12 +118,19 @@ async function main() {
// ── Sites ────────────────────────────────────────────────────────────────── // ── Sites ──────────────────────────────────────────────────────────────────
console.log("\n📍 Seeding sites…"); console.log("\n📍 Seeding sites…");
for (const s of SITES) { for (const s of SITES) {
const data = {
name: s.name,
address: s.address ?? null,
latitude: s.latitude ?? null,
longitude: s.longitude ?? null,
};
await db.site.upsert({ await db.site.upsert({
where: { code: s.code }, where: { code: s.code },
update: { name: s.name }, update: data,
create: { code: s.code, name: s.name }, create: { code: s.code, ...data },
}); });
console.log(`${s.name} (${s.code})`); const geo = s.latitude ? ` (${s.latitude.toFixed(4)}, ${s.longitude!.toFixed(4)})` : "";
console.log(`${s.name} (${s.code})${geo}`);
} }
// ── Vessels ──────────────────────────────────────────────────────────────── // ── Vessels ────────────────────────────────────────────────────────────────