Module: Descope::Api::V1::Management::SCIM

Includes:
Common
Included in:
Descope::Api::V1::Management
Defined in:
lib/descope/api/v1/management/scim.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

#scim_create_group(group_id: nil, display_name: nil, members: nil, external_id: nil, excluded_attributes: nil) ⇒ Object



17
18
19
20
21
22
# File 'lib/descope/api/v1/management/scim.rb', line 17

def scim_create_group(group_id: nil, display_name: nil, members: nil, external_id: nil,
                      excluded_attributes: nil)
  # Create SCIM Group
  body = compose_scim_create_group_body(group_id, display_name, members, external_id, excluded_attributes)
  post(SCIM_GROUPS_PATH, body)
end

#scim_create_user(user_id: nil, display_name: nil, emails: nil, phone_numbers: nil, active: nil, name: nil, user_name: nil) ⇒ Object



70
71
72
73
74
75
76
# File 'lib/descope/api/v1/management/scim.rb', line 70

def scim_create_user(user_id: nil, display_name: nil, emails: nil,
                     phone_numbers: nil, active: nil, name: nil, user_name: nil)
  # Create SCIM User, using a valid access key.
  validate_user_id(user_id)
  body = compose_scim_create_user_body(user_id, display_name, emails, phone_numbers, active, name, user_name)
  post(SCIM_USERS_PATH, body)
end

#scim_delete_group(group_id) ⇒ Object



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

def scim_delete_group(group_id)
  # Delete SCIM Group, using a valid access key.
  validate_scim_group_id(group_id)
  url = "#{SCIM_GROUPS_PATH}/#{group_id}"
  delete(url)
end

#scim_delete_user(user_id) ⇒ Object



92
93
94
95
96
97
# File 'lib/descope/api/v1/management/scim.rb', line 92

def scim_delete_user(user_id)
  # Delete SCIM User, using a valid access key.
  validate_user_id(user_id)
  url = "#{SCIM_USERS_PATH}/#{user_id}"
  delete(url)
end

#scim_load_group(group_id: nil, display_name: nil, external_id: nil, excluded_attributes: nil) ⇒ Object



24
25
26
27
28
29
# File 'lib/descope/api/v1/management/scim.rb', line 24

def scim_load_group(group_id: nil, display_name: nil, external_id: nil, excluded_attributes: nil)
  # Load SCIM Group, using a valid access key.
  validate_scim_group_id(group_id)
  url = compose_scim_create_group_url(group_id, display_name, external_id, excluded_attributes)
  get(url)
end

#scim_load_resource_typesObject

SCIM Users



54
55
56
57
# File 'lib/descope/api/v1/management/scim.rb', line 54

def scim_load_resource_types
  # Load SCIM Resource Types, using a valid access key.
  get(SCIM_RESOURCE_TYPES_PATH)
end

#scim_load_service_provider_configObject



59
60
61
62
# File 'lib/descope/api/v1/management/scim.rb', line 59

def scim_load_service_provider_config
  # Load SCIM Service Provider Config, using a valid access key.
  get(SCIM_SERVICE_PROVIDER_CONFIG_PATH)
end

#scim_load_user(user_id) ⇒ Object



78
79
80
81
82
83
# File 'lib/descope/api/v1/management/scim.rb', line 78

def scim_load_user(user_id)
  # Load SCIM User, using a valid access key.
  validate_user_id(user_id)
  url = "#{SCIM_USERS_PATH}/#{user_id}"
  get(url)
end

#scim_patch_group(group_id: nil, user_id: nil, operations: nil) ⇒ Object



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

def scim_patch_group(group_id: nil, user_id: nil, operations: nil)
  # Patch SCIM Group, using a valid access key.
  validate_scim_group_id(group_id)
  url = compose_scim_patch_group_url(group_id, user_id, operations)
  patch(url)
end

#scim_patch_user(user_id: nil, group_id: nil, operations: nil) ⇒ Object



99
100
101
102
103
104
105
# File 'lib/descope/api/v1/management/scim.rb', line 99

def scim_patch_user(user_id: nil, group_id: nil, operations: nil)
  # Patch SCIM User, using a valid access key.
  validate_user_id(user_id)
  validate_scim_group_id(group_id)
  body = compose_scim_patch_user_body(user_id, group_id, operations)
  patch(SCIM_USERS_PATH, body)
end

#scim_search_groups(filter: nil, start_index: nil, count: nil, excluded_attributes: nil) ⇒ Object



11
12
13
14
15
# File 'lib/descope/api/v1/management/scim.rb', line 11

def scim_search_groups(filter: nil, start_index: nil, count: nil, excluded_attributes: nil)
  # Search SCIM Groups
  url = compose_scim_search_groups_url(filter, start_index, count, excluded_attributes)
  get(url)
end

#scim_search_users(filter: nil, start_index: nil, count: nil) ⇒ Object



64
65
66
67
68
# File 'lib/descope/api/v1/management/scim.rb', line 64

def scim_search_users(filter: nil, start_index: nil, count: nil)
  # Search SCIM Users, using a valid access key.
  url = compose_scim_search_users_url(filter, start_index, count)
  get(url)
end

#scim_update_group(group_id: nil, display_name: nil, members: nil, external_id: nil, excluded_attributes: nil) ⇒ Object



31
32
33
34
35
36
37
# File 'lib/descope/api/v1/management/scim.rb', line 31

def scim_update_group(group_id: nil, display_name: nil, members: nil, external_id: nil,
                      excluded_attributes: nil)
  # Update SCIM Group, using a valid access key.
  validate_scim_group_id(group_id)
  body = compose_scim_update_group_body(group_id, display_name, members, external_id, excluded_attributes)
  patch("#{SCIM_GROUPS_PATH}/#{group_id}", body)
end

#scim_update_user(user_id) ⇒ Object



85
86
87
88
89
90
# File 'lib/descope/api/v1/management/scim.rb', line 85

def scim_update_user(user_id)
  # Update SCIM User, using a valid access key.
  validate_user_id(user_id)
  url = "#{SCIM_USERS_PATH}/#{user_id}"
  patch(url)
end