secajs/index.js
2025-02-08 01:14:01 +01:00

73 lines
1.9 KiB
JavaScript

const express = require('express');
const uuid = require("uuid");
const cookieParser = require('cookie-parser');
const sequelize = require('./database');
const Session = require('./models/Session');
const SessionNpubbed = require('./models/SessionNpubbed');
const app = express();
const port = 3000;
sequelize.sync()
.then(() => {
console.log('Database synced');
})
.catch(err => {
console.error('Error syncing the database:', err);
});
app.use(cookieParser());
app.use(express.json());
app.set('view engine', 'ejs');
app.set('views', './views');
app.use(async (req, res, next) => {
if (!req.cookies.sessionUuid) {
const sessionUuid = uuid.v7();
res.cookie('sessionUuid', sessionUuid, { httpOnly: true, maxAge: 86400000 });
const session = await Session.create({
uuid: sessionUuid,
created_at: new Date().toISOString()
})
}
next();
});
app.get('/', (req, res) => {
res.render('index', { uuid: req.cookies.sessionUuid });
});
app.post('/api/session-npubbed', async (req, res) => {
console.log(req.body);
const sessionUuid = req.cookies.sessionUuid;
const npub = req.body.npub;
if (!sessionUuid || !npub) {
return res.status(400).json({ error: 'Missing session_uuid or npub' });
}
console.log("This is the npub: ${npub}");
try {
await SessionNpubbed.create({
sessionNpubbedUuid: uuid.v7(),
sessionUuid: sessionUuid,
npub: npub,
created_at: new Date().toISOString()
});
res.json({ message: 'SessionNpubbed record created successfully' });
} catch (error) {
console.log(error);
console.error('Error creating sessionNpubbed record:', error);
res.status(500).json({ error: 'Failed to create sessionNpubbed record' });
}
});
app.listen(port, () => {
console.log(`Server started on port ${port}`);
});