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