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,303 @@
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 CreateInvitationRequest
18
+ # The email address the invitation will be sent to
19
+ attr_accessor :email_address
20
+
21
+ # Metadata that will be attached to the newly created invitation. The value of this property should be a well-formed JSON object. Once the user accepts the invitation and signs up, these metadata will end up in the user's public metadata.
22
+ attr_accessor :public_metadata
23
+
24
+ # Optional URL which specifies where to redirect the user once they click the invitation link. This is only required if you have implemented a [custom flow](https://clerk.com/docs/authentication/invitations#custom-flow) and you're not using Clerk Hosted Pages or Clerk Components.
25
+ attr_accessor :redirect_url
26
+
27
+ # Optional flag which denotes whether an email invitation should be sent to the given email address. Defaults to true.
28
+ attr_accessor :notify
29
+
30
+ # Whether an invitation should be created if there is already an existing invitation for this email address, or it's claimed by another user.
31
+ attr_accessor :ignore_existing
32
+
33
+ # The number of days the invitation will be valid for. By default, the invitation does not expire.
34
+ attr_accessor :expires_in_days
35
+
36
+ # Attribute mapping from ruby-style variable name to JSON key.
37
+ def self.attribute_map
38
+ {
39
+ :'email_address' => :'email_address',
40
+ :'public_metadata' => :'public_metadata',
41
+ :'redirect_url' => :'redirect_url',
42
+ :'notify' => :'notify',
43
+ :'ignore_existing' => :'ignore_existing',
44
+ :'expires_in_days' => :'expires_in_days'
45
+ }
46
+ end
47
+
48
+ # Returns all the JSON keys this model knows about
49
+ def self.acceptable_attributes
50
+ attribute_map.values
51
+ end
52
+
53
+ # Attribute type mapping.
54
+ def self.openapi_types
55
+ {
56
+ :'email_address' => :'String',
57
+ :'public_metadata' => :'Object',
58
+ :'redirect_url' => :'String',
59
+ :'notify' => :'Boolean',
60
+ :'ignore_existing' => :'Boolean',
61
+ :'expires_in_days' => :'Integer'
62
+ }
63
+ end
64
+
65
+ # List of attributes with nullable: true
66
+ def self.openapi_nullable
67
+ Set.new([
68
+ :'notify',
69
+ :'ignore_existing',
70
+ :'expires_in_days'
71
+ ])
72
+ end
73
+
74
+ # Initializes the object
75
+ # @param [Hash] attributes Model attributes in the form of hash
76
+ def initialize(attributes = {})
77
+ if (!attributes.is_a?(Hash))
78
+ fail ArgumentError, "The input argument (attributes) must be a hash in `ClerkHttpClient::CreateInvitationRequest` initialize method"
79
+ end
80
+
81
+ # check to see if the attribute exists and convert string to symbol for hash key
82
+ attributes = attributes.each_with_object({}) { |(k, v), h|
83
+ if (!self.class.attribute_map.key?(k.to_sym))
84
+ fail ArgumentError, "`#{k}` is not a valid attribute in `ClerkHttpClient::CreateInvitationRequest`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
85
+ end
86
+ h[k.to_sym] = v
87
+ }
88
+
89
+ if attributes.key?(:'email_address')
90
+ self.email_address = attributes[:'email_address']
91
+ else
92
+ self.email_address = nil
93
+ end
94
+
95
+ if attributes.key?(:'public_metadata')
96
+ self.public_metadata = attributes[:'public_metadata']
97
+ end
98
+
99
+ if attributes.key?(:'redirect_url')
100
+ self.redirect_url = attributes[:'redirect_url']
101
+ end
102
+
103
+ if attributes.key?(:'notify')
104
+ self.notify = attributes[:'notify']
105
+ else
106
+ self.notify = true
107
+ end
108
+
109
+ if attributes.key?(:'ignore_existing')
110
+ self.ignore_existing = attributes[:'ignore_existing']
111
+ else
112
+ self.ignore_existing = false
113
+ end
114
+
115
+ if attributes.key?(:'expires_in_days')
116
+ self.expires_in_days = attributes[:'expires_in_days']
117
+ end
118
+ end
119
+
120
+ # Show invalid properties with the reasons. Usually used together with valid?
121
+ # @return Array for valid properties with the reasons
122
+ def list_invalid_properties
123
+ warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
124
+ invalid_properties = Array.new
125
+ if @email_address.nil?
126
+ invalid_properties.push('invalid value for "email_address", email_address cannot be nil.')
127
+ end
128
+
129
+ if !@expires_in_days.nil? && @expires_in_days > 365
130
+ invalid_properties.push('invalid value for "expires_in_days", must be smaller than or equal to 365.')
131
+ end
132
+
133
+ if !@expires_in_days.nil? && @expires_in_days < 1
134
+ invalid_properties.push('invalid value for "expires_in_days", must be greater than or equal to 1.')
135
+ end
136
+
137
+ invalid_properties
138
+ end
139
+
140
+ # Check to see if the all the properties in the model are valid
141
+ # @return true if the model is valid
142
+ def valid?
143
+ warn '[DEPRECATED] the `valid?` method is obsolete'
144
+ return false if @email_address.nil?
145
+ return false if !@expires_in_days.nil? && @expires_in_days > 365
146
+ return false if !@expires_in_days.nil? && @expires_in_days < 1
147
+ true
148
+ end
149
+
150
+ # Custom attribute writer method with validation
151
+ # @param [Object] expires_in_days Value to be assigned
152
+ def expires_in_days=(expires_in_days)
153
+ if !expires_in_days.nil? && expires_in_days > 365
154
+ fail ArgumentError, 'invalid value for "expires_in_days", must be smaller than or equal to 365.'
155
+ end
156
+
157
+ if !expires_in_days.nil? && expires_in_days < 1
158
+ fail ArgumentError, 'invalid value for "expires_in_days", must be greater than or equal to 1.'
159
+ end
160
+
161
+ @expires_in_days = expires_in_days
162
+ end
163
+
164
+ # Checks equality by comparing each attribute.
165
+ # @param [Object] Object to be compared
166
+ def ==(o)
167
+ return true if self.equal?(o)
168
+ self.class == o.class &&
169
+ email_address == o.email_address &&
170
+ public_metadata == o.public_metadata &&
171
+ redirect_url == o.redirect_url &&
172
+ notify == o.notify &&
173
+ ignore_existing == o.ignore_existing &&
174
+ expires_in_days == o.expires_in_days
175
+ end
176
+
177
+ # @see the `==` method
178
+ # @param [Object] Object to be compared
179
+ def eql?(o)
180
+ self == o
181
+ end
182
+
183
+ # Calculates hash code according to all attributes.
184
+ # @return [Integer] Hash code
185
+ def hash
186
+ [email_address, public_metadata, redirect_url, notify, ignore_existing, expires_in_days].hash
187
+ end
188
+
189
+ # Builds the object from hash
190
+ # @param [Hash] attributes Model attributes in the form of hash
191
+ # @return [Object] Returns the model itself
192
+ def self.build_from_hash(attributes)
193
+ return nil unless attributes.is_a?(Hash)
194
+ attributes = attributes.transform_keys(&:to_sym)
195
+ transformed_hash = {}
196
+ openapi_types.each_pair do |key, type|
197
+ if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
198
+ transformed_hash["#{key}"] = nil
199
+ elsif type =~ /\AArray<(.*)>/i
200
+ # check to ensure the input is an array given that the attribute
201
+ # is documented as an array but the input is not
202
+ if attributes[attribute_map[key]].is_a?(Array)
203
+ transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
204
+ end
205
+ elsif !attributes[attribute_map[key]].nil?
206
+ transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
207
+ end
208
+ end
209
+ new(transformed_hash)
210
+ end
211
+
212
+ # Deserializes the data based on type
213
+ # @param string type Data type
214
+ # @param string value Value to be deserialized
215
+ # @return [Object] Deserialized data
216
+ def self._deserialize(type, value)
217
+ case type.to_sym
218
+ when :Time
219
+ Time.parse(value)
220
+ when :Date
221
+ Date.parse(value)
222
+ when :String
223
+ value.to_s
224
+ when :Integer
225
+ value.to_i
226
+ when :Float
227
+ value.to_f
228
+ when :Boolean
229
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
230
+ true
231
+ else
232
+ false
233
+ end
234
+ when :Object
235
+ # generic object (usually a Hash), return directly
236
+ value
237
+ when /\AArray<(?<inner_type>.+)>\z/
238
+ inner_type = Regexp.last_match[:inner_type]
239
+ value.map { |v| _deserialize(inner_type, v) }
240
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
241
+ k_type = Regexp.last_match[:k_type]
242
+ v_type = Regexp.last_match[:v_type]
243
+ {}.tap do |hash|
244
+ value.each do |k, v|
245
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
246
+ end
247
+ end
248
+ else # model
249
+ # models (e.g. Pet) or oneOf
250
+ klass = ClerkHttpClient.const_get(type)
251
+ klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
252
+ end
253
+ end
254
+
255
+ # Returns the string representation of the object
256
+ # @return [String] String presentation of the object
257
+ def to_s
258
+ to_hash.to_s
259
+ end
260
+
261
+ # to_body is an alias to to_hash (backward compatibility)
262
+ # @return [Hash] Returns the object in the form of hash
263
+ def to_body
264
+ to_hash
265
+ end
266
+
267
+ # Returns the object in the form of hash
268
+ # @return [Hash] Returns the object in the form of hash
269
+ def to_hash
270
+ hash = {}
271
+ self.class.attribute_map.each_pair do |attr, param|
272
+ value = self.send(attr)
273
+ if value.nil?
274
+ is_nullable = self.class.openapi_nullable.include?(attr)
275
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
276
+ end
277
+
278
+ hash[param] = _to_hash(value)
279
+ end
280
+ hash
281
+ end
282
+
283
+ # Outputs non-array value in the form of hash
284
+ # For object, use to_hash. Otherwise, just return the value
285
+ # @param [Object] value Any valid value
286
+ # @return [Hash] Returns the value in the form of hash
287
+ def _to_hash(value)
288
+ if value.is_a?(Array)
289
+ value.compact.map { |v| _to_hash(v) }
290
+ elsif value.is_a?(Hash)
291
+ {}.tap do |hash|
292
+ value.each { |k, v| hash[k] = _to_hash(v) }
293
+ end
294
+ elsif value.respond_to? :to_hash
295
+ value.to_hash
296
+ else
297
+ value
298
+ end
299
+ end
300
+
301
+ end
302
+
303
+ end
@@ -0,0 +1,327 @@
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 CreateJWTTemplateRequest
18
+ # JWT template name
19
+ attr_accessor :name
20
+
21
+ # JWT template claims in JSON format
22
+ attr_accessor :claims
23
+
24
+ # JWT token lifetime
25
+ attr_accessor :lifetime
26
+
27
+ # JWT token allowed clock skew
28
+ attr_accessor :allowed_clock_skew
29
+
30
+ # Whether a custom signing key/algorithm is also provided for this template
31
+ attr_accessor :custom_signing_key
32
+
33
+ # The custom signing algorithm to use when minting JWTs
34
+ attr_accessor :signing_algorithm
35
+
36
+ # The custom signing private key to use when minting JWTs
37
+ attr_accessor :signing_key
38
+
39
+ # Attribute mapping from ruby-style variable name to JSON key.
40
+ def self.attribute_map
41
+ {
42
+ :'name' => :'name',
43
+ :'claims' => :'claims',
44
+ :'lifetime' => :'lifetime',
45
+ :'allowed_clock_skew' => :'allowed_clock_skew',
46
+ :'custom_signing_key' => :'custom_signing_key',
47
+ :'signing_algorithm' => :'signing_algorithm',
48
+ :'signing_key' => :'signing_key'
49
+ }
50
+ end
51
+
52
+ # Returns all the JSON keys this model knows about
53
+ def self.acceptable_attributes
54
+ attribute_map.values
55
+ end
56
+
57
+ # Attribute type mapping.
58
+ def self.openapi_types
59
+ {
60
+ :'name' => :'String',
61
+ :'claims' => :'Object',
62
+ :'lifetime' => :'Float',
63
+ :'allowed_clock_skew' => :'Float',
64
+ :'custom_signing_key' => :'Boolean',
65
+ :'signing_algorithm' => :'String',
66
+ :'signing_key' => :'String'
67
+ }
68
+ end
69
+
70
+ # List of attributes with nullable: true
71
+ def self.openapi_nullable
72
+ Set.new([
73
+ :'lifetime',
74
+ :'allowed_clock_skew',
75
+ :'signing_algorithm',
76
+ :'signing_key'
77
+ ])
78
+ end
79
+
80
+ # Initializes the object
81
+ # @param [Hash] attributes Model attributes in the form of hash
82
+ def initialize(attributes = {})
83
+ if (!attributes.is_a?(Hash))
84
+ fail ArgumentError, "The input argument (attributes) must be a hash in `ClerkHttpClient::CreateJWTTemplateRequest` initialize method"
85
+ end
86
+
87
+ # check to see if the attribute exists and convert string to symbol for hash key
88
+ attributes = attributes.each_with_object({}) { |(k, v), h|
89
+ if (!self.class.attribute_map.key?(k.to_sym))
90
+ fail ArgumentError, "`#{k}` is not a valid attribute in `ClerkHttpClient::CreateJWTTemplateRequest`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
91
+ end
92
+ h[k.to_sym] = v
93
+ }
94
+
95
+ if attributes.key?(:'name')
96
+ self.name = attributes[:'name']
97
+ end
98
+
99
+ if attributes.key?(:'claims')
100
+ self.claims = attributes[:'claims']
101
+ end
102
+
103
+ if attributes.key?(:'lifetime')
104
+ self.lifetime = attributes[:'lifetime']
105
+ end
106
+
107
+ if attributes.key?(:'allowed_clock_skew')
108
+ self.allowed_clock_skew = attributes[:'allowed_clock_skew']
109
+ end
110
+
111
+ if attributes.key?(:'custom_signing_key')
112
+ self.custom_signing_key = attributes[:'custom_signing_key']
113
+ end
114
+
115
+ if attributes.key?(:'signing_algorithm')
116
+ self.signing_algorithm = attributes[:'signing_algorithm']
117
+ end
118
+
119
+ if attributes.key?(:'signing_key')
120
+ self.signing_key = attributes[:'signing_key']
121
+ end
122
+ end
123
+
124
+ # Show invalid properties with the reasons. Usually used together with valid?
125
+ # @return Array for valid properties with the reasons
126
+ def list_invalid_properties
127
+ warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
128
+ invalid_properties = Array.new
129
+ if !@lifetime.nil? && @lifetime > 315360000
130
+ invalid_properties.push('invalid value for "lifetime", must be smaller than or equal to 315360000.')
131
+ end
132
+
133
+ if !@lifetime.nil? && @lifetime < 30
134
+ invalid_properties.push('invalid value for "lifetime", must be greater than or equal to 30.')
135
+ end
136
+
137
+ if !@allowed_clock_skew.nil? && @allowed_clock_skew > 300
138
+ invalid_properties.push('invalid value for "allowed_clock_skew", must be smaller than or equal to 300.')
139
+ end
140
+
141
+ if !@allowed_clock_skew.nil? && @allowed_clock_skew < 0
142
+ invalid_properties.push('invalid value for "allowed_clock_skew", must be greater than or equal to 0.')
143
+ end
144
+
145
+ invalid_properties
146
+ end
147
+
148
+ # Check to see if the all the properties in the model are valid
149
+ # @return true if the model is valid
150
+ def valid?
151
+ warn '[DEPRECATED] the `valid?` method is obsolete'
152
+ return false if !@lifetime.nil? && @lifetime > 315360000
153
+ return false if !@lifetime.nil? && @lifetime < 30
154
+ return false if !@allowed_clock_skew.nil? && @allowed_clock_skew > 300
155
+ return false if !@allowed_clock_skew.nil? && @allowed_clock_skew < 0
156
+ true
157
+ end
158
+
159
+ # Custom attribute writer method with validation
160
+ # @param [Object] lifetime Value to be assigned
161
+ def lifetime=(lifetime)
162
+ if !lifetime.nil? && lifetime > 315360000
163
+ fail ArgumentError, 'invalid value for "lifetime", must be smaller than or equal to 315360000.'
164
+ end
165
+
166
+ if !lifetime.nil? && lifetime < 30
167
+ fail ArgumentError, 'invalid value for "lifetime", must be greater than or equal to 30.'
168
+ end
169
+
170
+ @lifetime = lifetime
171
+ end
172
+
173
+ # Custom attribute writer method with validation
174
+ # @param [Object] allowed_clock_skew Value to be assigned
175
+ def allowed_clock_skew=(allowed_clock_skew)
176
+ if !allowed_clock_skew.nil? && allowed_clock_skew > 300
177
+ fail ArgumentError, 'invalid value for "allowed_clock_skew", must be smaller than or equal to 300.'
178
+ end
179
+
180
+ if !allowed_clock_skew.nil? && allowed_clock_skew < 0
181
+ fail ArgumentError, 'invalid value for "allowed_clock_skew", must be greater than or equal to 0.'
182
+ end
183
+
184
+ @allowed_clock_skew = allowed_clock_skew
185
+ end
186
+
187
+ # Checks equality by comparing each attribute.
188
+ # @param [Object] Object to be compared
189
+ def ==(o)
190
+ return true if self.equal?(o)
191
+ self.class == o.class &&
192
+ name == o.name &&
193
+ claims == o.claims &&
194
+ lifetime == o.lifetime &&
195
+ allowed_clock_skew == o.allowed_clock_skew &&
196
+ custom_signing_key == o.custom_signing_key &&
197
+ signing_algorithm == o.signing_algorithm &&
198
+ signing_key == o.signing_key
199
+ end
200
+
201
+ # @see the `==` method
202
+ # @param [Object] Object to be compared
203
+ def eql?(o)
204
+ self == o
205
+ end
206
+
207
+ # Calculates hash code according to all attributes.
208
+ # @return [Integer] Hash code
209
+ def hash
210
+ [name, claims, lifetime, allowed_clock_skew, custom_signing_key, signing_algorithm, signing_key].hash
211
+ end
212
+
213
+ # Builds the object from hash
214
+ # @param [Hash] attributes Model attributes in the form of hash
215
+ # @return [Object] Returns the model itself
216
+ def self.build_from_hash(attributes)
217
+ return nil unless attributes.is_a?(Hash)
218
+ attributes = attributes.transform_keys(&:to_sym)
219
+ transformed_hash = {}
220
+ openapi_types.each_pair do |key, type|
221
+ if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
222
+ transformed_hash["#{key}"] = nil
223
+ elsif type =~ /\AArray<(.*)>/i
224
+ # check to ensure the input is an array given that the attribute
225
+ # is documented as an array but the input is not
226
+ if attributes[attribute_map[key]].is_a?(Array)
227
+ transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
228
+ end
229
+ elsif !attributes[attribute_map[key]].nil?
230
+ transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
231
+ end
232
+ end
233
+ new(transformed_hash)
234
+ end
235
+
236
+ # Deserializes the data based on type
237
+ # @param string type Data type
238
+ # @param string value Value to be deserialized
239
+ # @return [Object] Deserialized data
240
+ def self._deserialize(type, value)
241
+ case type.to_sym
242
+ when :Time
243
+ Time.parse(value)
244
+ when :Date
245
+ Date.parse(value)
246
+ when :String
247
+ value.to_s
248
+ when :Integer
249
+ value.to_i
250
+ when :Float
251
+ value.to_f
252
+ when :Boolean
253
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
254
+ true
255
+ else
256
+ false
257
+ end
258
+ when :Object
259
+ # generic object (usually a Hash), return directly
260
+ value
261
+ when /\AArray<(?<inner_type>.+)>\z/
262
+ inner_type = Regexp.last_match[:inner_type]
263
+ value.map { |v| _deserialize(inner_type, v) }
264
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
265
+ k_type = Regexp.last_match[:k_type]
266
+ v_type = Regexp.last_match[:v_type]
267
+ {}.tap do |hash|
268
+ value.each do |k, v|
269
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
270
+ end
271
+ end
272
+ else # model
273
+ # models (e.g. Pet) or oneOf
274
+ klass = ClerkHttpClient.const_get(type)
275
+ klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
276
+ end
277
+ end
278
+
279
+ # Returns the string representation of the object
280
+ # @return [String] String presentation of the object
281
+ def to_s
282
+ to_hash.to_s
283
+ end
284
+
285
+ # to_body is an alias to to_hash (backward compatibility)
286
+ # @return [Hash] Returns the object in the form of hash
287
+ def to_body
288
+ to_hash
289
+ end
290
+
291
+ # Returns the object in the form of hash
292
+ # @return [Hash] Returns the object in the form of hash
293
+ def to_hash
294
+ hash = {}
295
+ self.class.attribute_map.each_pair do |attr, param|
296
+ value = self.send(attr)
297
+ if value.nil?
298
+ is_nullable = self.class.openapi_nullable.include?(attr)
299
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
300
+ end
301
+
302
+ hash[param] = _to_hash(value)
303
+ end
304
+ hash
305
+ end
306
+
307
+ # Outputs non-array value in the form of hash
308
+ # For object, use to_hash. Otherwise, just return the value
309
+ # @param [Object] value Any valid value
310
+ # @return [Hash] Returns the value in the form of hash
311
+ def _to_hash(value)
312
+ if value.is_a?(Array)
313
+ value.compact.map { |v| _to_hash(v) }
314
+ elsif value.is_a?(Hash)
315
+ {}.tap do |hash|
316
+ value.each { |k, v| hash[k] = _to_hash(v) }
317
+ end
318
+ elsif value.respond_to? :to_hash
319
+ value.to_hash
320
+ else
321
+ value
322
+ end
323
+ end
324
+
325
+ end
326
+
327
+ end