initial commit
This commit is contained in:
commit
b25eb51ff0
280 changed files with 178550 additions and 0 deletions
63
database-service/app.js
Normal file
63
database-service/app.js
Normal file
|
|
@ -0,0 +1,63 @@
|
|||
const express = require('express');
|
||||
const { PrismaClient } = require('@prisma/client');
|
||||
const app = express();
|
||||
// require('dotenv').config(); // prisma client already loads .env apparently, double check before deploying
|
||||
const port = process.env.NODE_PORT; // Use env for port
|
||||
console.log('NODE_PORT:', port);
|
||||
|
||||
const prisma = new PrismaClient();
|
||||
|
||||
app.use(express.json());
|
||||
|
||||
// Endpoint to fetch custom query (avoid raw queries if possible)
|
||||
app.get('/query', async (req, res) => {
|
||||
// double check if user is admin first from jwt
|
||||
const query = req.body.query
|
||||
const response = prisma.$queryRaw`${query}`;
|
||||
res.status(400).json({ error: 'Custom queries are not supported.' });
|
||||
});
|
||||
|
||||
// Fetch top users (update logic as per your requirements)
|
||||
app.get('/update', async (req, res) => {
|
||||
try {
|
||||
const users = await prisma.user.findMany({
|
||||
orderBy: { username: 'asc' }, // Example sorting
|
||||
});
|
||||
res.json(users);
|
||||
} catch (err) {
|
||||
res.status(500).json({ error: err.message });
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
// Add a new user
|
||||
app.post('/add-user', async (req, res) => {
|
||||
try {
|
||||
const { username, email } = req.body;
|
||||
const newUser = await prisma.user.create({
|
||||
data: { username, email },
|
||||
});
|
||||
res.json({ message: 'User added successfully', user: newUser });
|
||||
} catch (err) {
|
||||
res.status(500).json({ error: err.message });
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
// sign up endpoint for new users:
|
||||
app.post('/register-user', async (req, res) => {
|
||||
try {
|
||||
const { username, password } = req.body;
|
||||
const newUser = await prisma.user.create({
|
||||
data: { username, email, password },
|
||||
});
|
||||
res.json({ message: 'User added successfully', user: newUser });
|
||||
} catch (err) {
|
||||
res.status(500).json({ error: err.message });
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
app.listen(port, () => {
|
||||
console.log(`Server running at http://localhost:${port}`);
|
||||
});
|
||||
Loading…
Add table
Add a link
Reference in a new issue