kinde_sdk 1.2.3 → 1.7.0

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 (638) hide show
  1. checksums.yaml +4 -4
  2. data/app/assets/stylesheets/kinde/ruby/sdk/application.css +15 -0
  3. data/app/controllers/kinde_sdk/auth_controller.rb +301 -0
  4. data/app/helpers/auth_helper.rb +88 -0
  5. data/config/routes.rb +9 -0
  6. data/kinde_api/Gemfile +9 -0
  7. data/kinde_api/README.md +316 -47
  8. data/kinde_api/Rakefile +10 -0
  9. data/kinde_api/docs/APIsApi.md +569 -60
  10. data/kinde_api/docs/AddAPIScopeRequest.md +20 -0
  11. data/kinde_api/docs/AddAPIsRequest.md +4 -4
  12. data/kinde_api/docs/AddOrganizationUsersRequestUsersInner.md +1 -1
  13. data/kinde_api/docs/AddRoleScopeRequest.md +18 -0
  14. data/kinde_api/docs/AddRoleScopeResponse.md +20 -0
  15. data/kinde_api/docs/ApplicationsApi.md +465 -38
  16. data/kinde_api/docs/AuthorizeAppApiResponse.md +24 -0
  17. data/kinde_api/docs/BillingAgreementsApi.md +157 -0
  18. data/kinde_api/docs/BillingEntitlementsApi.md +89 -0
  19. data/kinde_api/docs/BillingMeterUsageApi.md +77 -0
  20. data/kinde_api/docs/BusinessApi.md +27 -66
  21. data/kinde_api/docs/CallbacksApi.md +25 -25
  22. data/kinde_api/docs/Category.md +20 -0
  23. data/kinde_api/docs/ConnectedAppsApi.md +8 -8
  24. data/kinde_api/docs/Connection.md +22 -0
  25. data/kinde_api/docs/ConnectionConnection.md +24 -0
  26. data/kinde_api/docs/ConnectionsApi.md +439 -0
  27. data/kinde_api/docs/CreateApiScopesResponse.md +22 -0
  28. data/kinde_api/docs/CreateApiScopesResponseScope.md +18 -0
  29. data/kinde_api/docs/CreateApisResponse.md +22 -0
  30. data/kinde_api/docs/CreateApisResponseApi.md +18 -0
  31. data/kinde_api/docs/CreateApplicationRequest.md +3 -3
  32. data/kinde_api/docs/CreateApplicationResponseApplication.md +4 -4
  33. data/kinde_api/docs/CreateBillingAgreementRequest.md +24 -0
  34. data/kinde_api/docs/CreateCategoryRequest.md +20 -0
  35. data/kinde_api/docs/CreateCategoryResponse.md +22 -0
  36. data/kinde_api/docs/CreateCategoryResponseCategory.md +18 -0
  37. data/kinde_api/docs/CreateConnectionRequest.md +28 -0
  38. data/kinde_api/docs/CreateConnectionRequestOptions.md +51 -0
  39. data/kinde_api/docs/CreateConnectionRequestOptionsOneOf.md +22 -0
  40. data/kinde_api/docs/CreateConnectionRequestOptionsOneOf1.md +34 -0
  41. data/kinde_api/docs/CreateConnectionRequestOptionsOneOf2.md +44 -0
  42. data/kinde_api/docs/CreateConnectionResponse.md +22 -0
  43. data/kinde_api/docs/CreateConnectionResponseConnection.md +18 -0
  44. data/kinde_api/docs/CreateEnvironmentVariableRequest.md +22 -0
  45. data/kinde_api/docs/CreateEnvironmentVariableResponse.md +22 -0
  46. data/kinde_api/docs/CreateEnvironmentVariableResponseEnvironmentVariable.md +18 -0
  47. data/kinde_api/docs/CreateIdentityResponse.md +22 -0
  48. data/kinde_api/docs/CreateIdentityResponseIdentity.md +18 -0
  49. data/kinde_api/docs/CreateMeterUsageRecordRequest.md +26 -0
  50. data/kinde_api/docs/CreateMeterUsageRecordResponse.md +20 -0
  51. data/kinde_api/docs/CreateOrganizationRequest.md +17 -7
  52. data/kinde_api/docs/CreateOrganizationResponse.md +4 -4
  53. data/kinde_api/docs/CreateOrganizationResponseOrganization.md +4 -2
  54. data/kinde_api/docs/CreatePropertyRequest.md +30 -0
  55. data/kinde_api/docs/CreatePropertyResponse.md +22 -0
  56. data/kinde_api/docs/CreatePropertyResponseProperty.md +18 -0
  57. data/kinde_api/docs/CreateRolesResponse.md +22 -0
  58. data/kinde_api/docs/CreateRolesResponseRole.md +18 -0
  59. data/kinde_api/docs/CreateUserIdentityRequest.md +24 -0
  60. data/kinde_api/docs/CreateUserRequest.md +3 -1
  61. data/kinde_api/docs/CreateUserRequestIdentitiesInner.md +3 -1
  62. data/kinde_api/docs/CreateUserRequestIdentitiesInnerDetails.md +7 -1
  63. data/kinde_api/docs/CreateUserRequestProfile.md +3 -1
  64. data/kinde_api/docs/CreateUserResponse.md +1 -1
  65. data/kinde_api/docs/CreateWebHookRequest.md +24 -0
  66. data/kinde_api/docs/CreateWebhookResponse.md +22 -0
  67. data/kinde_api/docs/CreateWebhookResponseWebhook.md +20 -0
  68. data/kinde_api/docs/DeleteApiResponse.md +20 -0
  69. data/kinde_api/docs/DeleteEnvironmentVariableResponse.md +20 -0
  70. data/kinde_api/docs/DeleteRoleScopeResponse.md +20 -0
  71. data/kinde_api/docs/DeleteWebhookResponse.md +20 -0
  72. data/kinde_api/docs/EnvironmentVariable.md +26 -0
  73. data/kinde_api/docs/EnvironmentVariablesApi.md +356 -0
  74. data/kinde_api/docs/EnvironmentsApi.md +281 -5
  75. data/kinde_api/docs/EventType.md +26 -0
  76. data/kinde_api/docs/FeatureFlagsApi.md +4 -4
  77. data/kinde_api/docs/GetApiResponse.md +22 -0
  78. data/kinde_api/docs/GetApiResponseApi.md +28 -0
  79. data/kinde_api/docs/GetApiResponseApiApplicationsInner.md +24 -0
  80. data/kinde_api/docs/GetApiResponseApiScopesInner.md +20 -0
  81. data/kinde_api/docs/GetApiScopeResponse.md +22 -0
  82. data/kinde_api/docs/GetApiScopesResponse.md +22 -0
  83. data/kinde_api/docs/GetApiScopesResponseScopesInner.md +22 -0
  84. data/kinde_api/docs/GetApisResponse.md +24 -0
  85. data/kinde_api/docs/GetApisResponseApisInner.md +26 -0
  86. data/kinde_api/docs/GetApisResponseApisInnerScopesInner.md +20 -0
  87. data/kinde_api/docs/GetApplicationResponseApplication.md +11 -5
  88. data/kinde_api/docs/GetBillingAgreementsResponse.md +24 -0
  89. data/kinde_api/docs/GetBillingAgreementsResponseAgreementsInner.md +26 -0
  90. data/kinde_api/docs/GetBillingAgreementsResponseAgreementsInnerEntitlementsInner.md +20 -0
  91. data/kinde_api/docs/GetBillingEntitlementsResponse.md +26 -0
  92. data/kinde_api/docs/GetBillingEntitlementsResponseEntitlementsInner.md +32 -0
  93. data/kinde_api/docs/GetBillingEntitlementsResponsePlansInner.md +20 -0
  94. data/kinde_api/docs/GetBusinessResponse.md +22 -0
  95. data/kinde_api/docs/GetBusinessResponseBusiness.md +38 -0
  96. data/kinde_api/docs/GetCategoriesResponse.md +24 -0
  97. data/kinde_api/docs/GetConnectionsResponse.md +24 -0
  98. data/kinde_api/docs/GetEnvironmentResponse.md +22 -0
  99. data/kinde_api/docs/GetEnvironmentResponseEnvironment.md +68 -0
  100. data/kinde_api/docs/GetEnvironmentResponseEnvironmentBackgroundColor.md +22 -0
  101. data/kinde_api/docs/GetEnvironmentResponseEnvironmentLinkColor.md +22 -0
  102. data/kinde_api/docs/GetEnvironmentVariableResponse.md +22 -0
  103. data/kinde_api/docs/GetEnvironmentVariablesResponse.md +24 -0
  104. data/kinde_api/docs/GetEventResponse.md +22 -0
  105. data/kinde_api/docs/GetEventResponseEvent.md +26 -0
  106. data/kinde_api/docs/GetEventTypesResponse.md +22 -0
  107. data/kinde_api/docs/GetIdentitiesResponse.md +24 -0
  108. data/kinde_api/docs/GetIndustriesResponse.md +22 -0
  109. data/kinde_api/docs/GetIndustriesResponseIndustriesInner.md +20 -0
  110. data/kinde_api/docs/GetOrganizationResponse.md +72 -0
  111. data/kinde_api/docs/GetOrganizationResponseBilling.md +20 -0
  112. data/kinde_api/docs/GetOrganizationResponseBillingAgreementsInner.md +20 -0
  113. data/kinde_api/docs/GetOrganizationUsersResponse.md +2 -2
  114. data/kinde_api/docs/GetOrganizationsResponse.md +4 -4
  115. data/kinde_api/docs/GetPropertiesResponse.md +24 -0
  116. data/kinde_api/docs/GetPropertyValuesResponse.md +24 -0
  117. data/kinde_api/docs/GetRoleResponse.md +22 -0
  118. data/kinde_api/docs/GetRoleResponseRole.md +26 -0
  119. data/kinde_api/docs/GetTimezonesResponse.md +22 -0
  120. data/kinde_api/docs/GetTimezonesResponseTimezonesInner.md +20 -0
  121. data/kinde_api/docs/GetUserMfaResponse.md +22 -0
  122. data/kinde_api/docs/GetUserMfaResponseMfa.md +30 -0
  123. data/kinde_api/docs/GetUserSessionsResponse.md +24 -0
  124. data/kinde_api/docs/GetUserSessionsResponseSessionsInner.md +40 -0
  125. data/kinde_api/docs/GetWebhooksResponse.md +22 -0
  126. data/kinde_api/docs/IdentitiesApi.md +219 -0
  127. data/kinde_api/docs/Identity.md +34 -0
  128. data/kinde_api/docs/IndustriesApi.md +14 -21
  129. data/kinde_api/docs/LogoutRedirectUrls.md +6 -2
  130. data/kinde_api/docs/MFAApi.md +77 -0
  131. data/kinde_api/docs/NotFoundResponse.md +18 -0
  132. data/kinde_api/docs/NotFoundResponseErrors.md +20 -0
  133. data/kinde_api/docs/OAuthApi.md +32 -97
  134. data/kinde_api/docs/OrganizationItemSchema.md +28 -0
  135. data/kinde_api/docs/OrganizationUser.md +17 -11
  136. data/kinde_api/docs/OrganizationsApi.md +1440 -210
  137. data/kinde_api/docs/Permissions.md +1 -1
  138. data/kinde_api/docs/PermissionsApi.md +7 -7
  139. data/kinde_api/docs/PropertiesApi.md +297 -0
  140. data/kinde_api/docs/Property.md +28 -0
  141. data/kinde_api/docs/PropertyCategoriesApi.md +227 -0
  142. data/kinde_api/docs/PropertyValue.md +26 -0
  143. data/kinde_api/docs/ReadEnvLogoResponse.md +22 -0
  144. data/kinde_api/docs/ReadEnvLogoResponseLogosInner.md +20 -0
  145. data/kinde_api/docs/ReadLogoResponse.md +22 -0
  146. data/kinde_api/docs/ReadLogoResponseLogosInner.md +22 -0
  147. data/kinde_api/docs/ReplaceConnectionRequest.md +24 -0
  148. data/kinde_api/docs/ReplaceConnectionRequestOptions.md +51 -0
  149. data/kinde_api/docs/ReplaceConnectionRequestOptionsOneOf.md +32 -0
  150. data/kinde_api/docs/ReplaceConnectionRequestOptionsOneOf1.md +40 -0
  151. data/kinde_api/docs/ReplaceMFARequest.md +20 -0
  152. data/kinde_api/docs/ReplaceOrganizationMFARequest.md +18 -0
  153. data/kinde_api/docs/RolePermissionsResponse.md +24 -0
  154. data/kinde_api/docs/RoleScopesResponse.md +22 -0
  155. data/kinde_api/docs/Roles.md +4 -2
  156. data/kinde_api/docs/RolesApi.md +338 -54
  157. data/kinde_api/docs/Scopes.md +24 -0
  158. data/kinde_api/docs/SearchApi.md +89 -0
  159. data/kinde_api/docs/SearchUsersResponse.md +22 -0
  160. data/kinde_api/docs/SearchUsersResponseResultsInner.md +46 -0
  161. data/kinde_api/docs/SetUserPasswordRequest.md +26 -0
  162. data/kinde_api/docs/SubscribersApi.md +4 -4
  163. data/kinde_api/docs/SuccessResponse.md +2 -2
  164. data/kinde_api/docs/TimezonesApi.md +14 -21
  165. data/kinde_api/docs/TokenIntrospect.md +5 -5
  166. data/kinde_api/docs/UpdateAPIApplicationsRequestApplicationsInner.md +4 -4
  167. data/kinde_api/docs/UpdateAPIScopeRequest.md +18 -0
  168. data/kinde_api/docs/UpdateApplicationRequest.md +5 -1
  169. data/kinde_api/docs/UpdateApplicationTokensRequest.md +26 -0
  170. data/kinde_api/docs/UpdateApplicationsPropertyRequest.md +18 -0
  171. data/kinde_api/docs/UpdateApplicationsPropertyRequestValue.md +49 -0
  172. data/kinde_api/docs/UpdateBusinessRequest.md +36 -0
  173. data/kinde_api/docs/UpdateCategoryRequest.md +18 -0
  174. data/kinde_api/docs/UpdateConnectionRequest.md +24 -0
  175. data/kinde_api/docs/UpdateEnvironmentVariableRequest.md +22 -0
  176. data/kinde_api/docs/UpdateEnvironmentVariableResponse.md +20 -0
  177. data/kinde_api/docs/UpdateIdentityRequest.md +18 -0
  178. data/kinde_api/docs/UpdateOrganizationPropertiesRequest.md +18 -0
  179. data/kinde_api/docs/UpdateOrganizationRequest.md +27 -15
  180. data/kinde_api/docs/UpdateOrganizationSessionsRequest.md +24 -0
  181. data/kinde_api/docs/UpdateOrganizationUsersRequestUsersInner.md +2 -2
  182. data/kinde_api/docs/UpdateOrganizationUsersResponse.md +3 -1
  183. data/kinde_api/docs/UpdatePropertyRequest.md +24 -0
  184. data/kinde_api/docs/UpdateUserRequest.md +5 -1
  185. data/kinde_api/docs/UpdateUserResponse.md +1 -1
  186. data/kinde_api/docs/UpdateWebHookRequest.md +22 -0
  187. data/kinde_api/docs/UpdateWebhookResponse.md +22 -0
  188. data/kinde_api/docs/UpdateWebhookResponseWebhook.md +18 -0
  189. data/kinde_api/docs/User.md +6 -2
  190. data/kinde_api/docs/UserProfileV2.md +17 -13
  191. data/kinde_api/docs/UsersApi.md +893 -99
  192. data/kinde_api/docs/UsersResponseUsersInner.md +6 -2
  193. data/kinde_api/docs/Webhook.md +28 -0
  194. data/kinde_api/docs/WebhooksApi.md +423 -0
  195. data/kinde_api/git_push.sh +57 -0
  196. data/kinde_api/kinde_api.gemspec +38 -0
  197. data/kinde_api/lib/kinde_api/api/apis_api.rb +640 -127
  198. data/kinde_api/lib/kinde_api/api/applications_api.rb +524 -112
  199. data/kinde_api/lib/kinde_api/api/billing_agreements_api.rb +166 -0
  200. data/kinde_api/lib/kinde_api/api/billing_entitlements_api.rb +105 -0
  201. data/kinde_api/lib/kinde_api/api/billing_meter_usage_api.rb +90 -0
  202. data/kinde_api/lib/kinde_api/api/business_api.rb +61 -126
  203. data/kinde_api/lib/kinde_api/api/callbacks_api.rb +152 -172
  204. data/kinde_api/lib/kinde_api/api/connected_apps_api.rb +57 -67
  205. data/kinde_api/lib/kinde_api/api/connections_api.rb +433 -0
  206. data/kinde_api/lib/kinde_api/api/environment_variables_api.rb +347 -0
  207. data/kinde_api/lib/kinde_api/api/environments_api.rb +327 -78
  208. data/kinde_api/lib/kinde_api/api/feature_flags_api.rb +68 -88
  209. data/kinde_api/lib/kinde_api/api/frontend/billing_api.rb +148 -0
  210. data/kinde_api/lib/kinde_api/api/frontend/feature_flags_api.rb +85 -0
  211. data/kinde_api/lib/kinde_api/api/frontend/o_auth_api.rb +241 -0
  212. data/kinde_api/lib/kinde_api/api/frontend/permissions_api.rb +85 -0
  213. data/kinde_api/lib/kinde_api/api/frontend/properties_api.rb +85 -0
  214. data/kinde_api/lib/kinde_api/api/frontend/roles_api.rb +85 -0
  215. data/kinde_api/lib/kinde_api/api/frontend/self_serve_portal_api.rb +89 -0
  216. data/kinde_api/lib/kinde_api/api/identities_api.rb +222 -0
  217. data/kinde_api/lib/kinde_api/api/industries_api.rb +29 -34
  218. data/kinde_api/lib/kinde_api/api/mfa_api.rb +90 -0
  219. data/kinde_api/lib/kinde_api/api/o_auth_api.rb +104 -129
  220. data/kinde_api/lib/kinde_api/api/organizations_api.rb +1689 -544
  221. data/kinde_api/lib/kinde_api/api/permissions_api.rb +76 -80
  222. data/kinde_api/lib/kinde_api/api/properties_api.rb +300 -0
  223. data/kinde_api/lib/kinde_api/api/property_categories_api.rb +237 -0
  224. data/kinde_api/lib/kinde_api/api/roles_api.rb +432 -166
  225. data/kinde_api/lib/kinde_api/api/search_api.rb +97 -0
  226. data/kinde_api/lib/kinde_api/api/subscribers_api.rb +59 -60
  227. data/kinde_api/lib/kinde_api/api/timezones_api.rb +29 -34
  228. data/kinde_api/lib/kinde_api/api/users_api.rb +900 -150
  229. data/kinde_api/lib/kinde_api/api/webhooks_api.rb +404 -0
  230. data/kinde_api/lib/kinde_api/api_client.rb +79 -68
  231. data/kinde_api/lib/kinde_api/api_error.rb +16 -16
  232. data/kinde_api/lib/kinde_api/configuration.rb +101 -24
  233. data/kinde_api/lib/kinde_api/models/add_api_scope_request.rb +235 -0
  234. data/kinde_api/lib/kinde_api/models/add_apis_request.rb +54 -49
  235. data/kinde_api/lib/kinde_api/models/add_organization_users_request.rb +40 -42
  236. data/kinde_api/lib/kinde_api/models/add_organization_users_request_users_inner.rb +53 -51
  237. data/kinde_api/lib/kinde_api/models/add_organization_users_response.rb +52 -50
  238. data/kinde_api/lib/kinde_api/models/add_role_scope_request.rb +225 -0
  239. data/kinde_api/lib/kinde_api/models/add_role_scope_response.rb +230 -0
  240. data/kinde_api/lib/kinde_api/models/api_result.rb +38 -40
  241. data/kinde_api/lib/kinde_api/models/applications.rb +55 -50
  242. data/kinde_api/lib/kinde_api/models/authorize_app_api_response.rb +250 -0
  243. data/kinde_api/lib/kinde_api/models/category.rb +228 -0
  244. data/kinde_api/lib/kinde_api/models/connected_apps_access_token.rb +44 -45
  245. data/kinde_api/lib/kinde_api/models/connected_apps_auth_url.rb +44 -45
  246. data/kinde_api/lib/kinde_api/models/connection.rb +239 -0
  247. data/kinde_api/lib/kinde_api/models/connection_connection.rb +246 -0
  248. data/kinde_api/lib/kinde_api/models/create_api_scopes_response.rb +239 -0
  249. data/kinde_api/lib/kinde_api/models/create_api_scopes_response_scope.rb +220 -0
  250. data/kinde_api/lib/kinde_api/models/create_apis_response.rb +239 -0
  251. data/kinde_api/lib/kinde_api/models/create_apis_response_api.rb +220 -0
  252. data/kinde_api/lib/kinde_api/models/create_application_request.rb +60 -52
  253. data/kinde_api/lib/kinde_api/models/create_application_response.rb +50 -49
  254. data/kinde_api/lib/kinde_api/models/create_application_response_application.rb +51 -50
  255. data/kinde_api/lib/kinde_api/models/create_billing_agreement_request.rb +260 -0
  256. data/kinde_api/lib/kinde_api/models/create_category_request.rb +274 -0
  257. data/kinde_api/lib/kinde_api/models/create_category_response.rb +237 -0
  258. data/kinde_api/lib/kinde_api/models/create_category_response_category.rb +220 -0
  259. data/kinde_api/lib/kinde_api/models/create_connection_request.rb +306 -0
  260. data/kinde_api/lib/kinde_api/models/create_connection_request_options.rb +106 -0
  261. data/kinde_api/lib/kinde_api/models/create_connection_request_options_one_of.rb +241 -0
  262. data/kinde_api/lib/kinde_api/models/create_connection_request_options_one_of1.rb +303 -0
  263. data/kinde_api/lib/kinde_api/models/create_connection_request_options_one_of2.rb +333 -0
  264. data/kinde_api/lib/kinde_api/models/create_connection_response.rb +237 -0
  265. data/kinde_api/lib/kinde_api/models/create_connection_response_connection.rb +220 -0
  266. data/kinde_api/lib/kinde_api/models/create_environment_variable_request.rb +250 -0
  267. data/kinde_api/lib/kinde_api/models/create_environment_variable_response.rb +239 -0
  268. data/kinde_api/lib/kinde_api/models/create_environment_variable_response_environment_variable.rb +220 -0
  269. data/kinde_api/lib/kinde_api/models/create_feature_flag_request.rb +87 -77
  270. data/kinde_api/lib/kinde_api/models/create_identity_response.rb +237 -0
  271. data/kinde_api/lib/kinde_api/models/create_identity_response_identity.rb +220 -0
  272. data/kinde_api/lib/kinde_api/models/create_meter_usage_record_request.rb +309 -0
  273. data/kinde_api/lib/kinde_api/models/create_meter_usage_record_response.rb +230 -0
  274. data/kinde_api/lib/kinde_api/models/create_organization_request.rb +175 -100
  275. data/kinde_api/lib/kinde_api/models/create_organization_response.rb +57 -50
  276. data/kinde_api/lib/kinde_api/models/create_organization_response_organization.rb +49 -42
  277. data/kinde_api/lib/kinde_api/models/create_organization_user_permission_request.rb +38 -41
  278. data/kinde_api/lib/kinde_api/models/create_organization_user_role_request.rb +38 -41
  279. data/kinde_api/lib/kinde_api/models/create_permission_request.rb +50 -49
  280. data/kinde_api/lib/kinde_api/models/create_property_request.rb +356 -0
  281. data/kinde_api/lib/kinde_api/models/create_property_response.rb +237 -0
  282. data/kinde_api/lib/kinde_api/models/create_property_response_property.rb +220 -0
  283. data/kinde_api/lib/kinde_api/models/create_role_request.rb +56 -53
  284. data/kinde_api/lib/kinde_api/models/create_roles_response.rb +239 -0
  285. data/kinde_api/lib/kinde_api/models/create_roles_response_role.rb +220 -0
  286. data/kinde_api/lib/kinde_api/models/create_subscriber_success_response.rb +38 -41
  287. data/kinde_api/lib/kinde_api/models/create_subscriber_success_response_subscriber.rb +38 -41
  288. data/kinde_api/lib/kinde_api/models/create_user_identity_request.rb +284 -0
  289. data/kinde_api/lib/kinde_api/models/create_user_request.rb +62 -50
  290. data/kinde_api/lib/kinde_api/models/create_user_request_identities_inner.rb +60 -52
  291. data/kinde_api/lib/kinde_api/models/create_user_request_identities_inner_details.rb +67 -40
  292. data/kinde_api/lib/kinde_api/models/create_user_request_profile.rb +54 -45
  293. data/kinde_api/lib/kinde_api/models/create_user_response.rb +53 -51
  294. data/kinde_api/lib/kinde_api/models/create_web_hook_request.rb +268 -0
  295. data/kinde_api/lib/kinde_api/models/create_webhook_response.rb +239 -0
  296. data/kinde_api/lib/kinde_api/models/create_webhook_response_webhook.rb +228 -0
  297. data/kinde_api/lib/kinde_api/models/delete_api_response.rb +228 -0
  298. data/kinde_api/lib/kinde_api/models/delete_environment_variable_response.rb +230 -0
  299. data/kinde_api/lib/kinde_api/models/delete_role_scope_response.rb +230 -0
  300. data/kinde_api/lib/kinde_api/models/delete_webhook_response.rb +230 -0
  301. data/kinde_api/lib/kinde_api/models/environment_variable.rb +261 -0
  302. data/kinde_api/lib/kinde_api/models/error.rb +44 -44
  303. data/kinde_api/lib/kinde_api/models/error_response.rb +40 -42
  304. data/kinde_api/lib/kinde_api/models/event_type.rb +255 -0
  305. data/kinde_api/lib/kinde_api/models/frontend/error.rb +230 -0
  306. data/kinde_api/lib/kinde_api/models/frontend/error_response.rb +221 -0
  307. data/kinde_api/lib/kinde_api/models/frontend/get_entitlement_response.rb +228 -0
  308. data/kinde_api/lib/kinde_api/models/frontend/get_entitlement_response_data.rb +229 -0
  309. data/kinde_api/lib/kinde_api/models/frontend/get_entitlement_response_data_entitlement.rb +295 -0
  310. data/kinde_api/lib/kinde_api/models/frontend/get_entitlements_response.rb +228 -0
  311. data/kinde_api/lib/kinde_api/models/frontend/get_entitlements_response_data.rb +244 -0
  312. data/kinde_api/lib/kinde_api/models/frontend/get_entitlements_response_data_entitlements_inner.rb +294 -0
  313. data/kinde_api/lib/kinde_api/models/frontend/get_entitlements_response_data_plans_inner.rb +240 -0
  314. data/kinde_api/lib/kinde_api/models/frontend/get_entitlements_response_metadata.rb +230 -0
  315. data/kinde_api/lib/kinde_api/models/frontend/get_feature_flags_response.rb +219 -0
  316. data/kinde_api/lib/kinde_api/models/frontend/get_feature_flags_response_data.rb +222 -0
  317. data/kinde_api/lib/kinde_api/models/frontend/get_feature_flags_response_data_feature_flags_inner.rb +259 -0
  318. data/kinde_api/lib/kinde_api/models/frontend/get_feature_flags_response_data_feature_flags_inner_value.rb +108 -0
  319. data/kinde_api/lib/kinde_api/models/frontend/get_user_permissions_response.rb +228 -0
  320. data/kinde_api/lib/kinde_api/models/frontend/get_user_permissions_response_data.rb +232 -0
  321. data/kinde_api/lib/kinde_api/models/frontend/get_user_permissions_response_data_permissions_inner.rb +240 -0
  322. data/kinde_api/lib/kinde_api/models/frontend/get_user_permissions_response_metadata.rb +230 -0
  323. data/kinde_api/lib/kinde_api/models/frontend/get_user_properties_response.rb +228 -0
  324. data/kinde_api/lib/kinde_api/models/frontend/get_user_properties_response_data.rb +222 -0
  325. data/kinde_api/lib/kinde_api/models/frontend/get_user_properties_response_data_properties_inner.rb +249 -0
  326. data/kinde_api/lib/kinde_api/models/frontend/get_user_properties_response_data_properties_inner_value.rb +107 -0
  327. data/kinde_api/lib/kinde_api/models/frontend/get_user_properties_response_metadata.rb +230 -0
  328. data/kinde_api/lib/kinde_api/models/frontend/get_user_roles_response.rb +228 -0
  329. data/kinde_api/lib/kinde_api/models/frontend/get_user_roles_response_data.rb +232 -0
  330. data/kinde_api/lib/kinde_api/models/frontend/get_user_roles_response_data_roles_inner.rb +240 -0
  331. data/kinde_api/lib/kinde_api/models/frontend/get_user_roles_response_metadata.rb +230 -0
  332. data/kinde_api/lib/kinde_api/models/frontend/portal_link.rb +220 -0
  333. data/kinde_api/lib/kinde_api/models/frontend/token_error_response.rb +230 -0
  334. data/kinde_api/lib/kinde_api/models/frontend/token_introspect.rb +262 -0
  335. data/kinde_api/lib/kinde_api/models/frontend/user_profile_v2.rb +323 -0
  336. data/kinde_api/lib/kinde_api/models/get_api_response.rb +239 -0
  337. data/kinde_api/lib/kinde_api/models/get_api_response_api.rb +272 -0
  338. data/kinde_api/lib/kinde_api/models/get_api_response_api_applications_inner.rb +285 -0
  339. data/kinde_api/lib/kinde_api/models/get_api_response_api_scopes_inner.rb +230 -0
  340. data/kinde_api/lib/kinde_api/models/get_api_scope_response.rb +239 -0
  341. data/kinde_api/lib/kinde_api/models/get_api_scopes_response.rb +241 -0
  342. data/kinde_api/lib/kinde_api/models/get_api_scopes_response_scopes_inner.rb +240 -0
  343. data/kinde_api/lib/kinde_api/models/get_apis_response.rb +251 -0
  344. data/kinde_api/lib/kinde_api/models/get_apis_response_apis_inner.rb +261 -0
  345. data/kinde_api/lib/kinde_api/models/get_apis_response_apis_inner_scopes_inner.rb +228 -0
  346. data/kinde_api/lib/kinde_api/models/get_application_response.rb +50 -49
  347. data/kinde_api/lib/kinde_api/models/get_application_response_application.rb +126 -57
  348. data/kinde_api/lib/kinde_api/models/get_applications_response.rb +57 -54
  349. data/kinde_api/lib/kinde_api/models/get_billing_agreements_response.rb +252 -0
  350. data/kinde_api/lib/kinde_api/models/get_billing_agreements_response_agreements_inner.rb +262 -0
  351. data/kinde_api/lib/kinde_api/models/get_billing_agreements_response_agreements_inner_entitlements_inner.rb +230 -0
  352. data/kinde_api/lib/kinde_api/models/get_billing_entitlements_response.rb +264 -0
  353. data/kinde_api/lib/kinde_api/models/get_billing_entitlements_response_entitlements_inner.rb +290 -0
  354. data/kinde_api/lib/kinde_api/models/get_billing_entitlements_response_plans_inner.rb +229 -0
  355. data/kinde_api/lib/kinde_api/models/get_business_response.rb +239 -0
  356. data/kinde_api/lib/kinde_api/models/get_business_response_business.rb +326 -0
  357. data/kinde_api/lib/kinde_api/models/get_categories_response.rb +251 -0
  358. data/kinde_api/lib/kinde_api/models/get_connections_response.rb +251 -0
  359. data/kinde_api/lib/kinde_api/models/get_environment_feature_flags_response.rb +57 -54
  360. data/kinde_api/lib/kinde_api/models/get_environment_response.rb +239 -0
  361. data/kinde_api/lib/kinde_api/models/get_environment_response_environment.rb +526 -0
  362. data/kinde_api/lib/kinde_api/models/get_environment_response_environment_background_color.rb +237 -0
  363. data/kinde_api/lib/kinde_api/models/get_environment_response_environment_link_color.rb +237 -0
  364. data/kinde_api/lib/kinde_api/models/get_environment_variable_response.rb +239 -0
  365. data/kinde_api/lib/kinde_api/models/get_environment_variables_response.rb +251 -0
  366. data/kinde_api/lib/kinde_api/models/get_event_response.rb +239 -0
  367. data/kinde_api/lib/kinde_api/models/get_event_response_event.rb +257 -0
  368. data/kinde_api/lib/kinde_api/models/get_event_types_response.rb +241 -0
  369. data/kinde_api/lib/kinde_api/models/get_identities_response.rb +251 -0
  370. data/kinde_api/lib/kinde_api/models/get_industries_response.rb +241 -0
  371. data/kinde_api/lib/kinde_api/models/get_industries_response_industries_inner.rb +230 -0
  372. data/kinde_api/lib/kinde_api/models/get_organization_feature_flags_response.rb +52 -50
  373. data/kinde_api/lib/kinde_api/models/get_organization_feature_flags_response_feature_flags_value.rb +52 -52
  374. data/kinde_api/lib/kinde_api/models/get_organization_response.rb +547 -0
  375. data/kinde_api/lib/kinde_api/models/get_organization_response_billing.rb +232 -0
  376. data/kinde_api/lib/kinde_api/models/get_organization_response_billing_agreements_inner.rb +230 -0
  377. data/kinde_api/lib/kinde_api/models/get_organization_users_response.rb +57 -54
  378. data/kinde_api/lib/kinde_api/models/get_organizations_response.rb +57 -54
  379. data/kinde_api/lib/kinde_api/models/get_organizations_user_permissions_response.rb +52 -50
  380. data/kinde_api/lib/kinde_api/models/get_organizations_user_roles_response.rb +57 -54
  381. data/kinde_api/lib/kinde_api/models/get_permissions_response.rb +57 -54
  382. data/kinde_api/lib/kinde_api/models/get_properties_response.rb +251 -0
  383. data/kinde_api/lib/kinde_api/models/get_property_values_response.rb +251 -0
  384. data/kinde_api/lib/kinde_api/models/get_redirect_callback_urls_response.rb +40 -42
  385. data/kinde_api/lib/kinde_api/models/get_role_response.rb +239 -0
  386. data/kinde_api/lib/kinde_api/models/get_role_response_role.rb +260 -0
  387. data/kinde_api/lib/kinde_api/models/get_roles_response.rb +57 -54
  388. data/kinde_api/lib/kinde_api/models/get_subscriber_response.rb +52 -50
  389. data/kinde_api/lib/kinde_api/models/get_subscribers_response.rb +57 -54
  390. data/kinde_api/lib/kinde_api/models/get_timezones_response.rb +241 -0
  391. data/kinde_api/lib/kinde_api/models/get_timezones_response_timezones_inner.rb +230 -0
  392. data/kinde_api/lib/kinde_api/models/get_user_mfa_response.rb +237 -0
  393. data/kinde_api/lib/kinde_api/models/get_user_mfa_response_mfa.rb +280 -0
  394. data/kinde_api/lib/kinde_api/models/get_user_sessions_response.rb +248 -0
  395. data/kinde_api/lib/kinde_api/models/get_user_sessions_response_sessions_inner.rb +331 -0
  396. data/kinde_api/lib/kinde_api/models/get_webhooks_response.rb +241 -0
  397. data/kinde_api/lib/kinde_api/models/identity.rb +300 -0
  398. data/kinde_api/lib/kinde_api/models/logout_redirect_urls.rb +60 -42
  399. data/kinde_api/lib/kinde_api/models/not_found_response.rb +219 -0
  400. data/kinde_api/lib/kinde_api/models/not_found_response_errors.rb +228 -0
  401. data/kinde_api/lib/kinde_api/models/organization_item_schema.rb +272 -0
  402. data/kinde_api/lib/kinde_api/models/organization_user.rb +122 -62
  403. data/kinde_api/lib/kinde_api/models/organization_user_permission.rb +73 -59
  404. data/kinde_api/lib/kinde_api/models/organization_user_permission_roles_inner.rb +47 -46
  405. data/kinde_api/lib/kinde_api/models/organization_user_role.rb +55 -50
  406. data/kinde_api/lib/kinde_api/models/organization_user_role_permissions.rb +55 -50
  407. data/kinde_api/lib/kinde_api/models/organization_user_role_permissions_permissions.rb +38 -41
  408. data/kinde_api/lib/kinde_api/models/permissions.rb +57 -54
  409. data/kinde_api/lib/kinde_api/models/property.rb +264 -0
  410. data/kinde_api/lib/kinde_api/models/property_value.rb +257 -0
  411. data/kinde_api/lib/kinde_api/models/read_env_logo_response.rb +242 -0
  412. data/kinde_api/lib/kinde_api/models/read_env_logo_response_logos_inner.rb +230 -0
  413. data/kinde_api/lib/kinde_api/models/read_logo_response.rb +242 -0
  414. data/kinde_api/lib/kinde_api/models/read_logo_response_logos_inner.rb +240 -0
  415. data/kinde_api/lib/kinde_api/models/redirect_callback_urls.rb +40 -42
  416. data/kinde_api/lib/kinde_api/models/replace_connection_request.rb +251 -0
  417. data/kinde_api/lib/kinde_api/models/replace_connection_request_options.rb +106 -0
  418. data/kinde_api/lib/kinde_api/models/replace_connection_request_options_one_of.rb +293 -0
  419. data/kinde_api/lib/kinde_api/models/replace_connection_request_options_one_of1.rb +313 -0
  420. data/kinde_api/lib/kinde_api/models/replace_logout_redirect_urls_request.rb +40 -42
  421. data/kinde_api/lib/kinde_api/models/replace_mfa_request.rb +276 -0
  422. data/kinde_api/lib/kinde_api/models/replace_organization_mfa_request.rb +249 -0
  423. data/kinde_api/lib/kinde_api/models/replace_redirect_callback_urls_request.rb +40 -42
  424. data/kinde_api/lib/kinde_api/models/role.rb +63 -53
  425. data/kinde_api/lib/kinde_api/models/role_permissions_response.rb +251 -0
  426. data/kinde_api/lib/kinde_api/models/role_scopes_response.rb +241 -0
  427. data/kinde_api/lib/kinde_api/models/roles.rb +68 -53
  428. data/kinde_api/lib/kinde_api/models/scopes.rb +250 -0
  429. data/kinde_api/lib/kinde_api/models/search_users_response.rb +241 -0
  430. data/kinde_api/lib/kinde_api/models/search_users_response_results_inner.rb +374 -0
  431. data/kinde_api/lib/kinde_api/models/set_user_password_request.rb +311 -0
  432. data/kinde_api/lib/kinde_api/models/subscriber.rb +63 -54
  433. data/kinde_api/lib/kinde_api/models/subscribers_subscriber.rb +71 -58
  434. data/kinde_api/lib/kinde_api/models/success_response.rb +47 -46
  435. data/kinde_api/lib/kinde_api/models/token_error_response.rb +44 -45
  436. data/kinde_api/lib/kinde_api/models/token_introspect.rb +63 -58
  437. data/kinde_api/lib/kinde_api/models/update_api_applications_request.rb +42 -44
  438. data/kinde_api/lib/kinde_api/models/update_api_applications_request_applications_inner.rb +48 -49
  439. data/kinde_api/lib/kinde_api/models/update_api_scope_request.rb +220 -0
  440. data/kinde_api/lib/kinde_api/models/update_application_request.rb +78 -54
  441. data/kinde_api/lib/kinde_api/models/update_application_tokens_request.rb +260 -0
  442. data/kinde_api/lib/kinde_api/models/update_applications_property_request.rb +224 -0
  443. data/kinde_api/lib/kinde_api/models/update_applications_property_request_value.rb +106 -0
  444. data/kinde_api/lib/kinde_api/models/update_business_request.rb +320 -0
  445. data/kinde_api/lib/kinde_api/models/update_category_request.rb +220 -0
  446. data/kinde_api/lib/kinde_api/models/update_connection_request.rb +251 -0
  447. data/kinde_api/lib/kinde_api/models/update_environement_feature_flag_override_request.rb +40 -43
  448. data/kinde_api/lib/kinde_api/models/update_environment_variable_request.rb +240 -0
  449. data/kinde_api/lib/kinde_api/models/update_environment_variable_response.rb +230 -0
  450. data/kinde_api/lib/kinde_api/models/update_identity_request.rb +220 -0
  451. data/kinde_api/lib/kinde_api/models/update_organization_properties_request.rb +225 -0
  452. data/kinde_api/lib/kinde_api/models/update_organization_request.rb +209 -91
  453. data/kinde_api/lib/kinde_api/models/update_organization_sessions_request.rb +284 -0
  454. data/kinde_api/lib/kinde_api/models/update_organization_users_request.rb +40 -42
  455. data/kinde_api/lib/kinde_api/models/update_organization_users_request_users_inner.rb +59 -55
  456. data/kinde_api/lib/kinde_api/models/update_organization_users_response.rb +76 -57
  457. data/kinde_api/lib/kinde_api/models/update_property_request.rb +265 -0
  458. data/kinde_api/lib/kinde_api/models/update_role_permissions_request.rb +40 -42
  459. data/kinde_api/lib/kinde_api/models/update_role_permissions_request_permissions_inner.rb +44 -45
  460. data/kinde_api/lib/kinde_api/models/update_role_permissions_response.rb +66 -56
  461. data/kinde_api/lib/kinde_api/models/update_roles_request.rb +61 -56
  462. data/kinde_api/lib/kinde_api/models/update_user_request.rb +75 -52
  463. data/kinde_api/lib/kinde_api/models/update_user_response.rb +75 -67
  464. data/kinde_api/lib/kinde_api/models/update_web_hook_request.rb +243 -0
  465. data/kinde_api/lib/kinde_api/models/update_webhook_response.rb +237 -0
  466. data/kinde_api/lib/kinde_api/models/update_webhook_response_webhook.rb +219 -0
  467. data/kinde_api/lib/kinde_api/models/user.rb +138 -97
  468. data/kinde_api/lib/kinde_api/models/user_identities_inner.rb +47 -46
  469. data/kinde_api/lib/kinde_api/models/user_identity.rb +44 -45
  470. data/kinde_api/lib/kinde_api/models/user_identity_result.rb +38 -41
  471. data/kinde_api/lib/kinde_api/models/user_profile_v2.rb +113 -79
  472. data/kinde_api/lib/kinde_api/models/users_response.rb +57 -54
  473. data/kinde_api/lib/kinde_api/models/users_response_users_inner.rb +138 -98
  474. data/kinde_api/lib/kinde_api/models/webhook.rb +267 -0
  475. data/kinde_api/lib/kinde_api/version.rb +12 -12
  476. data/kinde_api/lib/kinde_api.rb +188 -36
  477. data/kinde_api/spec/api/billing_agreements_api_spec.rb +62 -0
  478. data/kinde_api/spec/api/billing_entitlements_api_spec.rb +52 -0
  479. data/kinde_api/spec/api/billing_meter_usage_api_spec.rb +47 -0
  480. data/kinde_api/spec/api/connections_api_spec.rb +112 -0
  481. data/kinde_api/spec/api/environment_variables_api_spec.rb +95 -0
  482. data/kinde_api/spec/api/identities_api_spec.rb +72 -0
  483. data/kinde_api/spec/api/mfa_api_spec.rb +47 -0
  484. data/kinde_api/spec/api/properties_api_spec.rb +87 -0
  485. data/kinde_api/spec/api/property_categories_api_spec.rb +75 -0
  486. data/kinde_api/spec/api/search_api_spec.rb +52 -0
  487. data/kinde_api/spec/api/webhooks_api_spec.rb +106 -0
  488. data/kinde_api/spec/api_client_spec.rb +27 -21
  489. data/kinde_api/spec/configuration_spec.rb +14 -14
  490. data/kinde_api/spec/models/add_api_scope_request_spec.rb +40 -0
  491. data/kinde_api/spec/models/add_role_scope_request_spec.rb +34 -0
  492. data/kinde_api/spec/models/add_role_scope_response_spec.rb +40 -0
  493. data/kinde_api/spec/models/authorize_app_api_response_spec.rb +52 -0
  494. data/kinde_api/spec/models/category_spec.rb +40 -0
  495. data/kinde_api/spec/models/connection_connection_spec.rb +52 -0
  496. data/kinde_api/spec/models/connection_spec.rb +46 -0
  497. data/kinde_api/spec/models/create_api_scopes_response_scope_spec.rb +34 -0
  498. data/kinde_api/spec/models/create_api_scopes_response_spec.rb +46 -0
  499. data/kinde_api/spec/models/create_apis_response_api_spec.rb +34 -0
  500. data/kinde_api/spec/models/create_apis_response_spec.rb +46 -0
  501. data/kinde_api/spec/models/create_billing_agreement_request_spec.rb +52 -0
  502. data/kinde_api/spec/models/create_category_request_spec.rb +44 -0
  503. data/kinde_api/spec/models/create_category_response_category_spec.rb +34 -0
  504. data/kinde_api/spec/models/create_category_response_spec.rb +46 -0
  505. data/kinde_api/spec/models/create_connection_request_options_one_of1_spec.rb +82 -0
  506. data/kinde_api/spec/models/create_connection_request_options_one_of2_spec.rb +100 -0
  507. data/kinde_api/spec/models/create_connection_request_options_one_of_spec.rb +46 -0
  508. data/kinde_api/spec/models/create_connection_request_options_spec.rb +31 -0
  509. data/kinde_api/spec/models/create_connection_request_spec.rb +68 -0
  510. data/kinde_api/spec/models/create_connection_response_connection_spec.rb +34 -0
  511. data/kinde_api/spec/models/create_connection_response_spec.rb +46 -0
  512. data/kinde_api/spec/models/create_environment_variable_request_spec.rb +46 -0
  513. data/kinde_api/spec/models/create_environment_variable_response_environment_variable_spec.rb +34 -0
  514. data/kinde_api/spec/models/create_environment_variable_response_spec.rb +46 -0
  515. data/kinde_api/spec/models/create_identity_response_identity_spec.rb +34 -0
  516. data/kinde_api/spec/models/create_identity_response_spec.rb +46 -0
  517. data/kinde_api/spec/models/create_meter_usage_record_request_spec.rb +62 -0
  518. data/kinde_api/spec/models/create_meter_usage_record_response_spec.rb +40 -0
  519. data/kinde_api/spec/models/create_property_request_spec.rb +78 -0
  520. data/kinde_api/spec/models/create_property_response_property_spec.rb +34 -0
  521. data/kinde_api/spec/models/create_property_response_spec.rb +46 -0
  522. data/kinde_api/spec/models/create_roles_response_role_spec.rb +34 -0
  523. data/kinde_api/spec/models/create_roles_response_spec.rb +46 -0
  524. data/kinde_api/spec/models/create_user_identity_request_spec.rb +56 -0
  525. data/kinde_api/spec/models/create_web_hook_request_spec.rb +52 -0
  526. data/kinde_api/spec/models/create_webhook_response_spec.rb +46 -0
  527. data/kinde_api/spec/models/create_webhook_response_webhook_spec.rb +40 -0
  528. data/kinde_api/spec/models/delete_api_response_spec.rb +40 -0
  529. data/kinde_api/spec/models/delete_environment_variable_response_spec.rb +40 -0
  530. data/kinde_api/spec/models/delete_role_scope_response_spec.rb +40 -0
  531. data/kinde_api/spec/models/delete_webhook_response_spec.rb +40 -0
  532. data/kinde_api/spec/models/environment_variable_spec.rb +58 -0
  533. data/kinde_api/spec/models/event_type_spec.rb +58 -0
  534. data/kinde_api/spec/models/get_api_response_api_applications_inner_spec.rb +56 -0
  535. data/kinde_api/spec/models/get_api_response_api_scopes_inner_spec.rb +40 -0
  536. data/kinde_api/spec/models/get_api_response_api_spec.rb +64 -0
  537. data/kinde_api/spec/models/get_api_response_spec.rb +46 -0
  538. data/kinde_api/spec/models/get_api_scope_response_spec.rb +46 -0
  539. data/kinde_api/spec/models/get_api_scopes_response_scopes_inner_spec.rb +46 -0
  540. data/kinde_api/spec/models/get_api_scopes_response_spec.rb +46 -0
  541. data/kinde_api/spec/models/get_apis_response_apis_inner_scopes_inner_spec.rb +40 -0
  542. data/kinde_api/spec/models/get_apis_response_apis_inner_spec.rb +58 -0
  543. data/kinde_api/spec/models/get_apis_response_spec.rb +52 -0
  544. data/kinde_api/spec/models/get_billing_agreements_response_agreements_inner_entitlements_inner_spec.rb +40 -0
  545. data/kinde_api/spec/models/get_billing_agreements_response_agreements_inner_spec.rb +58 -0
  546. data/kinde_api/spec/models/get_billing_agreements_response_spec.rb +52 -0
  547. data/kinde_api/spec/models/get_billing_entitlements_response_entitlements_inner_spec.rb +76 -0
  548. data/kinde_api/spec/models/get_billing_entitlements_response_plans_inner_spec.rb +40 -0
  549. data/kinde_api/spec/models/get_billing_entitlements_response_spec.rb +58 -0
  550. data/kinde_api/spec/models/get_business_response_business_spec.rb +94 -0
  551. data/kinde_api/spec/models/get_business_response_spec.rb +46 -0
  552. data/kinde_api/spec/models/get_categories_response_spec.rb +52 -0
  553. data/kinde_api/spec/models/get_connections_response_spec.rb +52 -0
  554. data/kinde_api/spec/models/get_environment_response_environment_background_color_spec.rb +46 -0
  555. data/kinde_api/spec/models/get_environment_response_environment_link_color_spec.rb +46 -0
  556. data/kinde_api/spec/models/get_environment_response_environment_spec.rb +192 -0
  557. data/kinde_api/spec/models/get_environment_response_spec.rb +46 -0
  558. data/kinde_api/spec/models/get_environment_variable_response_spec.rb +46 -0
  559. data/kinde_api/spec/models/get_environment_variables_response_spec.rb +52 -0
  560. data/kinde_api/spec/models/get_event_response_event_spec.rb +58 -0
  561. data/kinde_api/spec/models/get_event_response_spec.rb +46 -0
  562. data/kinde_api/spec/models/get_event_types_response_spec.rb +46 -0
  563. data/kinde_api/spec/models/get_identities_response_spec.rb +52 -0
  564. data/kinde_api/spec/models/get_industries_response_industries_inner_spec.rb +40 -0
  565. data/kinde_api/spec/models/get_industries_response_spec.rb +46 -0
  566. data/kinde_api/spec/models/get_organization_response_billing_agreements_inner_spec.rb +40 -0
  567. data/kinde_api/spec/models/get_organization_response_billing_spec.rb +40 -0
  568. data/kinde_api/spec/models/get_organization_response_spec.rb +204 -0
  569. data/kinde_api/spec/models/get_properties_response_spec.rb +52 -0
  570. data/kinde_api/spec/models/get_property_values_response_spec.rb +52 -0
  571. data/kinde_api/spec/models/get_role_response_role_spec.rb +58 -0
  572. data/kinde_api/spec/models/get_role_response_spec.rb +46 -0
  573. data/kinde_api/spec/models/get_timezones_response_spec.rb +46 -0
  574. data/kinde_api/spec/models/get_timezones_response_timezones_inner_spec.rb +40 -0
  575. data/kinde_api/spec/models/get_user_mfa_response_mfa_spec.rb +70 -0
  576. data/kinde_api/spec/models/get_user_mfa_response_spec.rb +46 -0
  577. data/kinde_api/spec/models/get_user_sessions_response_sessions_inner_spec.rb +100 -0
  578. data/kinde_api/spec/models/get_user_sessions_response_spec.rb +52 -0
  579. data/kinde_api/spec/models/get_webhooks_response_spec.rb +46 -0
  580. data/kinde_api/spec/models/identity_spec.rb +82 -0
  581. data/kinde_api/spec/models/not_found_response_errors_spec.rb +40 -0
  582. data/kinde_api/spec/models/not_found_response_spec.rb +34 -0
  583. data/kinde_api/spec/models/organization_item_schema_spec.rb +64 -0
  584. data/kinde_api/spec/models/property_spec.rb +64 -0
  585. data/kinde_api/spec/models/property_value_spec.rb +58 -0
  586. data/kinde_api/spec/models/read_env_logo_response_logos_inner_spec.rb +40 -0
  587. data/kinde_api/spec/models/read_env_logo_response_spec.rb +46 -0
  588. data/kinde_api/spec/models/read_logo_response_logos_inner_spec.rb +46 -0
  589. data/kinde_api/spec/models/read_logo_response_spec.rb +46 -0
  590. data/kinde_api/spec/models/replace_connection_request_options_one_of1_spec.rb +88 -0
  591. data/kinde_api/spec/models/replace_connection_request_options_one_of_spec.rb +76 -0
  592. data/kinde_api/spec/models/replace_connection_request_options_spec.rb +31 -0
  593. data/kinde_api/spec/models/replace_connection_request_spec.rb +52 -0
  594. data/kinde_api/spec/models/replace_mfa_request_spec.rb +48 -0
  595. data/kinde_api/spec/models/replace_organization_mfa_request_spec.rb +38 -0
  596. data/kinde_api/spec/models/role_permissions_response_spec.rb +52 -0
  597. data/kinde_api/spec/models/role_scopes_response_spec.rb +46 -0
  598. data/kinde_api/spec/models/scopes_spec.rb +52 -0
  599. data/kinde_api/spec/models/search_users_response_results_inner_spec.rb +118 -0
  600. data/kinde_api/spec/models/search_users_response_spec.rb +46 -0
  601. data/kinde_api/spec/models/set_user_password_request_spec.rb +66 -0
  602. data/kinde_api/spec/models/update_api_scope_request_spec.rb +34 -0
  603. data/kinde_api/spec/models/update_application_tokens_request_spec.rb +58 -0
  604. data/kinde_api/spec/models/update_applications_property_request_spec.rb +34 -0
  605. data/kinde_api/spec/models/update_applications_property_request_value_spec.rb +31 -0
  606. data/kinde_api/spec/models/update_business_request_spec.rb +88 -0
  607. data/kinde_api/spec/models/update_category_request_spec.rb +34 -0
  608. data/kinde_api/spec/models/update_connection_request_spec.rb +52 -0
  609. data/kinde_api/spec/models/update_environment_variable_request_spec.rb +46 -0
  610. data/kinde_api/spec/models/update_environment_variable_response_spec.rb +40 -0
  611. data/kinde_api/spec/models/update_identity_request_spec.rb +34 -0
  612. data/kinde_api/spec/models/update_organization_properties_request_spec.rb +34 -0
  613. data/kinde_api/spec/models/update_organization_sessions_request_spec.rb +56 -0
  614. data/kinde_api/spec/models/update_property_request_spec.rb +52 -0
  615. data/kinde_api/spec/models/update_web_hook_request_spec.rb +46 -0
  616. data/kinde_api/spec/models/update_webhook_response_spec.rb +46 -0
  617. data/kinde_api/spec/models/update_webhook_response_webhook_spec.rb +34 -0
  618. data/kinde_api/spec/models/webhook_spec.rb +64 -0
  619. data/kinde_api/spec/spec_helper.rb +63 -61
  620. data/lib/kinde_sdk/client/entitlements.rb +86 -0
  621. data/lib/kinde_sdk/client/feature_flags.rb +246 -10
  622. data/lib/kinde_sdk/client/permissions.rb +197 -6
  623. data/lib/kinde_sdk/client/roles.rb +218 -0
  624. data/lib/kinde_sdk/client.rb +354 -14
  625. data/lib/kinde_sdk/configuration.rb +11 -1
  626. data/lib/kinde_sdk/current.rb +16 -0
  627. data/lib/kinde_sdk/engine.rb +11 -0
  628. data/lib/kinde_sdk/errors.rb +7 -0
  629. data/lib/kinde_sdk/internal/frontend_client.rb +111 -0
  630. data/lib/kinde_sdk/middleware.rb +16 -0
  631. data/lib/kinde_sdk/token_manager.rb +85 -0
  632. data/lib/kinde_sdk/token_store.rb +29 -0
  633. data/lib/kinde_sdk/version.rb +1 -1
  634. data/lib/kinde_sdk.rb +160 -25
  635. data/spec/examples.txt +29 -0
  636. data/spec/kinde_sdk_spec.rb +317 -98
  637. data/spec/spec_helper.rb +7 -4
  638. metadata +666 -10
@@ -1,19 +1,210 @@
1
1
  module KindeSdk
2
2
  class Client
3
3
  module Permissions
4
- def get_permissions(token_type = :access_token)
4
+ # Get all permissions for the authenticated user
5
+ # Matches the JavaScript SDK API: getPermissions(options?)
6
+ #
7
+ # @param options [Hash, Symbol] Options for retrieving permissions, or legacy token_type symbol
8
+ # @option options [Boolean] :force_api (false) If true, calls the API to get fresh permissions,
9
+ # otherwise extracts from token claims. Useful for ensuring latest permissions but may incur additional API calls
10
+ # @option options [Symbol] :token_type (:access_token) The token type to use for soft check (:access_token or :id_token)
11
+ # @return [Hash] Hash containing org_code and permissions array
12
+ # @example
13
+ # # Soft check (from token)
14
+ # client.get_permissions
15
+ # # => { org_code: "org_123", permissions: ["read:users", "write:posts"] }
16
+ #
17
+ # # Hard check (from API)
18
+ # client.get_permissions(force_api: true)
19
+ # # => { org_code: "org_123", permissions: ["read:users", "write:posts", "admin:all"] }
20
+ #
21
+ # # Legacy backward compatibility
22
+ # client.get_permissions(:id_token)
23
+ # # => { org_code: "org_123", permissions: ["read:users", "write:posts"] }
24
+ def get_permissions(options = {})
25
+ # Handle legacy positional argument for backward compatibility
26
+ if options.is_a?(Symbol)
27
+ options = { token_type: options }
28
+ end
29
+
30
+ # Extract options with defaults - use member variable if not overridden
31
+ force_api = options[:force_api] || @force_api || false
32
+ token_type = options[:token_type] || :access_token
33
+
34
+ if force_api
35
+ # Hard check - call API for fresh permissions
36
+ get_permissions_from_api
37
+ else
38
+ # Soft check - extract from token claims
39
+ get_permissions_from_token(token_type)
40
+ end
41
+ end
42
+
43
+ # Get a specific permission status
44
+ #
45
+ # @param permission [String] The permission key to check
46
+ # @param options [Hash] Options for retrieving permissions (same as get_permissions)
47
+ # @return [Hash] Hash containing org_code and is_granted status
48
+ def get_permission(permission, options = {})
49
+ permissions_data = get_permissions(options)
50
+
51
+ {
52
+ org_code: permissions_data[:org_code],
53
+ is_granted: permissions_data[:permissions]&.include?(permission) || false
54
+ }
55
+ end
56
+
57
+ # Check if a permission is granted
58
+ #
59
+ # @param permission [String] The permission key to check
60
+ # @param options [Hash] Options for retrieving permissions
61
+ # @return [Boolean] True if permission is granted, false otherwise
62
+ def permission_granted?(permission, options = {})
63
+ get_permission(permission, options)[:is_granted]
64
+ end
65
+
66
+ # PHP SDK compatible alias for get_permissions with hard check
67
+ # Matches PHP: $client->getPermissions()
68
+ #
69
+ # @return [Hash] Hash containing org_code and permissions array
70
+ def getPermissions
71
+ # Use client's force_api setting, default to true for PHP SDK compatibility
72
+ force_api_setting = @force_api.nil? ? true : @force_api
73
+ get_permissions(force_api: force_api_setting)
74
+ end
75
+
76
+ # Get all permissions with automatic pagination (hard check)
77
+ # Matches PHP: $client->getAllPermissions()
78
+ #
79
+ # @return [Array] Array of permission keys
80
+ def getAllPermissions
81
+ # Use client's force_api setting, default to true for PHP SDK compatibility
82
+ force_api_setting = @force_api.nil? ? true : @force_api
83
+ permissions_data = get_permissions(force_api: force_api_setting)
84
+ permissions_data[:permissions] || []
85
+ end
86
+
87
+ # JavaScript SDK compatible alias
88
+ alias_method :all_permissions, :getAllPermissions
89
+
90
+ # Backward compatibility method - matches existing Ruby SDK API
91
+ def get_permissions_legacy(token_type = :access_token)
5
92
  get_claim("permissions", token_type)&.dig(:value)
6
93
  end
7
94
 
8
- def get_permission(permission, token_type = :access_token)
95
+ private
96
+
97
+ # Get permissions from token claims (soft check)
98
+ # Matches JavaScript logic exactly: token.permissions || token["x-hasura-permissions"] || []
99
+ #
100
+ # @param token_type [Symbol] The token type to use
101
+ # @return [Hash] Hash containing org_code and permissions array
102
+ def get_permissions_from_token(token_type = :access_token)
103
+ # First try standard permissions claim
104
+ permissions = get_claim("permissions", token_type)&.dig(:value)
105
+
106
+ # Fallback to Hasura-specific permissions (matches JS SDK)
107
+ if permissions.nil? || permissions.empty?
108
+ permissions = get_claim("x-hasura-permissions", token_type)&.dig(:value)
109
+ end
110
+
111
+ # Final fallback to empty array
112
+ permissions ||= []
113
+
114
+ # Get org_code with same fallback pattern
115
+ org_code = get_claim("org_code", token_type)&.dig(:value)
116
+ if org_code.nil?
117
+ org_code = get_claim("x-hasura-org-code", token_type)&.dig(:value)
118
+ end
119
+
120
+ # Log warning if no permissions found (helpful for debugging)
121
+ if permissions.empty?
122
+ log_warning("No permissions found in token. This may be expected if user has no permissions assigned.")
123
+ end
124
+
9
125
  {
10
- org_code: get_claim("org_code", token_type)&.dig(:value),
11
- is_granted: permission_granted?(permission)
126
+ org_code: org_code,
127
+ permissions: permissions
12
128
  }
13
129
  end
14
130
 
15
- def permission_granted?(permission, token_type = :access_token)
16
- get_claim("permissions", token_type)&.dig(:value)&.include?(permission) || false
131
+ # Get permissions from API (hard check)
132
+ # Matches JavaScript API endpoint and data extraction exactly
133
+ #
134
+ # @return [Hash] Hash containing org_code and permissions array
135
+ def get_permissions_from_api
136
+ unless token_store.bearer_token
137
+ return {
138
+ org_code: nil,
139
+ permissions: []
140
+ }
141
+ end
142
+
143
+ begin
144
+ # Use the same pagination pattern as getAllEntitlements
145
+ all_permissions = paginate_all_results('permissions') do |starting_after|
146
+ user_permissions(page_size: 100, starting_after: starting_after)
147
+ end
148
+
149
+ # Extract permission keys (matches JS: data.permissions?.map((permission) => permission.key))
150
+ permission_keys = all_permissions.map do |permission|
151
+ # Handle both OpenStruct and Hash responses
152
+ permission.respond_to?(:key) ? permission.key : permission['key']
153
+ end.compact
154
+
155
+ # Extract org_code from API response or fallback to token
156
+ org_code = nil
157
+ if all_permissions.any?
158
+ first_permission = all_permissions.first
159
+ org_code = first_permission.respond_to?(:org_code) ?
160
+ first_permission.org_code :
161
+ first_permission['org_code']
162
+ end
163
+
164
+ # Fallback to token if API doesn't provide org_code
165
+ org_code ||= get_claim("org_code", :access_token)&.dig(:value)
166
+
167
+ {
168
+ org_code: org_code,
169
+ permissions: permission_keys
170
+ }
171
+ rescue KindeSdk::APIError => e
172
+ log_error("API Error getting permissions: #{e.message}")
173
+ # Graceful fallback to token-based permissions (matches JS behavior)
174
+ get_permissions_from_token
175
+ rescue StandardError => e
176
+ log_error("Unexpected error getting permissions from API: #{e.message}")
177
+ # Graceful fallback to token-based permissions
178
+ get_permissions_from_token
179
+ end
180
+ end
181
+
182
+ # Configurable logging that works with or without Rails
183
+ #
184
+ # @param message [String] The error message to log
185
+ def log_error(message)
186
+ if defined?(Rails) && Rails.logger
187
+ Rails.logger.error(message)
188
+ elsif @logger
189
+ @logger.error(message)
190
+ elsif respond_to?(:logger) && logger
191
+ logger.error(message)
192
+ else
193
+ # Fallback to STDERR if no logger available
194
+ $stderr.puts "[KindeSdk] ERROR: #{message}"
195
+ end
196
+ end
197
+
198
+ def log_warning(message)
199
+ if defined?(Rails) && Rails.logger
200
+ Rails.logger.warn(message)
201
+ elsif @logger
202
+ @logger.warn(message)
203
+ elsif respond_to?(:logger) && logger
204
+ logger.warn(message)
205
+ else
206
+ $stderr.puts "[KindeSdk] WARNING: #{message}"
207
+ end
17
208
  end
18
209
  end
19
210
  end
@@ -0,0 +1,218 @@
1
+ module KindeSdk
2
+ class Client
3
+ module Roles
4
+ # Get all roles for the authenticated user
5
+ # Matches the JavaScript SDK API: getRoles(options?)
6
+ # Implements smart fallback: uses API automatically if token claims are empty
7
+ #
8
+ # @param options [Hash] Options for retrieving roles
9
+ # @option options [Boolean] :force_api (false) If true, calls the API to get fresh roles,
10
+ # otherwise extracts from token claims. Will auto-fallback to API if token claims are empty.
11
+ # @option options [Symbol] :token_type (:access_token) The token type to use for soft check (:access_token or :id_token)
12
+ # @return [Array] Array of role objects with id, name, and key
13
+ # @example
14
+ # # Soft check (from token) with auto-fallback to API if empty
15
+ # client.get_roles
16
+ # # => [{ id: "role_123", name: "Admin", key: "admin" }]
17
+ #
18
+ # # Hard check (from API - always fresh)
19
+ # client.get_roles(force_api: true)
20
+ # # => [{ id: "role_123", name: "Admin", key: "admin" }]
21
+ def get_roles(options = {})
22
+ # Handle legacy positional argument for backward compatibility
23
+ if options.is_a?(Symbol)
24
+ options = { token_type: options }
25
+ end
26
+
27
+ # Extract options with defaults - use member variable if not overridden
28
+ force_api = options[:force_api] || @force_api || false
29
+ token_type = options[:token_type] || :access_token
30
+
31
+ # Smart fallback logic matching js-utils exactly
32
+ # Check if we have role claims first (efficiency optimization)
33
+ roles_claim = get_claim("roles", token_type)
34
+
35
+ if force_api || !roles_claim&.dig(:value)&.any?
36
+ # Use API if explicitly requested OR if token claims are empty
37
+ log_info("Using API for roles: force_api=#{force_api}, empty_claims=#{!roles_claim&.dig(:value)&.any?}")
38
+ return get_roles_from_api
39
+ end
40
+
41
+ # Use token claims (soft check)
42
+ get_roles_from_token(token_type)
43
+ end
44
+
45
+ # Check if user has specific roles
46
+ # Matches JavaScript SDK hasRoles functionality
47
+ #
48
+ # @param role_keys [Array<String>, String] Array of role keys to check, or single role key
49
+ # @param options [Hash] Options for retrieving roles (same as get_roles)
50
+ # @return [Boolean] True if user has all specified roles, false otherwise
51
+ def has_roles?(role_keys, options = {})
52
+ return true if role_keys.nil? || (role_keys.respond_to?(:empty?) && role_keys.empty?)
53
+
54
+ begin
55
+ user_roles = get_roles(options)
56
+ role_keys_array = Array(role_keys)
57
+ user_role_keys = user_roles.map { |role| role[:key] || role['key'] }.compact
58
+
59
+ result = role_keys_array.all? { |role_key| user_role_keys.include?(role_key.to_s) }
60
+ log_debug("Role check for #{role_keys_array}: #{result} (user has: #{user_role_keys})")
61
+ result
62
+ rescue StandardError => e
63
+ log_error("Error checking roles: #{e.message}")
64
+ false
65
+ end
66
+ end
67
+
68
+ # PHP SDK compatible alias for get_roles with hard check
69
+ # Matches PHP: $client->getRoles()
70
+ #
71
+ # @return [Array] Array of role objects
72
+ def getRoles
73
+ # Use client's force_api setting, default to true for PHP SDK compatibility
74
+ force_api_setting = @force_api.nil? ? true : @force_api
75
+ get_roles(force_api: force_api_setting)
76
+ end
77
+
78
+ # JavaScript SDK compatible alias
79
+ alias_method :hasRoles, :has_roles?
80
+
81
+ private
82
+
83
+ # Get roles from token claims (soft check)
84
+ # Matches JavaScript logic: token.roles || token["x-hasura-roles"] || []
85
+ # Includes helpful warnings like js-utils
86
+ #
87
+ # @param token_type [Symbol] The token type to use
88
+ # @return [Array] Array of role objects
89
+ def get_roles_from_token(token_type = :access_token)
90
+ # First try standard roles claim
91
+ roles = get_claim("roles", token_type)&.dig(:value)
92
+
93
+ # Fallback to Hasura-specific roles (matches JS SDK)
94
+ if roles.nil? || roles.empty?
95
+ roles = get_claim("x-hasura-roles", token_type)&.dig(:value)
96
+ end
97
+
98
+ # Warning message matching js-utils behavior
99
+ if roles.nil? || roles.empty?
100
+ log_warning("No roles found in token. Ensure roles have been included in the token customisation within the application settings.")
101
+ return []
102
+ end
103
+
104
+ # Ensure consistent format - normalize all role data
105
+ normalize_roles(roles)
106
+ end
107
+
108
+ # Get roles from API (hard check)
109
+ # Matches JavaScript API endpoint and data extraction exactly
110
+ #
111
+ # @return [Array] Array of role objects
112
+ def get_roles_from_api
113
+ unless token_store.bearer_token
114
+ log_warning("No bearer token available for API call")
115
+ return []
116
+ end
117
+
118
+ begin
119
+ # Use the same pagination pattern as getAllEntitlements
120
+ all_roles = paginate_all_results('roles') do |starting_after|
121
+ user_roles(page_size: 100, starting_after: starting_after)
122
+ end
123
+
124
+ # Extract and normalize role data (matches js-utils format exactly)
125
+ normalized_roles = normalize_roles(all_roles)
126
+ log_debug("Retrieved #{normalized_roles.count} roles from API")
127
+ normalized_roles
128
+ rescue KindeSdk::APIError => e
129
+ log_error("API Error getting roles: #{e.message}")
130
+ # Graceful fallback to token-based roles (matches JS behavior)
131
+ log_info("Falling back to token-based roles due to API error")
132
+ get_roles_from_token
133
+ rescue StandardError => e
134
+ log_error("Unexpected error getting roles from API: #{e.message}")
135
+ # Graceful fallback to token-based roles
136
+ log_info("Falling back to token-based roles due to unexpected error")
137
+ get_roles_from_token
138
+ end
139
+ end
140
+
141
+ # Normalize role data to consistent format
142
+ # Ensures we always return { id:, name:, key: } format like js-utils
143
+ #
144
+ # @param roles [Array] Raw role data from token or API
145
+ # @return [Array] Normalized role objects
146
+ def normalize_roles(roles)
147
+ return [] if roles.nil?
148
+
149
+ Array(roles).map do |role|
150
+ if role.is_a?(Hash) || role.respond_to?(:id)
151
+ {
152
+ id: extract_field(role, :id),
153
+ name: extract_field(role, :name),
154
+ key: extract_field(role, :key)
155
+ }
156
+ else
157
+ # Handle string-only roles (fallback)
158
+ role_str = role.to_s
159
+ {
160
+ id: nil,
161
+ name: role_str,
162
+ key: role_str
163
+ }
164
+ end
165
+ end.compact
166
+ end
167
+
168
+ # Helper to extract field from hash or object
169
+ def extract_field(item, field)
170
+ if item.respond_to?(field)
171
+ item.public_send(field)
172
+ elsif item.is_a?(Hash)
173
+ item[field] || item[field.to_s]
174
+ else
175
+ nil
176
+ end
177
+ end
178
+
179
+ # Configurable logging that works with or without Rails
180
+ # Supports multiple log levels for better debugging
181
+ def log_error(message)
182
+ write_log(:error, message)
183
+ end
184
+
185
+ def log_warning(message)
186
+ write_log(:warn, message)
187
+ end
188
+
189
+ def log_info(message)
190
+ write_log(:info, message)
191
+ end
192
+
193
+ def log_debug(message)
194
+ write_log(:debug, message)
195
+ end
196
+
197
+ def write_log(level, message)
198
+ formatted_message = "[KindeSdk::Roles] #{message}"
199
+
200
+ if defined?(Rails) && Rails.logger
201
+ Rails.logger.public_send(level, formatted_message)
202
+ elsif @logger && @logger.respond_to?(level)
203
+ @logger.public_send(level, formatted_message)
204
+ elsif respond_to?(:logger) && logger && logger.respond_to?(level)
205
+ logger.public_send(level, formatted_message)
206
+ else
207
+ # Fallback based on level
208
+ case level
209
+ when :error, :warn
210
+ $stderr.puts formatted_message
211
+ when :info, :debug
212
+ $stdout.puts formatted_message if ENV['KINDE_DEBUG']
213
+ end
214
+ end
215
+ end
216
+ end
217
+ end
218
+ end