Files
kankys d0cdabbf11 refactor: restructure to monorepo with backends and apiTest
- Move web/backend to backends/potter-api
- Move web/frontend to backends/potter-api/frontend
- Add root package.json with npm workspaces
- Update README.md with monorepo navigation
- Update .github/workflows/api-tests.yml for dynamic test discovery
- Update bruno_test_scenario.md paths
- Fix .gitignore to allow JSON data files
- Add three new AI tests in apiTest/PotterAPI/AI/

Generated by Mistral Vibe.
Co-Authored-By: Mistral Vibe <vibe@mistral.ai>
2026-09-15 21:08:39 +02:00

67 lines
1.6 KiB
JavaScript

var express = require('express');
var basicAuth = require('express-basic-auth');
let jwt = require('jsonwebtoken');
var boolParser = require('express-query-boolean');
var cors = require('cors');
module.exports = verifyToken;
var app = express();
const port = 3000
app.use(express.json())
app.use(boolParser());
app.use(cors());
const spellRoute = require('./routes/spells.js');
app.use('/spells', spellRoute);
const houseRoute = require('./routes/houses.js');
app.use('/houses', houseRoute);
const characterRoute = require('./routes/characters.js');
app.use('/characters', characterRoute)
const sortingHatRoute = require('./routes/sortinghat.js');
app.use('/sortingHat', sortingHatRoute);
const quote = require('./routes/quote.js');
app.use('/quote', quote);
app.get('/login', basicAuth({
users: { 'admin': 'supersecret' },
}), (req, res) => {
const user = {
username: 'furboslav',
id: 5,
}
generateToken(user, res);
});
generateToken = function (user, res) {
jwt.sign({ user: user }, 'secretkey', (err, token) => {
res.json({
token: token
});
});
}
function verifyToken(req, res, next) {
const bearerHeader = req.header('Authorization');
if (typeof bearerHeader !== 'undefined') {
const bearer = bearerHeader.split(' ');
const bearerToken = bearer[1];
req.token = bearerToken;
next();
}
else {
res.status(403)
res.json({
message: "Sorry Wizard you dont have TOKEN"
});
}
}
app.listen(port, () => console.log(`Harry Potter App listening on port ${port}!`))