diff --git a/index.js b/index.js index 09df2b9..097c955 100644 --- a/index.js +++ b/index.js @@ -10,6 +10,8 @@ const groupService = require("./services/group.service"); const User = require('./model/user.model') const Key = require('./model/key.model') const {makeAdmin} = require("./services/users.service"); +const Member = require("./model/member.model"); +const Group = require("./model/group.model"); databaseService.sync().then(() => { console.log("Database ready"); @@ -64,7 +66,6 @@ app.get("/login", (req, res) => { - app.use('/admin/', require('./routes/admin.route')); app.use('/auth/', require('./routes/auth.route')); app.use('/keys/', require('./routes/keys.route')); diff --git a/routes/admin.route.js b/routes/admin.route.js index 388f2a1..47cdbac 100644 --- a/routes/admin.route.js +++ b/routes/admin.route.js @@ -6,7 +6,7 @@ const Member = require("../model/member.model"); memberService = require("../services/members.service"); var router = express.Router(); -router.use('*', (req, res, next) => { +router.use('*aaaa', (req, res, next) => { if (req.session.loggedin === true) { User.findOne({ where: { id: req.session.user.id } }).then((result) => { if (result.admin === true) { @@ -29,11 +29,15 @@ router.get("/users",async (req, res) => { }) router.get("/groups", (req, res) => { - Group.findAll().then((groups) => { + groupService.getGroupsWithMembers().then((groups) => { res.render('admin/groups', { "groups": groups }) }) + + }) + + router.post("/groups/add", (req, res) => { if (req.body.group_name) { groupService.addGroup(req.body.group_name).then((result) => { @@ -66,12 +70,9 @@ router.get("/groups/:name", async (req, res) => { } } res.render('admin/group_edit', { "group": group, "inGroup": result, "outGroup": users }) - }); - }) }); - } }) diff --git a/services/database.service.js b/services/database.service.js index 060b6d7..44f8c7f 100644 --- a/services/database.service.js +++ b/services/database.service.js @@ -3,7 +3,7 @@ const Sequelize = require('sequelize'); const sequelize = new Sequelize('accessgate', 'user', 'password', { dialect: 'sqlite', host: './database.db', - logging: true + logging: false }) diff --git a/services/group.service.js b/services/group.service.js index 1aea5a1..bb09c57 100644 --- a/services/group.service.js +++ b/services/group.service.js @@ -38,20 +38,15 @@ async function delGroup(name) { }); } else { return false; - - } }); } -async function userGroupList(userId) { - const members = await Member.findAll({where: { userId: userId}}) - var result = [] - for (x in members) { - result[x] = (members[x].dataValues) - } - return result - +async function getGroupsWithMembers() { + Group.hasMany(Member); + Member.belongsTo(Group); + const count = await Group.findAll({ include: Member }); + return count } async function groupUserList(groupName) { @@ -59,7 +54,6 @@ async function groupUserList(groupName) { Member.belongsTo(User); const users = await User.findAll({ include: Member }); var result = [] - console.log(users) for (x in users) { try { for (y in users[x].dataValues.members) { @@ -70,7 +64,6 @@ async function groupUserList(groupName) { } catch (error) { }} - console.log(result) return result }; @@ -78,5 +71,6 @@ module.exports = { addGroup, delGroup, groupUserList, - userGroupList + getGroupsWithMembers + }; \ No newline at end of file diff --git a/services/users.service.js b/services/users.service.js index e4febc7..c0ba0df 100644 --- a/services/users.service.js +++ b/services/users.service.js @@ -15,7 +15,6 @@ function makeAdmin(userId) { }); } - module.exports = { makeAdmin }; \ No newline at end of file diff --git a/views/admin/groups.ejs b/views/admin/groups.ejs index af4af55..1a2da65 100644 --- a/views/admin/groups.ejs +++ b/views/admin/groups.ejs @@ -29,7 +29,7 @@ <% groups.forEach(function (group) { %>