updateweb

This commit is contained in:
Local Server
2025-12-14 01:54:40 -06:00
parent dce6460994
commit 61929a5daf
454 changed files with 12193 additions and 42002 deletions

View File

@@ -0,0 +1,71 @@
#!/bin/bash
echo "Creating backend files..."
# Database config
cat > config/database.js << 'EOF'
const { Pool } = require('pg');
require('dotenv').config();
const pool = new Pool({
host: process.env.DB_HOST || 'localhost',
port: process.env.DB_PORT || 5432,
database: process.env.DB_NAME || 'skyartshop',
user: process.env.DB_USER || 'skyartapp',
password: process.env.DB_PASSWORD,
max: 20,
idleTimeoutMillis: 30000,
connectionTimeoutMillis: 2000,
});
pool.on('connect', () => console.log('✓ PostgreSQL connected'));
pool.on('error', (err) => console.error('PostgreSQL error:', err));
const query = async (text, params) => {
const start = Date.now();
try {
const res = await pool.query(text, params);
const duration = Date.now() - start;
console.log('Executed query', { text, duration, rows: res.rowCount });
return res;
} catch (error) {
console.error('Query error:', error);
throw error;
}
};
module.exports = { pool, query };
EOF
# Auth middleware
cat > middleware/auth.js << 'EOF'
const requireAuth = (req, res, next) => {
if (req.session && req.session.adminId) {
return next();
}
res.redirect('/admin/login');
};
const requireRole = (allowedRoles) => {
return (req, res, next) => {
if (!req.session || !req.session.adminId) {
return res.redirect('/admin/login');
}
const userRole = req.session.role || 'user';
if (allowedRoles.includes(userRole)) {
return next();
}
res.status(403).send('Access denied');
};
};
const redirectIfAuth = (req, res, next) => {
if (req.session && req.session.adminId) {
return res.redirect('/admin/dashboard');
}
next();
};
module.exports = { requireAuth, requireRole, redirectIfAuth };
EOF
echo "✓ Files created successfully"