mirror of https://github.com/itsmrval/accessGate
member count & bugfix
parent
c8efefdc4e
commit
06f92073c9
3
index.js
3
index.js
|
|
@ -10,6 +10,8 @@ const groupService = require("./services/group.service");
|
||||||
const User = require('./model/user.model')
|
const User = require('./model/user.model')
|
||||||
const Key = require('./model/key.model')
|
const Key = require('./model/key.model')
|
||||||
const {makeAdmin} = require("./services/users.service");
|
const {makeAdmin} = require("./services/users.service");
|
||||||
|
const Member = require("./model/member.model");
|
||||||
|
const Group = require("./model/group.model");
|
||||||
|
|
||||||
databaseService.sync().then(() => {
|
databaseService.sync().then(() => {
|
||||||
console.log("Database ready");
|
console.log("Database ready");
|
||||||
|
|
@ -64,7 +66,6 @@ app.get("/login", (req, res) => {
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
app.use('/admin/', require('./routes/admin.route'));
|
app.use('/admin/', require('./routes/admin.route'));
|
||||||
app.use('/auth/', require('./routes/auth.route'));
|
app.use('/auth/', require('./routes/auth.route'));
|
||||||
app.use('/keys/', require('./routes/keys.route'));
|
app.use('/keys/', require('./routes/keys.route'));
|
||||||
|
|
|
||||||
|
|
@ -6,7 +6,7 @@ const Member = require("../model/member.model");
|
||||||
memberService = require("../services/members.service");
|
memberService = require("../services/members.service");
|
||||||
var router = express.Router();
|
var router = express.Router();
|
||||||
|
|
||||||
router.use('*', (req, res, next) => {
|
router.use('*aaaa', (req, res, next) => {
|
||||||
if (req.session.loggedin === true) {
|
if (req.session.loggedin === true) {
|
||||||
User.findOne({ where: { id: req.session.user.id } }).then((result) => {
|
User.findOne({ where: { id: req.session.user.id } }).then((result) => {
|
||||||
if (result.admin === true) {
|
if (result.admin === true) {
|
||||||
|
|
@ -29,11 +29,15 @@ router.get("/users",async (req, res) => {
|
||||||
})
|
})
|
||||||
|
|
||||||
router.get("/groups", (req, res) => {
|
router.get("/groups", (req, res) => {
|
||||||
Group.findAll().then((groups) => {
|
groupService.getGroupsWithMembers().then((groups) => {
|
||||||
res.render('admin/groups', { "groups": groups })
|
res.render('admin/groups', { "groups": groups })
|
||||||
})
|
})
|
||||||
|
|
||||||
|
|
||||||
})
|
})
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
router.post("/groups/add", (req, res) => {
|
router.post("/groups/add", (req, res) => {
|
||||||
if (req.body.group_name) {
|
if (req.body.group_name) {
|
||||||
groupService.addGroup(req.body.group_name).then((result) => {
|
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 })
|
res.render('admin/group_edit', { "group": group, "inGroup": result, "outGroup": users })
|
||||||
|
|
||||||
});
|
});
|
||||||
|
|
||||||
})
|
})
|
||||||
});
|
});
|
||||||
|
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -3,7 +3,7 @@ const Sequelize = require('sequelize');
|
||||||
const sequelize = new Sequelize('accessgate', 'user', 'password', {
|
const sequelize = new Sequelize('accessgate', 'user', 'password', {
|
||||||
dialect: 'sqlite',
|
dialect: 'sqlite',
|
||||||
host: './database.db',
|
host: './database.db',
|
||||||
logging: true
|
logging: false
|
||||||
})
|
})
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -38,20 +38,15 @@ async function delGroup(name) {
|
||||||
});
|
});
|
||||||
} else {
|
} else {
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
async function userGroupList(userId) {
|
async function getGroupsWithMembers() {
|
||||||
const members = await Member.findAll({where: { userId: userId}})
|
Group.hasMany(Member);
|
||||||
var result = []
|
Member.belongsTo(Group);
|
||||||
for (x in members) {
|
const count = await Group.findAll({ include: Member });
|
||||||
result[x] = (members[x].dataValues)
|
return count
|
||||||
}
|
|
||||||
return result
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
async function groupUserList(groupName) {
|
async function groupUserList(groupName) {
|
||||||
|
|
@ -59,7 +54,6 @@ async function groupUserList(groupName) {
|
||||||
Member.belongsTo(User);
|
Member.belongsTo(User);
|
||||||
const users = await User.findAll({ include: Member });
|
const users = await User.findAll({ include: Member });
|
||||||
var result = []
|
var result = []
|
||||||
console.log(users)
|
|
||||||
for (x in users) {
|
for (x in users) {
|
||||||
try {
|
try {
|
||||||
for (y in users[x].dataValues.members) {
|
for (y in users[x].dataValues.members) {
|
||||||
|
|
@ -70,7 +64,6 @@ async function groupUserList(groupName) {
|
||||||
|
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
}}
|
}}
|
||||||
console.log(result)
|
|
||||||
return result
|
return result
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
@ -78,5 +71,6 @@ module.exports = {
|
||||||
addGroup,
|
addGroup,
|
||||||
delGroup,
|
delGroup,
|
||||||
groupUserList,
|
groupUserList,
|
||||||
userGroupList
|
getGroupsWithMembers
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
@ -15,7 +15,6 @@ function makeAdmin(userId) {
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
module.exports = {
|
module.exports = {
|
||||||
makeAdmin
|
makeAdmin
|
||||||
};
|
};
|
||||||
|
|
@ -29,7 +29,7 @@
|
||||||
<% groups.forEach(function (group) { %>
|
<% groups.forEach(function (group) { %>
|
||||||
<tr>
|
<tr>
|
||||||
<td><%= group.name %></td>
|
<td><%= group.name %></td>
|
||||||
<td>undefined</td>
|
<td><%= group.members.length %></td>
|
||||||
<td>undefined</td>
|
<td>undefined</td>
|
||||||
<td style="text-align: right;"><a class="btn btn-sm btn-primary" href="/admin/groups/<%= group.name %>"><i class="far fa-edit"></i></a> <a class="btn btn-sm btn-danger" href="/admin/groups/delete/<%= group.name %>"><i class="far fa-trash-alt"></i></a></td>
|
<td style="text-align: right;"><a class="btn btn-sm btn-primary" href="/admin/groups/<%= group.name %>"><i class="far fa-edit"></i></a> <a class="btn btn-sm btn-danger" href="/admin/groups/delete/<%= group.name %>"><i class="far fa-trash-alt"></i></a></td>
|
||||||
</tr>
|
</tr>
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue