Skip to content
Snippets Groups Projects
UwRoles.php 29.90 KiB
<?php

namespace Drupal\uw_cfg_common\UwRoles;

use Drupal\user\Entity\Role;

/**
 * Class UwRoles.
 *
 * UW Specific roles permissions.
 */
class UwRoles {

  /**
   * Gets an array of data about a UW role.
   *
   * @param string $rid
   *   The role id.
   *
   * @return array
   *   An array of data for a UW role.
   */
  public static function getUwRole(string $rid): array {

    return [
      'label' => UwRoles::getUwRoleLabel($rid),
      'object' => Role::load($rid),
      'permissions' => UwRoles::getUwRolePermissions($rid),
    ];
  }

  /**
   * Gets the list of ids for UW roles.
   *
   * @return string[]
   *   An array of ids for the UW roles
   */
  public static function getUwRoleIds(): array {
    return [
      'uw_role_site_owner',
      'uw_role_site_manager',
      'uw_role_content_author',
      'uw_role_content_editor',
      'uw_role_form_editor',
      'uw_role_form_results_access',
    ];
  }

  /**
   * Get the role id for Drupal roles.
   *
   * @return array
   *   Array of role ids for Drupal roles.
   */
  public static function getDrupalRoleIds(): array {

    return [
      'anonymous',
      'authenticated',
    ];
  }

  /**
   * Gets the label for a UW role.
   *
   * @param string $rid
   *   The role id.
   *
   * @return string
   *   The label.
   */
  public static function getUwRoleLabel(string $rid): string {

    switch ($rid) {
      case 'uw_role_site_owner':
        return 'Site owner';

      case 'uw_role_site_manager':
        return 'Site manager';

      case 'uw_role_content_author':
        return 'Content Author';

      case 'uw_role_content_editor':
        return 'Content editor';

      case 'uw_role_form_editor':
        return 'Form editor';

      case 'uw_role_form_results_access':
        return 'Form results access';

      default:
        return '';
    }
  }

  /**
   * Get the set of permissions for a UW role.
   *
   * @param string $rid
   *   The role id.
   *
   * @return array|string[]
   *   The list of permissions for a UW role.
   */
  public static function getUwRolePermissions(string $rid): array {

    switch ($rid) {
      case 'uw_role_site_owner':
        return UwRoles::getUwSiteOwnerPermissions();

      case 'uw_role_site_manager':
        return UwRoles::getUwSiteManagerPermissions();

      case 'uw_role_content_author':
        return UwRoles::getUwContentAuthorPermissions();

      case 'uw_role_content_editor':
        return UwRoles::getUwContentEditorPermissions();

      case 'uw_role_form_editor':
        return UwRoles::getUwFormEditorPermissions();

      case 'uw_role_form_results_access':
        return UwRoles::getUwFormResultsAccessPermissions();

      case 'anonymous':
        return UwRoles::getAnonymousPermissions();

      case 'authenticated':
        return UwRoles::getAuthenticatedPermissions();

      default:
        return [];
    }
  }

  /**
   * Set the list of permissions inside the uw_role array.
   *
   * @param array $uw_role
   *   The uw_role array from function getRole.
   */
  public static function setUwPermissions(array $uw_role): void {

    foreach ($uw_role['permissions'] as $permission) {
      $uw_role['object']->grantPermission($permission);
    }

    $uw_role['object']->save();
  }

  /**
   * Gets the permissions for the site owner role.
   *
   * @return string[]
   *   Array of permissions for site owner.
   */
  public static function getUwSiteOwnerPermissions(): array {
    return [
      'access administration pages',
      'access content access form',
      'access content overview',
      'access contextual links',
      'access files overview',
      'access metatag advanced__image_src',
      'access metatag advanced__original_source',
      'access metatag advanced__robots',
      'access metatag basic__abstract',
      'access metatag basic__description',
      'access metatag basic__keywords',
      'access metatag open_graph__article_author',
      'access metatag open_graph__article_publisher',
      'access metatag open_graph__article_tag',
      'access metatag open_graph__og_description',
      'access metatag open_graph__og_image',
      'access metatag open_graph__og_image_alt',
      'access metatag open_graph__og_image_height',
      'access metatag open_graph__og_image_type',
      'access metatag open_graph__og_image_url',
      'access metatag open_graph__og_image_width',
      'access metatag open_graph__og_see_also',
      'access metatag open_graph__og_title',
      'access metatag twitter_cards__twitter_cards_creator',
      'access metatag twitter_cards__twitter_cards_creator_id',
      'access metatag twitter_cards__twitter_cards_description',
      'access metatag twitter_cards__twitter_cards_image',
      'access metatag twitter_cards__twitter_cards_image_alt',
      'access metatag twitter_cards__twitter_cards_image_height',
      'access metatag twitter_cards__twitter_cards_image_width',
      'access metatag twitter_cards__twitter_cards_title',
      'access metatag twitter_cards__twitter_cards_type',
      'access shortcuts',
      'access site reports',
      'access user profiles',
      'administer main menu items',
      'administer shortcuts',
      'administer universal analytics',
      'administer users',
      'administer uw-menu-audience-menu menu items',
      'assign roles',
      'can override my_dashboard dashboard',
      'can view my_dashboard dashboard',
      'create and edit custom blocks',
      'customize shortcut links',
      'edit users role expire',
      'enable disable ofis profiles',
    ];
  }

  /**
   * Gets the permissions for site manager role.
   *
   * @return string[]
   *   Array of permissions for the site manager role.
   */
  public static function getUwSiteManagerPermissions(): array {
    return [
      'access administration pages',
      'access content overview',
      'access contextual links',
      'access files overview',
      'access in-place editing',
      'access media overview',
      'access media_entity_browser entity browser pages',
      'access media_entity_browser_modal entity browser pages',
      'access metatag advanced__image_src',
      'access metatag advanced__original_source',
      'access metatag advanced__robots',
      'access metatag basic__abstract',
      'access metatag basic__description',
      'access metatag basic__keywords',
      'access metatag open_graph__article_author',
      'access metatag open_graph__article_publisher',
      'access metatag open_graph__article_tag',
      'access metatag open_graph__og_description',
      'access metatag open_graph__og_image',
      'access metatag open_graph__og_image_alt',
      'access metatag open_graph__og_image_height',
      'access metatag open_graph__og_image_type',
      'access metatag open_graph__og_image_url',
      'access metatag open_graph__og_image_width',
      'access metatag open_graph__og_see_also',
      'access metatag open_graph__og_title',
      'access metatag twitter_cards__twitter_cards_creator',
      'access metatag twitter_cards__twitter_cards_creator_id',
      'access metatag twitter_cards__twitter_cards_description',
      'access metatag twitter_cards__twitter_cards_image',
      'access metatag twitter_cards__twitter_cards_image_alt',
      'access metatag twitter_cards__twitter_cards_image_height',
      'access metatag twitter_cards__twitter_cards_image_width',
      'access metatag twitter_cards__twitter_cards_title',
      'access metatag twitter_cards__twitter_cards_type',
      'access shortcuts',
      'access taxonomy overview',
      'access user profiles',
      'access uw_ebr_cta entity browser pages',
      'access uw_ebr_image entity browser pages',
      'administer main menu items',
      'administer redirects',
      'administer special alert',
      'administer uw-menu-audience-menu menu items',
      'can override my_dashboard dashboard',
      'can view my_dashboard dashboard',
      'cancel smart date recur instances',
      'configure editable uw_ct_blog node layout overrides',
      'configure editable uw_ct_catalog_item node layout overrides',
      'configure editable uw_ct_contact node layout overrides',
      'configure editable uw_ct_event node layout overrides',
      'configure editable uw_ct_news_item node layout overrides',
      'configure editable uw_ct_profile node layout overrides',
      'configure editable uw_ct_sidebar node layout overrides',
      'configure editable uw_ct_site_footer node layout overrides',
      'configure editable uw_ct_web_page node layout overrides',
      'create and edit custom blocks',
      'create media',
      'create paragraph content uw_para_call_to_action',
      'create paragraph content uw_para_call_to_action_text',
      'create paragraph content uw_para_ec_item',
      'create paragraph content uw_para_fact_figure',
      'create paragraph content uw_para_fact_point',
      'create paragraph content uw_para_fact_text',
      'create paragraph content uw_para_facts_and_figures',
      'create paragraph content uw_para_ff',
      'create paragraph content uw_para_image_banner',
      'create paragraph content uw_para_local_video_banner',
      'create paragraph content uw_para_timeline',
      'create paragraph content uw_para_vimeo_video_banner',
      'create url aliases',
      'delete all revisions',
      'delete any media',
      'delete paragraph content uw_para_call_to_action',
      'delete paragraph content uw_para_call_to_action_text',
      'delete paragraph content uw_para_ec_item',
      'delete paragraph content uw_para_fact_figure',
      'delete paragraph content uw_para_fact_point',
      'delete paragraph content uw_para_fact_text',
      'delete paragraph content uw_para_facts_and_figures',
      'delete paragraph content uw_para_ff',
      'delete paragraph content uw_para_image_banner',
      'delete paragraph content uw_para_local_video_banner',
      'delete paragraph content uw_para_timeline',
      'delete paragraph content uw_para_vimeo_video_banner',
      'enter uw_ct_blog revision log entry',
      'enter uw_ct_catalog_item revision log entry',
      'enter uw_ct_contact revision log entry',
      'enter uw_ct_event revision log entry',
      'enter uw_ct_news_item revision log entry',
      'enter uw_ct_profile revision log entry',
      'enter uw_ct_web_page revision log entry',
      'make smart dates recur',
      'override uw_ct_blog promote to front page option',
      'override uw_ct_blog published option',
      'override uw_ct_blog revision option',
      'override uw_ct_blog sticky option',
      'override uw_ct_catalog_item published option',
      'override uw_ct_catalog_item revision option',
      'override uw_ct_contact published option',
      'override uw_ct_contact revision option',
      'override uw_ct_event promote to front page option',
      'override uw_ct_event published option',
      'override uw_ct_event revision option',
      'override uw_ct_event sticky option',
      'override uw_ct_news_item promote to front page option',
      'override uw_ct_news_item published option',
      'override uw_ct_news_item revision option',
      'override uw_ct_news_item sticky option',
      'override uw_ct_profile published option',
      'override uw_ct_profile revision option',
      'override uw_ct_web_page published option',
      'override uw_ct_web_page revision option',
      'rearrange contacts',
      'rearrange profiles',
      'reschedule smart date recur instances',
      'update any media',
      'update paragraph content uw_para_call_to_action',
      'update paragraph content uw_para_call_to_action_text',
      'update paragraph content uw_para_ec_item',
      'update paragraph content uw_para_fact_figure',
      'update paragraph content uw_para_fact_point',
      'update paragraph content uw_para_fact_text',
      'update paragraph content uw_para_facts_and_figures',
      'update paragraph content uw_para_ff',
      'update paragraph content uw_para_image_banner',
      'update paragraph content uw_para_local_video_banner',
      'update paragraph content uw_para_timeline',
      'update paragraph content uw_para_vimeo_video_banner',
      'use uw_workflow transition archived',
      'use uw_workflow transition draft',
      'use uw_workflow transition needs_review',
      'use uw_workflow transition published',
      'use workbench access',
      'view all media revisions',
      'view all revisions',
      'view any unpublished content',
      'view latest version',
      'view own unpublished content',
      'view own unpublished media',
      'view unpublished paragraphs',
    ];
  }

  /**
   * Gets the permissions for content author role.
   *
   * @return string[]
   *   Array of permissions for the content author role.
   */
  public static function getUwContentAuthorPermissions(): array {
    return [
      'access administration pages',
      'access content overview',
      'access contextual links',
      'access files overview',
      'access media overview',
      'access media_entity_browser entity browser pages',
      'access media_entity_browser_modal entity browser pages',
      'access metatag advanced__image_src',
      'access metatag advanced__original_source',
      'access metatag advanced__robots',
      'access metatag basic__abstract',
      'access metatag basic__description',
      'access metatag basic__keywords',
      'access metatag open_graph__article_author',
      'access metatag open_graph__article_publisher',
      'access metatag open_graph__article_tag',
      'access metatag open_graph__og_description',
      'access metatag open_graph__og_image',
      'access metatag open_graph__og_image_alt',
      'access metatag open_graph__og_image_height',
      'access metatag open_graph__og_image_type',
      'access metatag open_graph__og_image_url',
      'access metatag open_graph__og_image_width',
      'access metatag open_graph__og_see_also',
      'access metatag open_graph__og_title',
      'access metatag twitter_cards__twitter_cards_creator',
      'access metatag twitter_cards__twitter_cards_creator_id',
      'access metatag twitter_cards__twitter_cards_description',
      'access metatag twitter_cards__twitter_cards_image',
      'access metatag twitter_cards__twitter_cards_image_alt',
      'access metatag twitter_cards__twitter_cards_image_height',
      'access metatag twitter_cards__twitter_cards_image_width',
      'access metatag twitter_cards__twitter_cards_title',
      'access metatag twitter_cards__twitter_cards_type',
      'access shortcuts',
      'access taxonomy overview',
      'access user profiles',
      'administer main menu items',
      'administer uw-menu-audience-menu menu items',
      'can override my_dashboard dashboard',
      'can view my_dashboard dashboard',
      'cancel smart date recur instances',
      'configure editable uw_ct_blog node layout overrides',
      'configure editable uw_ct_catalog_item node layout overrides',
      'configure editable uw_ct_contact node layout overrides',
      'configure editable uw_ct_event node layout overrides',
      'configure editable uw_ct_news_item node layout overrides',
      'configure editable uw_ct_profile node layout overrides',
      'configure editable uw_ct_sidebar node layout overrides',
      'configure editable uw_ct_site_footer node layout overrides',
      'configure editable uw_ct_web_page node layout overrides',
      'create and edit custom blocks',
      'create media',
      'create paragraph content uw_para_call_to_action',
      'create paragraph content uw_para_call_to_action_text',
      'create paragraph content uw_para_ec_item',
      'create paragraph content uw_para_fact_figure',
      'create paragraph content uw_para_fact_point',
      'create paragraph content uw_para_fact_text',
      'create paragraph content uw_para_facts_and_figures',
      'create paragraph content uw_para_ff',
      'create paragraph content uw_para_image_banner',
      'create paragraph content uw_para_local_video_banner',
      'create paragraph content uw_para_timeline',
      'create paragraph content uw_para_vimeo_video_banner',
      'create url aliases',
      'delete paragraph content uw_para_call_to_action',
      'delete paragraph content uw_para_call_to_action_text',
      'delete paragraph content uw_para_ec_item',
      'delete paragraph content uw_para_fact_figure',
      'delete paragraph content uw_para_fact_point',
      'delete paragraph content uw_para_fact_text',
      'delete paragraph content uw_para_facts_and_figures',
      'delete paragraph content uw_para_ff',
      'delete paragraph content uw_para_image_banner',
      'delete paragraph content uw_para_local_video_banner',
      'delete paragraph content uw_para_timeline',
      'delete paragraph content uw_para_vimeo_video_banner',
      'enter uw_ct_blog revision log entry',
      'enter uw_ct_catalog_item revision log entry',
      'enter uw_ct_contact revision log entry',
      'enter uw_ct_event revision log entry',
      'enter uw_ct_news_item revision log entry',
      'enter uw_ct_profile revision log entry',
      'enter uw_ct_web_page revision log entry',
      'make smart dates recur',
      'override uw_ct_blog promote to front page option',
      'override uw_ct_blog published option',
      'override uw_ct_blog revision option',
      'override uw_ct_blog sticky option',
      'override uw_ct_catalog_item published option',
      'override uw_ct_catalog_item revision option',
      'override uw_ct_contact published option',
      'override uw_ct_contact revision option',
      'override uw_ct_event promote to front page option',
      'override uw_ct_event published option',
      'override uw_ct_event revision option',
      'override uw_ct_event sticky option',
      'override uw_ct_news_item promote to front page option',
      'override uw_ct_news_item published option',
      'override uw_ct_news_item revision option',
      'override uw_ct_news_item sticky option',
      'override uw_ct_profile published option',
      'override uw_ct_profile revision option',
      'override uw_ct_web_page published option',
      'override uw_ct_web_page revision option',
      'reschedule smart date recur instances',
      'update any media',
      'update paragraph content uw_para_call_to_action',
      'update paragraph content uw_para_call_to_action_text',
      'update paragraph content uw_para_ec_item',
      'update paragraph content uw_para_fact_figure',
      'update paragraph content uw_para_fact_point',
      'update paragraph content uw_para_fact_text',
      'update paragraph content uw_para_facts_and_figures',
      'update paragraph content uw_para_ff',
      'update paragraph content uw_para_image_banner',
      'update paragraph content uw_para_local_video_banner',
      'update paragraph content uw_para_timeline',
      'update paragraph content uw_para_vimeo_video_banner',
      'use uw_workflow transition needs_review',
      'use workbench access',
      'view all media revisions',
      'view all revisions',
      'view any unpublished content',
      'view latest version',
      'view own unpublished content',
      'view own unpublished media',
      'view unpublished paragraphs',
    ];
  }

  /**
   * Gets the permissions for content editor role.
   *
   * @return string[]
   *   Array of permissions for the content editor role.
   */
  public static function getUwContentEditorPermissions(): array {

    return [
      'access administration pages',
      'access content overview',
      'access contextual links',
      'access files overview',
      'access in-place editing',
      'access media overview',
      'access media_entity_browser entity browser pages',
      'access media_entity_browser_modal entity browser pages',
      'access metatag advanced__image_src',
      'access metatag advanced__original_source',
      'access metatag advanced__robots',
      'access metatag basic__abstract',
      'access metatag basic__description',
      'access metatag basic__keywords',
      'access metatag open_graph__article_author',
      'access metatag open_graph__article_publisher',
      'access metatag open_graph__article_tag',
      'access metatag open_graph__og_description',
      'access metatag open_graph__og_image',
      'access metatag open_graph__og_image_alt',
      'access metatag open_graph__og_image_height',
      'access metatag open_graph__og_image_type',
      'access metatag open_graph__og_image_url',
      'access metatag open_graph__og_image_width',
      'access metatag open_graph__og_see_also',
      'access metatag open_graph__og_title',
      'access metatag twitter_cards__twitter_cards_creator',
      'access metatag twitter_cards__twitter_cards_creator_id',
      'access metatag twitter_cards__twitter_cards_description',
      'access metatag twitter_cards__twitter_cards_image',
      'access metatag twitter_cards__twitter_cards_image_alt',
      'access metatag twitter_cards__twitter_cards_image_height',
      'access metatag twitter_cards__twitter_cards_image_width',
      'access metatag twitter_cards__twitter_cards_title',
      'access metatag twitter_cards__twitter_cards_type',
      'access shortcuts',
      'access taxonomy overview',
      'access user profiles',
      'administer main menu items',
      'administer uw-menu-audience-menu menu items',
      'can override my_dashboard dashboard',
      'can view my_dashboard dashboard',
      'cancel smart date recur instances',
      'configure editable uw_ct_blog node layout overrides',
      'configure editable uw_ct_catalog_item node layout overrides',
      'configure editable uw_ct_contact node layout overrides',
      'configure editable uw_ct_event node layout overrides',
      'configure editable uw_ct_news_item node layout overrides',
      'configure editable uw_ct_profile node layout overrides',
      'configure editable uw_ct_sidebar node layout overrides',
      'configure editable uw_ct_site_footer node layout overrides',
      'configure editable uw_ct_web_page node layout overrides',
      'create and edit custom blocks',
      'create media',
      'create paragraph content uw_para_call_to_action',
      'create paragraph content uw_para_call_to_action_text',
      'create paragraph content uw_para_ec_item',
      'create paragraph content uw_para_fact_figure',
      'create paragraph content uw_para_fact_point',
      'create paragraph content uw_para_fact_text',
      'create paragraph content uw_para_facts_and_figures',
      'create paragraph content uw_para_ff',
      'create paragraph content uw_para_image_banner',
      'create paragraph content uw_para_local_video_banner',
      'create paragraph content uw_para_timeline',
      'create paragraph content uw_para_vimeo_video_banner',
      'create url aliases',
      'enter uw_ct_blog revision log entry',
      'enter uw_ct_catalog_item revision log entry',
      'enter uw_ct_contact revision log entry',
      'enter uw_ct_event revision log entry',
      'enter uw_ct_news_item revision log entry',
      'enter uw_ct_profile revision log entry',
      'enter uw_ct_web_page revision log entry',
      'make smart dates recur',
      'override uw_ct_blog promote to front page option',
      'override uw_ct_blog published option',
      'override uw_ct_blog revision option',
      'override uw_ct_blog sticky option',
      'override uw_ct_catalog_item published option',
      'override uw_ct_catalog_item revision option',
      'override uw_ct_contact published option',
      'override uw_ct_contact revision option',
      'override uw_ct_event promote to front page option',
      'override uw_ct_event published option',
      'override uw_ct_event revision option',
      'override uw_ct_event sticky option',
      'override uw_ct_news_item promote to front page option',
      'override uw_ct_news_item published option',
      'override uw_ct_news_item revision option',
      'override uw_ct_news_item sticky option',
      'override uw_ct_profile published option',
      'override uw_ct_profile revision option',
      'override uw_ct_web_page published option',
      'override uw_ct_web_page revision option',
      'reschedule smart date recur instances',
      'update any media',
      'update paragraph content uw_para_call_to_action',
      'update paragraph content uw_para_call_to_action_text',
      'update paragraph content uw_para_ec_item',
      'update paragraph content uw_para_fact_figure',
      'update paragraph content uw_para_fact_point',
      'update paragraph content uw_para_fact_text',
      'update paragraph content uw_para_facts_and_figures',
      'update paragraph content uw_para_ff',
      'update paragraph content uw_para_image_banner',
      'update paragraph content uw_para_local_video_banner',
      'update paragraph content uw_para_timeline',
      'update paragraph content uw_para_vimeo_video_banner',
      'use uw_workflow transition archived',
      'use uw_workflow transition draft',
      'use uw_workflow transition needs_review',
      'use uw_workflow transition published',
      'use workbench access',
      'view all media revisions',
      'view all revisions',
      'view any unpublished content',
      'view latest version',
      'view own unpublished content',
      'view own unpublished media',
      'view unpublished paragraphs',
    ];
  }

  /**
   * Gets the permissions for form editor role.
   *
   * @return string[]
   *   Array of permissions for the form editor role.
   */
  public static function getUwFormEditorPermissions(): array {

    return [
      'access any webform configuration',
      'access metatag advanced__image_src',
      'access metatag advanced__original_source',
      'access metatag advanced__robots',
      'access metatag basic__abstract',
      'access metatag basic__description',
      'access metatag basic__keywords',
      'access metatag open_graph__article_author',
      'access metatag open_graph__article_publisher',
      'access metatag open_graph__article_tag',
      'access metatag open_graph__og_description',
      'access metatag open_graph__og_image',
      'access metatag open_graph__og_image_alt',
      'access metatag open_graph__og_image_height',
      'access metatag open_graph__og_image_type',
      'access metatag open_graph__og_image_url',
      'access metatag open_graph__og_image_width',
      'access metatag open_graph__og_see_also',
      'access metatag open_graph__og_title',
      'access metatag twitter_cards__twitter_cards_creator',
      'access metatag twitter_cards__twitter_cards_creator_id',
      'access metatag twitter_cards__twitter_cards_description',
      'access metatag twitter_cards__twitter_cards_image',
      'access metatag twitter_cards__twitter_cards_image_alt',
      'access metatag twitter_cards__twitter_cards_image_height',
      'access metatag twitter_cards__twitter_cards_image_width',
      'access metatag twitter_cards__twitter_cards_title',
      'access metatag twitter_cards__twitter_cards_type',
      'access own webform configuration',
      'access user profiles',
      'access webform overview',
      'access webform submission user',
      'administer webform',
      'can override my_dashboard dashboard',
      'can view my_dashboard dashboard',
      'create webform',
      'delete any webform',
      'delete own webform',
      'edit any webform',
      'edit own webform',
      'view own unpublished content',
    ];
  }

  /**
   * Gets the permissions for form results access role.
   *
   * @return string[]
   *   Array of permissions for the form results access role.
   */
  public static function getUwFormResultsAccessPermissions(): array {

    return [
      'access user profiles',
      'access webform overview',
      'access webform submission user',
      'can override my_dashboard dashboard',
      'can view my_dashboard dashboard',
      'delete any webform submission',
      'delete own webform submission',
      'view any webform submission',
      'view own webform submission',
    ];
  }

  /**
   * Gets the permissions for authenticated role.
   *
   * @return string[]
   *   Array of permissions for the authenticated role.
   */
  public static function getAuthenticatedPermissions(): array {

    return [
      'access comments',
      'access content',
      'access news feeds',
      'access toolbar',
      'bypass honeypot protection',
      'display eu cookie compliance popup',
      'skip CAPTCHA',
      'use text format uw_tf_basic',
      'use text format uw_tf_standard',
      'userprotect.account.edit',
      'userprotect.mail.edit',
      'userprotect.pass.edit',
      'view media',
      'view paragraph content uw_para_call_to_action',
      'view paragraph content uw_para_call_to_action_text',
      'view paragraph content uw_para_ec_item',
      'view paragraph content uw_para_fact_figure',
      'view paragraph content uw_para_fact_point',
      'view paragraph content uw_para_fact_text',
      'view paragraph content uw_para_facts_and_figures',
      'view paragraph content uw_para_ff',
      'view paragraph content uw_para_image_banner',
      'view paragraph content uw_para_local_video_banner',
      'view paragraph content uw_para_timeline',
      'view paragraph content uw_para_vimeo_video_banner',
      'view the administration theme',
    ];
  }

  /**
   * Gets the permissions for anonymous role.
   *
   * @return string[]
   *   Array of permissions for the anonymous role.
   */
  public static function getAnonymousPermissions(): array {
    return [
      'access comments',
      'access content',
      'access news feeds',
      'display eu cookie compliance popup',
      'restful get content_use_count_resource',
      'use text format uw_tf_basic',
      'view media',
      'view paragraph content uw_para_call_to_action',
      'view paragraph content uw_para_call_to_action_text',
      'view paragraph content uw_para_ec_item',
      'view paragraph content uw_para_fact_figure',
      'view paragraph content uw_para_fact_point',
      'view paragraph content uw_para_fact_text',
      'view paragraph content uw_para_facts_and_figures',
      'view paragraph content uw_para_ff',
      'view paragraph content uw_para_image_banner',
      'view paragraph content uw_para_local_video_banner',
      'view paragraph content uw_para_timeline',
      'view paragraph content uw_para_vimeo_video_banner',
    ];
  }

}