clerk-http-client 0.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 (518) hide show
  1. checksums.yaml +7 -0
  2. data/Gemfile +9 -0
  3. data/Gemfile.lock +87 -0
  4. data/README.md +360 -0
  5. data/Rakefile +10 -0
  6. data/bin/fmt +5 -0
  7. data/bin/generate +8 -0
  8. data/bin/setup +7 -0
  9. data/clerk-http-client.gemspec +41 -0
  10. data/docs/ActorToken.md +34 -0
  11. data/docs/ActorTokensApi.md +147 -0
  12. data/docs/AddDomainRequest.md +22 -0
  13. data/docs/Admin.md +24 -0
  14. data/docs/AllowListBlockListApi.md +421 -0
  15. data/docs/AllowlistIdentifier.md +32 -0
  16. data/docs/BetaFeaturesApi.md +217 -0
  17. data/docs/BlocklistIdentifier.md +30 -0
  18. data/docs/BlocklistIdentifiers.md +20 -0
  19. data/docs/CNameTarget.md +22 -0
  20. data/docs/ChangeProductionInstanceDomainRequest.md +20 -0
  21. data/docs/ClerkError.md +26 -0
  22. data/docs/ClerkErrors.md +20 -0
  23. data/docs/Client.md +34 -0
  24. data/docs/ClientsApi.md +221 -0
  25. data/docs/CreateActorTokenRequest.md +24 -0
  26. data/docs/CreateAllowlistIdentifierRequest.md +20 -0
  27. data/docs/CreateBlocklistIdentifierRequest.md +18 -0
  28. data/docs/CreateEmailAddressRequest.md +24 -0
  29. data/docs/CreateInvitationRequest.md +28 -0
  30. data/docs/CreateJWTTemplateRequest.md +30 -0
  31. data/docs/CreateOAuthApplicationRequest.md +24 -0
  32. data/docs/CreateOrganizationDomainRequest.md +22 -0
  33. data/docs/CreateOrganizationInvitationBulkRequestInner.md +28 -0
  34. data/docs/CreateOrganizationInvitationRequest.md +28 -0
  35. data/docs/CreateOrganizationMembershipRequest.md +20 -0
  36. data/docs/CreateOrganizationRequest.md +30 -0
  37. data/docs/CreatePhoneNumberRequest.md +26 -0
  38. data/docs/CreateRedirectURLRequest.md +18 -0
  39. data/docs/CreateSAMLConnectionRequest.md +34 -0
  40. data/docs/CreateSAMLConnectionRequestAttributeMapping.md +24 -0
  41. data/docs/CreateSessionTokenFromTemplate200Response.md +20 -0
  42. data/docs/CreateSignInTokenRequest.md +20 -0
  43. data/docs/CreateUserRequest.md +62 -0
  44. data/docs/DeletedObject.md +24 -0
  45. data/docs/DisableMFA200Response.md +18 -0
  46. data/docs/Domain.md +34 -0
  47. data/docs/Domains.md +20 -0
  48. data/docs/DomainsApi.md +286 -0
  49. data/docs/EmailAddress.md +32 -0
  50. data/docs/EmailAddressVerification.md +51 -0
  51. data/docs/EmailAddressesApi.md +289 -0
  52. data/docs/EmailSMSTemplatesApi.md +449 -0
  53. data/docs/GetOAuthAccessToken200ResponseInner.md +34 -0
  54. data/docs/IdentificationLink.md +20 -0
  55. data/docs/InstanceRestrictions.md +26 -0
  56. data/docs/InstanceSettingsApi.md +216 -0
  57. data/docs/Invitation.md +36 -0
  58. data/docs/InvitationsApi.md +223 -0
  59. data/docs/JWKSApi.md +74 -0
  60. data/docs/JWTTemplate.md +36 -0
  61. data/docs/JWTTemplatesApi.md +354 -0
  62. data/docs/MergeOrganizationMetadataRequest.md +20 -0
  63. data/docs/MiscellaneousApi.md +75 -0
  64. data/docs/OAuthApplication.md +42 -0
  65. data/docs/OAuthApplicationWithSecret.md +44 -0
  66. data/docs/OAuthApplications.md +20 -0
  67. data/docs/OAuthApplicationsApi.md +433 -0
  68. data/docs/OTP.md +24 -0
  69. data/docs/Oauth.md +28 -0
  70. data/docs/OauthError.md +47 -0
  71. data/docs/Organization.md +40 -0
  72. data/docs/OrganizationDomain.md +38 -0
  73. data/docs/OrganizationDomainApi.md +81 -0
  74. data/docs/OrganizationDomainVerification.md +24 -0
  75. data/docs/OrganizationDomains.md +20 -0
  76. data/docs/OrganizationDomainsApi.md +231 -0
  77. data/docs/OrganizationInvitation.md +38 -0
  78. data/docs/OrganizationInvitationWithPublicOrganizationData.md +40 -0
  79. data/docs/OrganizationInvitationWithPublicOrganizationDataPublicOrganizationData.md +26 -0
  80. data/docs/OrganizationInvitations.md +20 -0
  81. data/docs/OrganizationInvitationsApi.md +533 -0
  82. data/docs/OrganizationInvitationsWithPublicOrganizationData.md +20 -0
  83. data/docs/OrganizationMembership.md +38 -0
  84. data/docs/OrganizationMembershipPublicUserData.md +30 -0
  85. data/docs/OrganizationMemberships.md +20 -0
  86. data/docs/OrganizationMembershipsApi.md +453 -0
  87. data/docs/OrganizationSettings.md +36 -0
  88. data/docs/OrganizationWithLogo.md +46 -0
  89. data/docs/Organizations.md +20 -0
  90. data/docs/OrganizationsApi.md +591 -0
  91. data/docs/Passkey.md +26 -0
  92. data/docs/PhoneNumber.md +38 -0
  93. data/docs/PhoneNumberVerification.md +49 -0
  94. data/docs/PhoneNumbersApi.md +289 -0
  95. data/docs/PreviewTemplateRequest.md +24 -0
  96. data/docs/ProxyCheck.md +32 -0
  97. data/docs/ProxyChecksApi.md +77 -0
  98. data/docs/RedirectURL.md +26 -0
  99. data/docs/RedirectURLsApi.md +284 -0
  100. data/docs/RevokeInvitation200Response.md +36 -0
  101. data/docs/RevokeOrganizationInvitationRequest.md +18 -0
  102. data/docs/SAML.md +28 -0
  103. data/docs/SAMLAccount.md +38 -0
  104. data/docs/SAMLAccountSamlConnection.md +47 -0
  105. data/docs/SAMLAccountVerification.md +49 -0
  106. data/docs/SAMLConnection.md +38 -0
  107. data/docs/SAMLConnections.md +20 -0
  108. data/docs/SAMLConnectionsApi.md +363 -0
  109. data/docs/SchemasPasskey.md +26 -0
  110. data/docs/SchemasPasskeyVerification.md +47 -0
  111. data/docs/SchemasSAMLConnection.md +60 -0
  112. data/docs/SchemasSAMLConnectionAttributeMapping.md +24 -0
  113. data/docs/Session.md +42 -0
  114. data/docs/SessionLatestActivity.md +34 -0
  115. data/docs/SessionsApi.md +373 -0
  116. data/docs/SignInToken.md +32 -0
  117. data/docs/SignInTokensApi.md +147 -0
  118. data/docs/SignUp.md +62 -0
  119. data/docs/SignUpsApi.md +79 -0
  120. data/docs/SvixURL.md +18 -0
  121. data/docs/TOTP.md +28 -0
  122. data/docs/Template.md +60 -0
  123. data/docs/TestingToken.md +22 -0
  124. data/docs/TestingTokensApi.md +74 -0
  125. data/docs/Ticket.md +24 -0
  126. data/docs/ToggleTemplateDeliveryRequest.md +18 -0
  127. data/docs/TotalCount.md +20 -0
  128. data/docs/UpdateDomainRequest.md +22 -0
  129. data/docs/UpdateEmailAddressRequest.md +20 -0
  130. data/docs/UpdateInstanceAuthConfig200Response.md +28 -0
  131. data/docs/UpdateInstanceAuthConfigRequest.md +28 -0
  132. data/docs/UpdateInstanceOrganizationSettingsRequest.md +30 -0
  133. data/docs/UpdateInstanceRequest.md +34 -0
  134. data/docs/UpdateInstanceRestrictionsRequest.md +26 -0
  135. data/docs/UpdateOAuthApplicationRequest.md +22 -0
  136. data/docs/UpdateOrganizationDomainRequest.md +20 -0
  137. data/docs/UpdateOrganizationMembershipMetadataRequest.md +20 -0
  138. data/docs/UpdateOrganizationMembershipRequest.md +18 -0
  139. data/docs/UpdateOrganizationRequest.md +30 -0
  140. data/docs/UpdatePhoneNumberRequest.md +22 -0
  141. data/docs/UpdateProductionInstanceDomainRequest.md +18 -0
  142. data/docs/UpdateSAMLConnectionRequest.md +42 -0
  143. data/docs/UpdateSAMLConnectionRequestAttributeMapping.md +24 -0
  144. data/docs/UpdateSignUpRequest.md +18 -0
  145. data/docs/UpdateUserMetadataRequest.md +22 -0
  146. data/docs/UpdateUserRequest.md +66 -0
  147. data/docs/UpsertTemplateRequest.md +30 -0
  148. data/docs/User.md +94 -0
  149. data/docs/UsersApi.md +1829 -0
  150. data/docs/VerifyClientRequest.md +18 -0
  151. data/docs/VerifyDomainProxyRequest.md +20 -0
  152. data/docs/VerifyPassword200Response.md +18 -0
  153. data/docs/VerifyPasswordRequest.md +18 -0
  154. data/docs/VerifySessionRequest.md +18 -0
  155. data/docs/VerifyTOTP200Response.md +20 -0
  156. data/docs/VerifyTOTPRequest.md +18 -0
  157. data/docs/Web3Signature.md +28 -0
  158. data/docs/Web3Wallet.md +28 -0
  159. data/docs/Web3WalletVerification.md +49 -0
  160. data/docs/WebhooksApi.md +207 -0
  161. data/docs/WellKnownJWKS.md +18 -0
  162. data/docs/WellKnownJWKSKeysInner.md +28 -0
  163. data/git_push.sh +57 -0
  164. data/lib/clerk-http-client/api/actor_tokens_api.rb +157 -0
  165. data/lib/clerk-http-client/api/allow_list_block_list_api.rb +410 -0
  166. data/lib/clerk-http-client/api/beta_features_api.rb +228 -0
  167. data/lib/clerk-http-client/api/clients_api.rb +234 -0
  168. data/lib/clerk-http-client/api/domains_api.rb +292 -0
  169. data/lib/clerk-http-client/api/email_addresses_api.rb +298 -0
  170. data/lib/clerk-http-client/api/email_sms_templates_api.rb +488 -0
  171. data/lib/clerk-http-client/api/instance_settings_api.rb +232 -0
  172. data/lib/clerk-http-client/api/invitations_api.rb +241 -0
  173. data/lib/clerk-http-client/api/jwks_api.rb +81 -0
  174. data/lib/clerk-http-client/api/jwt_templates_api.rb +355 -0
  175. data/lib/clerk-http-client/api/miscellaneous_api.rb +85 -0
  176. data/lib/clerk-http-client/api/o_auth_applications_api.rb +440 -0
  177. data/lib/clerk-http-client/api/organization_domain_api.rb +104 -0
  178. data/lib/clerk-http-client/api/organization_domains_api.rb +258 -0
  179. data/lib/clerk-http-client/api/organization_invitations_api.rb +586 -0
  180. data/lib/clerk-http-client/api/organization_memberships_api.rb +499 -0
  181. data/lib/clerk-http-client/api/organizations_api.rb +606 -0
  182. data/lib/clerk-http-client/api/phone_numbers_api.rb +298 -0
  183. data/lib/clerk-http-client/api/proxy_checks_api.rb +92 -0
  184. data/lib/clerk-http-client/api/redirect_urls_api.rb +281 -0
  185. data/lib/clerk-http-client/api/saml_connections_api.rb +375 -0
  186. data/lib/clerk-http-client/api/sessions_api.rb +385 -0
  187. data/lib/clerk-http-client/api/sign_in_tokens_api.rb +157 -0
  188. data/lib/clerk-http-client/api/sign_ups_api.rb +98 -0
  189. data/lib/clerk-http-client/api/testing_tokens_api.rb +81 -0
  190. data/lib/clerk-http-client/api/users_api.rb +1828 -0
  191. data/lib/clerk-http-client/api/webhooks_api.rb +199 -0
  192. data/lib/clerk-http-client/api_client.rb +437 -0
  193. data/lib/clerk-http-client/api_error.rb +58 -0
  194. data/lib/clerk-http-client/configuration.rb +393 -0
  195. data/lib/clerk-http-client/models/actor_token.rb +385 -0
  196. data/lib/clerk-http-client/models/add_domain_request.rb +249 -0
  197. data/lib/clerk-http-client/models/admin.rb +303 -0
  198. data/lib/clerk-http-client/models/allowlist_identifier.rb +327 -0
  199. data/lib/clerk-http-client/models/blocklist_identifier.rb +318 -0
  200. data/lib/clerk-http-client/models/blocklist_identifiers.rb +240 -0
  201. data/lib/clerk-http-client/models/c_name_target.rb +254 -0
  202. data/lib/clerk-http-client/models/change_production_instance_domain_request.rb +225 -0
  203. data/lib/clerk-http-client/models/clerk_error.rb +271 -0
  204. data/lib/clerk-http-client/models/clerk_errors.rb +232 -0
  205. data/lib/clerk-http-client/models/client.rb +380 -0
  206. data/lib/clerk-http-client/models/create_actor_token_request.rb +263 -0
  207. data/lib/clerk-http-client/models/create_allowlist_identifier_request.rb +234 -0
  208. data/lib/clerk-http-client/models/create_blocklist_identifier_request.rb +222 -0
  209. data/lib/clerk-http-client/models/create_email_address_request.rb +247 -0
  210. data/lib/clerk-http-client/models/create_invitation_request.rb +303 -0
  211. data/lib/clerk-http-client/models/create_jwt_template_request.rb +327 -0
  212. data/lib/clerk-http-client/models/create_o_auth_application_request.rb +261 -0
  213. data/lib/clerk-http-client/models/create_organization_domain_request.rb +236 -0
  214. data/lib/clerk-http-client/models/create_organization_invitation_bulk_request_inner.rb +280 -0
  215. data/lib/clerk-http-client/models/create_organization_invitation_request.rb +280 -0
  216. data/lib/clerk-http-client/models/create_organization_membership_request.rb +239 -0
  217. data/lib/clerk-http-client/models/create_organization_request.rb +289 -0
  218. data/lib/clerk-http-client/models/create_phone_number_request.rb +258 -0
  219. data/lib/clerk-http-client/models/create_redirect_url_request.rb +215 -0
  220. data/lib/clerk-http-client/models/create_saml_connection_request.rb +355 -0
  221. data/lib/clerk-http-client/models/create_saml_connection_request_attribute_mapping.rb +242 -0
  222. data/lib/clerk-http-client/models/create_session_token_from_template200_response.rb +257 -0
  223. data/lib/clerk-http-client/models/create_sign_in_token_request.rb +227 -0
  224. data/lib/clerk-http-client/models/create_user_request.rb +453 -0
  225. data/lib/clerk-http-client/models/deleted_object.rb +255 -0
  226. data/lib/clerk-http-client/models/disable_mfa200_response.rb +214 -0
  227. data/lib/clerk-http-client/models/domain.rb +368 -0
  228. data/lib/clerk-http-client/models/domains.rb +240 -0
  229. data/lib/clerk-http-client/models/email_address.rb +361 -0
  230. data/lib/clerk-http-client/models/email_address_verification.rb +106 -0
  231. data/lib/clerk-http-client/models/get_o_auth_access_token200_response_inner.rb +295 -0
  232. data/lib/clerk-http-client/models/identification_link.rb +271 -0
  233. data/lib/clerk-http-client/models/instance_restrictions.rb +285 -0
  234. data/lib/clerk-http-client/models/invitation.rb +388 -0
  235. data/lib/clerk-http-client/models/jwt_template.rb +387 -0
  236. data/lib/clerk-http-client/models/merge_organization_metadata_request.rb +225 -0
  237. data/lib/clerk-http-client/models/o_auth_application.rb +449 -0
  238. data/lib/clerk-http-client/models/o_auth_application_with_secret.rb +466 -0
  239. data/lib/clerk-http-client/models/o_auth_applications.rb +240 -0
  240. data/lib/clerk-http-client/models/oauth.rb +328 -0
  241. data/lib/clerk-http-client/models/oauth_error.rb +104 -0
  242. data/lib/clerk-http-client/models/organization.rb +413 -0
  243. data/lib/clerk-http-client/models/organization_domain.rb +364 -0
  244. data/lib/clerk-http-client/models/organization_domain_verification.rb +281 -0
  245. data/lib/clerk-http-client/models/organization_domains.rb +240 -0
  246. data/lib/clerk-http-client/models/organization_invitation.rb +342 -0
  247. data/lib/clerk-http-client/models/organization_invitation_with_public_organization_data.rb +351 -0
  248. data/lib/clerk-http-client/models/organization_invitation_with_public_organization_data_public_organization_data.rb +250 -0
  249. data/lib/clerk-http-client/models/organization_invitations.rb +240 -0
  250. data/lib/clerk-http-client/models/organization_invitations_with_public_organization_data.rb +240 -0
  251. data/lib/clerk-http-client/models/organization_membership.rb +346 -0
  252. data/lib/clerk-http-client/models/organization_membership_public_user_data.rb +272 -0
  253. data/lib/clerk-http-client/models/organization_memberships.rb +240 -0
  254. data/lib/clerk-http-client/models/organization_settings.rb +391 -0
  255. data/lib/clerk-http-client/models/organization_with_logo.rb +454 -0
  256. data/lib/clerk-http-client/models/organizations.rb +240 -0
  257. data/lib/clerk-http-client/models/otp.rb +315 -0
  258. data/lib/clerk-http-client/models/passkey.rb +324 -0
  259. data/lib/clerk-http-client/models/phone_number.rb +391 -0
  260. data/lib/clerk-http-client/models/phone_number_verification.rb +105 -0
  261. data/lib/clerk-http-client/models/preview_template_request.rb +246 -0
  262. data/lib/clerk-http-client/models/proxy_check.rb +367 -0
  263. data/lib/clerk-http-client/models/redirect_url.rb +321 -0
  264. data/lib/clerk-http-client/models/revoke_invitation200_response.rb +395 -0
  265. data/lib/clerk-http-client/models/revoke_organization_invitation_request.rb +216 -0
  266. data/lib/clerk-http-client/models/saml.rb +331 -0
  267. data/lib/clerk-http-client/models/saml_account.rb +381 -0
  268. data/lib/clerk-http-client/models/saml_account_saml_connection.rb +104 -0
  269. data/lib/clerk-http-client/models/saml_account_verification.rb +105 -0
  270. data/lib/clerk-http-client/models/saml_connection.rb +362 -0
  271. data/lib/clerk-http-client/models/saml_connections.rb +240 -0
  272. data/lib/clerk-http-client/models/schemas_passkey.rb +310 -0
  273. data/lib/clerk-http-client/models/schemas_passkey_verification.rb +104 -0
  274. data/lib/clerk-http-client/models/schemas_saml_connection.rb +541 -0
  275. data/lib/clerk-http-client/models/schemas_saml_connection_attribute_mapping.rb +241 -0
  276. data/lib/clerk-http-client/models/session.rb +444 -0
  277. data/lib/clerk-http-client/models/session_latest_activity.rb +300 -0
  278. data/lib/clerk-http-client/models/sign_in_token.rb +368 -0
  279. data/lib/clerk-http-client/models/sign_up.rb +517 -0
  280. data/lib/clerk-http-client/models/svix_url.rb +221 -0
  281. data/lib/clerk-http-client/models/template.rb +460 -0
  282. data/lib/clerk-http-client/models/testing_token.rb +289 -0
  283. data/lib/clerk-http-client/models/ticket.rb +303 -0
  284. data/lib/clerk-http-client/models/toggle_template_delivery_request.rb +216 -0
  285. data/lib/clerk-http-client/models/total_count.rb +272 -0
  286. data/lib/clerk-http-client/models/totp.rb +289 -0
  287. data/lib/clerk-http-client/models/update_domain_request.rb +238 -0
  288. data/lib/clerk-http-client/models/update_email_address_request.rb +227 -0
  289. data/lib/clerk-http-client/models/update_instance_auth_config200_response.rb +294 -0
  290. data/lib/clerk-http-client/models/update_instance_auth_config_request.rb +273 -0
  291. data/lib/clerk-http-client/models/update_instance_organization_settings_request.rb +277 -0
  292. data/lib/clerk-http-client/models/update_instance_request.rb +300 -0
  293. data/lib/clerk-http-client/models/update_instance_restrictions_request.rb +255 -0
  294. data/lib/clerk-http-client/models/update_o_auth_application_request.rb +237 -0
  295. data/lib/clerk-http-client/models/update_organization_domain_request.rb +227 -0
  296. data/lib/clerk-http-client/models/update_organization_membership_metadata_request.rb +225 -0
  297. data/lib/clerk-http-client/models/update_organization_membership_request.rb +222 -0
  298. data/lib/clerk-http-client/models/update_organization_request.rb +279 -0
  299. data/lib/clerk-http-client/models/update_phone_number_request.rb +238 -0
  300. data/lib/clerk-http-client/models/update_production_instance_domain_request.rb +215 -0
  301. data/lib/clerk-http-client/models/update_saml_connection_request.rb +347 -0
  302. data/lib/clerk-http-client/models/update_saml_connection_request_attribute_mapping.rb +242 -0
  303. data/lib/clerk-http-client/models/update_sign_up_request.rb +216 -0
  304. data/lib/clerk-http-client/models/update_user_metadata_request.rb +241 -0
  305. data/lib/clerk-http-client/models/update_user_request.rb +472 -0
  306. data/lib/clerk-http-client/models/upsert_template_request.rb +278 -0
  307. data/lib/clerk-http-client/models/user.rb +633 -0
  308. data/lib/clerk-http-client/models/verify_client_request.rb +215 -0
  309. data/lib/clerk-http-client/models/verify_domain_proxy_request.rb +225 -0
  310. data/lib/clerk-http-client/models/verify_password200_response.rb +214 -0
  311. data/lib/clerk-http-client/models/verify_password_request.rb +222 -0
  312. data/lib/clerk-http-client/models/verify_session_request.rb +215 -0
  313. data/lib/clerk-http-client/models/verify_totp200_response.rb +257 -0
  314. data/lib/clerk-http-client/models/verify_totp_request.rb +222 -0
  315. data/lib/clerk-http-client/models/web3_signature.rb +323 -0
  316. data/lib/clerk-http-client/models/web3_wallet.rb +327 -0
  317. data/lib/clerk-http-client/models/web3_wallet_verification.rb +105 -0
  318. data/lib/clerk-http-client/models/well_known_jwks.rb +216 -0
  319. data/lib/clerk-http-client/models/well_known_jwks_keys_inner.rb +259 -0
  320. data/lib/clerk-http-client/version.rb +15 -0
  321. data/lib/clerk-http-client.rb +321 -0
  322. data/openapitools.json +7 -0
  323. data/pkg/clerk-http-client-1.0.0.gem +0 -0
  324. data/resources/.DS_Store +0 -0
  325. data/resources/oas/bapi-2024-10-01.yml +7238 -0
  326. data/resources/templates/Gemfile.mustache +9 -0
  327. data/resources/templates/README.mustache +163 -0
  328. data/resources/templates/Rakefile.mustache +10 -0
  329. data/resources/templates/api.mustache +257 -0
  330. data/resources/templates/api_client.mustache +246 -0
  331. data/resources/templates/api_client_faraday_partial.mustache +200 -0
  332. data/resources/templates/api_client_httpx_partial.mustache +134 -0
  333. data/resources/templates/api_client_typhoeus_partial.mustache +161 -0
  334. data/resources/templates/api_doc.mustache +132 -0
  335. data/resources/templates/api_error.mustache +50 -0
  336. data/resources/templates/api_info.mustache +12 -0
  337. data/resources/templates/api_test.mustache +47 -0
  338. data/resources/templates/base_object.mustache +114 -0
  339. data/resources/templates/configuration.mustache +491 -0
  340. data/resources/templates/configuration_faraday_partial.mustache +40 -0
  341. data/resources/templates/configuration_httpx_partial.mustache +11 -0
  342. data/resources/templates/configuration_typhoeus_partial.mustache +41 -0
  343. data/resources/templates/gem.mustache +89 -0
  344. data/resources/templates/gemspec.mustache +41 -0
  345. data/resources/templates/git_push.sh.mustache +57 -0
  346. data/resources/templates/gitignore.mustache +39 -0
  347. data/resources/templates/gitlab-ci.mustache +26 -0
  348. data/resources/templates/model.mustache +33 -0
  349. data/resources/templates/model_doc.mustache +12 -0
  350. data/resources/templates/model_test.mustache +82 -0
  351. data/resources/templates/partial_anyof_module.mustache +94 -0
  352. data/resources/templates/partial_model_enum_class.mustache +23 -0
  353. data/resources/templates/partial_model_generic.mustache +377 -0
  354. data/resources/templates/partial_model_generic_doc.mustache +28 -0
  355. data/resources/templates/partial_oneof_module.mustache +137 -0
  356. data/resources/templates/partial_oneof_module_doc.mustache +93 -0
  357. data/resources/templates/rspec.mustache +2 -0
  358. data/resources/templates/rubocop.mustache +148 -0
  359. data/resources/templates/spec_helper.mustache +103 -0
  360. data/resources/templates/travis.mustache +11 -0
  361. data/resources/templates/version.mustache +7 -0
  362. data/sdk-generator-config.json +20 -0
  363. data/spec/api/actor_tokens_api_spec.rb +59 -0
  364. data/spec/api/allow_list_block_list_api_spec.rb +105 -0
  365. data/spec/api/beta_features_api_spec.rb +71 -0
  366. data/spec/api/clients_api_spec.rb +72 -0
  367. data/spec/api/domains_api_spec.rb +83 -0
  368. data/spec/api/email_addresses_api_spec.rb +84 -0
  369. data/spec/api/email_sms_templates_api_spec.rb +115 -0
  370. data/spec/api/instance_settings_api_spec.rb +71 -0
  371. data/spec/api/invitations_api_spec.rb +73 -0
  372. data/spec/api/jwks_api_spec.rb +46 -0
  373. data/spec/api/jwt_templates_api_spec.rb +94 -0
  374. data/spec/api/miscellaneous_api_spec.rb +48 -0
  375. data/spec/api/o_auth_applications_api_spec.rb +109 -0
  376. data/spec/api/organization_domain_api_spec.rb +49 -0
  377. data/spec/api/organization_domains_api_spec.rb +77 -0
  378. data/spec/api/organization_invitations_api_spec.rb +133 -0
  379. data/spec/api/organization_memberships_api_spec.rb +118 -0
  380. data/spec/api/organizations_api_spec.rb +139 -0
  381. data/spec/api/phone_numbers_api_spec.rb +84 -0
  382. data/spec/api/proxy_checks_api_spec.rb +47 -0
  383. data/spec/api/redirect_urls_api_spec.rb +82 -0
  384. data/spec/api/saml_connections_api_spec.rb +97 -0
  385. data/spec/api/sessions_api_spec.rb +101 -0
  386. data/spec/api/sign_in_tokens_api_spec.rb +59 -0
  387. data/spec/api/sign_ups_api_spec.rb +48 -0
  388. data/spec/api/testing_tokens_api_spec.rb +46 -0
  389. data/spec/api/users_api_spec.rb +366 -0
  390. data/spec/api/webhooks_api_spec.rb +68 -0
  391. data/spec/models/actor_token_spec.rb +92 -0
  392. data/spec/models/add_domain_request_spec.rb +48 -0
  393. data/spec/models/admin_spec.rb +62 -0
  394. data/spec/models/allowlist_identifier_spec.rb +86 -0
  395. data/spec/models/blocklist_identifier_spec.rb +80 -0
  396. data/spec/models/blocklist_identifiers_spec.rb +42 -0
  397. data/spec/models/c_name_target_spec.rb +48 -0
  398. data/spec/models/change_production_instance_domain_request_spec.rb +42 -0
  399. data/spec/models/clerk_error_spec.rb +60 -0
  400. data/spec/models/clerk_errors_spec.rb +42 -0
  401. data/spec/models/client_spec.rb +88 -0
  402. data/spec/models/create_actor_token_request_spec.rb +54 -0
  403. data/spec/models/create_allowlist_identifier_request_spec.rb +42 -0
  404. data/spec/models/create_blocklist_identifier_request_spec.rb +36 -0
  405. data/spec/models/create_email_address_request_spec.rb +54 -0
  406. data/spec/models/create_invitation_request_spec.rb +66 -0
  407. data/spec/models/create_jwt_template_request_spec.rb +72 -0
  408. data/spec/models/create_o_auth_application_request_spec.rb +54 -0
  409. data/spec/models/create_organization_domain_request_spec.rb +48 -0
  410. data/spec/models/create_organization_invitation_bulk_request_inner_spec.rb +66 -0
  411. data/spec/models/create_organization_invitation_request_spec.rb +66 -0
  412. data/spec/models/create_organization_membership_request_spec.rb +42 -0
  413. data/spec/models/create_organization_request_spec.rb +72 -0
  414. data/spec/models/create_phone_number_request_spec.rb +60 -0
  415. data/spec/models/create_redirect_url_request_spec.rb +36 -0
  416. data/spec/models/create_saml_connection_request_attribute_mapping_spec.rb +54 -0
  417. data/spec/models/create_saml_connection_request_spec.rb +88 -0
  418. data/spec/models/create_session_token_from_template200_response_spec.rb +46 -0
  419. data/spec/models/create_sign_in_token_request_spec.rb +42 -0
  420. data/spec/models/create_user_request_spec.rb +168 -0
  421. data/spec/models/deleted_object_spec.rb +54 -0
  422. data/spec/models/disable_mfa200_response_spec.rb +36 -0
  423. data/spec/models/domain_spec.rb +88 -0
  424. data/spec/models/domains_spec.rb +42 -0
  425. data/spec/models/email_address_spec.rb +82 -0
  426. data/spec/models/email_address_verification_spec.rb +32 -0
  427. data/spec/models/get_o_auth_access_token200_response_inner_spec.rb +84 -0
  428. data/spec/models/identification_link_spec.rb +46 -0
  429. data/spec/models/instance_restrictions_spec.rb +64 -0
  430. data/spec/models/invitation_spec.rb +98 -0
  431. data/spec/models/jwt_template_spec.rb +94 -0
  432. data/spec/models/merge_organization_metadata_request_spec.rb +42 -0
  433. data/spec/models/o_auth_application_spec.rb +112 -0
  434. data/spec/models/o_auth_application_with_secret_spec.rb +118 -0
  435. data/spec/models/o_auth_applications_spec.rb +42 -0
  436. data/spec/models/oauth_error_spec.rb +32 -0
  437. data/spec/models/oauth_spec.rb +74 -0
  438. data/spec/models/organization_domain_spec.rb +104 -0
  439. data/spec/models/organization_domain_verification_spec.rb +58 -0
  440. data/spec/models/organization_domains_spec.rb +42 -0
  441. data/spec/models/organization_invitation_spec.rb +100 -0
  442. data/spec/models/organization_invitation_with_public_organization_data_public_organization_data_spec.rb +60 -0
  443. data/spec/models/organization_invitation_with_public_organization_data_spec.rb +106 -0
  444. data/spec/models/organization_invitations_spec.rb +42 -0
  445. data/spec/models/organization_invitations_with_public_organization_data_spec.rb +42 -0
  446. data/spec/models/organization_membership_public_user_data_spec.rb +72 -0
  447. data/spec/models/organization_membership_spec.rb +100 -0
  448. data/spec/models/organization_memberships_spec.rb +42 -0
  449. data/spec/models/organization_settings_spec.rb +98 -0
  450. data/spec/models/organization_spec.rb +106 -0
  451. data/spec/models/organization_with_logo_spec.rb +124 -0
  452. data/spec/models/organizations_spec.rb +42 -0
  453. data/spec/models/otp_spec.rb +62 -0
  454. data/spec/models/passkey_spec.rb +72 -0
  455. data/spec/models/phone_number_spec.rb +100 -0
  456. data/spec/models/phone_number_verification_spec.rb +32 -0
  457. data/spec/models/preview_template_request_spec.rb +54 -0
  458. data/spec/models/proxy_check_spec.rb +82 -0
  459. data/spec/models/redirect_url_spec.rb +64 -0
  460. data/spec/models/revoke_invitation200_response_spec.rb +98 -0
  461. data/spec/models/revoke_organization_invitation_request_spec.rb +36 -0
  462. data/spec/models/saml_account_saml_connection_spec.rb +32 -0
  463. data/spec/models/saml_account_spec.rb +100 -0
  464. data/spec/models/saml_account_verification_spec.rb +32 -0
  465. data/spec/models/saml_connection_spec.rb +96 -0
  466. data/spec/models/saml_connections_spec.rb +42 -0
  467. data/spec/models/saml_spec.rb +74 -0
  468. data/spec/models/schemas_passkey_spec.rb +64 -0
  469. data/spec/models/schemas_passkey_verification_spec.rb +32 -0
  470. data/spec/models/schemas_saml_connection_attribute_mapping_spec.rb +54 -0
  471. data/spec/models/schemas_saml_connection_spec.rb +166 -0
  472. data/spec/models/session_latest_activity_spec.rb +84 -0
  473. data/spec/models/session_spec.rb +116 -0
  474. data/spec/models/sign_in_token_spec.rb +86 -0
  475. data/spec/models/sign_up_spec.rb +176 -0
  476. data/spec/models/svix_url_spec.rb +36 -0
  477. data/spec/models/template_spec.rb +166 -0
  478. data/spec/models/testing_token_spec.rb +52 -0
  479. data/spec/models/ticket_spec.rb +62 -0
  480. data/spec/models/toggle_template_delivery_request_spec.rb +36 -0
  481. data/spec/models/total_count_spec.rb +46 -0
  482. data/spec/models/totp_spec.rb +66 -0
  483. data/spec/models/update_domain_request_spec.rb +48 -0
  484. data/spec/models/update_email_address_request_spec.rb +42 -0
  485. data/spec/models/update_instance_auth_config200_response_spec.rb +70 -0
  486. data/spec/models/update_instance_auth_config_request_spec.rb +66 -0
  487. data/spec/models/update_instance_organization_settings_request_spec.rb +72 -0
  488. data/spec/models/update_instance_request_spec.rb +84 -0
  489. data/spec/models/update_instance_restrictions_request_spec.rb +60 -0
  490. data/spec/models/update_o_auth_application_request_spec.rb +48 -0
  491. data/spec/models/update_organization_domain_request_spec.rb +42 -0
  492. data/spec/models/update_organization_membership_metadata_request_spec.rb +42 -0
  493. data/spec/models/update_organization_membership_request_spec.rb +36 -0
  494. data/spec/models/update_organization_request_spec.rb +72 -0
  495. data/spec/models/update_phone_number_request_spec.rb +48 -0
  496. data/spec/models/update_production_instance_domain_request_spec.rb +36 -0
  497. data/spec/models/update_saml_connection_request_attribute_mapping_spec.rb +54 -0
  498. data/spec/models/update_saml_connection_request_spec.rb +108 -0
  499. data/spec/models/update_sign_up_request_spec.rb +36 -0
  500. data/spec/models/update_user_metadata_request_spec.rb +48 -0
  501. data/spec/models/update_user_request_spec.rb +180 -0
  502. data/spec/models/upsert_template_request_spec.rb +72 -0
  503. data/spec/models/user_spec.rb +268 -0
  504. data/spec/models/verify_client_request_spec.rb +36 -0
  505. data/spec/models/verify_domain_proxy_request_spec.rb +42 -0
  506. data/spec/models/verify_password200_response_spec.rb +36 -0
  507. data/spec/models/verify_password_request_spec.rb +36 -0
  508. data/spec/models/verify_session_request_spec.rb +36 -0
  509. data/spec/models/verify_totp200_response_spec.rb +46 -0
  510. data/spec/models/verify_totp_request_spec.rb +36 -0
  511. data/spec/models/web3_signature_spec.rb +74 -0
  512. data/spec/models/web3_wallet_spec.rb +70 -0
  513. data/spec/models/web3_wallet_verification_spec.rb +32 -0
  514. data/spec/models/well_known_jwks_keys_inner_spec.rb +66 -0
  515. data/spec/models/well_known_jwks_spec.rb +36 -0
  516. data/spec/spec_helper.rb +111 -0
  517. data/test.rb +2 -0
  518. metadata +782 -0
@@ -0,0 +1,315 @@
1
+ =begin
2
+ #Clerk Backend API
3
+
4
+ #The Clerk REST Backend API, meant to be accessed by backend servers. ### Versions When the API changes in a way that isn't compatible with older versions, a new version is released. Each version is identified by its release date, e.g. `2021-02-05`. For more information, please see [Clerk API Versions](https://clerk.com/docs/backend-requests/versioning/overview). Please see https://clerk.com/docs for more information.
5
+
6
+ The version of the OpenAPI document: v1
7
+ Contact: support@clerk.com
8
+ Generated by: https://openapi-generator.tech
9
+ Generator version: 7.9.0
10
+
11
+ =end
12
+
13
+ require 'date'
14
+ require 'time'
15
+
16
+ module ClerkHttpClient
17
+ class OTP
18
+ attr_accessor :status
19
+
20
+ attr_accessor :strategy
21
+
22
+ attr_accessor :attempts
23
+
24
+ attr_accessor :expire_at
25
+
26
+ class EnumAttributeValidator
27
+ attr_reader :datatype
28
+ attr_reader :allowable_values
29
+
30
+ def initialize(datatype, allowable_values)
31
+ @allowable_values = allowable_values.map do |value|
32
+ case datatype.to_s
33
+ when /Integer/i
34
+ value.to_i
35
+ when /Float/i
36
+ value.to_f
37
+ else
38
+ value
39
+ end
40
+ end
41
+ end
42
+
43
+ def valid?(value)
44
+ !value || allowable_values.include?(value)
45
+ end
46
+ end
47
+
48
+ # Attribute mapping from ruby-style variable name to JSON key.
49
+ def self.attribute_map
50
+ {
51
+ :'status' => :'status',
52
+ :'strategy' => :'strategy',
53
+ :'attempts' => :'attempts',
54
+ :'expire_at' => :'expire_at'
55
+ }
56
+ end
57
+
58
+ # Returns all the JSON keys this model knows about
59
+ def self.acceptable_attributes
60
+ attribute_map.values
61
+ end
62
+
63
+ # Attribute type mapping.
64
+ def self.openapi_types
65
+ {
66
+ :'status' => :'String',
67
+ :'strategy' => :'String',
68
+ :'attempts' => :'Integer',
69
+ :'expire_at' => :'Integer'
70
+ }
71
+ end
72
+
73
+ # List of attributes with nullable: true
74
+ def self.openapi_nullable
75
+ Set.new([
76
+ ])
77
+ end
78
+
79
+ # Initializes the object
80
+ # @param [Hash] attributes Model attributes in the form of hash
81
+ def initialize(attributes = {})
82
+ if (!attributes.is_a?(Hash))
83
+ fail ArgumentError, "The input argument (attributes) must be a hash in `ClerkHttpClient::OTP` initialize method"
84
+ end
85
+
86
+ # check to see if the attribute exists and convert string to symbol for hash key
87
+ attributes = attributes.each_with_object({}) { |(k, v), h|
88
+ if (!self.class.attribute_map.key?(k.to_sym))
89
+ fail ArgumentError, "`#{k}` is not a valid attribute in `ClerkHttpClient::OTP`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
90
+ end
91
+ h[k.to_sym] = v
92
+ }
93
+
94
+ if attributes.key?(:'status')
95
+ self.status = attributes[:'status']
96
+ else
97
+ self.status = nil
98
+ end
99
+
100
+ if attributes.key?(:'strategy')
101
+ self.strategy = attributes[:'strategy']
102
+ else
103
+ self.strategy = nil
104
+ end
105
+
106
+ if attributes.key?(:'attempts')
107
+ self.attempts = attributes[:'attempts']
108
+ else
109
+ self.attempts = nil
110
+ end
111
+
112
+ if attributes.key?(:'expire_at')
113
+ self.expire_at = attributes[:'expire_at']
114
+ else
115
+ self.expire_at = nil
116
+ end
117
+ end
118
+
119
+ # Show invalid properties with the reasons. Usually used together with valid?
120
+ # @return Array for valid properties with the reasons
121
+ def list_invalid_properties
122
+ warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
123
+ invalid_properties = Array.new
124
+ if @status.nil?
125
+ invalid_properties.push('invalid value for "status", status cannot be nil.')
126
+ end
127
+
128
+ if @strategy.nil?
129
+ invalid_properties.push('invalid value for "strategy", strategy cannot be nil.')
130
+ end
131
+
132
+ if @attempts.nil?
133
+ invalid_properties.push('invalid value for "attempts", attempts cannot be nil.')
134
+ end
135
+
136
+ if @expire_at.nil?
137
+ invalid_properties.push('invalid value for "expire_at", expire_at cannot be nil.')
138
+ end
139
+
140
+ invalid_properties
141
+ end
142
+
143
+ # Check to see if the all the properties in the model are valid
144
+ # @return true if the model is valid
145
+ def valid?
146
+ warn '[DEPRECATED] the `valid?` method is obsolete'
147
+ return false if @status.nil?
148
+ status_validator = EnumAttributeValidator.new('String', ["unverified", "verified", "failed", "expired"])
149
+ return false unless status_validator.valid?(@status)
150
+ return false if @strategy.nil?
151
+ strategy_validator = EnumAttributeValidator.new('String', ["phone_code", "email_code", "reset_password_email_code"])
152
+ return false unless strategy_validator.valid?(@strategy)
153
+ return false if @attempts.nil?
154
+ return false if @expire_at.nil?
155
+ true
156
+ end
157
+
158
+ # Custom attribute writer method checking allowed values (enum).
159
+ # @param [Object] status Object to be assigned
160
+ def status=(status)
161
+ validator = EnumAttributeValidator.new('String', ["unverified", "verified", "failed", "expired"])
162
+ unless validator.valid?(status)
163
+ fail ArgumentError, "invalid value for \"status\", must be one of #{validator.allowable_values}."
164
+ end
165
+ @status = status
166
+ end
167
+
168
+ # Custom attribute writer method checking allowed values (enum).
169
+ # @param [Object] strategy Object to be assigned
170
+ def strategy=(strategy)
171
+ validator = EnumAttributeValidator.new('String', ["phone_code", "email_code", "reset_password_email_code"])
172
+ unless validator.valid?(strategy)
173
+ fail ArgumentError, "invalid value for \"strategy\", must be one of #{validator.allowable_values}."
174
+ end
175
+ @strategy = strategy
176
+ end
177
+
178
+ # Checks equality by comparing each attribute.
179
+ # @param [Object] Object to be compared
180
+ def ==(o)
181
+ return true if self.equal?(o)
182
+ self.class == o.class &&
183
+ status == o.status &&
184
+ strategy == o.strategy &&
185
+ attempts == o.attempts &&
186
+ expire_at == o.expire_at
187
+ end
188
+
189
+ # @see the `==` method
190
+ # @param [Object] Object to be compared
191
+ def eql?(o)
192
+ self == o
193
+ end
194
+
195
+ # Calculates hash code according to all attributes.
196
+ # @return [Integer] Hash code
197
+ def hash
198
+ [status, strategy, attempts, expire_at].hash
199
+ end
200
+
201
+ # Builds the object from hash
202
+ # @param [Hash] attributes Model attributes in the form of hash
203
+ # @return [Object] Returns the model itself
204
+ def self.build_from_hash(attributes)
205
+ return nil unless attributes.is_a?(Hash)
206
+ attributes = attributes.transform_keys(&:to_sym)
207
+ transformed_hash = {}
208
+ openapi_types.each_pair do |key, type|
209
+ if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
210
+ transformed_hash["#{key}"] = nil
211
+ elsif type =~ /\AArray<(.*)>/i
212
+ # check to ensure the input is an array given that the attribute
213
+ # is documented as an array but the input is not
214
+ if attributes[attribute_map[key]].is_a?(Array)
215
+ transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
216
+ end
217
+ elsif !attributes[attribute_map[key]].nil?
218
+ transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
219
+ end
220
+ end
221
+ new(transformed_hash)
222
+ end
223
+
224
+ # Deserializes the data based on type
225
+ # @param string type Data type
226
+ # @param string value Value to be deserialized
227
+ # @return [Object] Deserialized data
228
+ def self._deserialize(type, value)
229
+ case type.to_sym
230
+ when :Time
231
+ Time.parse(value)
232
+ when :Date
233
+ Date.parse(value)
234
+ when :String
235
+ value.to_s
236
+ when :Integer
237
+ value.to_i
238
+ when :Float
239
+ value.to_f
240
+ when :Boolean
241
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
242
+ true
243
+ else
244
+ false
245
+ end
246
+ when :Object
247
+ # generic object (usually a Hash), return directly
248
+ value
249
+ when /\AArray<(?<inner_type>.+)>\z/
250
+ inner_type = Regexp.last_match[:inner_type]
251
+ value.map { |v| _deserialize(inner_type, v) }
252
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
253
+ k_type = Regexp.last_match[:k_type]
254
+ v_type = Regexp.last_match[:v_type]
255
+ {}.tap do |hash|
256
+ value.each do |k, v|
257
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
258
+ end
259
+ end
260
+ else # model
261
+ # models (e.g. Pet) or oneOf
262
+ klass = ClerkHttpClient.const_get(type)
263
+ klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
264
+ end
265
+ end
266
+
267
+ # Returns the string representation of the object
268
+ # @return [String] String presentation of the object
269
+ def to_s
270
+ to_hash.to_s
271
+ end
272
+
273
+ # to_body is an alias to to_hash (backward compatibility)
274
+ # @return [Hash] Returns the object in the form of hash
275
+ def to_body
276
+ to_hash
277
+ end
278
+
279
+ # Returns the object in the form of hash
280
+ # @return [Hash] Returns the object in the form of hash
281
+ def to_hash
282
+ hash = {}
283
+ self.class.attribute_map.each_pair do |attr, param|
284
+ value = self.send(attr)
285
+ if value.nil?
286
+ is_nullable = self.class.openapi_nullable.include?(attr)
287
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
288
+ end
289
+
290
+ hash[param] = _to_hash(value)
291
+ end
292
+ hash
293
+ end
294
+
295
+ # Outputs non-array value in the form of hash
296
+ # For object, use to_hash. Otherwise, just return the value
297
+ # @param [Object] value Any valid value
298
+ # @return [Hash] Returns the value in the form of hash
299
+ def _to_hash(value)
300
+ if value.is_a?(Array)
301
+ value.compact.map { |v| _to_hash(v) }
302
+ elsif value.is_a?(Hash)
303
+ {}.tap do |hash|
304
+ value.each { |k, v| hash[k] = _to_hash(v) }
305
+ end
306
+ elsif value.respond_to? :to_hash
307
+ value.to_hash
308
+ else
309
+ value
310
+ end
311
+ end
312
+
313
+ end
314
+
315
+ end
@@ -0,0 +1,324 @@
1
+ =begin
2
+ #Clerk Backend API
3
+
4
+ #The Clerk REST Backend API, meant to be accessed by backend servers. ### Versions When the API changes in a way that isn't compatible with older versions, a new version is released. Each version is identified by its release date, e.g. `2021-02-05`. For more information, please see [Clerk API Versions](https://clerk.com/docs/backend-requests/versioning/overview). Please see https://clerk.com/docs for more information.
5
+
6
+ The version of the OpenAPI document: v1
7
+ Contact: support@clerk.com
8
+ Generated by: https://openapi-generator.tech
9
+ Generator version: 7.9.0
10
+
11
+ =end
12
+
13
+ require 'date'
14
+ require 'time'
15
+
16
+ module ClerkHttpClient
17
+ class Passkey
18
+ attr_accessor :status
19
+
20
+ attr_accessor :strategy
21
+
22
+ attr_accessor :nonce
23
+
24
+ attr_accessor :attempts
25
+
26
+ attr_accessor :expire_at
27
+
28
+ class EnumAttributeValidator
29
+ attr_reader :datatype
30
+ attr_reader :allowable_values
31
+
32
+ def initialize(datatype, allowable_values)
33
+ @allowable_values = allowable_values.map do |value|
34
+ case datatype.to_s
35
+ when /Integer/i
36
+ value.to_i
37
+ when /Float/i
38
+ value.to_f
39
+ else
40
+ value
41
+ end
42
+ end
43
+ end
44
+
45
+ def valid?(value)
46
+ !value || allowable_values.include?(value)
47
+ end
48
+ end
49
+
50
+ # Attribute mapping from ruby-style variable name to JSON key.
51
+ def self.attribute_map
52
+ {
53
+ :'status' => :'status',
54
+ :'strategy' => :'strategy',
55
+ :'nonce' => :'nonce',
56
+ :'attempts' => :'attempts',
57
+ :'expire_at' => :'expire_at'
58
+ }
59
+ end
60
+
61
+ # Returns all the JSON keys this model knows about
62
+ def self.acceptable_attributes
63
+ attribute_map.values
64
+ end
65
+
66
+ # Attribute type mapping.
67
+ def self.openapi_types
68
+ {
69
+ :'status' => :'String',
70
+ :'strategy' => :'String',
71
+ :'nonce' => :'String',
72
+ :'attempts' => :'Integer',
73
+ :'expire_at' => :'Integer'
74
+ }
75
+ end
76
+
77
+ # List of attributes with nullable: true
78
+ def self.openapi_nullable
79
+ Set.new([
80
+ :'attempts',
81
+ :'expire_at'
82
+ ])
83
+ end
84
+
85
+ # Initializes the object
86
+ # @param [Hash] attributes Model attributes in the form of hash
87
+ def initialize(attributes = {})
88
+ if (!attributes.is_a?(Hash))
89
+ fail ArgumentError, "The input argument (attributes) must be a hash in `ClerkHttpClient::Passkey` initialize method"
90
+ end
91
+
92
+ # check to see if the attribute exists and convert string to symbol for hash key
93
+ attributes = attributes.each_with_object({}) { |(k, v), h|
94
+ if (!self.class.attribute_map.key?(k.to_sym))
95
+ fail ArgumentError, "`#{k}` is not a valid attribute in `ClerkHttpClient::Passkey`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
96
+ end
97
+ h[k.to_sym] = v
98
+ }
99
+
100
+ if attributes.key?(:'status')
101
+ self.status = attributes[:'status']
102
+ else
103
+ self.status = nil
104
+ end
105
+
106
+ if attributes.key?(:'strategy')
107
+ self.strategy = attributes[:'strategy']
108
+ else
109
+ self.strategy = nil
110
+ end
111
+
112
+ if attributes.key?(:'nonce')
113
+ self.nonce = attributes[:'nonce']
114
+ end
115
+
116
+ if attributes.key?(:'attempts')
117
+ self.attempts = attributes[:'attempts']
118
+ end
119
+
120
+ if attributes.key?(:'expire_at')
121
+ self.expire_at = attributes[:'expire_at']
122
+ end
123
+ end
124
+
125
+ # Show invalid properties with the reasons. Usually used together with valid?
126
+ # @return Array for valid properties with the reasons
127
+ def list_invalid_properties
128
+ warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
129
+ invalid_properties = Array.new
130
+ if @status.nil?
131
+ invalid_properties.push('invalid value for "status", status cannot be nil.')
132
+ end
133
+
134
+ if @strategy.nil?
135
+ invalid_properties.push('invalid value for "strategy", strategy cannot be nil.')
136
+ end
137
+
138
+ invalid_properties
139
+ end
140
+
141
+ # Check to see if the all the properties in the model are valid
142
+ # @return true if the model is valid
143
+ def valid?
144
+ warn '[DEPRECATED] the `valid?` method is obsolete'
145
+ return false if @status.nil?
146
+ status_validator = EnumAttributeValidator.new('String', ["verified"])
147
+ return false unless status_validator.valid?(@status)
148
+ return false if @strategy.nil?
149
+ strategy_validator = EnumAttributeValidator.new('String', ["passkey"])
150
+ return false unless strategy_validator.valid?(@strategy)
151
+ nonce_validator = EnumAttributeValidator.new('String', ["nonce"])
152
+ return false unless nonce_validator.valid?(@nonce)
153
+ true
154
+ end
155
+
156
+ # Custom attribute writer method checking allowed values (enum).
157
+ # @param [Object] status Object to be assigned
158
+ def status=(status)
159
+ validator = EnumAttributeValidator.new('String', ["verified"])
160
+ unless validator.valid?(status)
161
+ fail ArgumentError, "invalid value for \"status\", must be one of #{validator.allowable_values}."
162
+ end
163
+ @status = status
164
+ end
165
+
166
+ # Custom attribute writer method checking allowed values (enum).
167
+ # @param [Object] strategy Object to be assigned
168
+ def strategy=(strategy)
169
+ validator = EnumAttributeValidator.new('String', ["passkey"])
170
+ unless validator.valid?(strategy)
171
+ fail ArgumentError, "invalid value for \"strategy\", must be one of #{validator.allowable_values}."
172
+ end
173
+ @strategy = strategy
174
+ end
175
+
176
+ # Custom attribute writer method checking allowed values (enum).
177
+ # @param [Object] nonce Object to be assigned
178
+ def nonce=(nonce)
179
+ validator = EnumAttributeValidator.new('String', ["nonce"])
180
+ unless validator.valid?(nonce)
181
+ fail ArgumentError, "invalid value for \"nonce\", must be one of #{validator.allowable_values}."
182
+ end
183
+ @nonce = nonce
184
+ end
185
+
186
+ # Checks equality by comparing each attribute.
187
+ # @param [Object] Object to be compared
188
+ def ==(o)
189
+ return true if self.equal?(o)
190
+ self.class == o.class &&
191
+ status == o.status &&
192
+ strategy == o.strategy &&
193
+ nonce == o.nonce &&
194
+ attempts == o.attempts &&
195
+ expire_at == o.expire_at
196
+ end
197
+
198
+ # @see the `==` method
199
+ # @param [Object] Object to be compared
200
+ def eql?(o)
201
+ self == o
202
+ end
203
+
204
+ # Calculates hash code according to all attributes.
205
+ # @return [Integer] Hash code
206
+ def hash
207
+ [status, strategy, nonce, attempts, expire_at].hash
208
+ end
209
+
210
+ # Builds the object from hash
211
+ # @param [Hash] attributes Model attributes in the form of hash
212
+ # @return [Object] Returns the model itself
213
+ def self.build_from_hash(attributes)
214
+ return nil unless attributes.is_a?(Hash)
215
+ attributes = attributes.transform_keys(&:to_sym)
216
+ transformed_hash = {}
217
+ openapi_types.each_pair do |key, type|
218
+ if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
219
+ transformed_hash["#{key}"] = nil
220
+ elsif type =~ /\AArray<(.*)>/i
221
+ # check to ensure the input is an array given that the attribute
222
+ # is documented as an array but the input is not
223
+ if attributes[attribute_map[key]].is_a?(Array)
224
+ transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
225
+ end
226
+ elsif !attributes[attribute_map[key]].nil?
227
+ transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
228
+ end
229
+ end
230
+ new(transformed_hash)
231
+ end
232
+
233
+ # Deserializes the data based on type
234
+ # @param string type Data type
235
+ # @param string value Value to be deserialized
236
+ # @return [Object] Deserialized data
237
+ def self._deserialize(type, value)
238
+ case type.to_sym
239
+ when :Time
240
+ Time.parse(value)
241
+ when :Date
242
+ Date.parse(value)
243
+ when :String
244
+ value.to_s
245
+ when :Integer
246
+ value.to_i
247
+ when :Float
248
+ value.to_f
249
+ when :Boolean
250
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
251
+ true
252
+ else
253
+ false
254
+ end
255
+ when :Object
256
+ # generic object (usually a Hash), return directly
257
+ value
258
+ when /\AArray<(?<inner_type>.+)>\z/
259
+ inner_type = Regexp.last_match[:inner_type]
260
+ value.map { |v| _deserialize(inner_type, v) }
261
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
262
+ k_type = Regexp.last_match[:k_type]
263
+ v_type = Regexp.last_match[:v_type]
264
+ {}.tap do |hash|
265
+ value.each do |k, v|
266
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
267
+ end
268
+ end
269
+ else # model
270
+ # models (e.g. Pet) or oneOf
271
+ klass = ClerkHttpClient.const_get(type)
272
+ klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
273
+ end
274
+ end
275
+
276
+ # Returns the string representation of the object
277
+ # @return [String] String presentation of the object
278
+ def to_s
279
+ to_hash.to_s
280
+ end
281
+
282
+ # to_body is an alias to to_hash (backward compatibility)
283
+ # @return [Hash] Returns the object in the form of hash
284
+ def to_body
285
+ to_hash
286
+ end
287
+
288
+ # Returns the object in the form of hash
289
+ # @return [Hash] Returns the object in the form of hash
290
+ def to_hash
291
+ hash = {}
292
+ self.class.attribute_map.each_pair do |attr, param|
293
+ value = self.send(attr)
294
+ if value.nil?
295
+ is_nullable = self.class.openapi_nullable.include?(attr)
296
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
297
+ end
298
+
299
+ hash[param] = _to_hash(value)
300
+ end
301
+ hash
302
+ end
303
+
304
+ # Outputs non-array value in the form of hash
305
+ # For object, use to_hash. Otherwise, just return the value
306
+ # @param [Object] value Any valid value
307
+ # @return [Hash] Returns the value in the form of hash
308
+ def _to_hash(value)
309
+ if value.is_a?(Array)
310
+ value.compact.map { |v| _to_hash(v) }
311
+ elsif value.is_a?(Hash)
312
+ {}.tap do |hash|
313
+ value.each { |k, v| hash[k] = _to_hash(v) }
314
+ end
315
+ elsif value.respond_to? :to_hash
316
+ value.to_hash
317
+ else
318
+ value
319
+ end
320
+ end
321
+
322
+ end
323
+
324
+ end