Add backend unit/integration tests, Playwright e2e tests, README, cookie Secure fix
SonarQube Analysis / sonarqube (push) Successful in 4m20s

This commit is contained in:
2026-08-13 22:35:38 +00:00
parent 2adbf24b23
commit 921022c658
25 changed files with 6600 additions and 57 deletions
+1 -44
View File
@@ -1,48 +1,5 @@
import express from 'express';
import cookieParser from 'cookie-parser';
import path from 'path';
import app from './app';
import { pool } from './db';
import itemsRouter from './routes/items';
import { router as paypalRouter, webhookRouter as paypalWebhookRouter } from './routes/paypal';
import adminRouter from './routes/admin';
import adminCustomersRouter from './routes/adminCustomers';
import demoRouter from './routes/demo';
import customersRouter from './routes/customers';
import publicRouter from './routes/public';
import { attachCustomer } from './middleware/customerAuth';
const app = express();
app.set('trust proxy', 1);
app.use('/webhooks/paypal', express.json(), paypalWebhookRouter);
app.use(express.json());
app.use(cookieParser());
app.use(attachCustomer);
app.use('/uploads', express.static('/app/uploads'));
app.get('/api/config', (_req, res) => {
const clientId = process.env.PAYPAL_CLIENT_ID;
const isPlaceholder = !clientId || clientId.length < 10 || clientId === 'REPLACE_WITH_PAYPAL_CLIENT_ID';
res.json({
paypalClientId: isPlaceholder ? null : clientId,
demoMode: process.env.DEMO_MODE !== 'false',
currency: process.env.SITE_CURRENCY || 'USD'
});
});
app.use('/api/items', itemsRouter);
app.use('/api/checkout/paypal', paypalRouter);
app.use('/api/checkout/demo', demoRouter);
app.use('/api/admin/customers', adminCustomersRouter);
app.use('/api/admin', adminRouter);
app.use('/api/customers', customersRouter);
app.use('/', publicRouter);
const staticDir = path.join(__dirname, '..', 'public');
app.use(express.static(staticDir));
app.get('*', (_req, res) => {
res.sendFile(path.join(staticDir, 'index.html'));
});
setInterval(async () => {
try {