1
0
mirror of synced 2025-10-29 18:39:18 +00:00

bug fix when multiple memberships & minors

This commit is contained in:
Valentin PUCCETTI
2023-09-10 22:22:28 +02:00
parent a3b8a865fd
commit c8efefdc4e
9 changed files with 108 additions and 70 deletions

View File

@@ -1,10 +1,9 @@
const express = require('express');
const User = require("../model/user.model");
const Group = require("../model/group.model");
const keyService = require("../services/keys.service");
groupService = require("../services/group.service");
const Member = require("../model/member.model");
memberService = require("../services/members.service");
var router = express.Router();
router.use('*', (req, res, next) => {
@@ -22,9 +21,10 @@ router.use('*', (req, res, next) => {
});
router.get("/users", (req, res) => {
router.get("/users",async (req, res) => {
User.findAll().then((users) => {
res.render('admin/users', { "users": users })
res.render('admin/users', { "users": users})
})
})
@@ -46,6 +46,7 @@ router.post("/groups/add", (req, res) => {
router.get("/groups/delete/:group", (req, res) => {
groupService.delGroup(req.params.group).then((result) => {
res.redirect("/admin/groups")
})
@@ -75,48 +76,15 @@ router.get("/groups/:name", async (req, res) => {
})
router.get('/members/:name/add/:user', (req, res) => {
Group.findOne({ where: { name: req.params.name } }).then((result) => {
if (result) {
User.findOne({ where: { id: req.params.user } }).then((user) => {
if (user) {
Member.findOne({ where: { groupname: result.name, userId: user.id } }).then((member) => {
if (!member) {
Member.create({
userId: user.id,
groupName: result.name
}).then((member) => {
console.log('member added to database' + '(' + member.userId + ',' + member.groupName + ')')
res.redirect('/admin/groups/' + result.name)
});
}
})
}
})
}
})
memberService.addMember(req.params.user, req.params.name).then((result) => {
res.redirect('/admin/groups/' + req.params.name)
});
})
router.get('/members/:name/delete/:user', (req, res) => {
Group.findOne({ where: { name: req.params.name } }).then((result) => {
if (result) {
User.findOne({ where: { id: req.params.user } }).then((user) => {
if (user) {
Member.findOne({ where: { groupname: result.name, userId: user.id } }).then((member) => {
if (member) {
Member.destroy({ where: { groupname: result.name, userId: user.id }}).then((member) => {
console.log('member deleted from database' + '(' + member.userId + ',' + member.groupName + ')')
res.redirect('/admin/groups/' + result.name)
});
}
})
}
})
}
})
memberService.delMember(req.params.user, req.params.name).then((result) => {
res.redirect('/admin/groups/' + req.params.name)
});
})