clerk-sdk-ruby 8.0.0 → 8.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (243) hide show
  1. checksums.yaml +4 -4
  2. data/lib/clerk/actortokens.rb +1 -1
  3. data/lib/clerk/billing.rb +336 -0
  4. data/lib/clerk/directories.rb +1534 -0
  5. data/lib/clerk/domains.rb +7 -4
  6. data/lib/clerk/models/components/amount_off.rb +44 -0
  7. data/lib/clerk/models/components/amount_off.rbi +19 -0
  8. data/lib/clerk/models/components/applycommercediscountrequest.rb +32 -0
  9. data/lib/clerk/models/components/applycommercediscountrequest.rbi +13 -0
  10. data/lib/clerk/models/components/automation_disposition.rb +21 -0
  11. data/lib/clerk/models/components/automation_disposition.rbi +11 -0
  12. data/lib/clerk/models/components/billingstatement.rb +1 -1
  13. data/lib/clerk/models/components/{group.rb → billingstatement_group.rb} +1 -1
  14. data/lib/clerk/models/components/{group.rbi → billingstatement_group.rbi} +2 -2
  15. data/lib/clerk/models/components/biometriccredential.rb +72 -0
  16. data/lib/clerk/models/components/biometriccredential.rbi +33 -0
  17. data/lib/clerk/models/components/biometriccredential_algorithm.rb +19 -0
  18. data/lib/clerk/models/components/biometriccredential_algorithm.rbi +11 -0
  19. data/lib/clerk/models/components/biometriccredential_list.rb +36 -0
  20. data/lib/clerk/models/components/biometriccredential_list.rbi +15 -0
  21. data/lib/clerk/models/components/biometriccredential_object.rb +19 -0
  22. data/lib/clerk/models/components/biometriccredential_object.rbi +11 -0
  23. data/lib/clerk/models/components/biometriccredential_platform.rb +20 -0
  24. data/lib/clerk/models/components/biometriccredential_platform.rbi +11 -0
  25. data/lib/clerk/models/components/biometriccredential_status.rb +20 -0
  26. data/lib/clerk/models/components/biometriccredential_status.rbi +11 -0
  27. data/lib/clerk/models/components/commercediscountredemptionresponse.rb +93 -0
  28. data/lib/clerk/models/components/commercediscountredemptionresponse.rbi +43 -0
  29. data/lib/clerk/models/components/commercediscountredemptionresponse_amount.rb +45 -0
  30. data/lib/clerk/models/components/commercediscountredemptionresponse_amount.rbi +19 -0
  31. data/lib/clerk/models/components/commercediscountredemptionresponse_object.rb +19 -0
  32. data/lib/clerk/models/components/commercediscountredemptionresponse_object.rbi +11 -0
  33. data/lib/clerk/models/components/commercediscountredemptionresponse_status.rb +21 -0
  34. data/lib/clerk/models/components/commercediscountredemptionresponse_status.rbi +11 -0
  35. data/lib/clerk/models/components/createbillingpricerequest.rb +2 -2
  36. data/lib/clerk/models/components/directory.rb +80 -0
  37. data/lib/clerk/models/components/directory.rbi +37 -0
  38. data/lib/clerk/models/components/directory_custom_attribute.rb +52 -0
  39. data/lib/clerk/models/components/directory_custom_attribute.rbi +23 -0
  40. data/lib/clerk/models/components/directory_group.rb +36 -0
  41. data/lib/clerk/models/components/directory_group.rbi +15 -0
  42. data/lib/clerk/models/components/directory_list.rb +36 -0
  43. data/lib/clerk/models/components/directory_list.rbi +15 -0
  44. data/lib/clerk/models/components/directory_object.rb +19 -0
  45. data/lib/clerk/models/components/directory_object.rbi +11 -0
  46. data/lib/clerk/models/components/directorygrouprolemapping.rb +76 -0
  47. data/lib/clerk/models/components/directorygrouprolemapping.rbi +35 -0
  48. data/lib/clerk/models/components/directorygrouprolemapping_deleted.rb +43 -0
  49. data/lib/clerk/models/components/directorygrouprolemapping_deleted.rbi +17 -0
  50. data/lib/clerk/models/components/directorygrouprolemapping_deleted_object.rb +19 -0
  51. data/lib/clerk/models/components/directorygrouprolemapping_deleted_object.rbi +11 -0
  52. data/lib/clerk/models/components/directorygrouprolemapping_list.rb +36 -0
  53. data/lib/clerk/models/components/directorygrouprolemapping_list.rbi +15 -0
  54. data/lib/clerk/models/components/directorygrouprolemapping_object.rb +19 -0
  55. data/lib/clerk/models/components/directorygrouprolemapping_object.rbi +11 -0
  56. data/lib/clerk/models/components/dnstarget.rb +49 -0
  57. data/lib/clerk/models/components/dnstarget.rbi +21 -0
  58. data/lib/clerk/models/components/domain.rb +7 -2
  59. data/lib/clerk/models/components/domain.rbi +2 -0
  60. data/lib/clerk/models/components/effect.rb +20 -0
  61. data/lib/clerk/models/components/{platform.rbi → effect.rbi} +2 -2
  62. data/lib/clerk/models/components/enterpriseconnection_custom_attribute.rb +5 -1
  63. data/lib/clerk/models/components/enterpriseconnection_custom_attribute.rbi +2 -0
  64. data/lib/clerk/models/components/instance.rb +13 -1
  65. data/lib/clerk/models/components/instance.rbi +6 -0
  66. data/lib/clerk/models/components/instanceprotect.rb +10 -2
  67. data/lib/clerk/models/components/instanceprotect.rbi +4 -0
  68. data/lib/clerk/models/components/instancesettings.rb +1 -1
  69. data/lib/clerk/models/components/level.rb +21 -0
  70. data/lib/clerk/models/components/{algorithm.rbi → level.rbi} +2 -2
  71. data/lib/clerk/models/components/oauthapplication.rb +7 -2
  72. data/lib/clerk/models/components/oauthapplication.rbi +2 -0
  73. data/lib/clerk/models/components/oauthapplicationsettings.rb +11 -2
  74. data/lib/clerk/models/components/oauthapplicationsettings.rbi +4 -0
  75. data/lib/clerk/models/components/oauthapplicationwithsecret.rb +7 -2
  76. data/lib/clerk/models/components/oauthapplicationwithsecret.rbi +2 -0
  77. data/lib/clerk/models/components/organization.rb +6 -1
  78. data/lib/clerk/models/components/organization.rbi +2 -0
  79. data/lib/clerk/models/components/organizationmembership_organization.rb +6 -1
  80. data/lib/clerk/models/components/organizationmembership_organization.rbi +2 -0
  81. data/lib/clerk/models/components/organizationwithlogo.rb +6 -1
  82. data/lib/clerk/models/components/organizationwithlogo.rbi +2 -0
  83. data/lib/clerk/models/components/record_type.rb +20 -0
  84. data/lib/clerk/models/components/record_type.rbi +11 -0
  85. data/lib/clerk/models/components/reverification.rb +74 -0
  86. data/lib/clerk/models/components/reverification.rbi +31 -0
  87. data/lib/clerk/models/components/reverification_object.rb +20 -0
  88. data/lib/clerk/models/components/reverification_object.rbi +11 -0
  89. data/lib/clerk/models/components/reverification_status.rb +21 -0
  90. data/lib/clerk/models/components/reverification_status.rbi +11 -0
  91. data/lib/clerk/models/components/scim_group.rb +36 -0
  92. data/lib/clerk/models/components/scim_group.rbi +15 -0
  93. data/lib/clerk/models/components/scimdirectory.rb +8 -8
  94. data/lib/clerk/models/components/scimdirectory_custom_attribute.rb +5 -1
  95. data/lib/clerk/models/components/scimdirectory_custom_attribute.rbi +2 -0
  96. data/lib/clerk/models/components/scimdirectory_list.rb +2 -2
  97. data/lib/clerk/models/components/scimgrouprolemapping.rb +14 -2
  98. data/lib/clerk/models/components/scimgrouprolemapping.rbi +6 -0
  99. data/lib/clerk/models/components/scimusermetadata.rb +64 -0
  100. data/lib/clerk/models/components/scimusermetadata.rbi +27 -0
  101. data/lib/clerk/models/components/scimusermetadata_group.rb +36 -0
  102. data/lib/clerk/models/components/scimusermetadata_group.rbi +15 -0
  103. data/lib/clerk/models/components/source.rb +21 -0
  104. data/lib/clerk/models/components/source.rbi +11 -0
  105. data/lib/clerk/models/components/trusteddevice.rb +2 -2
  106. data/lib/clerk/models/components/{algorithm.rb → trusteddevice_algorithm.rb} +1 -1
  107. data/lib/clerk/models/components/trusteddevice_algorithm.rbi +11 -0
  108. data/lib/clerk/models/components/{platform.rb → trusteddevice_platform.rb} +1 -1
  109. data/lib/clerk/models/components/trusteddevice_platform.rbi +11 -0
  110. data/lib/clerk/models/components/user.rb +16 -3
  111. data/lib/clerk/models/components/user.rbi +4 -0
  112. data/lib/clerk/models/components/user_directory.rb +65 -0
  113. data/lib/clerk/models/components/user_directory.rbi +27 -0
  114. data/lib/clerk/models/components/user_scim.rb +27 -6
  115. data/lib/clerk/models/components/user_scim.rbi +10 -0
  116. data/lib/clerk/models/components.rb +38 -3
  117. data/lib/clerk/models/operations/adddomain_request.rb +3 -6
  118. data/lib/clerk/models/operations/applybillingsubscriptionitemdiscount_request.rb +36 -0
  119. data/lib/clerk/models/operations/applybillingsubscriptionitemdiscount_request.rbi +15 -0
  120. data/lib/clerk/models/operations/applybillingsubscriptionitemdiscount_response.rb +44 -0
  121. data/lib/clerk/models/operations/applybillingsubscriptionitemdiscount_response.rbi +19 -0
  122. data/lib/clerk/models/operations/clerkidpoauthaccesstoken.rb +5 -1
  123. data/lib/clerk/models/operations/clerkidpoauthaccesstoken.rbi +2 -0
  124. data/lib/clerk/models/operations/createdirectory_group_role_mapping.rb +52 -0
  125. data/lib/clerk/models/operations/createdirectory_group_role_mapping.rbi +23 -0
  126. data/lib/clerk/models/operations/createdirectory_request.rb +44 -0
  127. data/lib/clerk/models/operations/createdirectory_request.rbi +19 -0
  128. data/lib/clerk/models/operations/createdirectory_response.rb +44 -0
  129. data/lib/clerk/models/operations/createdirectory_response.rbi +19 -0
  130. data/lib/clerk/models/operations/createdirectorygrouprolemapping_request.rb +36 -0
  131. data/lib/clerk/models/operations/createdirectorygrouprolemapping_request.rbi +15 -0
  132. data/lib/clerk/models/operations/createdirectorygrouprolemapping_requestbody.rb +46 -0
  133. data/lib/clerk/models/operations/createdirectorygrouprolemapping_requestbody.rbi +19 -0
  134. data/lib/clerk/models/operations/createdirectorygrouprolemapping_response.rb +44 -0
  135. data/lib/clerk/models/operations/createdirectorygrouprolemapping_response.rbi +19 -0
  136. data/lib/clerk/models/operations/createenterpriseconnection_custom_attribute.rb +5 -1
  137. data/lib/clerk/models/operations/createenterpriseconnection_custom_attribute.rbi +2 -0
  138. data/lib/clerk/models/operations/createoauthapplication_request.rb +6 -2
  139. data/lib/clerk/models/operations/createoauthapplication_request.rbi +2 -0
  140. data/lib/clerk/models/operations/{group_role_mapping.rb → createscimdirectory_group_role_mapping.rb} +1 -1
  141. data/lib/clerk/models/operations/{group_role_mapping.rbi → createscimdirectory_group_role_mapping.rbi} +2 -2
  142. data/lib/clerk/models/operations/createscimdirectory_request.rb +4 -4
  143. data/lib/clerk/models/operations/createscimdirectory_response.rb +1 -1
  144. data/lib/clerk/models/operations/createscimgrouprolemapping_request.rb +1 -1
  145. data/lib/clerk/models/operations/createuser_request.rb +8 -2
  146. data/lib/clerk/models/operations/createuser_request.rbi +2 -0
  147. data/lib/clerk/models/operations/deletedirectory_request.rb +32 -0
  148. data/lib/clerk/models/operations/deletedirectory_request.rbi +13 -0
  149. data/lib/clerk/models/operations/deletedirectory_response.rb +44 -0
  150. data/lib/clerk/models/operations/deletedirectory_response.rbi +19 -0
  151. data/lib/clerk/models/operations/deletedirectorygrouprolemapping_request.rb +36 -0
  152. data/lib/clerk/models/operations/deletedirectorygrouprolemapping_request.rbi +15 -0
  153. data/lib/clerk/models/operations/deletedirectorygrouprolemapping_response.rb +44 -0
  154. data/lib/clerk/models/operations/deletedirectorygrouprolemapping_response.rbi +19 -0
  155. data/lib/clerk/models/operations/deletedomain_request.rb +1 -1
  156. data/lib/clerk/models/operations/deletescimdirectory_request.rb +1 -1
  157. data/lib/clerk/models/operations/deletescimgrouprolemapping_request.rb +1 -1
  158. data/lib/clerk/models/operations/getdirectory_request.rb +32 -0
  159. data/lib/clerk/models/operations/getdirectory_request.rbi +13 -0
  160. data/lib/clerk/models/operations/getdirectory_response.rb +44 -0
  161. data/lib/clerk/models/operations/getdirectory_response.rbi +19 -0
  162. data/lib/clerk/models/operations/getreverification_request.rb +36 -0
  163. data/lib/clerk/models/operations/getreverification_request.rbi +15 -0
  164. data/lib/clerk/models/operations/getreverification_response.rb +44 -0
  165. data/lib/clerk/models/operations/getreverification_response.rbi +19 -0
  166. data/lib/clerk/models/operations/getscimdirectory_request.rb +1 -1
  167. data/lib/clerk/models/operations/getscimdirectory_response.rb +1 -1
  168. data/lib/clerk/models/operations/getuserlist_request.rb +13 -1
  169. data/lib/clerk/models/operations/getuserlist_request.rbi +2 -0
  170. data/lib/clerk/models/operations/listdirectories_request.rb +39 -0
  171. data/lib/clerk/models/operations/listdirectories_request.rbi +15 -0
  172. data/lib/clerk/models/operations/listdirectories_response.rb +44 -0
  173. data/lib/clerk/models/operations/listdirectories_response.rbi +19 -0
  174. data/lib/clerk/models/operations/listdirectorygrouprolemappings_request.rb +32 -0
  175. data/lib/clerk/models/operations/listdirectorygrouprolemappings_request.rbi +13 -0
  176. data/lib/clerk/models/operations/listdirectorygrouprolemappings_response.rb +44 -0
  177. data/lib/clerk/models/operations/listdirectorygrouprolemappings_response.rbi +19 -0
  178. data/lib/clerk/models/operations/listoauthapplications_request.rb +2 -0
  179. data/lib/clerk/models/operations/listscimdirectories_response.rb +1 -1
  180. data/lib/clerk/models/operations/listscimgrouprolemappings_request.rb +1 -1
  181. data/lib/clerk/models/operations/listuserbiometriccredentials_request.rb +32 -0
  182. data/lib/clerk/models/operations/listuserbiometriccredentials_request.rbi +13 -0
  183. data/lib/clerk/models/operations/listuserbiometriccredentials_response.rb +44 -0
  184. data/lib/clerk/models/operations/listuserbiometriccredentials_response.rbi +19 -0
  185. data/lib/clerk/models/operations/removebillingsubscriptionitemdiscount_request.rb +36 -0
  186. data/lib/clerk/models/operations/removebillingsubscriptionitemdiscount_request.rbi +15 -0
  187. data/lib/clerk/models/operations/removebillingsubscriptionitemdiscount_response.rb +44 -0
  188. data/lib/clerk/models/operations/removebillingsubscriptionitemdiscount_response.rbi +19 -0
  189. data/lib/clerk/models/operations/replacedirectorygrouprolemappings_mapping.rb +40 -0
  190. data/lib/clerk/models/operations/replacedirectorygrouprolemappings_mapping.rbi +17 -0
  191. data/lib/clerk/models/operations/replacedirectorygrouprolemappings_request.rb +36 -0
  192. data/lib/clerk/models/operations/replacedirectorygrouprolemappings_request.rbi +15 -0
  193. data/lib/clerk/models/operations/replacedirectorygrouprolemappings_requestbody.rb +32 -0
  194. data/lib/clerk/models/operations/replacedirectorygrouprolemappings_requestbody.rbi +13 -0
  195. data/lib/clerk/models/operations/replacedirectorygrouprolemappings_response.rb +44 -0
  196. data/lib/clerk/models/operations/replacedirectorygrouprolemappings_response.rbi +19 -0
  197. data/lib/clerk/models/operations/{mapping.rb → replacescimgrouprolemappings_mapping.rb} +1 -1
  198. data/lib/clerk/models/operations/{mapping.rbi → replacescimgrouprolemappings_mapping.rbi} +2 -2
  199. data/lib/clerk/models/operations/replacescimgrouprolemappings_request.rb +1 -1
  200. data/lib/clerk/models/operations/replacescimgrouprolemappings_requestbody.rb +1 -1
  201. data/lib/clerk/models/operations/revokeuserbiometriccredential_request.rb +36 -0
  202. data/lib/clerk/models/operations/revokeuserbiometriccredential_request.rbi +15 -0
  203. data/lib/clerk/models/operations/revokeuserbiometriccredential_response.rb +44 -0
  204. data/lib/clerk/models/operations/revokeuserbiometriccredential_response.rbi +19 -0
  205. data/lib/clerk/models/operations/rotatedirectoryapikey_request.rb +32 -0
  206. data/lib/clerk/models/operations/rotatedirectoryapikey_request.rbi +13 -0
  207. data/lib/clerk/models/operations/rotatedirectoryapikey_response.rb +44 -0
  208. data/lib/clerk/models/operations/rotatedirectoryapikey_response.rbi +19 -0
  209. data/lib/clerk/models/operations/rotatescimdirectoryapikey_request.rb +1 -1
  210. data/lib/clerk/models/operations/rotatescimdirectoryapikey_response.rb +1 -1
  211. data/lib/clerk/models/operations/updatedirectory_request.rb +36 -0
  212. data/lib/clerk/models/operations/updatedirectory_request.rbi +15 -0
  213. data/lib/clerk/models/operations/updatedirectory_requestbody.rb +49 -0
  214. data/lib/clerk/models/operations/updatedirectory_requestbody.rbi +21 -0
  215. data/lib/clerk/models/operations/updatedirectory_response.rb +44 -0
  216. data/lib/clerk/models/operations/updatedirectory_response.rbi +19 -0
  217. data/lib/clerk/models/operations/updateenterpriseconnection_custom_attribute.rb +5 -1
  218. data/lib/clerk/models/operations/updateenterpriseconnection_custom_attribute.rbi +2 -0
  219. data/lib/clerk/models/operations/updateinstance_request.rb +15 -5
  220. data/lib/clerk/models/operations/updateinstance_request.rbi +6 -2
  221. data/lib/clerk/models/operations/updateinstanceoauthapplicationsettings_request.rb +11 -2
  222. data/lib/clerk/models/operations/updateinstanceoauthapplicationsettings_request.rbi +4 -0
  223. data/lib/clerk/models/operations/updateinstanceprotect_request.rb +1 -1
  224. data/lib/clerk/models/operations/updateoauthapplication_requestbody.rb +9 -5
  225. data/lib/clerk/models/operations/updateoauthapplication_requestbody.rbi +4 -2
  226. data/lib/clerk/models/operations/updateorganization_requestbody.rb +6 -1
  227. data/lib/clerk/models/operations/updateorganization_requestbody.rbi +2 -0
  228. data/lib/clerk/models/operations/updatescimdirectory_request.rb +1 -1
  229. data/lib/clerk/models/operations/updatescimdirectory_requestbody.rb +4 -4
  230. data/lib/clerk/models/operations/updatescimdirectory_response.rb +1 -1
  231. data/lib/clerk/models/operations/updateuser_requestbody.rb +1 -1
  232. data/lib/clerk/models/operations.rb +37 -2
  233. data/lib/clerk/openapiclient.rb +2 -1
  234. data/lib/clerk/phonenumbers.rb +10 -2
  235. data/lib/clerk/scimdirectories.rb +23 -20
  236. data/lib/clerk/sdk.rb +21 -1
  237. data/lib/clerk/sdkconfiguration.rb +3 -3
  238. data/lib/clerk/sessions.rb +146 -0
  239. data/lib/clerk/users.rb +329 -1
  240. data/lib/clerk/utils/utils.rb +6 -2
  241. data/lib/clerk_sdk_ruby.rb +1 -0
  242. data/test/clerk/org_permissions_v2_test.rb +130 -0
  243. metadata +154 -12
@@ -42,6 +42,8 @@ class Clerk::Models::Components::Organization
42
42
  def created_by=(str_); end
43
43
  def last_active_at(); end
44
44
  def last_active_at=(str_); end
45
+ def self_serve_sso_enabled(); end
46
+ def self_serve_sso_enabled=(str_); end
45
47
  def role_set_key(); end
46
48
  def role_set_key=(str_); end
47
49
  end
@@ -49,12 +49,15 @@ module Clerk
49
49
  # Unix timestamp of last activity.
50
50
  #
51
51
  field :last_active_at, Crystalline::Nilable.new(::Integer), { 'format_json': { 'letter_case': ::Clerk::Utils.field_name('last_active_at') } }
52
+ # Whether this organization can configure self-serve enterprise SSO.
53
+ #
54
+ field :self_serve_sso_enabled, Crystalline::Nilable.new(Crystalline::Boolean.new), { 'format_json': { 'letter_case': ::Clerk::Utils.field_name('self_serve_sso_enabled') } }
52
55
  # The key of the [role set](https://clerk.com/docs/guides/organizations/control-access/role-sets) assigned to this organization.
53
56
  #
54
57
  field :role_set_key, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Clerk::Utils.field_name('role_set_key') } }
55
58
 
56
59
 
57
- def initialize(object:, id:, name:, slug:, has_image:, max_allowed_memberships:, admin_delete_enabled:, public_metadata:, created_at:, updated_at:, image_url: nil, members_count: nil, missing_member_with_elevated_permissions: nil, pending_invitations_count: nil, private_metadata: nil, created_by: nil, last_active_at: nil, role_set_key: nil)
60
+ def initialize(object:, id:, name:, slug:, has_image:, max_allowed_memberships:, admin_delete_enabled:, public_metadata:, created_at:, updated_at:, image_url: nil, members_count: nil, missing_member_with_elevated_permissions: nil, pending_invitations_count: nil, private_metadata: nil, created_by: nil, last_active_at: nil, self_serve_sso_enabled: nil, role_set_key: nil)
58
61
  @object = object
59
62
  @id = id
60
63
  @name = name
@@ -72,6 +75,7 @@ module Clerk
72
75
  @private_metadata = private_metadata
73
76
  @created_by = created_by
74
77
  @last_active_at = last_active_at
78
+ @self_serve_sso_enabled = self_serve_sso_enabled
75
79
  @role_set_key = role_set_key
76
80
  end
77
81
 
@@ -95,6 +99,7 @@ module Clerk
95
99
  return false unless @private_metadata == other.private_metadata
96
100
  return false unless @created_by == other.created_by
97
101
  return false unless @last_active_at == other.last_active_at
102
+ return false unless @self_serve_sso_enabled == other.self_serve_sso_enabled
98
103
  return false unless @role_set_key == other.role_set_key
99
104
  true
100
105
  end
@@ -42,6 +42,8 @@ class Clerk::Models::Components::OrganizationMembershipOrganization
42
42
  def created_by=(str_); end
43
43
  def last_active_at(); end
44
44
  def last_active_at=(str_); end
45
+ def self_serve_sso_enabled(); end
46
+ def self_serve_sso_enabled=(str_); end
45
47
  def role_set_key(); end
46
48
  def role_set_key=(str_); end
47
49
  end
@@ -51,12 +51,15 @@ module Clerk
51
51
  field :last_active_at, Crystalline::Nilable.new(::Integer), { 'format_json': { 'letter_case': ::Clerk::Utils.field_name('last_active_at') } }
52
52
  # @deprecated true: This will be removed in a future release, please migrate away from it as soon as possible.
53
53
  field :logo_url, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Clerk::Utils.field_name('logo_url') } }
54
+ # Whether this organization can configure self-serve enterprise SSO.
55
+ #
56
+ field :self_serve_sso_enabled, Crystalline::Nilable.new(Crystalline::Boolean.new), { 'format_json': { 'letter_case': ::Clerk::Utils.field_name('self_serve_sso_enabled') } }
54
57
  # The key of the [role set](https://clerk.com/docs/guides/organizations/control-access/role-sets) assigned to this organization.
55
58
  #
56
59
  field :role_set_key, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Clerk::Utils.field_name('role_set_key') } }
57
60
 
58
61
 
59
- def initialize(object:, id:, name:, slug:, image_url:, has_image:, max_allowed_memberships:, admin_delete_enabled:, public_metadata:, created_at:, updated_at:, members_count: nil, missing_member_with_elevated_permissions: nil, pending_invitations_count: nil, private_metadata: nil, created_by: nil, last_active_at: nil, logo_url: nil, role_set_key: nil)
62
+ def initialize(object:, id:, name:, slug:, image_url:, has_image:, max_allowed_memberships:, admin_delete_enabled:, public_metadata:, created_at:, updated_at:, members_count: nil, missing_member_with_elevated_permissions: nil, pending_invitations_count: nil, private_metadata: nil, created_by: nil, last_active_at: nil, logo_url: nil, self_serve_sso_enabled: nil, role_set_key: nil)
60
63
  @object = object
61
64
  @id = id
62
65
  @name = name
@@ -75,6 +78,7 @@ module Clerk
75
78
  @created_by = created_by
76
79
  @last_active_at = last_active_at
77
80
  @logo_url = logo_url
81
+ @self_serve_sso_enabled = self_serve_sso_enabled
78
82
  @role_set_key = role_set_key
79
83
  end
80
84
 
@@ -99,6 +103,7 @@ module Clerk
99
103
  return false unless @created_by == other.created_by
100
104
  return false unless @last_active_at == other.last_active_at
101
105
  return false unless @logo_url == other.logo_url
106
+ return false unless @self_serve_sso_enabled == other.self_serve_sso_enabled
102
107
  return false unless @role_set_key == other.role_set_key
103
108
  true
104
109
  end
@@ -44,6 +44,8 @@ class Clerk::Models::Components::OrganizationWithLogo
44
44
  def last_active_at=(str_); end
45
45
  def logo_url(); end
46
46
  def logo_url=(str_); end
47
+ def self_serve_sso_enabled(); end
48
+ def self_serve_sso_enabled=(str_); end
47
49
  def role_set_key(); end
48
50
  def role_set_key=(str_); end
49
51
  end
@@ -0,0 +1,20 @@
1
+ # Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
2
+
3
+ # typed: false
4
+ # frozen_string_literal: true
5
+
6
+
7
+ module Clerk
8
+ module Models
9
+ module Components
10
+
11
+ class RecordType
12
+ include ::Crystalline::Enum
13
+ enums do
14
+ CNAME = new('CNAME')
15
+ TXT = new('TXT')
16
+ end
17
+ end
18
+ end
19
+ end
20
+ end
@@ -0,0 +1,11 @@
1
+ # typed: false
2
+ # frozen_string_literal: true
3
+
4
+
5
+ class Clerk::Models::Components::RecordType
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class Clerk::Models::Components::RecordType
11
+ end
@@ -0,0 +1,74 @@
1
+ # Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
2
+
3
+ # typed: false
4
+ # frozen_string_literal: true
5
+
6
+
7
+ module Clerk
8
+ module Models
9
+ module Components
10
+ # A reverification scoped to a session. Returned so a resource server can validate a reverification id received from its client.
11
+ #
12
+ class Reverification
13
+
14
+ include Crystalline::MetadataFields
15
+
16
+ # String representing the object's type. Objects of the same type share the same value.
17
+ #
18
+ field :object, Models::Components::ReverificationObject, { 'format_json': { 'letter_case': ::Clerk::Utils.field_name('object'), required: true, 'decoder': ::Clerk::Utils.enum_from_string(Models::Components::ReverificationObject, false) } }
19
+
20
+ field :id, ::String, { 'format_json': { 'letter_case': ::Clerk::Utils.field_name('id'), required: true } }
21
+
22
+ field :session_id, ::String, { 'format_json': { 'letter_case': ::Clerk::Utils.field_name('session_id'), required: true } }
23
+
24
+ field :user_id, ::String, { 'format_json': { 'letter_case': ::Clerk::Utils.field_name('user_id'), required: true } }
25
+ # The level used for the reverification
26
+ field :level, Models::Components::Level, { 'format_json': { 'letter_case': ::Clerk::Utils.field_name('level'), required: true, 'decoder': ::Clerk::Utils.enum_from_string(Models::Components::Level, false) } }
27
+
28
+ field :status, Models::Components::ReverificationStatus, { 'format_json': { 'letter_case': ::Clerk::Utils.field_name('status'), required: true, 'decoder': ::Clerk::Utils.enum_from_string(Models::Components::ReverificationStatus, false) } }
29
+ # Unix timestamp of creation.
30
+ #
31
+ field :created_at, ::Integer, { 'format_json': { 'letter_case': ::Clerk::Utils.field_name('created_at'), required: true } }
32
+ # Unix timestamp of last update.
33
+ #
34
+ field :updated_at, ::Integer, { 'format_json': { 'letter_case': ::Clerk::Utils.field_name('updated_at'), required: true } }
35
+ # Unix timestamp (ms) of the first factor verification, or null if not verified.
36
+ #
37
+ field :first_factor_verified_at, Crystalline::Nilable.new(::Integer), { 'format_json': { 'letter_case': ::Clerk::Utils.field_name('first_factor_verified_at'), required: true } }
38
+ # Unix timestamp (ms) of the second factor verification, or null if not verified.
39
+ #
40
+ field :second_factor_verified_at, Crystalline::Nilable.new(::Integer), { 'format_json': { 'letter_case': ::Clerk::Utils.field_name('second_factor_verified_at'), required: true } }
41
+
42
+
43
+ def initialize(object:, id:, session_id:, user_id:, level:, status:, created_at:, updated_at:, first_factor_verified_at: nil, second_factor_verified_at: nil)
44
+ @object = object
45
+ @id = id
46
+ @session_id = session_id
47
+ @user_id = user_id
48
+ @level = level
49
+ @status = status
50
+ @created_at = created_at
51
+ @updated_at = updated_at
52
+ @first_factor_verified_at = first_factor_verified_at
53
+ @second_factor_verified_at = second_factor_verified_at
54
+ end
55
+
56
+
57
+ def ==(other)
58
+ return false unless other.is_a? self.class
59
+ return false unless @object == other.object
60
+ return false unless @id == other.id
61
+ return false unless @session_id == other.session_id
62
+ return false unless @user_id == other.user_id
63
+ return false unless @level == other.level
64
+ return false unless @status == other.status
65
+ return false unless @created_at == other.created_at
66
+ return false unless @updated_at == other.updated_at
67
+ return false unless @first_factor_verified_at == other.first_factor_verified_at
68
+ return false unless @second_factor_verified_at == other.second_factor_verified_at
69
+ true
70
+ end
71
+ end
72
+ end
73
+ end
74
+ end
@@ -0,0 +1,31 @@
1
+ # typed: false
2
+ # frozen_string_literal: true
3
+
4
+
5
+ class Clerk::Models::Components::Reverification
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class Clerk::Models::Components::Reverification
11
+ def object(); end
12
+ def object=(str_); end
13
+ def id(); end
14
+ def id=(str_); end
15
+ def session_id(); end
16
+ def session_id=(str_); end
17
+ def user_id(); end
18
+ def user_id=(str_); end
19
+ def level(); end
20
+ def level=(str_); end
21
+ def status(); end
22
+ def status=(str_); end
23
+ def created_at(); end
24
+ def created_at=(str_); end
25
+ def updated_at(); end
26
+ def updated_at=(str_); end
27
+ def first_factor_verified_at(); end
28
+ def first_factor_verified_at=(str_); end
29
+ def second_factor_verified_at(); end
30
+ def second_factor_verified_at=(str_); end
31
+ end
@@ -0,0 +1,20 @@
1
+ # Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
2
+
3
+ # typed: false
4
+ # frozen_string_literal: true
5
+
6
+
7
+ module Clerk
8
+ module Models
9
+ module Components
10
+ # ReverificationObject - String representing the object's type. Objects of the same type share the same value.
11
+ #
12
+ class ReverificationObject
13
+ include ::Crystalline::Enum
14
+ enums do
15
+ REVERIFICATION = new('reverification')
16
+ end
17
+ end
18
+ end
19
+ end
20
+ end
@@ -0,0 +1,11 @@
1
+ # typed: false
2
+ # frozen_string_literal: true
3
+
4
+
5
+ class Clerk::Models::Components::ReverificationObject
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class Clerk::Models::Components::ReverificationObject
11
+ end
@@ -0,0 +1,21 @@
1
+ # Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
2
+
3
+ # typed: false
4
+ # frozen_string_literal: true
5
+
6
+
7
+ module Clerk
8
+ module Models
9
+ module Components
10
+
11
+ class ReverificationStatus
12
+ include ::Crystalline::Enum
13
+ enums do
14
+ NEEDS_FIRST_FACTOR = new('needs_first_factor')
15
+ NEEDS_SECOND_FACTOR = new('needs_second_factor')
16
+ COMPLETE = new('complete')
17
+ end
18
+ end
19
+ end
20
+ end
21
+ end
@@ -0,0 +1,11 @@
1
+ # typed: false
2
+ # frozen_string_literal: true
3
+
4
+
5
+ class Clerk::Models::Components::ReverificationStatus
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class Clerk::Models::Components::ReverificationStatus
11
+ end
@@ -0,0 +1,36 @@
1
+ # Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
2
+
3
+ # typed: false
4
+ # frozen_string_literal: true
5
+
6
+
7
+ module Clerk
8
+ module Models
9
+ module Components
10
+
11
+ class ScimGroup
12
+
13
+ include Crystalline::MetadataFields
14
+
15
+
16
+ field :id, ::String, { 'format_json': { 'letter_case': ::Clerk::Utils.field_name('id'), required: true } }
17
+
18
+ field :display_name, ::String, { 'format_json': { 'letter_case': ::Clerk::Utils.field_name('display_name'), required: true } }
19
+
20
+
21
+ def initialize(id:, display_name:)
22
+ @id = id
23
+ @display_name = display_name
24
+ end
25
+
26
+
27
+ def ==(other)
28
+ return false unless other.is_a? self.class
29
+ return false unless @id == other.id
30
+ return false unless @display_name == other.display_name
31
+ true
32
+ end
33
+ end
34
+ end
35
+ end
36
+ end
@@ -0,0 +1,15 @@
1
+ # typed: false
2
+ # frozen_string_literal: true
3
+
4
+
5
+ class Clerk::Models::Components::ScimGroup
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class Clerk::Models::Components::ScimGroup
11
+ def id(); end
12
+ def id=(str_); end
13
+ def display_name(); end
14
+ def display_name=(str_); end
15
+ end
@@ -7,30 +7,30 @@
7
7
  module Clerk
8
8
  module Models
9
9
  module Components
10
- # A SCIM directory configuration for provisioning users via SCIM protocol.
10
+ # A directory configuration for provisioning users via SCIM protocol.
11
11
  class SCIMDirectory
12
12
 
13
13
  include Crystalline::MetadataFields
14
14
 
15
15
  # String representing the object's type. Always "scim_directory".
16
16
  field :object, Models::Components::SCIMDirectoryObject, { 'format_json': { 'letter_case': ::Clerk::Utils.field_name('object'), required: true, 'decoder': ::Clerk::Utils.enum_from_string(Models::Components::SCIMDirectoryObject, false) } }
17
- # Unique identifier for the SCIM directory.
17
+ # Unique identifier for the directory.
18
18
  field :id, ::String, { 'format_json': { 'letter_case': ::Clerk::Utils.field_name('id'), required: true } }
19
- # A human-friendly name for the SCIM directory.
19
+ # A human-friendly name for the directory.
20
20
  field :name, ::String, { 'format_json': { 'letter_case': ::Clerk::Utils.field_name('name'), required: true } }
21
21
  # The SCIM endpoint URL for this directory.
22
22
  field :endpoint_url, ::String, { 'format_json': { 'letter_case': ::Clerk::Utils.field_name('endpoint_url'), required: true } }
23
- # The identity provider for this SCIM directory.
23
+ # The identity provider for this directory.
24
24
  field :provider, ::String, { 'format_json': { 'letter_case': ::Clerk::Utils.field_name('provider'), required: true } }
25
- # Whether the SCIM directory is enabled.
25
+ # Whether the directory is enabled.
26
26
  field :enabled, Crystalline::Boolean.new, { 'format_json': { 'letter_case': ::Clerk::Utils.field_name('enabled'), required: true } }
27
- # Whether group-to-role mapping is enabled for this SCIM directory.
27
+ # Whether group-to-role mapping is enabled for this directory.
28
28
  field :group_role_mapping_enabled, Crystalline::Boolean.new, { 'format_json': { 'letter_case': ::Clerk::Utils.field_name('group_role_mapping_enabled'), required: true } }
29
29
  # Mapping of user attributes to the SCIM attribute paths they are extracted from.
30
30
  field :attribute_mapping, Crystalline::Hash.new(Symbol, ::String), { 'format_json': { 'letter_case': ::Clerk::Utils.field_name('attribute_mapping'), required: true } }
31
- # Unix timestamp when the SCIM directory was created.
31
+ # Unix timestamp when the directory was created.
32
32
  field :created_at, ::Integer, { 'format_json': { 'letter_case': ::Clerk::Utils.field_name('created_at'), required: true } }
33
- # Unix timestamp when the SCIM directory was last updated.
33
+ # Unix timestamp when the directory was last updated.
34
34
  field :updated_at, ::Integer, { 'format_json': { 'letter_case': ::Clerk::Utils.field_name('updated_at'), required: true } }
35
35
  # Custom attributes to map from the IdP to the user's profile via SCIM provisioning. Requires the custom attributes feature to be enabled for the instance.
36
36
  field :custom_attributes, Crystalline::Nilable.new(Crystalline::Array.new(Models::Components::SCIMDirectoryCustomAttribute)), { 'format_json': { 'letter_case': ::Clerk::Utils.field_name('custom_attributes') } }
@@ -20,15 +20,18 @@ module Clerk
20
20
  field :sso_path, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Clerk::Utils.field_name('sso_path') } }
21
21
  # GJSON path to extract the attribute value from SCIM user resources
22
22
  field :scim_path, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Clerk::Utils.field_name('scim_path') } }
23
+ # GJSON path to extract the attribute value from directory sync user resources. Same value as `scim_path`.
24
+ field :directory_path, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Clerk::Utils.field_name('directory_path') } }
23
25
  # When true, the attribute supports multiple values; values from the IdP are written to public_metadata as an array. Defaults to false.
24
26
  field :multi_valued, Crystalline::Nilable.new(Crystalline::Boolean.new), { 'format_json': { 'letter_case': ::Clerk::Utils.field_name('multi_valued') } }
25
27
 
26
28
 
27
- def initialize(name: nil, key: nil, sso_path: nil, scim_path: nil, multi_valued: nil)
29
+ def initialize(name: nil, key: nil, sso_path: nil, scim_path: nil, directory_path: nil, multi_valued: nil)
28
30
  @name = name
29
31
  @key = key
30
32
  @sso_path = sso_path
31
33
  @scim_path = scim_path
34
+ @directory_path = directory_path
32
35
  @multi_valued = multi_valued
33
36
  end
34
37
 
@@ -39,6 +42,7 @@ module Clerk
39
42
  return false unless @key == other.key
40
43
  return false unless @sso_path == other.sso_path
41
44
  return false unless @scim_path == other.scim_path
45
+ return false unless @directory_path == other.directory_path
42
46
  return false unless @multi_valued == other.multi_valued
43
47
  true
44
48
  end
@@ -16,6 +16,8 @@ class Clerk::Models::Components::SCIMDirectoryCustomAttribute
16
16
  def sso_path=(str_); end
17
17
  def scim_path(); end
18
18
  def scim_path=(str_); end
19
+ def directory_path(); end
20
+ def directory_path=(str_); end
19
21
  def multi_valued(); end
20
22
  def multi_valued=(str_); end
21
23
  end
@@ -7,14 +7,14 @@
7
7
  module Clerk
8
8
  module Models
9
9
  module Components
10
- # A list of SCIM directories
10
+ # A list of directories
11
11
  class SCIMDirectoryList
12
12
 
13
13
  include Crystalline::MetadataFields
14
14
 
15
15
 
16
16
  field :data, Crystalline::Array.new(Models::Components::SCIMDirectory), { 'format_json': { 'letter_case': ::Clerk::Utils.field_name('data'), required: true } }
17
- # Total number of SCIM directories.
17
+ # Total number of directories.
18
18
  field :total_count, ::Integer, { 'format_json': { 'letter_case': ::Clerk::Utils.field_name('total_count'), required: true } }
19
19
 
20
20
 
@@ -16,12 +16,18 @@ module Clerk
16
16
  field :object, Models::Components::SCIMGroupRoleMappingObject, { 'format_json': { 'letter_case': ::Clerk::Utils.field_name('object'), required: true, 'decoder': ::Clerk::Utils.enum_from_string(Models::Components::SCIMGroupRoleMappingObject, false) } }
17
17
  # Unique identifier for the SCIM group role mapping.
18
18
  field :id, ::String, { 'format_json': { 'letter_case': ::Clerk::Utils.field_name('id'), required: true } }
19
- # The ID of the SCIM directory this mapping belongs to.
19
+ # The ID of the directory this mapping belongs to.
20
20
  field :scim_directory_id, ::String, { 'format_json': { 'letter_case': ::Clerk::Utils.field_name('scim_directory_id'), required: true } }
21
+ # The ID of the directory this mapping belongs to. Same value as `scim_directory_id`.
22
+ field :directory_id, ::String, { 'format_json': { 'letter_case': ::Clerk::Utils.field_name('directory_id'), required: true } }
21
23
  # The SCIM group ID from the identity provider.
22
24
  field :scim_group_id, ::String, { 'format_json': { 'letter_case': ::Clerk::Utils.field_name('scim_group_id'), required: true } }
25
+ # The group ID from the identity provider. Same value as `scim_group_id`.
26
+ field :directory_group_id, ::String, { 'format_json': { 'letter_case': ::Clerk::Utils.field_name('directory_group_id'), required: true } }
23
27
  # The display name of the SCIM group, as reported by the identity provider.
24
28
  field :scim_group_display_name, ::String, { 'format_json': { 'letter_case': ::Clerk::Utils.field_name('scim_group_display_name'), required: true } }
29
+ # The display name of the group, as reported by the identity provider. Same value as `scim_group_display_name`.
30
+ field :directory_group_display_name, ::String, { 'format_json': { 'letter_case': ::Clerk::Utils.field_name('directory_group_display_name'), required: true } }
25
31
  # Mapping precedence, starting at 1. Lower values take priority when a user belongs to multiple mapped groups.
26
32
  field :precedence, ::Integer, { 'format_json': { 'letter_case': ::Clerk::Utils.field_name('precedence'), required: true } }
27
33
  # Unix timestamp (milliseconds) of when the mapping was created.
@@ -32,12 +38,15 @@ module Clerk
32
38
  field :role, Crystalline::Nilable.new(Models::Components::Role), { 'format_json': { 'letter_case': ::Clerk::Utils.field_name('role') } }
33
39
 
34
40
 
35
- def initialize(object:, id:, scim_directory_id:, scim_group_id:, scim_group_display_name:, precedence:, created_at:, updated_at:, role: nil)
41
+ def initialize(object:, id:, scim_directory_id:, directory_id:, scim_group_id:, directory_group_id:, scim_group_display_name:, directory_group_display_name:, precedence:, created_at:, updated_at:, role: nil)
36
42
  @object = object
37
43
  @id = id
38
44
  @scim_directory_id = scim_directory_id
45
+ @directory_id = directory_id
39
46
  @scim_group_id = scim_group_id
47
+ @directory_group_id = directory_group_id
40
48
  @scim_group_display_name = scim_group_display_name
49
+ @directory_group_display_name = directory_group_display_name
41
50
  @precedence = precedence
42
51
  @created_at = created_at
43
52
  @updated_at = updated_at
@@ -50,8 +59,11 @@ module Clerk
50
59
  return false unless @object == other.object
51
60
  return false unless @id == other.id
52
61
  return false unless @scim_directory_id == other.scim_directory_id
62
+ return false unless @directory_id == other.directory_id
53
63
  return false unless @scim_group_id == other.scim_group_id
64
+ return false unless @directory_group_id == other.directory_group_id
54
65
  return false unless @scim_group_display_name == other.scim_group_display_name
66
+ return false unless @directory_group_display_name == other.directory_group_display_name
55
67
  return false unless @precedence == other.precedence
56
68
  return false unless @created_at == other.created_at
57
69
  return false unless @updated_at == other.updated_at
@@ -14,10 +14,16 @@ class Clerk::Models::Components::SCIMGroupRoleMapping
14
14
  def id=(str_); end
15
15
  def scim_directory_id(); end
16
16
  def scim_directory_id=(str_); end
17
+ def directory_id(); end
18
+ def directory_id=(str_); end
17
19
  def scim_group_id(); end
18
20
  def scim_group_id=(str_); end
21
+ def directory_group_id(); end
22
+ def directory_group_id=(str_); end
19
23
  def scim_group_display_name(); end
20
24
  def scim_group_display_name=(str_); end
25
+ def directory_group_display_name(); end
26
+ def directory_group_display_name=(str_); end
21
27
  def precedence(); end
22
28
  def precedence=(str_); end
23
29
  def created_at(); end
@@ -0,0 +1,64 @@
1
+ # Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
2
+
3
+ # typed: false
4
+ # frozen_string_literal: true
5
+
6
+
7
+ module Clerk
8
+ module Models
9
+ module Components
10
+ # Metadata describing a user's linkage to a directory. Included in user responses when directory data is requested, and in directory-triggered user webhooks. Its absence does not necessarily mean the user is not managed by a directory.
11
+ #
12
+ class SCIMUserMetadata
13
+
14
+ include Crystalline::MetadataFields
15
+
16
+ # The user's resource ID in this directory.
17
+ field :id, ::String, { 'format_json': { 'letter_case': ::Clerk::Utils.field_name('id'), required: true } }
18
+
19
+ field :directory_name, ::String, { 'format_json': { 'letter_case': ::Clerk::Utils.field_name('directory_name'), required: true } }
20
+
21
+ field :provider, ::String, { 'format_json': { 'letter_case': ::Clerk::Utils.field_name('provider'), required: true } }
22
+ # The ID of the directory the user is provisioned from.
23
+ #
24
+ field :directory_id, ::String, { 'format_json': { 'letter_case': ::Clerk::Utils.field_name('directory_id'), required: true } }
25
+ # Whether the directory is currently enabled.
26
+ #
27
+ field :directory_enabled, Crystalline::Boolean.new, { 'format_json': { 'letter_case': ::Clerk::Utils.field_name('directory_enabled'), required: true } }
28
+
29
+ field :enterprise_connection_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Clerk::Utils.field_name('enterprise_connection_id'), required: true } }
30
+ # Omitted when groups were not loaded; an empty array means no group memberships.
31
+ field :groups, Crystalline::Nilable.new(Crystalline::Array.new(Models::Components::SCIMUserMetadataGroup)), { 'format_json': { 'letter_case': ::Clerk::Utils.field_name('groups') } }
32
+ # The user's external ID as reported by the directory, if any.
33
+ #
34
+ field :external_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Clerk::Utils.field_name('external_id'), required: true } }
35
+
36
+
37
+ def initialize(id:, directory_name:, provider:, directory_id:, directory_enabled:, enterprise_connection_id: nil, groups: nil, external_id: nil)
38
+ @id = id
39
+ @directory_name = directory_name
40
+ @provider = provider
41
+ @directory_id = directory_id
42
+ @directory_enabled = directory_enabled
43
+ @enterprise_connection_id = enterprise_connection_id
44
+ @groups = groups
45
+ @external_id = external_id
46
+ end
47
+
48
+
49
+ def ==(other)
50
+ return false unless other.is_a? self.class
51
+ return false unless @id == other.id
52
+ return false unless @directory_name == other.directory_name
53
+ return false unless @provider == other.provider
54
+ return false unless @directory_id == other.directory_id
55
+ return false unless @directory_enabled == other.directory_enabled
56
+ return false unless @enterprise_connection_id == other.enterprise_connection_id
57
+ return false unless @groups == other.groups
58
+ return false unless @external_id == other.external_id
59
+ true
60
+ end
61
+ end
62
+ end
63
+ end
64
+ end
@@ -0,0 +1,27 @@
1
+ # typed: false
2
+ # frozen_string_literal: true
3
+
4
+
5
+ class Clerk::Models::Components::SCIMUserMetadata
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class Clerk::Models::Components::SCIMUserMetadata
11
+ def id(); end
12
+ def id=(str_); end
13
+ def directory_name(); end
14
+ def directory_name=(str_); end
15
+ def provider(); end
16
+ def provider=(str_); end
17
+ def directory_id(); end
18
+ def directory_id=(str_); end
19
+ def directory_enabled(); end
20
+ def directory_enabled=(str_); end
21
+ def enterprise_connection_id(); end
22
+ def enterprise_connection_id=(str_); end
23
+ def groups(); end
24
+ def groups=(str_); end
25
+ def external_id(); end
26
+ def external_id=(str_); end
27
+ end
@@ -0,0 +1,36 @@
1
+ # Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
2
+
3
+ # typed: false
4
+ # frozen_string_literal: true
5
+
6
+
7
+ module Clerk
8
+ module Models
9
+ module Components
10
+
11
+ class SCIMUserMetadataGroup
12
+
13
+ include Crystalline::MetadataFields
14
+
15
+
16
+ field :id, ::String, { 'format_json': { 'letter_case': ::Clerk::Utils.field_name('id'), required: true } }
17
+
18
+ field :display_name, ::String, { 'format_json': { 'letter_case': ::Clerk::Utils.field_name('display_name'), required: true } }
19
+
20
+
21
+ def initialize(id:, display_name:)
22
+ @id = id
23
+ @display_name = display_name
24
+ end
25
+
26
+
27
+ def ==(other)
28
+ return false unless other.is_a? self.class
29
+ return false unless @id == other.id
30
+ return false unless @display_name == other.display_name
31
+ true
32
+ end
33
+ end
34
+ end
35
+ end
36
+ end