UNPKG

@pikmeup/database-service

Version:

Shared database service for PikMeUp using Typegoose with MongoDB

107 lines (106 loc) 3.77 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const index_1 = require("./index"); const User_1 = require("./models/User"); const Trip_1 = require("./models/Trip"); async function main() { try { // Connect to MongoDB (replace with your MongoDB URI) await (0, index_1.connectToDatabase)('mongodb://localhost:27017/pikmeup'); // Create test users const passengerUser = await index_1.models.User.create({ name: 'Test Passenger', email: 'passenger@example.com', phoneNumber: '1234567890', firebaseId: 'passenger_firebase_id_123', password: 'passenger123', role: User_1.Role.PASSENGER, isActive: true }); const driverUser = await index_1.models.User.create({ name: 'Test Driver', email: 'driver@example.com', phoneNumber: '9876543210', firebaseId: 'driver_firebase_id_456', password: 'driver123', role: User_1.Role.DRIVER, isActive: true }); const supervisorUser = await index_1.models.User.create({ name: 'Test Supervisor', email: 'supervisor@example.com', phoneNumber: '5555555555', firebaseId: 'supervisor_firebase_id_789', password: 'supervisor123', role: User_1.Role.SUPERVISOR, isActive: true }); console.log('Created users:', { passengerUser, driverUser, supervisorUser }); // Create passenger const passenger = await index_1.models.Passenger.create({ userId: passengerUser._id }); console.log('Created passenger:', passenger); // Create driver const driver = await index_1.models.Driver.create({ userId: driverUser._id }); console.log('Created driver:', driver); // Create supervisor const supervisor = await index_1.models.Supervisor.create({ userId: supervisorUser._id }); console.log('Created supervisor:', supervisor); // Create cab const cab = await index_1.models.Cab.create({ number: 'KA01AB12345', capacity: 4, driver: driver._id }); console.log('Created cab:', cab); // Create route const route = await index_1.models.Route.create({ name: 'Morning Route 1', supervisor: supervisor._id, cabs: [cab._id] }); console.log('Created route:', route); // Create stops const stops = await Promise.all([ index_1.models.Stop.create({ address: '123 Main Street', order: 1, route: route._id }), index_1.models.Stop.create({ address: '456 Park Avenue', order: 2, route: route._id }), index_1.models.Stop.create({ address: '789 Business Center', order: 3, route: route._id }) ]); console.log('Created stops:', stops); // Update route with stops route.stops = stops.map(stop => stop._id); await route.save(); // Create trip const trip = await index_1.models.Trip.create({ date: new Date(), type: Trip_1.TripType.TO_OFFICE, cab: cab._id, driver: driver._id }); console.log('Created trip:', trip); // Disconnect from database await (0, index_1.disconnectFromDatabase)(); } catch (error) { console.error('Error:', error); process.exit(1); } } main();