Overhaul settings and implement user preferences. Also implements dark theme toggle as part of the user settings.
This commit is contained in:
parent
b84f0907a8
commit
727746030c
17 changed files with 760 additions and 378 deletions
|
@ -12,27 +12,30 @@
|
|||
import dotenv from 'dotenv';
|
||||
import express from 'express';
|
||||
import compression from 'compression';
|
||||
import session from 'express-session'; // Added for session management
|
||||
import { PrismaSessionStore } from '@quixo3/prisma-session-store'; // Import Prisma session store
|
||||
import { PrismaClient } from '@prisma/client'; // Import Prisma Client
|
||||
import { v4 as uuidv4 } from 'uuid'; // Added for generating session IDs
|
||||
import session from 'express-session';
|
||||
import { PrismaSessionStore } from '@quixo3/prisma-session-store';
|
||||
import { PrismaClient } from '@prisma/client';
|
||||
import { v4 as uuidv4 } from 'uuid';
|
||||
import apiRoutes from './routes/api.js';
|
||||
import authRoutes from './routes/auth.js'; // Added for WebAuthn routes
|
||||
import chatRoutes from './routes/chat.js'; // Added for Chat routes
|
||||
import authRoutes from './routes/auth.js';
|
||||
import chatRoutes from './routes/chat.js';
|
||||
import settingsRoutes from './routes/settings.js';
|
||||
import userPreferencesRoutes from './routes/userPreferences.js';
|
||||
import cron from 'node-cron';
|
||||
import { generateAndStoreMantisSummary } from './services/mantisSummarizer.js';
|
||||
import { requireAuth } from './middlewares/authMiddleware.js';
|
||||
|
||||
dotenv.config();
|
||||
|
||||
// Define Relying Party details (Update with your actual details)
|
||||
export const rpID = process.env.NODE_ENV === 'production' ? 'your-production-domain.com' : 'localhost';
|
||||
export const rpID = process.env.NODE_ENV === 'production' ? 'stylepoint.uk' : 'localhost';
|
||||
export const rpName = 'StylePoint';
|
||||
export const origin = process.env.NODE_ENV === 'production' ? `https://${rpID}` : `http://${rpID}:9000`;
|
||||
|
||||
// In-memory store for challenges (Replace with a persistent store in production)
|
||||
export const challengeStore = new Map();
|
||||
|
||||
const prisma = new PrismaClient(); // Instantiate Prisma Client
|
||||
const prisma = new PrismaClient();
|
||||
|
||||
const app = express();
|
||||
|
||||
|
@ -90,12 +93,12 @@ app.disable('x-powered-by');
|
|||
app.use(express.json());
|
||||
|
||||
// Add API routes
|
||||
app.use('/api', apiRoutes);
|
||||
app.use('/api/auth', authRoutes);
|
||||
app.use('/api/chat', chatRoutes);
|
||||
app.use('/api/chat', requireAuth, chatRoutes);
|
||||
app.use('/api/user-preferences', requireAuth, userPreferencesRoutes);
|
||||
app.use('/api/settings', requireAuth, settingsRoutes);
|
||||
app.use('/api', requireAuth, apiRoutes);
|
||||
|
||||
// place here any middlewares that
|
||||
// absolutely need to run before anything else
|
||||
if (process.env.PROD)
|
||||
{
|
||||
app.use(compression());
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue