Refactor loan and user management components and backend routes
- Updated LoanTable component to fetch loan data from new API endpoint and display notes. - Enhanced UserTable component to include additional user fields (first name, last name, email, admin status) and updated input handling. - Modified fetcher utility to use new user data API endpoint. - Adjusted login functionality to point to the new admin login endpoint and handle unauthorized access. - Refactored user actions utility to align with updated API endpoints for user management. - Updated backend routes for user and loan data management to reflect new structure and naming conventions. - Revised SQL schema and mock data to accommodate new fields and constraints. - Changed Docker configuration to use the new database name.
This commit is contained in:
@@ -1,7 +1,9 @@
|
||||
import express from "express";
|
||||
import { authenticate, generateToken } from "../../services/authentication.js";
|
||||
import {
|
||||
generateToken,
|
||||
authenticateAdmin,
|
||||
} from "../../services/authentication.js";
|
||||
const router = express.Router();
|
||||
import nodemailer from "nodemailer";
|
||||
import dotenv from "dotenv";
|
||||
dotenv.config();
|
||||
|
||||
@@ -9,7 +11,12 @@ dotenv.config();
|
||||
import { loginAdmin } from "./database/userMgmt.database.js";
|
||||
|
||||
router.post("/login", async (req, res) => {
|
||||
const result = await loginAdmin(req.body.username, req.body.password);
|
||||
const { username, password } = req.body || {};
|
||||
if (!username || !password) {
|
||||
return res.status(400).json({ message: "Missing username or password" });
|
||||
}
|
||||
|
||||
const result = await loginAdmin(username, password);
|
||||
|
||||
if (result.success) {
|
||||
const token = await generateToken({
|
||||
@@ -18,7 +25,11 @@ router.post("/login", async (req, res) => {
|
||||
last_name: result.data.last_name,
|
||||
admin: result.data.is_admin,
|
||||
});
|
||||
return res.status(200).json({ message: "Login erfolgreich", token });
|
||||
return res.status(200).json({
|
||||
message: "Login erfolgreich",
|
||||
token,
|
||||
first_name: result.data.first_name,
|
||||
});
|
||||
}
|
||||
|
||||
if (result.reason === "not_admin") {
|
||||
@@ -27,3 +38,9 @@ router.post("/login", async (req, res) => {
|
||||
|
||||
return res.status(401).json({ message: "Ungültige Anmeldedaten" });
|
||||
});
|
||||
|
||||
router.get("/verify-token", authenticateAdmin, async (req, res) => {
|
||||
return res.status(200).json({ message: "Token is valid" });
|
||||
});
|
||||
|
||||
export default router;
|
||||
|
||||
Reference in New Issue
Block a user