diff --git a/src/html/pages/api/contacts/call.js b/src/html/pages/api/contacts/call.js index d899d5f..0944d0c 100644 --- a/src/html/pages/api/contacts/call.js +++ b/src/html/pages/api/contacts/call.js @@ -3,7 +3,7 @@ import { permissionBits } from "../../../../../utils/permissions.js"; export default { path: "/api/call/:phone", requiresLogin: true, - permissions: permissionBits.ADMIN, + permissions: permissionBits.CALL, type: "post", async execute(request, response) { const { phone } = request.params; diff --git a/src/html/pages/api/contacts/create.js b/src/html/pages/api/contacts/create.js index 4946222..de95a9f 100644 --- a/src/html/pages/api/contacts/create.js +++ b/src/html/pages/api/contacts/create.js @@ -3,7 +3,7 @@ import { permissionBits } from "../../../../../utils/permissions.js"; export default { path: "/api/contacts/:phone", requiresLogin: true, - permissions: permissionBits.ADMIN, + permissions: permissionBits.CONTACTS, type: "post", async execute(request, response) { const { phone } = request.params; diff --git a/src/html/pages/api/contacts/delete.js b/src/html/pages/api/contacts/delete.js index 620ee7b..3213f60 100644 --- a/src/html/pages/api/contacts/delete.js +++ b/src/html/pages/api/contacts/delete.js @@ -3,7 +3,7 @@ import { permissionBits } from "../../../../../utils/permissions.js"; export default { path: "/api/contacts/:phone", requiresLogin: true, - permissions: permissionBits.ADMIN, + permissions: permissionBits.CONTACTS, type: "delete", async execute(request, response) { const { phone } = request.params; diff --git a/src/html/pages/api/users/create.js b/src/html/pages/api/users/create.js index a6fde69..8169101 100644 --- a/src/html/pages/api/users/create.js +++ b/src/html/pages/api/users/create.js @@ -3,7 +3,7 @@ import { permissionBits } from "../../../../../utils/permissions.js"; export default { path: "/api/users/:username", requiresLogin: true, - permissions: permissionBits.ADMIN, + permissions: permissionBits.USERS | permissionBits.ADMIN, type: "post", async execute(request, response) { const { username } = request.params; diff --git a/src/html/pages/api/users/delete.js b/src/html/pages/api/users/delete.js index 78406b9..1724edb 100644 --- a/src/html/pages/api/users/delete.js +++ b/src/html/pages/api/users/delete.js @@ -3,7 +3,7 @@ import { permissionBits } from "../../../../../utils/permissions.js"; export default { path: "/api/users/:username", requiresLogin: true, - permissions: permissionBits.ADMIN, + permissions: permissionBits.USERS | permissionBits.ADMIN, type: "delete", async execute(request, response) { const { username } = request.params; diff --git a/src/html/pages/api/users/get.js b/src/html/pages/api/users/get.js index 1ead8b9..ac5dea2 100644 --- a/src/html/pages/api/users/get.js +++ b/src/html/pages/api/users/get.js @@ -3,7 +3,7 @@ import { permissionBits } from "../../../../../utils/permissions.js"; export default { path: "/api/users/:username", requiresLogin: true, - permissions: permissionBits.ADMIN, + permissions: permissionBits.DEFAULT, type: "get", async execute(request, response) { const { username } = request.params; diff --git a/src/html/pages/dashboard/contacts/create.js b/src/html/pages/dashboard/contacts/create.js index c7380cf..9673877 100644 --- a/src/html/pages/dashboard/contacts/create.js +++ b/src/html/pages/dashboard/contacts/create.js @@ -5,7 +5,7 @@ import { permissionBits } from "../../../../../utils/permissions.js"; export default { path: "/dashboard/contacts/create", requiresLogin: true, - permissions: permissionBits.ADMIN, + permissions: permissionBits.CONTACTS | permissionBits.ADMIN, type: "get", async execute(request, response, args) { let res = await readFile( diff --git a/src/html/pages/dashboard/contacts/index.js b/src/html/pages/dashboard/contacts/index.js index 92ff1c4..0b2493c 100644 --- a/src/html/pages/dashboard/contacts/index.js +++ b/src/html/pages/dashboard/contacts/index.js @@ -5,7 +5,7 @@ import { navbar } from '../../../../../utils/navbar.js'; export default { path: "/dashboard/contacts", requiresLogin: true, - permissions: permissionBits.ADMIN, + permissions: permissionBits.CONTACTS | permissionBits.ADMIN, type: "get", async execute(request, response) { const html = await readFile(`${process.env.WWW}/dashboard/contacts/index.html`); diff --git a/src/html/pages/dashboard/contacts/list.js b/src/html/pages/dashboard/contacts/list.js index b8276a3..f10310e 100644 --- a/src/html/pages/dashboard/contacts/list.js +++ b/src/html/pages/dashboard/contacts/list.js @@ -5,7 +5,7 @@ import { permissionBits, checkPermissions } from '../../../../../utils/permissio export default { path: "/dashboard/contacts/list", requiresLogin: true, - permissions: permissionBits.ADMIN, + permissions: permissionBits.CONTACTS | permissionBits.ADMIN, type: "get", async execute(request, response) { const contactList = await global.database.contacts.findAll(); diff --git a/src/html/pages/dashboard/users/create.js b/src/html/pages/dashboard/users/create.js index bd7aee2..43edc87 100644 --- a/src/html/pages/dashboard/users/create.js +++ b/src/html/pages/dashboard/users/create.js @@ -5,7 +5,7 @@ import { permissionBits } from "../../../../../utils/permissions.js"; export default { path: "/dashboard/users/create", requiresLogin: true, - permissions: permissionBits.ADMIN, + permissions: permissionBits.USERS | permissionBits.ADMIN, type: "get", async execute(request, response, args) { let res = await readFile( diff --git a/src/html/pages/dashboard/users/index.js b/src/html/pages/dashboard/users/index.js index e0ae87e..1dd8c1a 100644 --- a/src/html/pages/dashboard/users/index.js +++ b/src/html/pages/dashboard/users/index.js @@ -5,7 +5,7 @@ import { navbar } from '../../../../../utils/navbar.js'; export default { path: "/dashboard/users", requiresLogin: true, - permissions: permissionBits.ADMIN, + permissions: permissionBits.USERS | permissionBits.ADMIN, type: "get", async execute(request, response) { const html = await readFile(`${process.env.WWW}/dashboard/users/index.html`); diff --git a/src/html/pages/dashboard/users/list.js b/src/html/pages/dashboard/users/list.js index 4cc4aed..3759206 100644 --- a/src/html/pages/dashboard/users/list.js +++ b/src/html/pages/dashboard/users/list.js @@ -5,7 +5,7 @@ import { permissionBits, checkPermissions } from '../../../../../utils/permissio export default { path: "/dashboard/users/list", requiresLogin: true, - permissions: permissionBits.ADMIN, + permissions: permissionBits.USERS | permissionBits.ADMIN, type: "get", async execute(request, response) { const userList = await global.database.users.findAll(); diff --git a/src/html/pages/dashboard/users/show.js b/src/html/pages/dashboard/users/show.js index d8232f8..9097902 100644 --- a/src/html/pages/dashboard/users/show.js +++ b/src/html/pages/dashboard/users/show.js @@ -8,7 +8,7 @@ import { navbar } from "../../../../../utils/navbar.js"; export default { path: "/dashboard/users/:username", requiresLogin: true, - permissions: permissionBits.ADMIN, + permissions: permissionBits.USERS | permissionBits.ADMIN, type: "get", async execute(request, response) { const { username } = request.params; diff --git a/utils/permissions.js b/utils/permissions.js index a8a37c9..dfe4411 100644 --- a/utils/permissions.js +++ b/utils/permissions.js @@ -1,8 +1,9 @@ const permissionBits = { - DEFAULT: 1, // 0001 - CALL: 2, // 0010 - UNUSED: 4, // 0100 - ADMIN: 8, // 1000 + DEFAULT: 1, // 00001 + CALL: 2, // 00010 + USERS: 4, // 00100 + ADMIN: 8, // 01000 + CONTACTS: 16, // 10000 } function checkPermissions(userPermissionBits) { @@ -10,8 +11,9 @@ function checkPermissions(userPermissionBits) { let permissions = { default: false, call: false, - unused: false, + users: false, admin: false, + contacts: false, } if(userPermissionBits & permissionBits.DEFAULT) { @@ -20,12 +22,15 @@ function checkPermissions(userPermissionBits) { if(userPermissionBits & permissionBits.CALL) { permissions.call = true; } - if(userPermissionBits & permissionBits.UNUSED) { - permissions.unused = true; + if(userPermissionBits & permissionBits.USERS) { + permissions.users = true; } if(userPermissionBits & permissionBits.ADMIN) { permissions.admin = true; } + if(userPermissionBits & permissionBits.CONTACTS) { + permissions.contacts = true; + } return permissions; } /* diff --git a/www/dashboard/contacts/create.html b/www/dashboard/contacts/create.html index b4eadd7..f1e2c99 100644 --- a/www/dashboard/contacts/create.html +++ b/www/dashboard/contacts/create.html @@ -104,7 +104,7 @@ a {
-

Création de compte

+

Création de contact

Formulaire d'ajout de contact.


diff --git a/www/dashboard/users/create.html b/www/dashboard/users/create.html index fa308ef..9f4599c 100644 --- a/www/dashboard/users/create.html +++ b/www/dashboard/users/create.html @@ -126,10 +126,14 @@ a { - + +