Software: Apache. PHP/8.1.30 uname -a: Linux server1.tuhinhossain.com 5.15.0-151-generic #161-Ubuntu SMP Tue Jul 22 14:25:40 UTC uid=1002(picotech) gid=1003(picotech) groups=1003(picotech),0(root) Safe-mode: OFF (not secure) /home/picotech/domains/rentals.picotech.app/public_html/server/ drwxr-xr-x |
Viewing file: Select action/file-type: import express from 'express'; import cors from 'cors'; import path from 'path'; import { fileURLToPath } from 'url'; import dotenv from 'dotenv'; import bcrypt from 'bcryptjs'; dotenv.config(); const __filename = fileURLToPath(import.meta.url); const __dirname = path.dirname(__filename); import { sequelize, User } from './models/index.js'; // Import routes import authRoutes from './routes/auth.js'; import userRoutes from './routes/users.js'; import buildingRoutes from './routes/buildings.js'; import uploadRoutes from './routes/upload.js'; import floorRoutes from './routes/floor.js'; import roomRoutes from './routes/room.js'; import bedRoutes from './routes/bed.js'; import renterRoutes from './routes/renter.js'; import rentPaymentRoutes from './routes/rent.js'; import maintenanceRoutes from './routes/maintenance.js'; import expenseRoutes from './routes/expense.js'; import noticeRoutes from './routes/notice.js'; import visitorRoutes from './routes/visitor.js'; import settingsRoutes from './routes/settings.js'; const app = express(); // Middleware app.use(cors()); app.use(express.json({ limit: '10mb' })); app.use(express.urlencoded({ extended: true, limit: '10mb' })); // Serve static files app.use('/uploads', express.static(path.join(__dirname, '../uploads'))); // Routes app.use('/api/auth', authRoutes); app.use('/api/users', userRoutes); app.use('/api/buildings', buildingRoutes); app.use('/api/upload', uploadRoutes); app.use('/api/floors', floorRoutes); app.use('/api/rooms', roomRoutes); app.use('/api/beds', bedRoutes); app.use('/api/renters', renterRoutes); app.use('/api/rents', rentPaymentRoutes); app.use('/api/maintenance', maintenanceRoutes); app.use('/api/expense', expenseRoutes); app.use('/api/notices', noticeRoutes); app.use('/api/visitors', visitorRoutes); app.use('/api/settings', settingsRoutes); // Health check app.get('/api/health', (req, res) => { res.json({ status: 'OK', timestamp: new Date().toISOString() }); }); // Error handling middleware app.use((error, req, res, next) => { console.error('Error:', error); res.status(error.status || 500).json({ message: error.message || 'Internal server error', ...(process.env.NODE_ENV === 'development' && { stack: error.stack }) }); }); // 404 handler // app.use('*', (req, res) => { // res.status(404).json({ message: 'Route not found' }); // }); app.use('/assets', express.static(path.join(__dirname, '../dist/assets'))); console.log(path.join(__dirname, '../dist/index.html')); app.get('*', (req, res) => { res.sendFile(path.join(__dirname, '../dist/index.html')); // Adjust path as needed }); const PORT = process.env.PORT || 3001; // Database connection and server start const startServer = async () => { try { // Test database connection await sequelize.authenticate(); console.log('Database connection established successfully.'); // Sync database (create tables force: false,) await sequelize.sync({ alter: true }); console.log('Database synchronized successfully.'); // Create default admin user if not exists try { const adminExists = await User.findOne({ where: { email: 'admin@apartment.com' } }); if (!adminExists) { const hashedPassword = await bcrypt.hash('admin123', 12); await User.create({ name: 'Admin User', email: 'admin@apartment.com', password: hashedPassword, role: 'admin', permissions: ['view', 'edit', 'manage', 'delete', 'reports', 'settings', 'user_management'], department: 'Administration', phone: '+880123456789', is_active: true }); console.log('Default admin user created successfully'); console.log('Login credentials: admin@apartment.com / admin123'); } else { console.log('Admin user already exists'); console.log('Login credentials: admin@apartment.com / admin123'); } } catch (userError) { console.error('Error creating admin user:', userError); } app.listen(PORT, () => { console.log(`Server running on port ${PORT}`); console.log(`Environment: ${process.env.NODE_ENV}`); console.log(`API available at: http://localhost:${PORT}/api`); }); } catch (error) { console.error('Unable to start server:', error); process.exit(1); } }; startServer(); |
:: Command execute :: | |
--[ c99shell v. 2.5 [PHP 8 Update] [24.05.2025] | Generation time: 0.0055 ]-- |