From 436615f84a0b0acf33fcdb4c43599209dde4cbc2 Mon Sep 17 00:00:00 2001 From: Bachir Soussi Chiadmi Date: Thu, 16 May 2019 18:01:00 +0200 Subject: [PATCH] created materio_jsonapi custom module --- .../materio_jsonapi/materio_jsonapi.info.yml | 7 +++++ .../materio_jsonapi/materio_jsonapi.module | 30 +++++++++++++++++++ .../materio_jsonapi.permissions.yml | 9 ++++++ 3 files changed, 46 insertions(+) create mode 100644 web/modules/custom/materio_jsonapi/materio_jsonapi.info.yml create mode 100644 web/modules/custom/materio_jsonapi/materio_jsonapi.module create mode 100644 web/modules/custom/materio_jsonapi/materio_jsonapi.permissions.yml diff --git a/web/modules/custom/materio_jsonapi/materio_jsonapi.info.yml b/web/modules/custom/materio_jsonapi/materio_jsonapi.info.yml new file mode 100644 index 0000000..cd96632 --- /dev/null +++ b/web/modules/custom/materio_jsonapi/materio_jsonapi.info.yml @@ -0,0 +1,7 @@ +name: Materio JsonAPI +type: module +description: Defines custom behaviours to jsonapi. +core: 8.x +package: Materio +dependencies: + - drupal:jsonapi diff --git a/web/modules/custom/materio_jsonapi/materio_jsonapi.module b/web/modules/custom/materio_jsonapi/materio_jsonapi.module new file mode 100644 index 0000000..15f9495 --- /dev/null +++ b/web/modules/custom/materio_jsonapi/materio_jsonapi.module @@ -0,0 +1,30 @@ +getName(); + if ($field == 'roles' && $context['operation'] == 'view') { + $grants[':default'] = AccessResult::allowedIfHasPermission($context['account'], 'view role info'); + } +} diff --git a/web/modules/custom/materio_jsonapi/materio_jsonapi.permissions.yml b/web/modules/custom/materio_jsonapi/materio_jsonapi.permissions.yml new file mode 100644 index 0000000..87747fb --- /dev/null +++ b/web/modules/custom/materio_jsonapi/materio_jsonapi.permissions.yml @@ -0,0 +1,9 @@ +materio_jsonapi roles: + title: 'view role info' + description: 'View any role info in jsonapi.' + restrict access: true + +materio_jsonapi ownroles: + title: 'view own role info' + description: 'View own role info in jsonapi.' + restrict access: true