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 00000000..cd966328 --- /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 00000000..15f94954 --- /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 00000000..87747fbf --- /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