Riegen in Abfrage der Mitglieder
This commit is contained in:
parent
d54cf7cefd
commit
85f07108c1
|
@ -21,7 +21,7 @@ router.get("/:id?", requireAuth, async (req, res) => {
|
|||
return res.json(result.rows[0]);
|
||||
} else {
|
||||
result = await pool.query(
|
||||
"SELECT id, title FROM features ORDER BY datetime DESC"
|
||||
"SELECT * FROM features ORDER BY datetime DESC"
|
||||
);
|
||||
return res.json(result.rows);
|
||||
}
|
||||
|
@ -70,7 +70,7 @@ router.put("/:id?", requireAuth, async (req, res) => {
|
|||
[done, id]
|
||||
);
|
||||
} else {
|
||||
if (!title || !body || !type || !urgency ) {
|
||||
if (!title || !body || !type || !urgency) {
|
||||
return res
|
||||
.status(400)
|
||||
.json({ error: "Alle Felder sind erforderlich" });
|
||||
|
@ -104,12 +104,10 @@ router.put("/:id?", requireAuth, async (req, res) => {
|
|||
[title, body, type, urgency, fid_user, datetime]
|
||||
);
|
||||
|
||||
return res
|
||||
.status(201)
|
||||
.json({
|
||||
message: "Feature erfolgreich angelegt",
|
||||
feature: result.rows[0],
|
||||
});
|
||||
return res.status(201).json({
|
||||
message: "Feature erfolgreich angelegt",
|
||||
feature: result.rows[0],
|
||||
});
|
||||
}
|
||||
} catch (err) {
|
||||
console.error(err);
|
||||
|
|
|
@ -5,37 +5,54 @@ const { requireAuth, requireAdmin } = require("../middleware/auth"); // Auth-Mid
|
|||
const router = express.Router();
|
||||
|
||||
router.get("/:id?", requireAuth, async (req, res) => {
|
||||
const { id } = req.params;
|
||||
const abteilung = req.abteilung;
|
||||
const { id } = req.params; // Mitglieds-ID (optional)
|
||||
const abteilung = req.abteilung; // Abteilung aus Middleware
|
||||
|
||||
try {
|
||||
let query;
|
||||
let values = [];
|
||||
|
||||
if (id) {
|
||||
// **Ein einzelnes Mitglied abrufen**
|
||||
if (abteilung) {
|
||||
// Falls Abteilung gesetzt ist, prüfen ob das Mitglied dazugehört
|
||||
// **Einzelnes Mitglied mit aktueller Riege abrufen**
|
||||
query = `
|
||||
SELECT m.*
|
||||
FROM mitglieder m
|
||||
JOIN abteilungszuordnung dm ON m.id = dm.fid_mitglied
|
||||
WHERE m.id = $1 AND dm.fid_abteilung = $2
|
||||
`;
|
||||
SELECT
|
||||
m.*,
|
||||
r.id AS riegen_id,
|
||||
r.fid_abteilung,
|
||||
riegenzuordnung.von,
|
||||
riegenzuordnung.bis
|
||||
FROM mitglieder m
|
||||
LEFT JOIN riegenzuordnung
|
||||
ON m.id = riegenzuordnung.fid_mitglied
|
||||
AND riegenzuordnung.bis IS NULL
|
||||
LEFT JOIN riegen r
|
||||
ON riegenzuordnung.fid_riege = r.id
|
||||
WHERE m.id = $1 AND (r.fid_abteilung = $2 OR r.fid_abteilung IS NULL)
|
||||
`;
|
||||
values = [id, abteilung];
|
||||
} else {
|
||||
// Mitglied ohne Abteilungseinschränkung abrufen
|
||||
query = `SELECT * FROM mitglieder WHERE id = $1`;
|
||||
// **Einzelnes Mitglied ohne Riege abrufen**
|
||||
query = `SELECT * FROM members WHERE id = $1`;
|
||||
values = [id];
|
||||
}
|
||||
} else if (abteilung) {
|
||||
// **Alle Mitglieder einer Abteilung abrufen**
|
||||
query = `
|
||||
SELECT m.*
|
||||
FROM mitglieder m
|
||||
JOIN abteilungszuordnung dm ON m.id = dm.fid_mitglied
|
||||
WHERE dm.fid_abteilung = $1
|
||||
`;
|
||||
SELECT
|
||||
m.*,
|
||||
r.id AS riegen_id,
|
||||
r.fid_abteilung,
|
||||
riegenzuordnung.von,
|
||||
riegenzuordnung.bis
|
||||
FROM mitglieder m
|
||||
LEFT JOIN riegenzuordnung
|
||||
ON m.id = riegenzuordnung.fid_mitglied
|
||||
AND riegenzuordnung.bis IS NULL
|
||||
LEFT JOIN riegen r
|
||||
ON riegenzuordnung.fid_riege = r.id
|
||||
WHERE r.fid_abteilung = $1 OR r.fid_abteilung IS NULL
|
||||
`;
|
||||
values = [abteilung];
|
||||
} else {
|
||||
// **Alle Mitglieder abrufen**
|
||||
|
|
Loading…
Reference in New Issue