- 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'
111 lines
3 KiB
TypeScript
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();
|
|
});
|