ca-grow-ops-manager/backend/prisma/map-pulse.ts
fullsizemalt 95250185d0 fix: Critical UI polish - login redirect, remove DevTools, update branding
- Fix login redirect from /dashboard to / (correct index route)
- Remove DevTools component from Layout.tsx and LoginPage.tsx
- Update HomePage branding from 'CA Grow Ops Manager' to 'Veridian'
2026-01-11 23:02:20 -08:00

111 lines
3 KiB
TypeScript

import { PrismaClient, SensorType } from '@prisma/client';
const prisma = new PrismaClient();
async function main() {
console.log('Mapping Pulse sensor to Demo Room...');
// 1. Ensure Floor Exists
let floor = await prisma.facilityFloor.findFirst();
if (!floor) {
console.log('No floors found, creating default structure...');
let property = await prisma.facilityProperty.findFirst();
if (!property) {
property = await prisma.facilityProperty.create({
data: { name: 'Demo Facility' }
});
}
let building = await prisma.facilityBuilding.findFirst();
if (!building) {
building = await prisma.facilityBuilding.create({
data: {
propertyId: property.id,
name: 'Main Building',
code: 'MB',
type: 'CULTIVATION'
}
});
}
floor = await prisma.facilityFloor.create({
data: {
buildingId: building.id,
name: 'Ground Floor',
number: 1,
width: 100,
height: 100
}
});
}
// 2. Ensure Demo Room Exists
let room = await prisma.facilityRoom.findFirst({
where: { name: 'Demo Room' }
});
if (!room) {
console.log('Creating Demo Room...');
const defaultType = 'FLOWER'; // Assuming enum 'FLOWER' is valid for RoomType
// Note: RoomType is an enum in schema, need to match it.
// enum RoomType { VEG, FLOWER, DRY, CURE, MOTHER, CLONE, OTHER }
room = await prisma.facilityRoom.create({
data: {
floorId: floor.id,
name: 'Demo Room',
code: 'DEMO',
type: 'FLOWER',
posX: 0,
posY: 0,
width: 20,
height: 20
}
});
}
console.log(`Using Room: ${room.name} (${room.id})`);
// 3. Upsert Pulse Sensor
const sensorId = 'pulse-11666';
const existing = await prisma.sensor.findUnique({
where: { id: sensorId }
});
if (existing) {
console.log('Sensor already exists, updating connection...');
await prisma.sensor.update({
where: { id: sensorId },
data: {
roomId: room.id,
isActive: true,
type: 'VPD'
}
});
} else {
console.log('Creating new Pulse sensor...');
await prisma.sensor.create({
data: {
id: sensorId,
name: 'Veridian Demo Pulse',
type: 'VPD',
deviceId: '11666',
roomId: room.id,
isActive: true
}
});
}
console.log('✅ Pulse Sensor 11666 mapped to Demo Room');
}
main()
.catch((e) => {
console.error(e);
process.exit(1);
})
.finally(async () => {
await prisma.$disconnect();
});