From 5a183cecd7101505e3cb0a60317ed810419b7e4e Mon Sep 17 00:00:00 2001 From: Christian Hofmaier Date: Mon, 6 Aug 2018 00:47:05 +0000 Subject: language tags and function comments --- server/api/permissions.js | 29 +++++++++++++++++ server/api/users.js | 19 ++++++++++++ server/app.js | 1 + server/lib/permissions/index.js | 16 ++++++++-- webapp/src/components/PermissionModule.vue | 6 ++-- webapp/src/components/PermissionModuleEdit.vue | 36 +++++++++++++++++----- .../src/components/PermissionModuleGrantRevoke.vue | 26 +++++++++++++--- webapp/src/components/PermissionModuleRoleList.vue | 16 +++++++--- webapp/src/components/PermissionModuleUserList.vue | 23 ++++++++++---- 9 files changed, 145 insertions(+), 27 deletions(-) diff --git a/server/api/permissions.js b/server/api/permissions.js index ef7c5e8..5ed09e0 100644 --- a/server/api/permissions.js +++ b/server/api/permissions.js @@ -2,7 +2,14 @@ var path = require('path') var db = require(path.join(__appdir, 'lib', 'sequelize')) +// GET requests module.exports.get = { + + /* + * ?id= + * + * @return: Returns the information about a role and it's permissions and groups. + */ getRoleById: function (req, res) { db.role.findOne({ where: { id: req.query.id }, include: ['permissions', 'groups'] }).then(role => { if (role) res.send(role) @@ -10,6 +17,9 @@ module.exports.get = { }) }, + /* + * @return: Returns a list of all roles in the database. + */ getRoleList: function (req, res) { db.role.findAll({ attributes: ['id', 'name', 'descr'] @@ -18,6 +28,9 @@ module.exports.get = { }) }, + /* + * @return: Returns a list of all permissions in the database. + */ getPermissionList: function (req, res) { db.permission.findAll().then(function (permissions) { res.status(200).send(permissions) @@ -25,7 +38,14 @@ module.exports.get = { } } +// POST requests module.exports.post = { + + /* + * id: + * + * Deletes the role to the given id. + */ deleteRoles: function (req, res) { const roleIds = req.body.id @@ -34,6 +54,15 @@ module.exports.post = { }) }, + /* + * id: + * name: + * descr: + * permissions: + * groups: + * + * Creates or updates a role. + */ saveRole: function (req, res) { const role = req.body diff --git a/server/api/users.js b/server/api/users.js index 2af6cb6..deb69e1 100644 --- a/server/api/users.js +++ b/server/api/users.js @@ -4,7 +4,9 @@ var path = require('path') var db = require(path.join(__appdir, 'lib', 'sequelize')) var jwt = require('jsonwebtoken') +// GET requests module.exports.get = { + getUserInfo: function (req, res) { // Because veryfyToken was succesfully excecuted the request has the attribute token. const token = req.token @@ -22,6 +24,9 @@ module.exports.get = { }) }, + /* + * @return: Returns a list of all users in the database and their given roles. + */ getUserList: function (req, res) { db.user.findAll({ attributes: ['id', 'username', 'name'], @@ -32,7 +37,15 @@ module.exports.get = { } } +// POST requests module.exports.post = { + + /* + * roleIds: + * userIds: + * + * Adds the given roles to the given users in the database. + */ grantRoles: function (req, res) { const roleIds = req.body.roleIds const userIds = req.body.userIds @@ -45,6 +58,12 @@ module.exports.post = { }) }, + /* + * roleIds: + * userIds: + * + * Removes the given roles from the given users in the database. + */ revokeRoles: function (req, res) { const roleIds = req.body.roleIds const userIds = req.body.userIds diff --git a/server/app.js b/server/app.js index 4f5e6dd..c9a270c 100644 --- a/server/app.js +++ b/server/app.js @@ -11,6 +11,7 @@ var app = express() global.__appdir = __dirname require('./lib/tftp') +// Read permissions from JSON and update the database require('./lib/permissions') // ############################################################################ diff --git a/server/lib/permissions/index.js b/server/lib/permissions/index.js index dafa4d1..12db24f 100644 --- a/server/lib/permissions/index.js +++ b/server/lib/permissions/index.js @@ -5,22 +5,32 @@ var db = require(path.join(__appdir, 'lib', 'sequelize')) updatePermissionDatabase() + /* + * Update the permission-Database accordingly to the permission.json + */ function updatePermissionDatabase () { var permissionNames = [] - // Insert / Update Entries in Database + // Insert / Update entries in Database which are in the permission.json permissions.forEach(function (permission) { permissionNames.push(permission.name) upsert(db.permission, { name: permission.name, descr: permission.descr, groupdependent: permission.groupdependent }, { name: permission.name }) }) - // Delete Entries from Database + // Delete entries from Database which are not in the permission.json db.permission.destroy( { where: { $not: { name: permissionNames } } } ) } -// Update or Insert function + /* + * model: + * newItem: + * where: + * + * Updates or inserts the given newItem in the given model according to + * the where-clause. + */ function upsert (model, newItem, where) { return model .findOne({where: where}) diff --git a/webapp/src/components/PermissionModule.vue b/webapp/src/components/PermissionModule.vue index 00796b5..5abe7d6 100644 --- a/webapp/src/components/PermissionModule.vue +++ b/webapp/src/components/PermissionModule.vue @@ -4,13 +4,15 @@ "roles": "Roles", "users": "Users", "delete-are-you-sure": "Are you sure you want to delete this role? | Are you sure you want to delete those roles?", - "delete-permission": "Delete {0} role | Delete {0} roles" + "delete-permission": "Delete {0} role | Delete {0} roles", + "delete-role": "Delete {0} Role | Delete {0} Roles" }, "de": { "roles": "Rollen", "users": "Nutzer", "delete-are-you-sure": "Sind sie sicher, dass sie diese Rolle Löschen wollen? | Sind sie sicher, dass sie diese Rollen Löschen wollen?", - "delete-permission": "Delete {0} role | Delete {0} roles" + "delete-permission": "Delete {0} role | Delete {0} roles", + "delete-role": "Lösche {0} Rolle | Lösche {0} Rollen" } } diff --git a/webapp/src/components/PermissionModuleEdit.vue b/webapp/src/components/PermissionModuleEdit.vue index 9de6b99..f94f483 100644 --- a/webapp/src/components/PermissionModuleEdit.vue +++ b/webapp/src/components/PermissionModuleEdit.vue @@ -1,8 +1,30 @@ { "en": { + "id": "ID", + "name": "Name", + "description": "Description", + "groupdependent": "Groupdependent", + "submit": "Submit", + "role": "Role", + "permissions": "Permissions", + "groups": "Groups", + "summary": "Summary", + "roleName": "Role Name", + "roleNameEmptyError": "Role Name can't be empty." }, "de": { + "id": "ID", + "name": "Name", + "description": "Beschreibung", + "groupdependent": "Gruppengebunden", + "submit": "Einreichen", + "role": "Rolle", + "permissions": "Rechte", + "groups": "Gruppen", + "summary": "Zusammenfassung", + "roleName": "Rollenname", + "roleNameEmptyError": "Rollenname kann nicht leer sein." } } @@ -51,7 +73,7 @@ :editable="stepCompleted >= 4" edit-icon="check" > - {{ $t('confirm') }} + {{ $t('summary') }} @@ -231,14 +253,14 @@ export default { permissionsSelected: [], groupsSelected: [], permissionHeaders: [ - { text: 'Name', value: 'name' }, - { text: 'Description', value: 'descr' }, - { text: 'Groupdependent', value: 'groupdependent' } + { text: this.$t('name'), value: 'name' }, + { text: this.$t('description'), value: 'descr' }, + { text: this.$t('groupdependent'), value: 'groupdependent' } ], groupHeaders: [ - { text: 'ID', value: 'id' }, - { text: 'Name', value: 'name' }, - { text: 'Description', value: 'description' } + { text: this.$t('id'), value: 'id' }, + { text: this.$t('name'), value: 'name' }, + { text: this.$t('description'), value: 'description' } ], roleName: '', roleDescr: '' diff --git a/webapp/src/components/PermissionModuleGrantRevoke.vue b/webapp/src/components/PermissionModuleGrantRevoke.vue index d68f241..876daca 100644 --- a/webapp/src/components/PermissionModuleGrantRevoke.vue +++ b/webapp/src/components/PermissionModuleGrantRevoke.vue @@ -1,8 +1,26 @@ { "en": { + "select_roles": "Select Roles", + "check_selection": "Check Selection", + "roles": "Roles", + "users": "Users", + "grant": "Grant", + "revoke": "Revoke", + "id": "ID", + "name": "Name", + "description": "Description" }, "de": { + "select_roles": "Rollen auswählen", + "check_selection": "Auswahl überprüfen", + "roles": "Rollen", + "users": "Nutzer", + "grant": "Zuweisen", + "revoke": "Entziehen", + "id": "ID", + "name": "Name", + "description": "Beschreibung" } } @@ -33,7 +51,7 @@ :editable="stepCompleted >= 2" edit-icon="check" > - {{ $t('confirm_selection') }} + {{ $t('check_selection') }} @@ -133,9 +151,9 @@ export default { stepCompleted: 0, rolesSelected: [], roleHeaders: [ - { text: 'ID', value: 'id' }, - { text: 'Name', value: 'name' }, - { text: 'Description', value: 'descr' } + { text: this.$t('id'), value: 'id' }, + { text: this.$t('name'), value: 'name' }, + { text: this.$t('description'), value: 'descr' }, ] } }, diff --git a/webapp/src/components/PermissionModuleRoleList.vue b/webapp/src/components/PermissionModuleRoleList.vue index c13385e..050e394 100644 --- a/webapp/src/components/PermissionModuleRoleList.vue +++ b/webapp/src/components/PermissionModuleRoleList.vue @@ -2,11 +2,17 @@ { "en": { "create-role": "Create Role", - "delete-role": "Delete {0} Role | Delete {0} Roles" + "delete-role": "Delete {0} Role | Delete {0} Roles", + "id": "ID", + "name": "Name", + "description": "Description" }, "de": { "create-role": "Rolle erstellen", - "delete-role": "Lösche {0} Rolle | Lösche {0} Rollen" + "delete-role": "Lösche {0} Rolle | Lösche {0} Rollen", + "id": "ID", + "name": "Name", + "description": "Beschreibung" } } @@ -66,9 +72,9 @@ export default { data () { return { headers: [ - { text: 'ID', value: 'id' }, - { text: 'Name', value: 'name' }, - { text: 'Description', value: 'descr' }, + { text: this.$t('id'), value: 'id' }, + { text: this.$t('name'), value: 'name' }, + { text: this.$t('description'), value: 'descr' }, { sortable: false } ] } diff --git a/webapp/src/components/PermissionModuleUserList.vue b/webapp/src/components/PermissionModuleUserList.vue index 642ac37..f093680 100644 --- a/webapp/src/components/PermissionModuleUserList.vue +++ b/webapp/src/components/PermissionModuleUserList.vue @@ -2,11 +2,17 @@ { "en": { "grant-role": "Grant Role", - "revoke-role": "Revoke Role" + "revoke-role": "Revoke Role", + "username": "Username", + "name": "Name", + "roles": "Roles" }, "de": { "grant-role": "Rolle zuweisen", - "revoke-role": "Rolle entziehen" + "revoke-role": "Rolle entziehen", + "username": "Nutzername", + "name": "Name", + "roles": "Rollen" } } @@ -38,7 +44,12 @@ {{ props.item.name }} @@ -64,9 +75,9 @@ export default { data () { return { headers: [ - { text: 'Username', value: 'username' }, - { text: 'Name', value: 'name' }, - { text: 'Roles', value: 'id' } + { text: this.$t('username'), value: 'username' }, + { text: this.$t('name'), value: 'name' }, + { text: this.$t('roles'), value: 'id' } ] } }, -- cgit v1.2.3-55-g7522