Module: Descope::Api::V1::Management::Role

Includes:
Common
Included in:
Descope::Api::V1::Management
Defined in:
lib/descope/api/v1/management/role.rb

Overview

Management API calls

Constant Summary

Constants included from Common

Common::ACCESS_KEYS_SEARCH_PATH, Common::ACCESS_KEY_ACTIVATE_PATH, Common::ACCESS_KEY_CREATE_PATH, Common::ACCESS_KEY_DEACTIVATE_PATH, Common::ACCESS_KEY_DELETE_PATH, Common::ACCESS_KEY_LOAD_PATH, Common::ACCESS_KEY_UPDATE_PATH, Common::AUDIT_CREATE_EVENT, Common::AUDIT_SEARCH, Common::AUTHZ_NS_DELETE, Common::AUTHZ_NS_SAVE, Common::AUTHZ_RD_DELETE, Common::AUTHZ_RD_SAVE, Common::AUTHZ_RE_CREATE, Common::AUTHZ_RE_DELETE, Common::AUTHZ_RE_DELETE_RESOURCES, Common::AUTHZ_RE_HAS_RELATIONS, Common::AUTHZ_RE_RESOURCE, Common::AUTHZ_RE_TARGETS, Common::AUTHZ_RE_TARGET_ALL, Common::AUTHZ_RE_WHO, Common::AUTHZ_SCHEMA_DELETE, Common::AUTHZ_SCHEMA_LOAD, Common::AUTHZ_SCHEMA_SAVE, Common::FLOW_EXPORT_PATH, Common::FLOW_IMPORT_PATH, Common::FLOW_LIST_PATH, Common::GROUP_LOAD_ALL_FOR_MEMBER_PATH, Common::GROUP_LOAD_ALL_GROUP_MEMBERS_PATH, Common::GROUP_LOAD_ALL_PATH, Common::PASSWORD_SETTINGS_PATH, Common::PERMISSION_CREATE_PATH, Common::PERMISSION_DELETE_PATH, Common::PERMISSION_LOAD_ALL_PATH, Common::PERMISSION_UPDATE_PATH, Common::PROJECT_CLONE, Common::PROJECT_DELETE_PATH, Common::PROJECT_EXPORT_PATH, Common::PROJECT_IMPORT_PATH, Common::PROJECT_UPDATE_NAME, Common::ROLE_CREATE_PATH, Common::ROLE_DELETE_PATH, Common::ROLE_LOAD_ALL_PATH, Common::ROLE_SEARCH_PATH, Common::ROLE_UPDATE_PATH, Common::SCIM_GROUPS_PATH, Common::SCIM_RESOURCE_TYPES_PATH, Common::SCIM_SERVICE_PROVIDER_CONFIG_PATH, Common::SCIM_USERS_PATH, Common::SSO_APPLICATION_DELETE_PATH, Common::SSO_APPLICATION_LOAD_ALL_PATH, Common::SSO_APPLICATION_LOAD_PATH, Common::SSO_APPLICATION_OIDC_CREATE_PATH, Common::SSO_APPLICATION_OIDC_UPDATE_PATH, Common::SSO_APPLICATION_SAML_CREATE_PATH, Common::SSO_APPLICATION_SAML_UPDATE_PATH, Common::SSO_CONFIGURE_OIDC_SETTINGS_PATH, Common::SSO_CONFIGURE_SAML_METADATA_PATH, Common::SSO_CONFIGURE_SAML_SETTINGS_PATH, Common::SSO_LOAD_SETTINGS_PATH, Common::SSO_MAPPING_PATH, Common::SSO_METADATA_PATH, Common::SSO_OIDC_PATH, Common::SSO_SETTINGS_PATH, Common::TENANT_CREATE_PATH, Common::TENANT_DELETE_PATH, Common::TENANT_LOAD_ALL_PATH, Common::TENANT_LOAD_PATH, Common::TENANT_SEARCH_ALL_PATH, Common::TENANT_UPDATE_PATH, Common::TEST_USERS_SEARCH_PATH, Common::TEST_USER_CREATE_PATH, Common::THEME_EXPORT_PATH, Common::THEME_IMPORT_PATH, Common::UPDATE_JWT_PATH, Common::USERS_SEARCH_PATH, Common::USER_ADD_ROLE_PATH, Common::USER_ADD_TENANT_PATH, Common::USER_CREATE_BATCH_PATH, Common::USER_CREATE_PATH, Common::USER_DELETE_ALL_TEST_USERS_PATH, Common::USER_DELETE_PATH, Common::USER_EXPIRE_PASSWORD_PATH, Common::USER_GENERATE_EMBEDDED_LINK_PATH, Common::USER_GENERATE_ENCHANTED_LINK_FOR_TEST_PATH, Common::USER_GENERATE_MAGIC_LINK_FOR_TEST_PATH, Common::USER_GENERATE_OTP_FOR_TEST_PATH, Common::USER_GET_PROVIDER_TOKEN, Common::USER_LOAD_PATH, Common::USER_LOGOUT_PATH, Common::USER_PATCH_PATH, Common::USER_REMOVE_ROLE_PATH, Common::USER_REMOVE_TENANT_PATH, Common::USER_SEARCH_PATH, Common::USER_SET_ACTIVE_PASSWORD_PATH, Common::USER_SET_PASSWORD_PATH, Common::USER_SET_TEMPORARY_PASSWORD_PATH, Common::USER_UPDATE_CUSTOM_ATTRIBUTE_PATH, Common::USER_UPDATE_EMAIL_PATH, Common::USER_UPDATE_LOGIN_ID_PATH, Common::USER_UPDATE_NAME_PATH, Common::USER_UPDATE_PATH, Common::USER_UPDATE_PHONE_PATH, Common::USER_UPDATE_PICTURE_PATH, Common::USER_UPDATE_STATUS_PATH

Instance Method Summary collapse

Methods included from Common

#associated_tenants_to_hash_array

Instance Method Details

#create_role(name: nil, description: nil, permission_names: nil, tenant_id: nil) ⇒ Object



11
12
13
14
15
16
17
18
19
20
21
# File 'lib/descope/api/v1/management/role.rb', line 11

def create_role(name: nil, description: nil, permission_names: nil, tenant_id: nil)
  # Create a new role.
  permission_names ||= []
  request_params = {
    name:,
    description:,
    permissionNames: permission_names,
    tenantId: tenant_id
  }
  post(ROLE_CREATE_PATH, request_params)
end

#delete_role(name: nil, tenant_id: nil) ⇒ Object

Raises:

  • (Descope::ArgumentError)


37
38
39
40
41
42
43
44
# File 'lib/descope/api/v1/management/role.rb', line 37

def delete_role(name: nil, tenant_id: nil)
  # Delete an existing role. IMPORTANT: This action is irreversible. Use carefully.
  raise Descope::ArgumentError, 'name is required' if name.nil? || name.empty?

  request_params = { name: }
  request_params[:tenantId] = tenant_id if tenant_id
  post(ROLE_DELETE_PATH, request_params)
end

#load_all_rolesObject



46
47
48
49
# File 'lib/descope/api/v1/management/role.rb', line 46

def load_all_roles
  # Load all roles.
  get(ROLE_LOAD_ALL_PATH)
end

#search_roles(role_names: nil, tenant_ids: nil, role_name_like: nil, permission_names: nil) ⇒ Object



51
52
53
54
55
56
57
58
59
# File 'lib/descope/api/v1/management/role.rb', line 51

def search_roles(role_names: nil, tenant_ids: nil, role_name_like: nil, permission_names: nil)
  # Search for roles using the given parameters.
  request_params = {}
  request_params[:roleNames] = role_names if role_names
  request_params[:tenantIds] = tenant_ids if tenant_ids
  request_params[:roleNameLike] = role_name_like if role_name_like
  request_params[:permissionNames] = permission_names if permission_names
  post(ROLE_SEARCH_PATH, request_params)
end

#update_role(name: nil, new_name: nil, description: nil, permission_names: nil, tenant_id: nil) ⇒ Object



23
24
25
26
27
28
29
30
31
32
33
34
35
# File 'lib/descope/api/v1/management/role.rb', line 23

def update_role(name: nil, new_name: nil, description: nil, permission_names: nil, tenant_id: nil)
  # Update an existing role with the given various fields. IMPORTANT: All parameters are used as overrides
  # to the existing role. Empty fields will override populated fields. Use carefully.
  permission_names ||= []
  request_params = {
    name:,
    newName: new_name,
    description:,
    permissionNames: permission_names,
    tenantId: tenant_id
  }
  post(ROLE_UPDATE_PATH, request_params)
end