From 8c1dffc003e62e24ecbd6c61df0fbc38f8a40bb8 Mon Sep 17 00:00:00 2001 From: Ferdinand Thiessen Date: Mon, 9 Nov 2020 03:39:31 +0100 Subject: [PATCH] Added RoleSettings, now users can edit and create roles --- .eslintrc.js | 2 +- .vscode/settings.json | 5 +- src/flaschengeist.d.ts | 1 + src/plugins/user/components/UserSelector.vue | 4 +- .../user/components/settings/RoleSettings.vue | 153 ++++++++++++++++++ src/plugins/user/pages/AdminSettings.vue | 19 ++- src/plugins/user/permissions.ts | 12 ++ src/plugins/user/store/user.ts | 51 +++++- 8 files changed, 233 insertions(+), 14 deletions(-) create mode 100644 src/plugins/user/components/settings/RoleSettings.vue create mode 100644 src/plugins/user/permissions.ts diff --git a/.eslintrc.js b/.eslintrc.js index 7afec26..6224f77 100644 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -16,7 +16,7 @@ module.exports = { parser: '@typescript-eslint/parser', project: resolve(__dirname, './tsconfig.json'), tsconfigRootDir: __dirname, - ecmaVersion: 2018, // Allows for the parsing of modern ECMAScript features + ecmaVersion: 2019, // Allows for the parsing of modern ECMAScript features sourceType: 'module' // Allows for the use of imports }, diff --git a/.vscode/settings.json b/.vscode/settings.json index 5fb9ecd..8a8acde 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -11,5 +11,6 @@ "typescript.format.placeOpenBraceOnNewLineForControlBlocks": false, "typescript.format.placeOpenBraceOnNewLineForFunctions": false, "vetur.format.defaultFormatter.html": "js-beautify-html", - "vetur.format.defaultFormatter.js": "vscode-typescript" -} \ No newline at end of file + "vetur.format.defaultFormatter.js": "esbenp.prettier-vscode", + "typescript.tsdk": "node_modules/typescript/lib" +} diff --git a/src/flaschengeist.d.ts b/src/flaschengeist.d.ts index 8fc1a92..f394753 100644 --- a/src/flaschengeist.d.ts +++ b/src/flaschengeist.d.ts @@ -17,6 +17,7 @@ declare namespace FG { } type Permission = string; interface Role { + id: number; name: string; permissions: Array; } diff --git a/src/plugins/user/components/UserSelector.vue b/src/plugins/user/components/UserSelector.vue index 109d508..1965d0b 100644 --- a/src/plugins/user/components/UserSelector.vue +++ b/src/plugins/user/components/UserSelector.vue @@ -12,7 +12,7 @@ diff --git a/src/plugins/user/pages/AdminSettings.vue b/src/plugins/user/pages/AdminSettings.vue index 95461f2..1dffb96 100644 --- a/src/plugins/user/pages/AdminSettings.vue +++ b/src/plugins/user/pages/AdminSettings.vue @@ -17,20 +17,29 @@ +