diff --git a/.changelog-pending/2026-05-26T13-23-50-b0eb6fb50f020df713d0233e344a6be05739f59e.md b/.changelog-pending/2026-05-26T13-23-50-b0eb6fb50f020df713d0233e344a6be05739f59e.md new file mode 100644 index 00000000..fa445271 --- /dev/null +++ b/.changelog-pending/2026-05-26T13-23-50-b0eb6fb50f020df713d0233e344a6be05739f59e.md @@ -0,0 +1,52 @@ +* [#491](https://github.com/workos/workos-ruby/pull/491) feat(generated)!: regenerate from spec (9 changes) + + **⚠️ Breaking** + * **organization_membership:** Migrate organization membership to dedicated service + * Moved organization membership methods from `UserManagement` to new `OrganizationMembershipService` class + * Methods `create_organization_membership`, `get_organization_membership`, `update_organization_membership`, `delete_organization_membership`, `deactivate_organization_membership`, `reactivate_organization_membership`, `list_organization_memberships`, and `list_organization_membership_groups` now accessed via `client.organization_membership` instead of `client.user_management` + * Removed `UserManagement::RoleSingle` and `UserManagement::RoleMultiple` data classes (moved to `OrganizationMembershipService`) + * **api_keys:** Add expires_at field to API key models + * Added `expires_at` optional field to `ApiKey`, `OrganizationApiKey`, `OrganizationApiKeyWithValue`, `UserApiKey`, and `UserApiKeyWithValue` models + * Added `expires_at` field to `CreateOrganizationApiKey` and `CreateUserApiKey` request models + * Updated `create_organization_api_key` and `create_user_api_key` methods to accept `expires_at` parameter + * **radar:** Remove device_fingerprint and bot_score fields from Radar + * Removed `device_fingerprint` and `bot_score` parameters from `Radar.create_attempt` method + * Removed `device_fingerprint` and `bot_score` fields from `RadarStandaloneAssessRequest` model + * Updated enum values in `RadarStandaloneAssessRequestAction`: removed `LOGIN`, `SIGNUP`, `SIGN_UP_2`, `SIGN_IN_2`, `SIGN_IN_3`, `SIGN_UP_3`; standardized to `SIGN_UP` and `SIGN_IN` + * Removed `CREDENTIAL_STUFFING` and `IP_SIGN_UP_RATE_LIMIT` from `RadarStandaloneResponseControl` enum + * **audit_logs:** Refactor audit logs models and type names + * Merged `AuditLogSchemaJson` fields into `AuditLogSchema`; removed `AuditLogSchemaJson` class + * Added new `AuditLogSchemaInput` class (write-side schema without read-only fields) + * Renamed `AuditLogSchemaJsonActor` to `AuditLogSchemaActorInput` + * Renamed `AuditLogSchemaJsonTarget` to `AuditLogSchemaTargetInput` + * Removed `AuditLogActionJson`; `AuditLogAction` now extends `BaseModel` + * Renamed `AuditLogExportJson` to `AuditLogExport` (now extends `BaseModel`) + * Renamed `AuditLogsRetentionJson` to `AuditLogsRetention` (now extends `BaseModel`) + * Removed `AuditLogExportJsonState` type; replaced with `AuditLogExportState` + * Updated `list_actions` method return type from `AuditLogActionJson` to `AuditLogAction` + * Updated `create_export` and `get_export` method return types from `AuditLogExportJson` to `AuditLogExport` + * **webhooks:** Rename WebhookEndpointJson to WebhookEndpoint + * Renamed `WebhookEndpointJson` to `WebhookEndpoint` + * Updated `list_webhook_endpoints`, `create_webhook_endpoint`, and `update_webhook_endpoint` method return types + * `WebhookEndpointStatus` is now an alias for `UpdateWebhookEndpointStatus` (no longer a standalone class); removed `WebhookEndpointJsonStatus` alias + * Updated `WebhookEndpoint` to extend `BaseModel` for consistency + * **authorization:** Add filtering parameters to authorization list methods + * Added `resource_id`, `resource_external_id`, `resource_type_slug` filter parameters to `list_role_assignments` method + * Added `role_slug` filter parameter to `list_role_assignments_for_resource_by_external_id` and `list_role_assignments_for_resource` methods + * Removed `search` parameter from `list_resources` method + + **Features** + * **vault:** Add new Vault service with key-value operations + * Added new `Vault` service class with methods: `create_data_key`, `create_decrypt`, `create_rekey`, `list_kv`, `create_kv`, `get_name`, `get_kv`, `update_kv`, `delete_kv`, `list_kv_metadata`, `list_kv_versions` + * Added vault model classes: `Actor`, `CreateDataKeyRequest`, `CreateDataKeyResponse`, `CreateObjectRequest`, `DecryptRequest`, `DecryptResponse`, `DeleteObjectResponse`, `ObjectModel`, `ObjectMetadata`, `ObjectSummary`, `ObjectVersion`, `ObjectWithoutValue`, `RekeyRequest`, `UpdateObjectRequest` + * Added `VaultOrder` enum for sorting operations + * Added `client.vault` accessor to access the new service + * **pipes:** Add Pipes connected account event models + * Added `PipeConnectedAccount` model for representing connected accounts + * Added three new event models: `PipesConnectedAccountConnected`, `PipesConnectedAccountDisconnected`, `PipesConnectedAccountReauthorizationNeeded` + * Added `PipeConnectedAccountState` enum with `CONNECTED` and `NEEDS_REAUTHORIZATION` values + * Added new webhook event types to `CreateWebhookEndpointEvents` and `UpdateWebhookEndpointEvents` + * **generated:** Add Error and Actor shared models + * Added `Error` model in shared module for error responses + * Added `Actor` model in vault module representing user/actor information + * Updated inflections to map 'object' to 'ObjectModel' to avoid conflicts diff --git a/.github/workflows/release-please.yml b/.github/workflows/release-please.yml index 895de5f9..434f6bc0 100644 --- a/.github/workflows/release-please.yml +++ b/.github/workflows/release-please.yml @@ -60,7 +60,7 @@ jobs: exit 0 fi - VERSION=$(echo "$PR_JSON" | jq -r '.version') + VERSION=$(echo "$PR_JSON" | jq -r '.title' | grep -oE '[0-9]+\.[0-9]+\.[0-9]+') export VERSION python3 - <<'PY' diff --git a/.last-synced-sha b/.last-synced-sha index 047fc7ee..ad25d3d1 100644 --- a/.last-synced-sha +++ b/.last-synced-sha @@ -1 +1 @@ -a10d9ecb766d2dd996aecb19aa9c801d78bb7c26 +cb6857d51b453e3cbdb5bf3647d3ca229dd8af65 diff --git a/.oagen-manifest.json b/.oagen-manifest.json index 7c73f868..05b909db 100644 --- a/.oagen-manifest.json +++ b/.oagen-manifest.json @@ -1,7 +1,7 @@ { "version": 2, "language": "ruby", - "generatedAt": "2026-05-06T22:30:35.198Z", + "generatedAt": "2026-05-26T15:39:28.792Z", "files": [ "lib/workos.rb", "lib/workos/admin_portal.rb", @@ -27,21 +27,21 @@ "lib/workos/api_keys/organization_api_key_with_value_owner.rb", "lib/workos/api_keys/validate_api_key.rb", "lib/workos/audit_logs.rb", - "lib/workos/audit_logs/audit_log_action_json.rb", + "lib/workos/audit_logs/audit_log_action.rb", "lib/workos/audit_logs/audit_log_event.rb", "lib/workos/audit_logs/audit_log_event_actor.rb", "lib/workos/audit_logs/audit_log_event_context.rb", "lib/workos/audit_logs/audit_log_event_create_response.rb", "lib/workos/audit_logs/audit_log_event_ingestion.rb", "lib/workos/audit_logs/audit_log_event_target.rb", + "lib/workos/audit_logs/audit_log_export.rb", "lib/workos/audit_logs/audit_log_export_creation.rb", - "lib/workos/audit_logs/audit_log_export_json.rb", "lib/workos/audit_logs/audit_log_schema.rb", "lib/workos/audit_logs/audit_log_schema_actor.rb", - "lib/workos/audit_logs/audit_log_schema_json.rb", - "lib/workos/audit_logs/audit_log_schema_json_actor.rb", - "lib/workos/audit_logs/audit_log_schema_json_target.rb", + "lib/workos/audit_logs/audit_log_schema_actor_input.rb", + "lib/workos/audit_logs/audit_log_schema_input.rb", "lib/workos/audit_logs/audit_log_schema_target.rb", + "lib/workos/audit_logs/audit_log_schema_target_input.rb", "lib/workos/authorization.rb", "lib/workos/authorization/add_role_permission.rb", "lib/workos/authorization/assign_role.rb", @@ -82,6 +82,7 @@ "lib/workos/connect.rb", "lib/workos/connect/application_credentials_list_item.rb", "lib/workos/connect/connect_application.rb", + "lib/workos/connect/connect_application_redirect_uri.rb", "lib/workos/connect/create_application_secret.rb", "lib/workos/connect/create_m2m_application.rb", "lib/workos/connect/create_oauth_application.rb", @@ -197,10 +198,15 @@ "lib/workos/organization_domains/organization_domain_verification_failed_data_organization_domain.rb", "lib/workos/organization_domains/organization_domain_verified.rb", "lib/workos/organization_domains/organization_domain_verified_data.rb", + "lib/workos/organization_membership/create_user_organization_membership.rb", + "lib/workos/organization_membership/organization_membership.rb", + "lib/workos/organization_membership/update_user_organization_membership.rb", + "lib/workos/organization_membership/user_organization_membership.rb", + "lib/workos/organization_membership_service.rb", "lib/workos/organizations.rb", "lib/workos/organizations/audit_log_configuration.rb", "lib/workos/organizations/audit_log_configuration_log_stream.rb", - "lib/workos/organizations/audit_logs_retention_json.rb", + "lib/workos/organizations/audit_logs_retention.rb", "lib/workos/organizations/organization.rb", "lib/workos/organizations/organization_created.rb", "lib/workos/organizations/organization_created_data.rb", @@ -244,6 +250,10 @@ "lib/workos/radar/radar_standalone_response.rb", "lib/workos/radar/radar_standalone_update_radar_attempt_request.rb", "lib/workos/radar/radar_standalone_update_radar_list_request.rb", + "lib/workos/shared/connect_application_m2m.rb", + "lib/workos/shared/connect_application_oauth.rb", + "lib/workos/shared/connect_application_oauth_redirect_uris.rb", + "lib/workos/shared/error_response.rb", "lib/workos/shared/event_context.rb", "lib/workos/shared/event_context_actor.rb", "lib/workos/shared/event_context_google_analytics_session.rb", @@ -254,6 +264,10 @@ "lib/workos/shared/group_member_removed.rb", "lib/workos/shared/group_member_removed_data.rb", "lib/workos/shared/group_updated.rb", + "lib/workos/shared/pipe_connected_account.rb", + "lib/workos/shared/pipes_connected_account_connected.rb", + "lib/workos/shared/pipes_connected_account_disconnected.rb", + "lib/workos/shared/pipes_connected_account_reauthorization_needed.rb", "lib/workos/shared/waitlist_user.rb", "lib/workos/shared/waitlist_user_approved.rb", "lib/workos/shared/waitlist_user_created.rb", @@ -288,7 +302,7 @@ "lib/workos/types/audit_log_configuration_log_stream_state.rb", "lib/workos/types/audit_log_configuration_log_stream_type.rb", "lib/workos/types/audit_log_configuration_state.rb", - "lib/workos/types/audit_log_export_json_state.rb", + "lib/workos/types/audit_log_export_state.rb", "lib/workos/types/authenticate_response_authentication_method.rb", "lib/workos/types/authentication_factor_enrolled_type.rb", "lib/workos/types/authentication_factor_type.rb", @@ -367,14 +381,15 @@ "lib/workos/types/organization_updated_data_domain_state.rb", "lib/workos/types/organization_updated_data_domain_verification_strategy.rb", "lib/workos/types/pagination_order.rb", + "lib/workos/types/pipe_connected_account_state.rb", "lib/workos/types/profile_connection_type.rb", - "lib/workos/types/radar_action.rb", + "lib/workos/types/radar_list_action.rb", + "lib/workos/types/radar_list_type.rb", "lib/workos/types/radar_standalone_assess_request_action.rb", "lib/workos/types/radar_standalone_assess_request_auth_method.rb", "lib/workos/types/radar_standalone_response_blocklist_type.rb", "lib/workos/types/radar_standalone_response_control.rb", "lib/workos/types/radar_standalone_response_verdict.rb", - "lib/workos/types/radar_type.rb", "lib/workos/types/resend_user_invite_options_locale.rb", "lib/workos/types/role_type.rb", "lib/workos/types/session_created_data_auth_method.rb", @@ -404,8 +419,9 @@ "lib/workos/types/vault_kek_created_data_actor_source.rb", "lib/workos/types/vault_metadata_read_data_actor_source.rb", "lib/workos/types/vault_names_listed_data_actor_source.rb", + "lib/workos/types/vault_order.rb", "lib/workos/types/waitlist_user_state.rb", - "lib/workos/types/webhook_endpoint_json_status.rb", + "lib/workos/types/webhook_endpoint_status.rb", "lib/workos/types/widget_session_token_scopes.rb", "lib/workos/user_management.rb", "lib/workos/user_management/action_authentication_denied.rb", @@ -473,7 +489,6 @@ "lib/workos/user_management/create_user.rb", "lib/workos/user_management/create_user_api_key.rb", "lib/workos/user_management/create_user_invite_options.rb", - "lib/workos/user_management/create_user_organization_membership.rb", "lib/workos/user_management/device_authorization_response.rb", "lib/workos/user_management/device_code_session_authenticate_request.rb", "lib/workos/user_management/email_change.rb", @@ -500,7 +515,6 @@ "lib/workos/user_management/magic_auth_created.rb", "lib/workos/user_management/magic_auth_created_data.rb", "lib/workos/user_management/mfa_totp_session_authenticate_request.rb", - "lib/workos/user_management/organization_membership.rb", "lib/workos/user_management/organization_selection_session_authenticate_request.rb", "lib/workos/user_management/password_reset.rb", "lib/workos/user_management/password_reset_created.rb", @@ -524,7 +538,6 @@ "lib/workos/user_management/sso_device_authorization_request.rb", "lib/workos/user_management/update_jwt_template.rb", "lib/workos/user_management/update_user.rb", - "lib/workos/user_management/update_user_organization_membership.rb", "lib/workos/user_management/user.rb", "lib/workos/user_management/user_api_key.rb", "lib/workos/user_management/user_api_key_created_data_owner.rb", @@ -536,13 +549,26 @@ "lib/workos/user_management/user_deleted.rb", "lib/workos/user_management/user_identities_get_item.rb", "lib/workos/user_management/user_invite.rb", - "lib/workos/user_management/user_organization_membership.rb", "lib/workos/user_management/user_sessions_impersonator.rb", "lib/workos/user_management/user_sessions_list_item.rb", "lib/workos/user_management/user_updated.rb", "lib/workos/user_management/verify_email_address.rb", "lib/workos/user_management/verify_email_response.rb", - "lib/workos/user_management_organization_membership_groups.rb", + "lib/workos/vault.rb", + "lib/workos/vault/actor.rb", + "lib/workos/vault/create_data_key_request.rb", + "lib/workos/vault/create_data_key_response.rb", + "lib/workos/vault/create_object_request.rb", + "lib/workos/vault/decrypt_request.rb", + "lib/workos/vault/decrypt_response.rb", + "lib/workos/vault/delete_object_response.rb", + "lib/workos/vault/object.rb", + "lib/workos/vault/object_metadata.rb", + "lib/workos/vault/object_summary.rb", + "lib/workos/vault/object_version.rb", + "lib/workos/vault/object_without_value.rb", + "lib/workos/vault/rekey_request.rb", + "lib/workos/vault/update_object_request.rb", "lib/workos/vault/vault_byok_key_deleted.rb", "lib/workos/vault/vault_byok_key_deleted_data.rb", "lib/workos/vault/vault_byok_key_verification_completed.rb", @@ -565,10 +591,11 @@ "lib/workos/vault/vault_metadata_read_data.rb", "lib/workos/vault/vault_names_listed.rb", "lib/workos/vault/vault_names_listed_data.rb", + "lib/workos/vault/version_list_response.rb", "lib/workos/webhooks.rb", "lib/workos/webhooks/create_webhook_endpoint.rb", "lib/workos/webhooks/update_webhook_endpoint.rb", - "lib/workos/webhooks/webhook_endpoint_json.rb", + "lib/workos/webhooks/webhook_endpoint.rb", "lib/workos/widgets.rb", "lib/workos/widgets/widget_session_token.rb", "lib/workos/widgets/widget_session_token_response.rb", @@ -576,6 +603,7 @@ "rbi/workos/action_authentication_denied_data.rbi", "rbi/workos/action_user_registration_denied.rbi", "rbi/workos/action_user_registration_denied_data.rbi", + "rbi/workos/actor.rbi", "rbi/workos/add_role_permission.rbi", "rbi/workos/admin_portal.rbi", "rbi/workos/api_key.rbi", @@ -590,7 +618,7 @@ "rbi/workos/api_keys.rbi", "rbi/workos/application_credentials_list_item.rbi", "rbi/workos/assign_role.rbi", - "rbi/workos/audit_log_action_json.rbi", + "rbi/workos/audit_log_action.rbi", "rbi/workos/audit_log_configuration.rbi", "rbi/workos/audit_log_configuration_log_stream.rbi", "rbi/workos/audit_log_event.rbi", @@ -599,16 +627,16 @@ "rbi/workos/audit_log_event_create_response.rbi", "rbi/workos/audit_log_event_ingestion.rbi", "rbi/workos/audit_log_event_target.rbi", + "rbi/workos/audit_log_export.rbi", "rbi/workos/audit_log_export_creation.rbi", - "rbi/workos/audit_log_export_json.rbi", "rbi/workos/audit_log_schema.rbi", "rbi/workos/audit_log_schema_actor.rbi", - "rbi/workos/audit_log_schema_json.rbi", - "rbi/workos/audit_log_schema_json_actor.rbi", - "rbi/workos/audit_log_schema_json_target.rbi", + "rbi/workos/audit_log_schema_actor_input.rbi", + "rbi/workos/audit_log_schema_input.rbi", "rbi/workos/audit_log_schema_target.rbi", + "rbi/workos/audit_log_schema_target_input.rbi", "rbi/workos/audit_logs.rbi", - "rbi/workos/audit_logs_retention_json.rbi", + "rbi/workos/audit_logs_retention.rbi", "rbi/workos/authenticate_response.rbi", "rbi/workos/authenticate_response_impersonator.rbi", "rbi/workos/authenticate_response_oauth_token.rbi", @@ -680,6 +708,9 @@ "rbi/workos/confirm_email_change.rbi", "rbi/workos/connect.rbi", "rbi/workos/connect_application.rbi", + "rbi/workos/connect_application_m2m.rbi", + "rbi/workos/connect_application_oauth.rbi", + "rbi/workos/connect_application_oauth_redirect_uris.rbi", "rbi/workos/connected_account.rbi", "rbi/workos/connection.rbi", "rbi/workos/connection_activated.rbi", @@ -705,11 +736,14 @@ "rbi/workos/create_authorization_permission.rbi", "rbi/workos/create_authorization_resource.rbi", "rbi/workos/create_cors_origin.rbi", + "rbi/workos/create_data_key_request.rbi", + "rbi/workos/create_data_key_response.rbi", "rbi/workos/create_group.rbi", "rbi/workos/create_group_membership.rbi", "rbi/workos/create_m2m_application.rbi", "rbi/workos/create_magic_code_and_return.rbi", "rbi/workos/create_oauth_application.rbi", + "rbi/workos/create_object_request.rbi", "rbi/workos/create_organization_api_key.rbi", "rbi/workos/create_organization_domain.rbi", "rbi/workos/create_organization_role.rbi", @@ -730,6 +764,9 @@ "rbi/workos/data_integrations_list_response.rbi", "rbi/workos/data_integrations_list_response_data.rbi", "rbi/workos/data_integrations_list_response_data_connected_account.rbi", + "rbi/workos/decrypt_request.rbi", + "rbi/workos/decrypt_response.rbi", + "rbi/workos/delete_object_response.rbi", "rbi/workos/device_authorization_response.rbi", "rbi/workos/device_code_session_authenticate_request.rbi", "rbi/workos/directory.rbi", @@ -771,6 +808,7 @@ "rbi/workos/email_verification_created.rbi", "rbi/workos/email_verification_created_data.rbi", "rbi/workos/enroll_user_authentication_factor.rbi", + "rbi/workos/error_response.rbi", "rbi/workos/event_context.rbi", "rbi/workos/event_context_actor.rbi", "rbi/workos/event_context_google_analytics_session.rbi", @@ -844,6 +882,11 @@ "rbi/workos/mfa_totp_session_authenticate_request.rbi", "rbi/workos/multi_factor_auth.rbi", "rbi/workos/new_connect_application_secret.rbi", + "rbi/workos/object.rbi", + "rbi/workos/object_metadata.rbi", + "rbi/workos/object_summary.rbi", + "rbi/workos/object_version.rbi", + "rbi/workos/object_without_value.rbi", "rbi/workos/organization.rbi", "rbi/workos/organization_api_key.rbi", "rbi/workos/organization_api_key_owner.rbi", @@ -876,6 +919,7 @@ "rbi/workos/organization_membership_created_data.rbi", "rbi/workos/organization_membership_deleted.rbi", "rbi/workos/organization_membership_deleted_data.rbi", + "rbi/workos/organization_membership_service.rbi", "rbi/workos/organization_membership_updated.rbi", "rbi/workos/organization_membership_updated_data.rbi", "rbi/workos/organization_role_created.rbi", @@ -902,7 +946,11 @@ "rbi/workos/permission_deleted_data.rbi", "rbi/workos/permission_updated.rbi", "rbi/workos/permission_updated_data.rbi", + "rbi/workos/pipe_connected_account.rbi", "rbi/workos/pipes.rbi", + "rbi/workos/pipes_connected_account_connected.rbi", + "rbi/workos/pipes_connected_account_disconnected.rbi", + "rbi/workos/pipes_connected_account_reauthorization_needed.rbi", "rbi/workos/portal_link_response.rbi", "rbi/workos/profile.rbi", "rbi/workos/radar.rbi", @@ -915,6 +963,7 @@ "rbi/workos/redirect_uri.rbi", "rbi/workos/redirect_uri_input.rbi", "rbi/workos/refresh_token_session_authenticate_request.rbi", + "rbi/workos/rekey_request.rbi", "rbi/workos/remove_role.rbi", "rbi/workos/resend_user_invite_options.rbi", "rbi/workos/reset_password_response.rbi", @@ -952,6 +1001,7 @@ "rbi/workos/update_group.rbi", "rbi/workos/update_jwt_template.rbi", "rbi/workos/update_oauth_application.rbi", + "rbi/workos/update_object_request.rbi", "rbi/workos/update_organization.rbi", "rbi/workos/update_organization_role.rbi", "rbi/workos/update_role.rbi", @@ -974,7 +1024,6 @@ "rbi/workos/user_invite.rbi", "rbi/workos/user_management.rbi", "rbi/workos/user_management_login_request.rbi", - "rbi/workos/user_management_organization_membership_groups.rbi", "rbi/workos/user_object.rbi", "rbi/workos/user_organization_membership.rbi", "rbi/workos/user_organization_membership_base_list_data.rbi", @@ -984,6 +1033,7 @@ "rbi/workos/user_sessions_list_item.rbi", "rbi/workos/user_updated.rbi", "rbi/workos/validate_api_key.rbi", + "rbi/workos/vault.rbi", "rbi/workos/vault_byok_key_deleted.rbi", "rbi/workos/vault_byok_key_deleted_data.rbi", "rbi/workos/vault_byok_key_verification_completed.rbi", @@ -1012,7 +1062,7 @@ "rbi/workos/waitlist_user_approved.rbi", "rbi/workos/waitlist_user_created.rbi", "rbi/workos/waitlist_user_denied.rbi", - "rbi/workos/webhook_endpoint_json.rbi", + "rbi/workos/webhook_endpoint.rbi", "rbi/workos/webhooks.rbi", "rbi/workos/widget_session_token.rbi", "rbi/workos/widget_session_token_response.rbi", @@ -1029,12 +1079,13 @@ "test/workos/test_model_round_trip.rb", "test/workos/test_multi_factor_auth.rb", "test/workos/test_organization_domains.rb", + "test/workos/test_organization_membership_service.rb", "test/workos/test_organizations.rb", "test/workos/test_pipes.rb", "test/workos/test_radar.rb", "test/workos/test_sso.rb", "test/workos/test_user_management.rb", - "test/workos/test_user_management_organization_membership_groups.rb", + "test/workos/test_vault.rb", "test/workos/test_webhooks.rb", "test/workos/test_widgets.rb" ], @@ -1641,35 +1692,35 @@ }, "GET /user_management/organization_memberships": { "sdkMethod": "list_organization_memberships", - "service": "user_management" + "service": "organization_membership" }, "POST /user_management/organization_memberships": { "sdkMethod": "create_organization_membership", - "service": "user_management" + "service": "organization_membership" }, "GET /user_management/organization_memberships/{id}": { "sdkMethod": "get_organization_membership", - "service": "user_management" + "service": "organization_membership" }, "PUT /user_management/organization_memberships/{id}": { "sdkMethod": "update_organization_membership", - "service": "user_management" + "service": "organization_membership" }, "DELETE /user_management/organization_memberships/{id}": { "sdkMethod": "delete_organization_membership", - "service": "user_management" + "service": "organization_membership" }, "PUT /user_management/organization_memberships/{id}/deactivate": { "sdkMethod": "deactivate_organization_membership", - "service": "user_management" + "service": "organization_membership" }, "PUT /user_management/organization_memberships/{id}/reactivate": { "sdkMethod": "reactivate_organization_membership", - "service": "user_management" + "service": "organization_membership" }, "GET /user_management/organization_memberships/{omId}/groups": { "sdkMethod": "list_organization_membership_groups", - "service": "user_management_organization_membership_groups" + "service": "organization_membership" }, "POST /user_management/redirect_uris": { "sdkMethod": "create_redirect_uri", @@ -1707,6 +1758,50 @@ "sdkMethod": "create_user_auth_factor", "service": "multi_factor_auth" }, + "POST /vault/v1/keys/data-key": { + "sdkMethod": "create_data_key", + "service": "vault" + }, + "POST /vault/v1/keys/decrypt": { + "sdkMethod": "create_decrypt", + "service": "vault" + }, + "POST /vault/v1/keys/rekey": { + "sdkMethod": "create_rekey", + "service": "vault" + }, + "GET /vault/v1/kv": { + "sdkMethod": "list_kv", + "service": "vault" + }, + "POST /vault/v1/kv": { + "sdkMethod": "create_kv", + "service": "vault" + }, + "GET /vault/v1/kv/name/{name}": { + "sdkMethod": "get_name", + "service": "vault" + }, + "GET /vault/v1/kv/{id}": { + "sdkMethod": "get_kv", + "service": "vault" + }, + "PUT /vault/v1/kv/{id}": { + "sdkMethod": "update_kv", + "service": "vault" + }, + "DELETE /vault/v1/kv/{id}": { + "sdkMethod": "delete_kv", + "service": "vault" + }, + "GET /vault/v1/kv/{id}/metadata": { + "sdkMethod": "list_kv_metadata", + "service": "vault" + }, + "GET /vault/v1/kv/{id}/versions": { + "sdkMethod": "list_kv_versions", + "service": "vault" + }, "GET /webhook_endpoints": { "sdkMethod": "list_webhook_endpoints", "service": "webhooks" diff --git a/lib/workos.rb b/lib/workos.rb index 0b92065f..61aa8e25 100644 --- a/lib/workos.rb +++ b/lib/workos.rb @@ -21,6 +21,7 @@ module WorkOS loader.collapse("#{__dir__}/workos/groups") loader.collapse("#{__dir__}/workos/multi_factor_auth") loader.collapse("#{__dir__}/workos/organization_domains") +loader.collapse("#{__dir__}/workos/organization_membership") loader.collapse("#{__dir__}/workos/organizations") loader.collapse("#{__dir__}/workos/pipes") loader.collapse("#{__dir__}/workos/radar") diff --git a/lib/workos/api_keys.rb b/lib/workos/api_keys.rb index 5f105047..c605ac71 100644 --- a/lib/workos/api_keys.rb +++ b/lib/workos/api_keys.rb @@ -61,17 +61,20 @@ def list_organization_api_keys( # @param organization_id [String] Unique identifier of the Organization. # @param name [String] The name for the API key. # @param permissions [Array, nil] The permission slugs to assign to the API key. + # @param expires_at [String, nil] The timestamp when the API key should expire. Must be a future timestamp. If omitted, the key does not expire. # @param request_options [Hash] (see WorkOS::Types::RequestOptions) # @return [WorkOS::OrganizationApiKeyWithValue] def create_organization_api_key( organization_id:, name:, permissions: nil, + expires_at: nil, request_options: {} ) body = { "name" => name, - "permissions" => permissions + "permissions" => permissions, + "expires_at" => expires_at }.compact response = @client.request( method: :post, diff --git a/lib/workos/api_keys/api_key.rb b/lib/workos/api_keys/api_key.rb index c69d2fa9..6a55b0ec 100644 --- a/lib/workos/api_keys/api_key.rb +++ b/lib/workos/api_keys/api_key.rb @@ -11,6 +11,7 @@ class ApiKey < WorkOS::Types::BaseModel name: :name, obfuscated_value: :obfuscated_value, last_used_at: :last_used_at, + expires_at: :expires_at, permissions: :permissions, created_at: :created_at, updated_at: :updated_at @@ -23,6 +24,7 @@ class ApiKey < WorkOS::Types::BaseModel :name, :obfuscated_value, :last_used_at, + :expires_at, :permissions, :created_at, :updated_at @@ -35,6 +37,7 @@ def initialize(json) @name = hash[:name] @obfuscated_value = hash[:obfuscated_value] @last_used_at = hash[:last_used_at] + @expires_at = hash[:expires_at] @permissions = hash[:permissions] || [] @created_at = hash[:created_at] @updated_at = hash[:updated_at] diff --git a/lib/workos/api_keys/api_key_created.rb b/lib/workos/api_keys/api_key_created.rb index f5e7179a..674b21a6 100644 --- a/lib/workos/api_keys/api_key_created.rb +++ b/lib/workos/api_keys/api_key_created.rb @@ -5,30 +5,30 @@ module WorkOS class ApiKeyCreated < WorkOS::Types::BaseModel HASH_ATTRS = { + object: :object, id: :id, event: :event, data: :data, created_at: :created_at, - context: :context, - object: :object + context: :context }.freeze attr_accessor \ + :object, :id, :event, :data, :created_at, - :context, - :object + :context def initialize(json) hash = self.class.normalize(json) + @object = hash[:object] @id = hash[:id] @event = hash[:event] @data = hash[:data] ? WorkOS::ApiKeyCreatedData.new(hash[:data]) : nil @created_at = hash[:created_at] @context = hash[:context] ? WorkOS::EventContext.new(hash[:context]) : nil - @object = hash[:object] end end end diff --git a/lib/workos/api_keys/api_key_created_data.rb b/lib/workos/api_keys/api_key_created_data.rb index 8128befc..46165e75 100644 --- a/lib/workos/api_keys/api_key_created_data.rb +++ b/lib/workos/api_keys/api_key_created_data.rb @@ -11,6 +11,7 @@ class ApiKeyCreatedData < WorkOS::Types::BaseModel name: :name, obfuscated_value: :obfuscated_value, last_used_at: :last_used_at, + expires_at: :expires_at, permissions: :permissions, created_at: :created_at, updated_at: :updated_at @@ -23,6 +24,7 @@ class ApiKeyCreatedData < WorkOS::Types::BaseModel :name, :obfuscated_value, :last_used_at, + :expires_at, :permissions, :created_at, :updated_at @@ -35,6 +37,7 @@ def initialize(json) @name = hash[:name] @obfuscated_value = hash[:obfuscated_value] @last_used_at = hash[:last_used_at] + @expires_at = hash[:expires_at] @permissions = hash[:permissions] || [] @created_at = hash[:created_at] @updated_at = hash[:updated_at] diff --git a/lib/workos/api_keys/api_key_revoked.rb b/lib/workos/api_keys/api_key_revoked.rb index 9414c921..49d94e39 100644 --- a/lib/workos/api_keys/api_key_revoked.rb +++ b/lib/workos/api_keys/api_key_revoked.rb @@ -5,30 +5,30 @@ module WorkOS class ApiKeyRevoked < WorkOS::Types::BaseModel HASH_ATTRS = { + object: :object, id: :id, event: :event, data: :data, created_at: :created_at, - context: :context, - object: :object + context: :context }.freeze attr_accessor \ + :object, :id, :event, :data, :created_at, - :context, - :object + :context def initialize(json) hash = self.class.normalize(json) + @object = hash[:object] @id = hash[:id] @event = hash[:event] @data = hash[:data] ? WorkOS::ApiKeyRevokedData.new(hash[:data]) : nil @created_at = hash[:created_at] @context = hash[:context] ? WorkOS::EventContext.new(hash[:context]) : nil - @object = hash[:object] end end end diff --git a/lib/workos/api_keys/create_organization_api_key.rb b/lib/workos/api_keys/create_organization_api_key.rb index 51a01c95..2dc7b328 100644 --- a/lib/workos/api_keys/create_organization_api_key.rb +++ b/lib/workos/api_keys/create_organization_api_key.rb @@ -6,17 +6,20 @@ module WorkOS class CreateOrganizationApiKey < WorkOS::Types::BaseModel HASH_ATTRS = { name: :name, - permissions: :permissions + permissions: :permissions, + expires_at: :expires_at }.freeze attr_accessor \ :name, - :permissions + :permissions, + :expires_at def initialize(json) hash = self.class.normalize(json) @name = hash[:name] @permissions = hash[:permissions] || [] + @expires_at = hash[:expires_at] end end end diff --git a/lib/workos/api_keys/organization_api_key.rb b/lib/workos/api_keys/organization_api_key.rb index f2131bae..82a2db35 100644 --- a/lib/workos/api_keys/organization_api_key.rb +++ b/lib/workos/api_keys/organization_api_key.rb @@ -11,6 +11,7 @@ class OrganizationApiKey < WorkOS::Types::BaseModel name: :name, obfuscated_value: :obfuscated_value, last_used_at: :last_used_at, + expires_at: :expires_at, permissions: :permissions, created_at: :created_at, updated_at: :updated_at @@ -23,6 +24,7 @@ class OrganizationApiKey < WorkOS::Types::BaseModel :name, :obfuscated_value, :last_used_at, + :expires_at, :permissions, :created_at, :updated_at @@ -35,6 +37,7 @@ def initialize(json) @name = hash[:name] @obfuscated_value = hash[:obfuscated_value] @last_used_at = hash[:last_used_at] + @expires_at = hash[:expires_at] @permissions = hash[:permissions] || [] @created_at = hash[:created_at] @updated_at = hash[:updated_at] diff --git a/lib/workos/api_keys/organization_api_key_with_value.rb b/lib/workos/api_keys/organization_api_key_with_value.rb index c8bced69..2262ea70 100644 --- a/lib/workos/api_keys/organization_api_key_with_value.rb +++ b/lib/workos/api_keys/organization_api_key_with_value.rb @@ -11,6 +11,7 @@ class OrganizationApiKeyWithValue < WorkOS::Types::BaseModel name: :name, obfuscated_value: :obfuscated_value, last_used_at: :last_used_at, + expires_at: :expires_at, permissions: :permissions, created_at: :created_at, updated_at: :updated_at, @@ -24,6 +25,7 @@ class OrganizationApiKeyWithValue < WorkOS::Types::BaseModel :name, :obfuscated_value, :last_used_at, + :expires_at, :permissions, :created_at, :updated_at, @@ -37,6 +39,7 @@ def initialize(json) @name = hash[:name] @obfuscated_value = hash[:obfuscated_value] @last_used_at = hash[:last_used_at] + @expires_at = hash[:expires_at] @permissions = hash[:permissions] || [] @created_at = hash[:created_at] @updated_at = hash[:updated_at] diff --git a/lib/workos/audit_logs.rb b/lib/workos/audit_logs.rb index e70e9eb0..2e0e7deb 100644 --- a/lib/workos/audit_logs.rb +++ b/lib/workos/audit_logs.rb @@ -13,7 +13,7 @@ def initialize(client) # Get Retention # @param id [String] Unique identifier of the Organization. # @param request_options [Hash] (see WorkOS::Types::RequestOptions) - # @return [WorkOS::AuditLogsRetentionJson] + # @return [WorkOS::AuditLogsRetention] def get_organization_audit_logs_retention( id:, request_options: {} @@ -24,7 +24,7 @@ def get_organization_audit_logs_retention( auth: true, request_options: request_options ) - result = WorkOS::AuditLogsRetentionJson.new(response.body) + result = WorkOS::AuditLogsRetention.new(response.body) result.last_response = WorkOS::Types::ApiResponse.new(http_status: response.code.to_i, http_headers: response.each_header.to_h, request_id: response["x-request-id"]) result end @@ -33,7 +33,7 @@ def get_organization_audit_logs_retention( # @param id [String] Unique identifier of the Organization. # @param retention_period_in_days [Integer] The number of days Audit Log events will be retained. Valid values are `30` and `365`. # @param request_options [Hash] (see WorkOS::Types::RequestOptions) - # @return [WorkOS::AuditLogsRetentionJson] + # @return [WorkOS::AuditLogsRetention] def update_organization_audit_logs_retention( id:, retention_period_in_days:, @@ -49,7 +49,7 @@ def update_organization_audit_logs_retention( body: body, request_options: request_options ) - result = WorkOS::AuditLogsRetentionJson.new(response.body) + result = WorkOS::AuditLogsRetention.new(response.body) result.last_response = WorkOS::Types::ApiResponse.new(http_status: response.code.to_i, http_headers: response.each_header.to_h, request_id: response["x-request-id"]) result end @@ -60,7 +60,7 @@ def update_organization_audit_logs_retention( # @param limit [Integer, nil] Upper limit on the number of objects to return, between `1` and `100`. # @param order [WorkOS::Types::PaginationOrder, nil] Order the results by the creation time. # @param request_options [Hash] (see WorkOS::Types::RequestOptions) - # @return [WorkOS::Types::ListStruct] + # @return [WorkOS::Types::ListStruct] def list_actions( before: nil, after: nil, @@ -92,7 +92,7 @@ def list_actions( } WorkOS::Types::ListStruct.from_response( response, - model: WorkOS::AuditLogActionJson, + model: WorkOS::AuditLogAction, filters: {before: before, limit: limit, order: order}, fetch_next: fetch_next ) @@ -105,7 +105,7 @@ def list_actions( # @param limit [Integer, nil] Upper limit on the number of objects to return, between `1` and `100`. # @param order [WorkOS::Types::PaginationOrder, nil] Order the results by the creation time. # @param request_options [Hash] (see WorkOS::Types::RequestOptions) - # @return [WorkOS::Types::ListStruct] + # @return [WorkOS::Types::ListStruct] def list_action_schemas( action_name:, before: nil, @@ -139,7 +139,7 @@ def list_action_schemas( } WorkOS::Types::ListStruct.from_response( response, - model: WorkOS::AuditLogSchemaJson, + model: WorkOS::AuditLogSchema, filters: {action_name: action_name, before: before, limit: limit, order: order}, fetch_next: fetch_next ) @@ -147,11 +147,11 @@ def list_action_schemas( # Create Schema # @param action_name [String] The name of the Audit Log action. - # @param actor [WorkOS::AuditLogSchemaActor, nil] The metadata schema for the actor. - # @param targets [Array] The list of targets for the schema. + # @param actor [WorkOS::AuditLogSchemaActorInput, nil] The metadata schema for the actor. + # @param targets [Array] The list of targets for the schema. # @param metadata [Hash{String => Object}, nil] Optional JSON schema for event metadata. # @param request_options [Hash] (see WorkOS::Types::RequestOptions) - # @return [WorkOS::AuditLogSchemaJson] + # @return [WorkOS::AuditLogSchema] def create_schema( action_name:, targets:, @@ -171,7 +171,7 @@ def create_schema( body: body, request_options: request_options ) - result = WorkOS::AuditLogSchemaJson.new(response.body) + result = WorkOS::AuditLogSchema.new(response.body) result.last_response = WorkOS::Types::ApiResponse.new(http_status: response.code.to_i, http_headers: response.each_header.to_h, request_id: response["x-request-id"]) result end @@ -212,7 +212,7 @@ def create_event( # @param actor_ids [Array, nil] List of actor IDs to filter against. # @param targets [Array, nil] List of target types to filter against. # @param request_options [Hash] (see WorkOS::Types::RequestOptions) - # @return [WorkOS::AuditLogExportJson] + # @return [WorkOS::AuditLogExport] def create_export( organization_id:, range_start:, @@ -241,7 +241,7 @@ def create_export( body: body, request_options: request_options ) - result = WorkOS::AuditLogExportJson.new(response.body) + result = WorkOS::AuditLogExport.new(response.body) result.last_response = WorkOS::Types::ApiResponse.new(http_status: response.code.to_i, http_headers: response.each_header.to_h, request_id: response["x-request-id"]) result end @@ -249,7 +249,7 @@ def create_export( # Get Export # @param audit_log_export_id [String] The unique ID of the Audit Log Export. # @param request_options [Hash] (see WorkOS::Types::RequestOptions) - # @return [WorkOS::AuditLogExportJson] + # @return [WorkOS::AuditLogExport] def get_export( audit_log_export_id:, request_options: {} @@ -260,7 +260,7 @@ def get_export( auth: true, request_options: request_options ) - result = WorkOS::AuditLogExportJson.new(response.body) + result = WorkOS::AuditLogExport.new(response.body) result.last_response = WorkOS::Types::ApiResponse.new(http_status: response.code.to_i, http_headers: response.each_header.to_h, request_id: response["x-request-id"]) result end diff --git a/lib/workos/audit_logs/audit_log_action.rb b/lib/workos/audit_logs/audit_log_action.rb index 05f51dbf..0a7e0929 100644 --- a/lib/workos/audit_logs/audit_log_action.rb +++ b/lib/workos/audit_logs/audit_log_action.rb @@ -2,12 +2,8 @@ # This file is auto-generated by oagen. Do not edit. -require "json" - module WorkOS - class AuditLogAction - include HashProvider - + class AuditLogAction < WorkOS::Types::BaseModel HASH_ATTRS = { object: :object, name: :name, @@ -24,8 +20,7 @@ class AuditLogAction :updated_at def initialize(json) - hash = json.is_a?(Hash) ? json : JSON.parse(json, symbolize_names: true) - hash = hash.transform_keys(&:to_sym) if hash.keys.first.is_a?(String) + hash = self.class.normalize(json) @object = hash[:object] @name = hash[:name] @schema = hash[:schema] ? WorkOS::AuditLogSchema.new(hash[:schema]) : nil diff --git a/lib/workos/audit_logs/audit_log_export.rb b/lib/workos/audit_logs/audit_log_export.rb index b3d56fdf..414c9beb 100644 --- a/lib/workos/audit_logs/audit_log_export.rb +++ b/lib/workos/audit_logs/audit_log_export.rb @@ -2,12 +2,8 @@ # This file is auto-generated by oagen. Do not edit. -require "json" - module WorkOS - class AuditLogExport - include HashProvider - + class AuditLogExport < WorkOS::Types::BaseModel HASH_ATTRS = { object: :object, id: :id, @@ -26,8 +22,7 @@ class AuditLogExport :updated_at def initialize(json) - hash = json.is_a?(Hash) ? json : JSON.parse(json, symbolize_names: true) - hash = hash.transform_keys(&:to_sym) if hash.keys.first.is_a?(String) + hash = self.class.normalize(json) @object = hash[:object] @id = hash[:id] @state = hash[:state] diff --git a/lib/workos/audit_logs/audit_log_schema.rb b/lib/workos/audit_logs/audit_log_schema.rb index 953374ef..de12a473 100644 --- a/lib/workos/audit_logs/audit_log_schema.rb +++ b/lib/workos/audit_logs/audit_log_schema.rb @@ -5,21 +5,30 @@ module WorkOS class AuditLogSchema < WorkOS::Types::BaseModel HASH_ATTRS = { + object: :object, + version: :version, actor: :actor, targets: :targets, - metadata: :metadata + metadata: :metadata, + created_at: :created_at }.freeze attr_accessor \ + :object, + :version, :actor, :targets, - :metadata + :metadata, + :created_at def initialize(json) hash = self.class.normalize(json) + @object = hash[:object] + @version = hash[:version] @actor = hash[:actor] ? WorkOS::AuditLogSchemaActor.new(hash[:actor]) : nil @targets = (hash[:targets] || []).map { |item| item ? WorkOS::AuditLogSchemaTarget.new(item) : nil } @metadata = hash[:metadata] || {} + @created_at = hash[:created_at] end end end diff --git a/lib/workos/audit_logs/audit_log_schema_json_actor.rb b/lib/workos/audit_logs/audit_log_schema_actor_input.rb similarity index 67% rename from lib/workos/audit_logs/audit_log_schema_json_actor.rb rename to lib/workos/audit_logs/audit_log_schema_actor_input.rb index 8c476ede..60d11e5c 100644 --- a/lib/workos/audit_logs/audit_log_schema_json_actor.rb +++ b/lib/workos/audit_logs/audit_log_schema_actor_input.rb @@ -3,5 +3,5 @@ # This file is auto-generated by oagen. Do not edit. module WorkOS - AuditLogSchemaJsonActor = AuditLogSchemaActor + AuditLogSchemaActorInput = AuditLogSchemaActor end diff --git a/lib/workos/audit_logs/audit_log_schema_input.rb b/lib/workos/audit_logs/audit_log_schema_input.rb new file mode 100644 index 00000000..07e4e039 --- /dev/null +++ b/lib/workos/audit_logs/audit_log_schema_input.rb @@ -0,0 +1,25 @@ +# frozen_string_literal: true + +# This file is auto-generated by oagen. Do not edit. + +module WorkOS + class AuditLogSchemaInput < WorkOS::Types::BaseModel + HASH_ATTRS = { + actor: :actor, + targets: :targets, + metadata: :metadata + }.freeze + + attr_accessor \ + :actor, + :targets, + :metadata + + def initialize(json) + hash = self.class.normalize(json) + @actor = hash[:actor] ? WorkOS::AuditLogSchemaActorInput.new(hash[:actor]) : nil + @targets = (hash[:targets] || []).map { |item| item ? WorkOS::AuditLogSchemaTargetInput.new(item) : nil } + @metadata = hash[:metadata] || {} + end + end +end diff --git a/lib/workos/audit_logs/audit_log_schema_json.rb b/lib/workos/audit_logs/audit_log_schema_json.rb deleted file mode 100644 index d96487cb..00000000 --- a/lib/workos/audit_logs/audit_log_schema_json.rb +++ /dev/null @@ -1,34 +0,0 @@ -# frozen_string_literal: true - -# This file is auto-generated by oagen. Do not edit. - -module WorkOS - class AuditLogSchemaJson < WorkOS::Types::BaseModel - HASH_ATTRS = { - object: :object, - version: :version, - actor: :actor, - targets: :targets, - metadata: :metadata, - created_at: :created_at - }.freeze - - attr_accessor \ - :object, - :version, - :actor, - :targets, - :metadata, - :created_at - - def initialize(json) - hash = self.class.normalize(json) - @object = hash[:object] - @version = hash[:version] - @actor = hash[:actor] ? WorkOS::AuditLogSchemaJsonActor.new(hash[:actor]) : nil - @targets = (hash[:targets] || []).map { |item| item ? WorkOS::AuditLogSchemaJsonTarget.new(item) : nil } - @metadata = hash[:metadata] || {} - @created_at = hash[:created_at] - end - end -end diff --git a/lib/workos/audit_logs/audit_log_schema_target.rb b/lib/workos/audit_logs/audit_log_schema_target.rb index 80fabc5d..bf7c9d80 100644 --- a/lib/workos/audit_logs/audit_log_schema_target.rb +++ b/lib/workos/audit_logs/audit_log_schema_target.rb @@ -3,5 +3,20 @@ # This file is auto-generated by oagen. Do not edit. module WorkOS - AuditLogSchemaTarget = AuditLogSchemaJsonTarget + class AuditLogSchemaTarget < WorkOS::Types::BaseModel + HASH_ATTRS = { + type: :type, + metadata: :metadata + }.freeze + + attr_accessor \ + :type, + :metadata + + def initialize(json) + hash = self.class.normalize(json) + @type = hash[:type] + @metadata = hash[:metadata] || {} + end + end end diff --git a/lib/workos/types/radar_type.rb b/lib/workos/audit_logs/audit_log_schema_target_input.rb similarity index 58% rename from lib/workos/types/radar_type.rb rename to lib/workos/audit_logs/audit_log_schema_target_input.rb index 7e17d9c6..de373a33 100644 --- a/lib/workos/types/radar_type.rb +++ b/lib/workos/audit_logs/audit_log_schema_target_input.rb @@ -3,7 +3,5 @@ # This file is auto-generated by oagen. Do not edit. module WorkOS - module Types - RadarType = RadarStandaloneResponseBlocklistType - end + AuditLogSchemaTargetInput = AuditLogSchemaTarget end diff --git a/lib/workos/authorization.rb b/lib/workos/authorization.rb index d7c29cd6..f41959d3 100644 --- a/lib/workos/authorization.rb +++ b/lib/workos/authorization.rb @@ -260,6 +260,9 @@ def list_effective_permissions_by_external_id( # @param after [String, nil] An object ID that defines your place in the list. When the ID is not present, you are at the end of the list. For example, if you make a list request and receive 100 objects, ending with `"obj_123"`, your subsequent call can include `after="obj_123"` to fetch a new batch of objects after `"obj_123"`. # @param limit [Integer, nil] Upper limit on the number of objects to return, between `1` and `100`. # @param order [WorkOS::Types::PaginationOrder, nil] Order the results by the creation time. Supported values are `"asc"` (ascending), `"desc"` (descending), and `"normal"` (descending with reversed cursor semantics where `before` fetches older records and `after` fetches newer records). Defaults to descending. + # @param resource_id [String, nil] Filter assignments by the ID of the resource. + # @param resource_external_id [String, nil] Filter assignments by the external ID of the resource. + # @param resource_type_slug [String, nil] Filter assignments by the slug of the resource type. # @param request_options [Hash] (see WorkOS::Types::RequestOptions) # @return [WorkOS::Types::ListStruct] def list_role_assignments( @@ -268,13 +271,19 @@ def list_role_assignments( after: nil, limit: 10, order: "desc", + resource_id: nil, + resource_external_id: nil, + resource_type_slug: nil, request_options: {} ) params = { "before" => before, "after" => after, "limit" => limit, - "order" => order + "order" => order, + "resource_id" => resource_id, + "resource_external_id" => resource_external_id, + "resource_type_slug" => resource_type_slug }.compact response = @client.request( method: :get, @@ -290,13 +299,16 @@ def list_role_assignments( after: cursor, limit: limit, order: order, + resource_id: resource_id, + resource_external_id: resource_external_id, + resource_type_slug: resource_type_slug, request_options: request_options ) } WorkOS::Types::ListStruct.from_response( response, model: WorkOS::UserRoleAssignment, - filters: {organization_membership_id: organization_membership_id, before: before, limit: limit, order: order}, + filters: {organization_membership_id: organization_membership_id, before: before, limit: limit, order: order, resource_id: resource_id, resource_external_id: resource_external_id, resource_type_slug: resource_type_slug}, fetch_next: fetch_next ) end @@ -756,6 +768,7 @@ def list_memberships_for_resource_by_external_id( # @param after [String, nil] An object ID that defines your place in the list. When the ID is not present, you are at the end of the list. For example, if you make a list request and receive 100 objects, ending with `"obj_123"`, your subsequent call can include `after="obj_123"` to fetch a new batch of objects after `"obj_123"`. # @param limit [Integer, nil] Upper limit on the number of objects to return, between `1` and `100`. # @param order [WorkOS::Types::PaginationOrder, nil] Order the results by the creation time. Supported values are `"asc"` (ascending), `"desc"` (descending), and `"normal"` (descending with reversed cursor semantics where `before` fetches older records and `after` fetches newer records). Defaults to descending. + # @param role_slug [String, nil] Filter assignments by the slug of the role. # @param request_options [Hash] (see WorkOS::Types::RequestOptions) # @return [WorkOS::Types::ListStruct] def list_role_assignments_for_resource_by_external_id( @@ -766,13 +779,15 @@ def list_role_assignments_for_resource_by_external_id( after: nil, limit: 10, order: "desc", + role_slug: nil, request_options: {} ) params = { "before" => before, "after" => after, "limit" => limit, - "order" => order + "order" => order, + "role_slug" => role_slug }.compact response = @client.request( method: :get, @@ -790,13 +805,14 @@ def list_role_assignments_for_resource_by_external_id( after: cursor, limit: limit, order: order, + role_slug: role_slug, request_options: request_options ) } WorkOS::Types::ListStruct.from_response( response, model: WorkOS::UserRoleAssignment, - filters: {organization_id: organization_id, resource_type_slug: resource_type_slug, external_id: external_id, before: before, limit: limit, order: order}, + filters: {organization_id: organization_id, resource_type_slug: resource_type_slug, external_id: external_id, before: before, limit: limit, order: order, role_slug: role_slug}, fetch_next: fetch_next ) end @@ -809,7 +825,6 @@ def list_role_assignments_for_resource_by_external_id( # @param organization_id [String, nil] Filter resources by organization ID. # @param resource_type_slug [String, nil] Filter resources by resource type slug. # @param resource_external_id [String, nil] Filter resources by external ID. - # @param search [String, nil] Search resources by name. # @param parent [WorkOS::Authorization::ParentById, WorkOS::Authorization::ParentByExternalId, nil] Identifies the parent. # @param request_options [Hash] (see WorkOS::Types::RequestOptions) # @return [WorkOS::Types::ListStruct] @@ -821,7 +836,6 @@ def list_resources( organization_id: nil, resource_type_slug: nil, resource_external_id: nil, - search: nil, parent: nil, request_options: {} ) @@ -832,8 +846,7 @@ def list_resources( "order" => order, "organization_id" => organization_id, "resource_type_slug" => resource_type_slug, - "resource_external_id" => resource_external_id, - "search" => search + "resource_external_id" => resource_external_id }.compact if parent case parent @@ -862,7 +875,6 @@ def list_resources( organization_id: organization_id, resource_type_slug: resource_type_slug, resource_external_id: resource_external_id, - search: search, parent: parent, request_options: request_options ) @@ -870,7 +882,7 @@ def list_resources( WorkOS::Types::ListStruct.from_response( response, model: WorkOS::AuthorizationResource, - filters: {before: before, limit: limit, order: order, organization_id: organization_id, resource_type_slug: resource_type_slug, resource_external_id: resource_external_id, search: search, parent: parent}, + filters: {before: before, limit: limit, order: order, organization_id: organization_id, resource_type_slug: resource_type_slug, resource_external_id: resource_external_id, parent: parent}, fetch_next: fetch_next ) end @@ -1067,6 +1079,7 @@ def list_memberships_for_resource( # @param after [String, nil] An object ID that defines your place in the list. When the ID is not present, you are at the end of the list. For example, if you make a list request and receive 100 objects, ending with `"obj_123"`, your subsequent call can include `after="obj_123"` to fetch a new batch of objects after `"obj_123"`. # @param limit [Integer, nil] Upper limit on the number of objects to return, between `1` and `100`. # @param order [WorkOS::Types::PaginationOrder, nil] Order the results by the creation time. Supported values are `"asc"` (ascending), `"desc"` (descending), and `"normal"` (descending with reversed cursor semantics where `before` fetches older records and `after` fetches newer records). Defaults to descending. + # @param role_slug [String, nil] Filter assignments by the slug of the role. # @param request_options [Hash] (see WorkOS::Types::RequestOptions) # @return [WorkOS::Types::ListStruct] def list_role_assignments_for_resource( @@ -1075,13 +1088,15 @@ def list_role_assignments_for_resource( after: nil, limit: 10, order: "desc", + role_slug: nil, request_options: {} ) params = { "before" => before, "after" => after, "limit" => limit, - "order" => order + "order" => order, + "role_slug" => role_slug }.compact response = @client.request( method: :get, @@ -1097,13 +1112,14 @@ def list_role_assignments_for_resource( after: cursor, limit: limit, order: order, + role_slug: role_slug, request_options: request_options ) } WorkOS::Types::ListStruct.from_response( response, model: WorkOS::UserRoleAssignment, - filters: {resource_id: resource_id, before: before, limit: limit, order: order}, + filters: {resource_id: resource_id, before: before, limit: limit, order: order, role_slug: role_slug}, fetch_next: fetch_next ) end diff --git a/lib/workos/authorization/permission_created.rb b/lib/workos/authorization/permission_created.rb index 57783b4c..5957b391 100644 --- a/lib/workos/authorization/permission_created.rb +++ b/lib/workos/authorization/permission_created.rb @@ -5,30 +5,30 @@ module WorkOS class PermissionCreated < WorkOS::Types::BaseModel HASH_ATTRS = { + object: :object, id: :id, event: :event, data: :data, created_at: :created_at, - context: :context, - object: :object + context: :context }.freeze attr_accessor \ + :object, :id, :event, :data, :created_at, - :context, - :object + :context def initialize(json) hash = self.class.normalize(json) + @object = hash[:object] @id = hash[:id] @event = hash[:event] @data = hash[:data] ? WorkOS::PermissionCreatedData.new(hash[:data]) : nil @created_at = hash[:created_at] @context = hash[:context] ? WorkOS::EventContext.new(hash[:context]) : nil - @object = hash[:object] end end end diff --git a/lib/workos/authorization/permission_deleted.rb b/lib/workos/authorization/permission_deleted.rb index bc86c1f1..1db27193 100644 --- a/lib/workos/authorization/permission_deleted.rb +++ b/lib/workos/authorization/permission_deleted.rb @@ -5,30 +5,30 @@ module WorkOS class PermissionDeleted < WorkOS::Types::BaseModel HASH_ATTRS = { + object: :object, id: :id, event: :event, data: :data, created_at: :created_at, - context: :context, - object: :object + context: :context }.freeze attr_accessor \ + :object, :id, :event, :data, :created_at, - :context, - :object + :context def initialize(json) hash = self.class.normalize(json) + @object = hash[:object] @id = hash[:id] @event = hash[:event] @data = hash[:data] ? WorkOS::PermissionDeletedData.new(hash[:data]) : nil @created_at = hash[:created_at] @context = hash[:context] ? WorkOS::EventContext.new(hash[:context]) : nil - @object = hash[:object] end end end diff --git a/lib/workos/authorization/permission_updated.rb b/lib/workos/authorization/permission_updated.rb index b5d36157..134f1c56 100644 --- a/lib/workos/authorization/permission_updated.rb +++ b/lib/workos/authorization/permission_updated.rb @@ -5,30 +5,30 @@ module WorkOS class PermissionUpdated < WorkOS::Types::BaseModel HASH_ATTRS = { + object: :object, id: :id, event: :event, data: :data, created_at: :created_at, - context: :context, - object: :object + context: :context }.freeze attr_accessor \ + :object, :id, :event, :data, :created_at, - :context, - :object + :context def initialize(json) hash = self.class.normalize(json) + @object = hash[:object] @id = hash[:id] @event = hash[:event] @data = hash[:data] ? WorkOS::PermissionUpdatedData.new(hash[:data]) : nil @created_at = hash[:created_at] @context = hash[:context] ? WorkOS::EventContext.new(hash[:context]) : nil - @object = hash[:object] end end end diff --git a/lib/workos/authorization/role_created.rb b/lib/workos/authorization/role_created.rb index 54e64472..82d9ed1f 100644 --- a/lib/workos/authorization/role_created.rb +++ b/lib/workos/authorization/role_created.rb @@ -5,30 +5,30 @@ module WorkOS class RoleCreated < WorkOS::Types::BaseModel HASH_ATTRS = { + object: :object, id: :id, event: :event, data: :data, created_at: :created_at, - context: :context, - object: :object + context: :context }.freeze attr_accessor \ + :object, :id, :event, :data, :created_at, - :context, - :object + :context def initialize(json) hash = self.class.normalize(json) + @object = hash[:object] @id = hash[:id] @event = hash[:event] @data = hash[:data] ? WorkOS::RoleCreatedData.new(hash[:data]) : nil @created_at = hash[:created_at] @context = hash[:context] ? WorkOS::EventContext.new(hash[:context]) : nil - @object = hash[:object] end end end diff --git a/lib/workos/authorization/role_deleted.rb b/lib/workos/authorization/role_deleted.rb index 1bb859a1..0e34c160 100644 --- a/lib/workos/authorization/role_deleted.rb +++ b/lib/workos/authorization/role_deleted.rb @@ -5,30 +5,30 @@ module WorkOS class RoleDeleted < WorkOS::Types::BaseModel HASH_ATTRS = { + object: :object, id: :id, event: :event, data: :data, created_at: :created_at, - context: :context, - object: :object + context: :context }.freeze attr_accessor \ + :object, :id, :event, :data, :created_at, - :context, - :object + :context def initialize(json) hash = self.class.normalize(json) + @object = hash[:object] @id = hash[:id] @event = hash[:event] @data = hash[:data] ? WorkOS::RoleDeletedData.new(hash[:data]) : nil @created_at = hash[:created_at] @context = hash[:context] ? WorkOS::EventContext.new(hash[:context]) : nil - @object = hash[:object] end end end diff --git a/lib/workos/authorization/role_updated.rb b/lib/workos/authorization/role_updated.rb index da154750..4fa6b08a 100644 --- a/lib/workos/authorization/role_updated.rb +++ b/lib/workos/authorization/role_updated.rb @@ -5,30 +5,30 @@ module WorkOS class RoleUpdated < WorkOS::Types::BaseModel HASH_ATTRS = { + object: :object, id: :id, event: :event, data: :data, created_at: :created_at, - context: :context, - object: :object + context: :context }.freeze attr_accessor \ + :object, :id, :event, :data, :created_at, - :context, - :object + :context def initialize(json) hash = self.class.normalize(json) + @object = hash[:object] @id = hash[:id] @event = hash[:event] @data = hash[:data] ? WorkOS::RoleUpdatedData.new(hash[:data]) : nil @created_at = hash[:created_at] @context = hash[:context] ? WorkOS::EventContext.new(hash[:context]) : nil - @object = hash[:object] end end end diff --git a/lib/workos/client.rb b/lib/workos/client.rb index fa9b29bb..4f8ec79a 100644 --- a/lib/workos/client.rb +++ b/lib/workos/client.rb @@ -64,8 +64,12 @@ def user_management @user_management ||= WorkOS::UserManagement.new(self) end - def user_management_organization_membership_groups - @user_management_organization_membership_groups ||= WorkOS::UserManagementOrganizationMembershipGroups.new(self) + def organization_membership + @organization_membership ||= WorkOS::OrganizationMembershipService.new(self) + end + + def vault + @vault ||= WorkOS::Vault.new(self) end def webhooks @@ -86,10 +90,6 @@ def passwordless @passwordless ||= WorkOS::Passwordless.new(self) end - def vault - @vault ||= WorkOS::Vault.new(self) - end - def actions @actions ||= WorkOS::Actions end diff --git a/lib/workos/connect/connect_application.rb b/lib/workos/connect/connect_application.rb index 39230b72..5cc11f4a 100644 --- a/lib/workos/connect/connect_application.rb +++ b/lib/workos/connect/connect_application.rb @@ -14,6 +14,10 @@ class ConnectApplication < WorkOS::Types::BaseModel created_at: :created_at, updated_at: :updated_at, application_type: :application_type, + redirect_uris: :redirect_uris, + uses_pkce: :uses_pkce, + is_first_party: :is_first_party, + was_dynamically_registered: :was_dynamically_registered, organization_id: :organization_id }.freeze @@ -27,6 +31,10 @@ class ConnectApplication < WorkOS::Types::BaseModel :created_at, :updated_at, :application_type, + :redirect_uris, + :uses_pkce, + :is_first_party, + :was_dynamically_registered, :organization_id def initialize(json) @@ -40,6 +48,10 @@ def initialize(json) @created_at = hash[:created_at] @updated_at = hash[:updated_at] @application_type = hash[:application_type] + @redirect_uris = (hash[:redirect_uris] || []).map { |item| item ? WorkOS::ConnectApplicationRedirectUri.new(item) : nil } + @uses_pkce = hash[:uses_pkce] + @is_first_party = hash[:is_first_party] + @was_dynamically_registered = hash[:was_dynamically_registered] @organization_id = hash[:organization_id] end end diff --git a/lib/workos/audit_logs/audit_log_schema_json_target.rb b/lib/workos/connect/connect_application_redirect_uri.rb similarity index 54% rename from lib/workos/audit_logs/audit_log_schema_json_target.rb rename to lib/workos/connect/connect_application_redirect_uri.rb index 068382f0..a570df3f 100644 --- a/lib/workos/audit_logs/audit_log_schema_json_target.rb +++ b/lib/workos/connect/connect_application_redirect_uri.rb @@ -3,20 +3,20 @@ # This file is auto-generated by oagen. Do not edit. module WorkOS - class AuditLogSchemaJsonTarget < WorkOS::Types::BaseModel + class ConnectApplicationRedirectUri < WorkOS::Types::BaseModel HASH_ATTRS = { - type: :type, - metadata: :metadata + uri: :uri, + default: :default }.freeze attr_accessor \ - :type, - :metadata + :uri, + :default def initialize(json) hash = self.class.normalize(json) - @type = hash[:type] - @metadata = hash[:metadata] || {} + @uri = hash[:uri] + @default = hash[:default] end end end diff --git a/lib/workos/directory_sync/dsync_activated.rb b/lib/workos/directory_sync/dsync_activated.rb index 8a8d4c32..1f63630b 100644 --- a/lib/workos/directory_sync/dsync_activated.rb +++ b/lib/workos/directory_sync/dsync_activated.rb @@ -5,30 +5,30 @@ module WorkOS class DsyncActivated < WorkOS::Types::BaseModel HASH_ATTRS = { + object: :object, id: :id, event: :event, data: :data, created_at: :created_at, - context: :context, - object: :object + context: :context }.freeze attr_accessor \ + :object, :id, :event, :data, :created_at, - :context, - :object + :context def initialize(json) hash = self.class.normalize(json) + @object = hash[:object] @id = hash[:id] @event = hash[:event] @data = hash[:data] ? WorkOS::DsyncActivatedData.new(hash[:data]) : nil @created_at = hash[:created_at] @context = hash[:context] ? WorkOS::EventContext.new(hash[:context]) : nil - @object = hash[:object] end end end diff --git a/lib/workos/directory_sync/dsync_deactivated.rb b/lib/workos/directory_sync/dsync_deactivated.rb index 7955aad0..2a25da19 100644 --- a/lib/workos/directory_sync/dsync_deactivated.rb +++ b/lib/workos/directory_sync/dsync_deactivated.rb @@ -5,30 +5,30 @@ module WorkOS class DsyncDeactivated < WorkOS::Types::BaseModel HASH_ATTRS = { + object: :object, id: :id, event: :event, data: :data, created_at: :created_at, - context: :context, - object: :object + context: :context }.freeze attr_accessor \ + :object, :id, :event, :data, :created_at, - :context, - :object + :context def initialize(json) hash = self.class.normalize(json) + @object = hash[:object] @id = hash[:id] @event = hash[:event] @data = hash[:data] ? WorkOS::DsyncDeactivatedData.new(hash[:data]) : nil @created_at = hash[:created_at] @context = hash[:context] ? WorkOS::EventContext.new(hash[:context]) : nil - @object = hash[:object] end end end diff --git a/lib/workos/directory_sync/dsync_deleted.rb b/lib/workos/directory_sync/dsync_deleted.rb index 71048d2c..60d2ba5a 100644 --- a/lib/workos/directory_sync/dsync_deleted.rb +++ b/lib/workos/directory_sync/dsync_deleted.rb @@ -5,30 +5,30 @@ module WorkOS class DsyncDeleted < WorkOS::Types::BaseModel HASH_ATTRS = { + object: :object, id: :id, event: :event, data: :data, created_at: :created_at, - context: :context, - object: :object + context: :context }.freeze attr_accessor \ + :object, :id, :event, :data, :created_at, - :context, - :object + :context def initialize(json) hash = self.class.normalize(json) + @object = hash[:object] @id = hash[:id] @event = hash[:event] @data = hash[:data] ? WorkOS::DsyncDeletedData.new(hash[:data]) : nil @created_at = hash[:created_at] @context = hash[:context] ? WorkOS::EventContext.new(hash[:context]) : nil - @object = hash[:object] end end end diff --git a/lib/workos/directory_sync/dsync_group_created.rb b/lib/workos/directory_sync/dsync_group_created.rb index 796aa890..f699ee95 100644 --- a/lib/workos/directory_sync/dsync_group_created.rb +++ b/lib/workos/directory_sync/dsync_group_created.rb @@ -5,30 +5,30 @@ module WorkOS class DsyncGroupCreated < WorkOS::Types::BaseModel HASH_ATTRS = { + object: :object, id: :id, event: :event, data: :data, created_at: :created_at, - context: :context, - object: :object + context: :context }.freeze attr_accessor \ + :object, :id, :event, :data, :created_at, - :context, - :object + :context def initialize(json) hash = self.class.normalize(json) + @object = hash[:object] @id = hash[:id] @event = hash[:event] @data = hash[:data] ? WorkOS::DirectoryGroup.new(hash[:data]) : nil @created_at = hash[:created_at] @context = hash[:context] ? WorkOS::EventContext.new(hash[:context]) : nil - @object = hash[:object] end end end diff --git a/lib/workos/directory_sync/dsync_group_deleted.rb b/lib/workos/directory_sync/dsync_group_deleted.rb index 71ad0b07..deb2eb4d 100644 --- a/lib/workos/directory_sync/dsync_group_deleted.rb +++ b/lib/workos/directory_sync/dsync_group_deleted.rb @@ -5,30 +5,30 @@ module WorkOS class DsyncGroupDeleted < WorkOS::Types::BaseModel HASH_ATTRS = { + object: :object, id: :id, event: :event, data: :data, created_at: :created_at, - context: :context, - object: :object + context: :context }.freeze attr_accessor \ + :object, :id, :event, :data, :created_at, - :context, - :object + :context def initialize(json) hash = self.class.normalize(json) + @object = hash[:object] @id = hash[:id] @event = hash[:event] @data = hash[:data] ? WorkOS::DirectoryGroup.new(hash[:data]) : nil @created_at = hash[:created_at] @context = hash[:context] ? WorkOS::EventContext.new(hash[:context]) : nil - @object = hash[:object] end end end diff --git a/lib/workos/directory_sync/dsync_group_updated.rb b/lib/workos/directory_sync/dsync_group_updated.rb index f6e549f7..47102110 100644 --- a/lib/workos/directory_sync/dsync_group_updated.rb +++ b/lib/workos/directory_sync/dsync_group_updated.rb @@ -5,30 +5,30 @@ module WorkOS class DsyncGroupUpdated < WorkOS::Types::BaseModel HASH_ATTRS = { + object: :object, id: :id, event: :event, data: :data, created_at: :created_at, - context: :context, - object: :object + context: :context }.freeze attr_accessor \ + :object, :id, :event, :data, :created_at, - :context, - :object + :context def initialize(json) hash = self.class.normalize(json) + @object = hash[:object] @id = hash[:id] @event = hash[:event] @data = hash[:data] ? WorkOS::DsyncGroupUpdatedData.new(hash[:data]) : nil @created_at = hash[:created_at] @context = hash[:context] ? WorkOS::EventContext.new(hash[:context]) : nil - @object = hash[:object] end end end diff --git a/lib/workos/directory_sync/dsync_group_user_added.rb b/lib/workos/directory_sync/dsync_group_user_added.rb index b43325eb..ab2ba2d8 100644 --- a/lib/workos/directory_sync/dsync_group_user_added.rb +++ b/lib/workos/directory_sync/dsync_group_user_added.rb @@ -5,30 +5,30 @@ module WorkOS class DsyncGroupUserAdded < WorkOS::Types::BaseModel HASH_ATTRS = { + object: :object, id: :id, event: :event, data: :data, created_at: :created_at, - context: :context, - object: :object + context: :context }.freeze attr_accessor \ + :object, :id, :event, :data, :created_at, - :context, - :object + :context def initialize(json) hash = self.class.normalize(json) + @object = hash[:object] @id = hash[:id] @event = hash[:event] @data = hash[:data] ? WorkOS::DsyncGroupUserAddedData.new(hash[:data]) : nil @created_at = hash[:created_at] @context = hash[:context] ? WorkOS::EventContext.new(hash[:context]) : nil - @object = hash[:object] end end end diff --git a/lib/workos/directory_sync/dsync_group_user_removed.rb b/lib/workos/directory_sync/dsync_group_user_removed.rb index 9b65fd90..1b6afdd4 100644 --- a/lib/workos/directory_sync/dsync_group_user_removed.rb +++ b/lib/workos/directory_sync/dsync_group_user_removed.rb @@ -5,30 +5,30 @@ module WorkOS class DsyncGroupUserRemoved < WorkOS::Types::BaseModel HASH_ATTRS = { + object: :object, id: :id, event: :event, data: :data, created_at: :created_at, - context: :context, - object: :object + context: :context }.freeze attr_accessor \ + :object, :id, :event, :data, :created_at, - :context, - :object + :context def initialize(json) hash = self.class.normalize(json) + @object = hash[:object] @id = hash[:id] @event = hash[:event] @data = hash[:data] ? WorkOS::DsyncGroupUserRemovedData.new(hash[:data]) : nil @created_at = hash[:created_at] @context = hash[:context] ? WorkOS::EventContext.new(hash[:context]) : nil - @object = hash[:object] end end end diff --git a/lib/workos/directory_sync/dsync_user_created.rb b/lib/workos/directory_sync/dsync_user_created.rb index 6bde4dcb..bec1c623 100644 --- a/lib/workos/directory_sync/dsync_user_created.rb +++ b/lib/workos/directory_sync/dsync_user_created.rb @@ -5,30 +5,30 @@ module WorkOS class DsyncUserCreated < WorkOS::Types::BaseModel HASH_ATTRS = { + object: :object, id: :id, event: :event, data: :data, created_at: :created_at, - context: :context, - object: :object + context: :context }.freeze attr_accessor \ + :object, :id, :event, :data, :created_at, - :context, - :object + :context def initialize(json) hash = self.class.normalize(json) + @object = hash[:object] @id = hash[:id] @event = hash[:event] @data = hash[:data] ? WorkOS::DirectoryUser.new(hash[:data]) : nil @created_at = hash[:created_at] @context = hash[:context] ? WorkOS::EventContext.new(hash[:context]) : nil - @object = hash[:object] end end end diff --git a/lib/workos/directory_sync/dsync_user_deleted.rb b/lib/workos/directory_sync/dsync_user_deleted.rb index b25ee2f8..fa78d7bd 100644 --- a/lib/workos/directory_sync/dsync_user_deleted.rb +++ b/lib/workos/directory_sync/dsync_user_deleted.rb @@ -5,30 +5,30 @@ module WorkOS class DsyncUserDeleted < WorkOS::Types::BaseModel HASH_ATTRS = { + object: :object, id: :id, event: :event, data: :data, created_at: :created_at, - context: :context, - object: :object + context: :context }.freeze attr_accessor \ + :object, :id, :event, :data, :created_at, - :context, - :object + :context def initialize(json) hash = self.class.normalize(json) + @object = hash[:object] @id = hash[:id] @event = hash[:event] @data = hash[:data] ? WorkOS::DirectoryUser.new(hash[:data]) : nil @created_at = hash[:created_at] @context = hash[:context] ? WorkOS::EventContext.new(hash[:context]) : nil - @object = hash[:object] end end end diff --git a/lib/workos/directory_sync/dsync_user_updated.rb b/lib/workos/directory_sync/dsync_user_updated.rb index a4d24305..c9ad4b55 100644 --- a/lib/workos/directory_sync/dsync_user_updated.rb +++ b/lib/workos/directory_sync/dsync_user_updated.rb @@ -5,30 +5,30 @@ module WorkOS class DsyncUserUpdated < WorkOS::Types::BaseModel HASH_ATTRS = { + object: :object, id: :id, event: :event, data: :data, created_at: :created_at, - context: :context, - object: :object + context: :context }.freeze attr_accessor \ + :object, :id, :event, :data, :created_at, - :context, - :object + :context def initialize(json) hash = self.class.normalize(json) + @object = hash[:object] @id = hash[:id] @event = hash[:event] @data = hash[:data] ? WorkOS::DsyncUserUpdatedData.new(hash[:data]) : nil @created_at = hash[:created_at] @context = hash[:context] ? WorkOS::EventContext.new(hash[:context]) : nil - @object = hash[:object] end end end diff --git a/lib/workos/feature_flags/flag_created.rb b/lib/workos/feature_flags/flag_created.rb index c9bb4782..110afb18 100644 --- a/lib/workos/feature_flags/flag_created.rb +++ b/lib/workos/feature_flags/flag_created.rb @@ -5,30 +5,30 @@ module WorkOS class FlagCreated < WorkOS::Types::BaseModel HASH_ATTRS = { + object: :object, id: :id, event: :event, data: :data, created_at: :created_at, - context: :context, - object: :object + context: :context }.freeze attr_accessor \ + :object, :id, :event, :data, :created_at, - :context, - :object + :context def initialize(json) hash = self.class.normalize(json) + @object = hash[:object] @id = hash[:id] @event = hash[:event] @data = hash[:data] ? WorkOS::FlagCreatedData.new(hash[:data]) : nil @created_at = hash[:created_at] @context = hash[:context] ? WorkOS::FlagCreatedContext.new(hash[:context]) : nil - @object = hash[:object] end end end diff --git a/lib/workos/feature_flags/flag_deleted.rb b/lib/workos/feature_flags/flag_deleted.rb index 8703a07b..a4026ef1 100644 --- a/lib/workos/feature_flags/flag_deleted.rb +++ b/lib/workos/feature_flags/flag_deleted.rb @@ -5,30 +5,30 @@ module WorkOS class FlagDeleted < WorkOS::Types::BaseModel HASH_ATTRS = { + object: :object, id: :id, event: :event, data: :data, created_at: :created_at, - context: :context, - object: :object + context: :context }.freeze attr_accessor \ + :object, :id, :event, :data, :created_at, - :context, - :object + :context def initialize(json) hash = self.class.normalize(json) + @object = hash[:object] @id = hash[:id] @event = hash[:event] @data = hash[:data] ? WorkOS::FlagDeletedData.new(hash[:data]) : nil @created_at = hash[:created_at] @context = hash[:context] ? WorkOS::FlagDeletedContext.new(hash[:context]) : nil - @object = hash[:object] end end end diff --git a/lib/workos/feature_flags/flag_rule_updated.rb b/lib/workos/feature_flags/flag_rule_updated.rb index f87d2363..4b6b7b53 100644 --- a/lib/workos/feature_flags/flag_rule_updated.rb +++ b/lib/workos/feature_flags/flag_rule_updated.rb @@ -5,30 +5,30 @@ module WorkOS class FlagRuleUpdated < WorkOS::Types::BaseModel HASH_ATTRS = { + object: :object, id: :id, event: :event, data: :data, created_at: :created_at, - context: :context, - object: :object + context: :context }.freeze attr_accessor \ + :object, :id, :event, :data, :created_at, - :context, - :object + :context def initialize(json) hash = self.class.normalize(json) + @object = hash[:object] @id = hash[:id] @event = hash[:event] @data = hash[:data] ? WorkOS::FlagRuleUpdatedData.new(hash[:data]) : nil @created_at = hash[:created_at] @context = hash[:context] ? WorkOS::FlagRuleUpdatedContext.new(hash[:context]) : nil - @object = hash[:object] end end end diff --git a/lib/workos/feature_flags/flag_rule_updated_context_configured_target_organization.rb b/lib/workos/feature_flags/flag_rule_updated_context_configured_target_organization.rb index 8f915fcf..adf9b052 100644 --- a/lib/workos/feature_flags/flag_rule_updated_context_configured_target_organization.rb +++ b/lib/workos/feature_flags/flag_rule_updated_context_configured_target_organization.rb @@ -3,20 +3,5 @@ # This file is auto-generated by oagen. Do not edit. module WorkOS - class FlagRuleUpdatedContextConfiguredTargetOrganization < WorkOS::Types::BaseModel - HASH_ATTRS = { - id: :id, - name: :name - }.freeze - - attr_accessor \ - :id, - :name - - def initialize(json) - hash = self.class.normalize(json) - @id = hash[:id] - @name = hash[:name] - end - end + FlagRuleUpdatedContextConfiguredTargetOrganization = Actor end diff --git a/lib/workos/feature_flags/flag_rule_updated_context_previous_attribute_context_configured_target_organization.rb b/lib/workos/feature_flags/flag_rule_updated_context_previous_attribute_context_configured_target_organization.rb index 76d9b785..008afa73 100644 --- a/lib/workos/feature_flags/flag_rule_updated_context_previous_attribute_context_configured_target_organization.rb +++ b/lib/workos/feature_flags/flag_rule_updated_context_previous_attribute_context_configured_target_organization.rb @@ -3,5 +3,5 @@ # This file is auto-generated by oagen. Do not edit. module WorkOS - FlagRuleUpdatedContextPreviousAttributeContextConfiguredTargetOrganization = FlagRuleUpdatedContextConfiguredTargetOrganization + FlagRuleUpdatedContextPreviousAttributeContextConfiguredTargetOrganization = Actor end diff --git a/lib/workos/feature_flags/flag_updated.rb b/lib/workos/feature_flags/flag_updated.rb index 488c9604..82b595ba 100644 --- a/lib/workos/feature_flags/flag_updated.rb +++ b/lib/workos/feature_flags/flag_updated.rb @@ -5,30 +5,30 @@ module WorkOS class FlagUpdated < WorkOS::Types::BaseModel HASH_ATTRS = { + object: :object, id: :id, event: :event, data: :data, created_at: :created_at, - context: :context, - object: :object + context: :context }.freeze attr_accessor \ + :object, :id, :event, :data, :created_at, - :context, - :object + :context def initialize(json) hash = self.class.normalize(json) + @object = hash[:object] @id = hash[:id] @event = hash[:event] @data = hash[:data] ? WorkOS::FlagUpdatedData.new(hash[:data]) : nil @created_at = hash[:created_at] @context = hash[:context] ? WorkOS::FlagUpdatedContext.new(hash[:context]) : nil - @object = hash[:object] end end end diff --git a/lib/workos/inflections.rb b/lib/workos/inflections.rb index bfcd121c..79e1d047 100644 --- a/lib/workos/inflections.rb +++ b/lib/workos/inflections.rb @@ -31,6 +31,9 @@ "authentication_sso_timed_out_data" => "AuthenticationSSOTimedOutData", "authentication_sso_timed_out_data_error" => "AuthenticationSSOTimedOutDataError", "authentication_sso_timed_out_data_sso" => "AuthenticationSSOTimedOutDataSSO", + "connect_application_m2m" => "ConnectApplicationM2M", + "connect_application_oauth" => "ConnectApplicationOAuth", + "connect_application_oauth_redirect_uris" => "ConnectApplicationOAuthRedirectUris", "connection_saml_certificate_renewal_required" => "ConnectionSAMLCertificateRenewalRequired", "connection_saml_certificate_renewal_required_data" => "ConnectionSAMLCertificateRenewalRequiredData", "connection_saml_certificate_renewal_required_data_certificate" => "ConnectionSAMLCertificateRenewalRequiredDataCertificate", @@ -46,8 +49,8 @@ "create_m2m_application" => "CreateM2MApplication", "create_oauth_application" => "CreateOAuthApplication", "jwt_template_response" => "JWTTemplateResponse", - "m2m" => "M2M", "mfa_totp_session_authenticate_request" => "MFATotpSessionAuthenticateRequest", + "object" => "ObjectModel", "pkce" => "PKCE", "sso" => "SSO", "sso_authorize_url_response" => "SSOAuthorizeUrlResponse", diff --git a/lib/workos/organization_domains/organization_domain_created.rb b/lib/workos/organization_domains/organization_domain_created.rb index 6fe193ea..f853e4f3 100644 --- a/lib/workos/organization_domains/organization_domain_created.rb +++ b/lib/workos/organization_domains/organization_domain_created.rb @@ -5,30 +5,30 @@ module WorkOS class OrganizationDomainCreated < WorkOS::Types::BaseModel HASH_ATTRS = { + object: :object, id: :id, event: :event, data: :data, created_at: :created_at, - context: :context, - object: :object + context: :context }.freeze attr_accessor \ + :object, :id, :event, :data, :created_at, - :context, - :object + :context def initialize(json) hash = self.class.normalize(json) + @object = hash[:object] @id = hash[:id] @event = hash[:event] @data = hash[:data] ? WorkOS::OrganizationDomainCreatedData.new(hash[:data]) : nil @created_at = hash[:created_at] @context = hash[:context] ? WorkOS::EventContext.new(hash[:context]) : nil - @object = hash[:object] end end end diff --git a/lib/workos/organization_domains/organization_domain_deleted.rb b/lib/workos/organization_domains/organization_domain_deleted.rb index b7944ed2..8bbc17a0 100644 --- a/lib/workos/organization_domains/organization_domain_deleted.rb +++ b/lib/workos/organization_domains/organization_domain_deleted.rb @@ -5,30 +5,30 @@ module WorkOS class OrganizationDomainDeleted < WorkOS::Types::BaseModel HASH_ATTRS = { + object: :object, id: :id, event: :event, data: :data, created_at: :created_at, - context: :context, - object: :object + context: :context }.freeze attr_accessor \ + :object, :id, :event, :data, :created_at, - :context, - :object + :context def initialize(json) hash = self.class.normalize(json) + @object = hash[:object] @id = hash[:id] @event = hash[:event] @data = hash[:data] ? WorkOS::OrganizationDomainDeletedData.new(hash[:data]) : nil @created_at = hash[:created_at] @context = hash[:context] ? WorkOS::EventContext.new(hash[:context]) : nil - @object = hash[:object] end end end diff --git a/lib/workos/organization_domains/organization_domain_updated.rb b/lib/workos/organization_domains/organization_domain_updated.rb index 4ef6abeb..9025e188 100644 --- a/lib/workos/organization_domains/organization_domain_updated.rb +++ b/lib/workos/organization_domains/organization_domain_updated.rb @@ -5,30 +5,30 @@ module WorkOS class OrganizationDomainUpdated < WorkOS::Types::BaseModel HASH_ATTRS = { + object: :object, id: :id, event: :event, data: :data, created_at: :created_at, - context: :context, - object: :object + context: :context }.freeze attr_accessor \ + :object, :id, :event, :data, :created_at, - :context, - :object + :context def initialize(json) hash = self.class.normalize(json) + @object = hash[:object] @id = hash[:id] @event = hash[:event] @data = hash[:data] ? WorkOS::OrganizationDomainUpdatedData.new(hash[:data]) : nil @created_at = hash[:created_at] @context = hash[:context] ? WorkOS::EventContext.new(hash[:context]) : nil - @object = hash[:object] end end end diff --git a/lib/workos/organization_domains/organization_domain_verification_failed.rb b/lib/workos/organization_domains/organization_domain_verification_failed.rb index 58caaca0..d0443ab1 100644 --- a/lib/workos/organization_domains/organization_domain_verification_failed.rb +++ b/lib/workos/organization_domains/organization_domain_verification_failed.rb @@ -5,30 +5,30 @@ module WorkOS class OrganizationDomainVerificationFailed < WorkOS::Types::BaseModel HASH_ATTRS = { + object: :object, id: :id, event: :event, data: :data, created_at: :created_at, - context: :context, - object: :object + context: :context }.freeze attr_accessor \ + :object, :id, :event, :data, :created_at, - :context, - :object + :context def initialize(json) hash = self.class.normalize(json) + @object = hash[:object] @id = hash[:id] @event = hash[:event] @data = hash[:data] ? WorkOS::OrganizationDomainVerificationFailedData.new(hash[:data]) : nil @created_at = hash[:created_at] @context = hash[:context] ? WorkOS::EventContext.new(hash[:context]) : nil - @object = hash[:object] end end end diff --git a/lib/workos/organization_domains/organization_domain_verified.rb b/lib/workos/organization_domains/organization_domain_verified.rb index 7172f83f..30f264c7 100644 --- a/lib/workos/organization_domains/organization_domain_verified.rb +++ b/lib/workos/organization_domains/organization_domain_verified.rb @@ -5,30 +5,30 @@ module WorkOS class OrganizationDomainVerified < WorkOS::Types::BaseModel HASH_ATTRS = { + object: :object, id: :id, event: :event, data: :data, created_at: :created_at, - context: :context, - object: :object + context: :context }.freeze attr_accessor \ + :object, :id, :event, :data, :created_at, - :context, - :object + :context def initialize(json) hash = self.class.normalize(json) + @object = hash[:object] @id = hash[:id] @event = hash[:event] @data = hash[:data] ? WorkOS::OrganizationDomainVerifiedData.new(hash[:data]) : nil @created_at = hash[:created_at] @context = hash[:context] ? WorkOS::EventContext.new(hash[:context]) : nil - @object = hash[:object] end end end diff --git a/lib/workos/user_management/create_user_organization_membership.rb b/lib/workos/organization_membership/create_user_organization_membership.rb similarity index 100% rename from lib/workos/user_management/create_user_organization_membership.rb rename to lib/workos/organization_membership/create_user_organization_membership.rb diff --git a/lib/workos/user_management/organization_membership.rb b/lib/workos/organization_membership/organization_membership.rb similarity index 100% rename from lib/workos/user_management/organization_membership.rb rename to lib/workos/organization_membership/organization_membership.rb diff --git a/lib/workos/user_management/update_user_organization_membership.rb b/lib/workos/organization_membership/update_user_organization_membership.rb similarity index 100% rename from lib/workos/user_management/update_user_organization_membership.rb rename to lib/workos/organization_membership/update_user_organization_membership.rb diff --git a/lib/workos/user_management/user_organization_membership.rb b/lib/workos/organization_membership/user_organization_membership.rb similarity index 100% rename from lib/workos/user_management/user_organization_membership.rb rename to lib/workos/organization_membership/user_organization_membership.rb diff --git a/lib/workos/organization_membership_service.rb b/lib/workos/organization_membership_service.rb new file mode 100644 index 00000000..1210018d --- /dev/null +++ b/lib/workos/organization_membership_service.rb @@ -0,0 +1,273 @@ +# frozen_string_literal: true + +# This file is auto-generated by oagen. Do not edit. + +require "json" + +module WorkOS + class OrganizationMembershipService + # Identifies the role (single variant). + # + # @!attribute [r] role_slug + # @return [String] + RoleSingle = Data.define(:role_slug) + + # Identifies the role (multiple variant). + # + # @!attribute [r] role_slugs + # @return [Array] + RoleMultiple = Data.define(:role_slugs) + + def initialize(client) + @client = client + end + + # List organization memberships + # @param before [String, nil] An object ID that defines your place in the list. When the ID is not present, you are at the end of the list. For example, if you make a list request and receive 100 objects, ending with `"obj_123"`, your subsequent call can include `before="obj_123"` to fetch a new batch of objects before `"obj_123"`. + # @param after [String, nil] An object ID that defines your place in the list. When the ID is not present, you are at the end of the list. For example, if you make a list request and receive 100 objects, ending with `"obj_123"`, your subsequent call can include `after="obj_123"` to fetch a new batch of objects after `"obj_123"`. + # @param limit [Integer, nil] Upper limit on the number of objects to return, between `1` and `100`. + # @param order [WorkOS::Types::PaginationOrder, nil] Order the results by the creation time. Supported values are `"asc"` (ascending), `"desc"` (descending), and `"normal"` (descending with reversed cursor semantics where `before` fetches older records and `after` fetches newer records). Defaults to descending. + # @param organization_id [String, nil] The ID of the [organization](https://workos.com/docs/reference/organization) which the user belongs to. + # @param statuses [Array, nil] Filter by the status of the organization membership. Array including any of `active`, `inactive`, or `pending`. + # @param user_id [String, nil] The ID of the [user](https://workos.com/docs/reference/authkit/user). + # @param request_options [Hash] (see WorkOS::Types::RequestOptions) + # @return [WorkOS::Types::ListStruct] + def list_organization_memberships( + before: nil, + after: nil, + limit: 10, + order: "desc", + organization_id: nil, + statuses: nil, + user_id: nil, + request_options: {} + ) + params = { + "before" => before, + "after" => after, + "limit" => limit, + "order" => order, + "organization_id" => organization_id, + "statuses" => statuses, + "user_id" => user_id + }.compact + response = @client.request( + method: :get, + path: "/user_management/organization_memberships", + auth: true, + params: params, + request_options: request_options + ) + fetch_next = ->(cursor) { + list_organization_memberships( + before: before, + after: cursor, + limit: limit, + order: order, + organization_id: organization_id, + statuses: statuses, + user_id: user_id, + request_options: request_options + ) + } + WorkOS::Types::ListStruct.from_response( + response, + model: WorkOS::UserOrganizationMembership, + filters: {before: before, limit: limit, order: order, organization_id: organization_id, statuses: statuses, user_id: user_id}, + fetch_next: fetch_next + ) + end + + # Create an organization membership + # @param user_id [String] The ID of the [user](https://workos.com/docs/reference/authkit/user). + # @param organization_id [String] The ID of the [organization](https://workos.com/docs/reference/organization) which the user belongs to. + # @param role [WorkOS::OrganizationMembershipService::RoleSingle, WorkOS::OrganizationMembershipService::RoleMultiple, nil] Identifies the role. + # @param request_options [Hash] (see WorkOS::Types::RequestOptions) + # @return [WorkOS::OrganizationMembership] + def create_organization_membership( + user_id:, + organization_id:, + role: nil, + request_options: {} + ) + body = { + "user_id" => user_id, + "organization_id" => organization_id + } + if role + case role + when WorkOS::OrganizationMembershipService::RoleSingle + body["role_slug"] = role.role_slug + when WorkOS::OrganizationMembershipService::RoleMultiple + body["role_slugs"] = role.role_slugs + else + raise ArgumentError, "expected role to be one of: WorkOS::OrganizationMembershipService::RoleSingle, WorkOS::OrganizationMembershipService::RoleMultiple, got #{role.class}" + end + end + response = @client.request( + method: :post, + path: "/user_management/organization_memberships", + auth: true, + body: body, + request_options: request_options + ) + result = WorkOS::OrganizationMembership.new(response.body) + result.last_response = WorkOS::Types::ApiResponse.new(http_status: response.code.to_i, http_headers: response.each_header.to_h, request_id: response["x-request-id"]) + result + end + + # Get an organization membership + # @param id [String] The unique ID of the organization membership. + # @param request_options [Hash] (see WorkOS::Types::RequestOptions) + # @return [WorkOS::UserOrganizationMembership] + def get_organization_membership( + id:, + request_options: {} + ) + response = @client.request( + method: :get, + path: "/user_management/organization_memberships/#{WorkOS::Util.encode_path(id)}", + auth: true, + request_options: request_options + ) + result = WorkOS::UserOrganizationMembership.new(response.body) + result.last_response = WorkOS::Types::ApiResponse.new(http_status: response.code.to_i, http_headers: response.each_header.to_h, request_id: response["x-request-id"]) + result + end + + # Update an organization membership + # @param id [String] The unique ID of the organization membership. + # @param role [WorkOS::OrganizationMembershipService::RoleSingle, WorkOS::OrganizationMembershipService::RoleMultiple, nil] Identifies the role. + # @param request_options [Hash] (see WorkOS::Types::RequestOptions) + # @return [WorkOS::UserOrganizationMembership] + def update_organization_membership( + id:, + role: nil, + request_options: {} + ) + body = {} + if role + case role + when WorkOS::OrganizationMembershipService::RoleSingle + body["role_slug"] = role.role_slug + when WorkOS::OrganizationMembershipService::RoleMultiple + body["role_slugs"] = role.role_slugs + else + raise ArgumentError, "expected role to be one of: WorkOS::OrganizationMembershipService::RoleSingle, WorkOS::OrganizationMembershipService::RoleMultiple, got #{role.class}" + end + end + response = @client.request( + method: :put, + path: "/user_management/organization_memberships/#{WorkOS::Util.encode_path(id)}", + auth: true, + body: body, + request_options: request_options + ) + result = WorkOS::UserOrganizationMembership.new(response.body) + result.last_response = WorkOS::Types::ApiResponse.new(http_status: response.code.to_i, http_headers: response.each_header.to_h, request_id: response["x-request-id"]) + result + end + + # Delete an organization membership + # @param id [String] The unique ID of the organization membership. + # @param request_options [Hash] (see WorkOS::Types::RequestOptions) + # @return [void] + def delete_organization_membership( + id:, + request_options: {} + ) + @client.request( + method: :delete, + path: "/user_management/organization_memberships/#{WorkOS::Util.encode_path(id)}", + auth: true, + request_options: request_options + ) + nil + end + + # Deactivate an organization membership + # @param id [String] The unique ID of the organization membership. + # @param request_options [Hash] (see WorkOS::Types::RequestOptions) + # @return [WorkOS::OrganizationMembership] + def deactivate_organization_membership( + id:, + request_options: {} + ) + response = @client.request( + method: :put, + path: "/user_management/organization_memberships/#{WorkOS::Util.encode_path(id)}/deactivate", + auth: true, + request_options: request_options + ) + result = WorkOS::OrganizationMembership.new(response.body) + result.last_response = WorkOS::Types::ApiResponse.new(http_status: response.code.to_i, http_headers: response.each_header.to_h, request_id: response["x-request-id"]) + result + end + + # Reactivate an organization membership + # @param id [String] The unique ID of the organization membership. + # @param request_options [Hash] (see WorkOS::Types::RequestOptions) + # @return [WorkOS::UserOrganizationMembership] + def reactivate_organization_membership( + id:, + request_options: {} + ) + response = @client.request( + method: :put, + path: "/user_management/organization_memberships/#{WorkOS::Util.encode_path(id)}/reactivate", + auth: true, + request_options: request_options + ) + result = WorkOS::UserOrganizationMembership.new(response.body) + result.last_response = WorkOS::Types::ApiResponse.new(http_status: response.code.to_i, http_headers: response.each_header.to_h, request_id: response["x-request-id"]) + result + end + + # List groups + # @param om_id [String] Unique identifier of the Organization Membership. + # @param before [String, nil] An object ID that defines your place in the list. When the ID is not present, you are at the end of the list. For example, if you make a list request and receive 100 objects, ending with `"obj_123"`, your subsequent call can include `before="obj_123"` to fetch a new batch of objects before `"obj_123"`. + # @param after [String, nil] An object ID that defines your place in the list. When the ID is not present, you are at the end of the list. For example, if you make a list request and receive 100 objects, ending with `"obj_123"`, your subsequent call can include `after="obj_123"` to fetch a new batch of objects after `"obj_123"`. + # @param limit [Integer, nil] Upper limit on the number of objects to return, between `1` and `100`. + # @param order [WorkOS::Types::PaginationOrder, nil] Order the results by the creation time. Supported values are `"asc"` (ascending), `"desc"` (descending), and `"normal"` (descending with reversed cursor semantics where `before` fetches older records and `after` fetches newer records). Defaults to descending. + # @param request_options [Hash] (see WorkOS::Types::RequestOptions) + # @return [WorkOS::Types::ListStruct] + def list_organization_membership_groups( + om_id:, + before: nil, + after: nil, + limit: 10, + order: "desc", + request_options: {} + ) + params = { + "before" => before, + "after" => after, + "limit" => limit, + "order" => order + }.compact + response = @client.request( + method: :get, + path: "/user_management/organization_memberships/#{WorkOS::Util.encode_path(om_id)}/groups", + auth: true, + params: params, + request_options: request_options + ) + fetch_next = ->(cursor) { + list_organization_membership_groups( + om_id: om_id, + before: before, + after: cursor, + limit: limit, + order: order, + request_options: request_options + ) + } + WorkOS::Types::ListStruct.from_response( + response, + model: WorkOS::Group, + filters: {om_id: om_id, before: before, limit: limit, order: order}, + fetch_next: fetch_next + ) + end + end +end diff --git a/lib/workos/organizations/audit_logs_retention.rb b/lib/workos/organizations/audit_logs_retention.rb index c7fe1ab2..7f16c6c7 100644 --- a/lib/workos/organizations/audit_logs_retention.rb +++ b/lib/workos/organizations/audit_logs_retention.rb @@ -2,12 +2,8 @@ # This file is auto-generated by oagen. Do not edit. -require "json" - module WorkOS - class AuditLogsRetention - include HashProvider - + class AuditLogsRetention < WorkOS::Types::BaseModel HASH_ATTRS = { retention_period_in_days: :retention_period_in_days }.freeze @@ -15,8 +11,7 @@ class AuditLogsRetention attr_accessor :retention_period_in_days def initialize(json) - hash = json.is_a?(Hash) ? json : JSON.parse(json, symbolize_names: true) - hash = hash.transform_keys(&:to_sym) if hash.keys.first.is_a?(String) + hash = self.class.normalize(json) @retention_period_in_days = hash[:retention_period_in_days] end end diff --git a/lib/workos/organizations/audit_logs_retention_json.rb b/lib/workos/organizations/audit_logs_retention_json.rb deleted file mode 100644 index f3ed1b6e..00000000 --- a/lib/workos/organizations/audit_logs_retention_json.rb +++ /dev/null @@ -1,18 +0,0 @@ -# frozen_string_literal: true - -# This file is auto-generated by oagen. Do not edit. - -module WorkOS - class AuditLogsRetentionJson < WorkOS::Types::BaseModel - HASH_ATTRS = { - retention_period_in_days: :retention_period_in_days - }.freeze - - attr_accessor :retention_period_in_days - - def initialize(json) - hash = self.class.normalize(json) - @retention_period_in_days = hash[:retention_period_in_days] - end - end -end diff --git a/lib/workos/organizations/organization_created.rb b/lib/workos/organizations/organization_created.rb index b4cd5b82..d798f347 100644 --- a/lib/workos/organizations/organization_created.rb +++ b/lib/workos/organizations/organization_created.rb @@ -5,30 +5,30 @@ module WorkOS class OrganizationCreated < WorkOS::Types::BaseModel HASH_ATTRS = { + object: :object, id: :id, event: :event, data: :data, created_at: :created_at, - context: :context, - object: :object + context: :context }.freeze attr_accessor \ + :object, :id, :event, :data, :created_at, - :context, - :object + :context def initialize(json) hash = self.class.normalize(json) + @object = hash[:object] @id = hash[:id] @event = hash[:event] @data = hash[:data] ? WorkOS::OrganizationCreatedData.new(hash[:data]) : nil @created_at = hash[:created_at] @context = hash[:context] ? WorkOS::EventContext.new(hash[:context]) : nil - @object = hash[:object] end end end diff --git a/lib/workos/organizations/organization_deleted.rb b/lib/workos/organizations/organization_deleted.rb index 1a2381be..d572382f 100644 --- a/lib/workos/organizations/organization_deleted.rb +++ b/lib/workos/organizations/organization_deleted.rb @@ -5,30 +5,30 @@ module WorkOS class OrganizationDeleted < WorkOS::Types::BaseModel HASH_ATTRS = { + object: :object, id: :id, event: :event, data: :data, created_at: :created_at, - context: :context, - object: :object + context: :context }.freeze attr_accessor \ + :object, :id, :event, :data, :created_at, - :context, - :object + :context def initialize(json) hash = self.class.normalize(json) + @object = hash[:object] @id = hash[:id] @event = hash[:event] @data = hash[:data] ? WorkOS::OrganizationDeletedData.new(hash[:data]) : nil @created_at = hash[:created_at] @context = hash[:context] ? WorkOS::EventContext.new(hash[:context]) : nil - @object = hash[:object] end end end diff --git a/lib/workos/organizations/organization_membership_created.rb b/lib/workos/organizations/organization_membership_created.rb index 64864fbc..6a1a0aa8 100644 --- a/lib/workos/organizations/organization_membership_created.rb +++ b/lib/workos/organizations/organization_membership_created.rb @@ -5,30 +5,30 @@ module WorkOS class OrganizationMembershipCreated < WorkOS::Types::BaseModel HASH_ATTRS = { + object: :object, id: :id, event: :event, data: :data, created_at: :created_at, - context: :context, - object: :object + context: :context }.freeze attr_accessor \ + :object, :id, :event, :data, :created_at, - :context, - :object + :context def initialize(json) hash = self.class.normalize(json) + @object = hash[:object] @id = hash[:id] @event = hash[:event] @data = hash[:data] ? WorkOS::OrganizationMembershipCreatedData.new(hash[:data]) : nil @created_at = hash[:created_at] @context = hash[:context] ? WorkOS::EventContext.new(hash[:context]) : nil - @object = hash[:object] end end end diff --git a/lib/workos/organizations/organization_membership_deleted.rb b/lib/workos/organizations/organization_membership_deleted.rb index ae5f3507..75525751 100644 --- a/lib/workos/organizations/organization_membership_deleted.rb +++ b/lib/workos/organizations/organization_membership_deleted.rb @@ -5,30 +5,30 @@ module WorkOS class OrganizationMembershipDeleted < WorkOS::Types::BaseModel HASH_ATTRS = { + object: :object, id: :id, event: :event, data: :data, created_at: :created_at, - context: :context, - object: :object + context: :context }.freeze attr_accessor \ + :object, :id, :event, :data, :created_at, - :context, - :object + :context def initialize(json) hash = self.class.normalize(json) + @object = hash[:object] @id = hash[:id] @event = hash[:event] @data = hash[:data] ? WorkOS::OrganizationMembershipDeletedData.new(hash[:data]) : nil @created_at = hash[:created_at] @context = hash[:context] ? WorkOS::EventContext.new(hash[:context]) : nil - @object = hash[:object] end end end diff --git a/lib/workos/organizations/organization_membership_updated.rb b/lib/workos/organizations/organization_membership_updated.rb index 3127cb78..8cfebdd2 100644 --- a/lib/workos/organizations/organization_membership_updated.rb +++ b/lib/workos/organizations/organization_membership_updated.rb @@ -5,30 +5,30 @@ module WorkOS class OrganizationMembershipUpdated < WorkOS::Types::BaseModel HASH_ATTRS = { + object: :object, id: :id, event: :event, data: :data, created_at: :created_at, - context: :context, - object: :object + context: :context }.freeze attr_accessor \ + :object, :id, :event, :data, :created_at, - :context, - :object + :context def initialize(json) hash = self.class.normalize(json) + @object = hash[:object] @id = hash[:id] @event = hash[:event] @data = hash[:data] ? WorkOS::OrganizationMembershipUpdatedData.new(hash[:data]) : nil @created_at = hash[:created_at] @context = hash[:context] ? WorkOS::EventContext.new(hash[:context]) : nil - @object = hash[:object] end end end diff --git a/lib/workos/organizations/organization_role_created.rb b/lib/workos/organizations/organization_role_created.rb index f55aa5f6..353609aa 100644 --- a/lib/workos/organizations/organization_role_created.rb +++ b/lib/workos/organizations/organization_role_created.rb @@ -5,30 +5,30 @@ module WorkOS class OrganizationRoleCreated < WorkOS::Types::BaseModel HASH_ATTRS = { + object: :object, id: :id, event: :event, data: :data, created_at: :created_at, - context: :context, - object: :object + context: :context }.freeze attr_accessor \ + :object, :id, :event, :data, :created_at, - :context, - :object + :context def initialize(json) hash = self.class.normalize(json) + @object = hash[:object] @id = hash[:id] @event = hash[:event] @data = hash[:data] ? WorkOS::OrganizationRoleCreatedData.new(hash[:data]) : nil @created_at = hash[:created_at] @context = hash[:context] ? WorkOS::EventContext.new(hash[:context]) : nil - @object = hash[:object] end end end diff --git a/lib/workos/organizations/organization_role_deleted.rb b/lib/workos/organizations/organization_role_deleted.rb index 17ce8ce8..6a41485d 100644 --- a/lib/workos/organizations/organization_role_deleted.rb +++ b/lib/workos/organizations/organization_role_deleted.rb @@ -5,30 +5,30 @@ module WorkOS class OrganizationRoleDeleted < WorkOS::Types::BaseModel HASH_ATTRS = { + object: :object, id: :id, event: :event, data: :data, created_at: :created_at, - context: :context, - object: :object + context: :context }.freeze attr_accessor \ + :object, :id, :event, :data, :created_at, - :context, - :object + :context def initialize(json) hash = self.class.normalize(json) + @object = hash[:object] @id = hash[:id] @event = hash[:event] @data = hash[:data] ? WorkOS::OrganizationRoleDeletedData.new(hash[:data]) : nil @created_at = hash[:created_at] @context = hash[:context] ? WorkOS::EventContext.new(hash[:context]) : nil - @object = hash[:object] end end end diff --git a/lib/workos/organizations/organization_role_updated.rb b/lib/workos/organizations/organization_role_updated.rb index 51af21bd..a57e5c9d 100644 --- a/lib/workos/organizations/organization_role_updated.rb +++ b/lib/workos/organizations/organization_role_updated.rb @@ -5,30 +5,30 @@ module WorkOS class OrganizationRoleUpdated < WorkOS::Types::BaseModel HASH_ATTRS = { + object: :object, id: :id, event: :event, data: :data, created_at: :created_at, - context: :context, - object: :object + context: :context }.freeze attr_accessor \ + :object, :id, :event, :data, :created_at, - :context, - :object + :context def initialize(json) hash = self.class.normalize(json) + @object = hash[:object] @id = hash[:id] @event = hash[:event] @data = hash[:data] ? WorkOS::OrganizationRoleUpdatedData.new(hash[:data]) : nil @created_at = hash[:created_at] @context = hash[:context] ? WorkOS::EventContext.new(hash[:context]) : nil - @object = hash[:object] end end end diff --git a/lib/workos/organizations/organization_updated.rb b/lib/workos/organizations/organization_updated.rb index c13a99bb..0b89e097 100644 --- a/lib/workos/organizations/organization_updated.rb +++ b/lib/workos/organizations/organization_updated.rb @@ -5,30 +5,30 @@ module WorkOS class OrganizationUpdated < WorkOS::Types::BaseModel HASH_ATTRS = { + object: :object, id: :id, event: :event, data: :data, created_at: :created_at, - context: :context, - object: :object + context: :context }.freeze attr_accessor \ + :object, :id, :event, :data, :created_at, - :context, - :object + :context def initialize(json) hash = self.class.normalize(json) + @object = hash[:object] @id = hash[:id] @event = hash[:event] @data = hash[:data] ? WorkOS::OrganizationUpdatedData.new(hash[:data]) : nil @created_at = hash[:created_at] @context = hash[:context] ? WorkOS::EventContext.new(hash[:context]) : nil - @object = hash[:object] end end end diff --git a/lib/workos/radar.rb b/lib/workos/radar.rb index 451f817f..837815dc 100644 --- a/lib/workos/radar.rb +++ b/lib/workos/radar.rb @@ -16,8 +16,6 @@ def initialize(client) # @param email [String] The email address of the user making the request. # @param auth_method [WorkOS::Types::RadarStandaloneAssessRequestAuthMethod] The authentication method being used. # @param action [WorkOS::Types::RadarStandaloneAssessRequestAction] The action being performed. - # @param device_fingerprint [String, nil] An optional device fingerprint for the request. - # @param bot_score [String, nil] An optional bot detection score for the request. # @param request_options [Hash] (see WorkOS::Types::RequestOptions) # @return [WorkOS::RadarStandaloneResponse] def create_attempt( @@ -26,8 +24,6 @@ def create_attempt( email:, auth_method:, action:, - device_fingerprint: nil, - bot_score: nil, request_options: {} ) body = { @@ -35,10 +31,8 @@ def create_attempt( "user_agent" => user_agent, "email" => email, "auth_method" => auth_method, - "action" => action, - "device_fingerprint" => device_fingerprint, - "bot_score" => bot_score - }.compact + "action" => action + } response = @client.request( method: :post, path: "/radar/attempts", @@ -78,8 +72,8 @@ def update_attempt( end # Add an entry to a Radar list - # @param type [WorkOS::Types::RadarType] The type of the Radar list (e.g. ip_address, domain, email). - # @param action [WorkOS::Types::RadarAction] The list action indicating whether to add the entry to the allow or block list. + # @param type [WorkOS::Types::RadarListType] The type of the Radar list (e.g. ip_address, domain, email). + # @param action [WorkOS::Types::RadarListAction] The list action indicating whether to add the entry to the allow or block list. # @param entry [String] The value to add to the list. Must match the format of the list type (e.g. a valid IP address for `ip_address`, a valid email for `email`). # @param request_options [Hash] (see WorkOS::Types::RequestOptions) # @return [WorkOS::RadarListEntryAlreadyPresentResponse] @@ -105,8 +99,8 @@ def add_list_entry( end # Remove an entry from a Radar list - # @param type [WorkOS::Types::RadarType] The type of the Radar list (e.g. ip_address, domain, email). - # @param action [WorkOS::Types::RadarAction] The list action indicating whether to remove the entry from the allow or block list. + # @param type [WorkOS::Types::RadarListType] The type of the Radar list (e.g. ip_address, domain, email). + # @param action [WorkOS::Types::RadarListAction] The list action indicating whether to remove the entry from the allow or block list. # @param entry [String] The value to remove from the list. Must match an existing entry. # @param request_options [Hash] (see WorkOS::Types::RequestOptions) # @return [void] diff --git a/lib/workos/radar/radar_standalone_assess_request.rb b/lib/workos/radar/radar_standalone_assess_request.rb index a66b56de..ce7a4b9d 100644 --- a/lib/workos/radar/radar_standalone_assess_request.rb +++ b/lib/workos/radar/radar_standalone_assess_request.rb @@ -9,9 +9,7 @@ class RadarStandaloneAssessRequest < WorkOS::Types::BaseModel user_agent: :user_agent, email: :email, auth_method: :auth_method, - action: :action, - device_fingerprint: :device_fingerprint, - bot_score: :bot_score + action: :action }.freeze attr_accessor \ @@ -19,9 +17,7 @@ class RadarStandaloneAssessRequest < WorkOS::Types::BaseModel :user_agent, :email, :auth_method, - :action, - :device_fingerprint, - :bot_score + :action def initialize(json) hash = self.class.normalize(json) @@ -30,8 +26,6 @@ def initialize(json) @email = hash[:email] @auth_method = hash[:auth_method] @action = hash[:action] - @device_fingerprint = hash[:device_fingerprint] - @bot_score = hash[:bot_score] end end end diff --git a/lib/workos/shared/connect_application_m2m.rb b/lib/workos/shared/connect_application_m2m.rb new file mode 100644 index 00000000..6ec4fe8c --- /dev/null +++ b/lib/workos/shared/connect_application_m2m.rb @@ -0,0 +1,46 @@ +# frozen_string_literal: true + +# This file is auto-generated by oagen. Do not edit. + +module WorkOS + class ConnectApplicationM2M < WorkOS::Types::BaseModel + HASH_ATTRS = { + object: :object, + id: :id, + client_id: :client_id, + description: :description, + name: :name, + scopes: :scopes, + created_at: :created_at, + updated_at: :updated_at, + application_type: :application_type, + organization_id: :organization_id + }.freeze + + attr_accessor \ + :object, + :id, + :client_id, + :description, + :name, + :scopes, + :created_at, + :updated_at, + :application_type, + :organization_id + + def initialize(json) + hash = self.class.normalize(json) + @object = hash[:object] + @id = hash[:id] + @client_id = hash[:client_id] + @description = hash[:description] + @name = hash[:name] + @scopes = hash[:scopes] || [] + @created_at = hash[:created_at] + @updated_at = hash[:updated_at] + @application_type = hash[:application_type] + @organization_id = hash[:organization_id] + end + end +end diff --git a/lib/workos/shared/connect_application_oauth.rb b/lib/workos/shared/connect_application_oauth.rb new file mode 100644 index 00000000..9a086d75 --- /dev/null +++ b/lib/workos/shared/connect_application_oauth.rb @@ -0,0 +1,58 @@ +# frozen_string_literal: true + +# This file is auto-generated by oagen. Do not edit. + +module WorkOS + class ConnectApplicationOAuth < WorkOS::Types::BaseModel + HASH_ATTRS = { + object: :object, + id: :id, + client_id: :client_id, + description: :description, + name: :name, + scopes: :scopes, + created_at: :created_at, + updated_at: :updated_at, + application_type: :application_type, + redirect_uris: :redirect_uris, + uses_pkce: :uses_pkce, + is_first_party: :is_first_party, + was_dynamically_registered: :was_dynamically_registered, + organization_id: :organization_id + }.freeze + + attr_accessor \ + :object, + :id, + :client_id, + :description, + :name, + :scopes, + :created_at, + :updated_at, + :application_type, + :redirect_uris, + :uses_pkce, + :is_first_party, + :was_dynamically_registered, + :organization_id + + def initialize(json) + hash = self.class.normalize(json) + @object = hash[:object] + @id = hash[:id] + @client_id = hash[:client_id] + @description = hash[:description] + @name = hash[:name] + @scopes = hash[:scopes] || [] + @created_at = hash[:created_at] + @updated_at = hash[:updated_at] + @application_type = hash[:application_type] + @redirect_uris = (hash[:redirect_uris] || []).map { |item| item ? WorkOS::ConnectApplicationOAuthRedirectUris.new(item) : nil } + @uses_pkce = hash[:uses_pkce] + @is_first_party = hash[:is_first_party] + @was_dynamically_registered = hash[:was_dynamically_registered] + @organization_id = hash[:organization_id] + end + end +end diff --git a/lib/workos/shared/connect_application_oauth_redirect_uris.rb b/lib/workos/shared/connect_application_oauth_redirect_uris.rb new file mode 100644 index 00000000..cb294579 --- /dev/null +++ b/lib/workos/shared/connect_application_oauth_redirect_uris.rb @@ -0,0 +1,22 @@ +# frozen_string_literal: true + +# This file is auto-generated by oagen. Do not edit. + +module WorkOS + class ConnectApplicationOAuthRedirectUris < WorkOS::Types::BaseModel + HASH_ATTRS = { + uri: :uri, + default: :default + }.freeze + + attr_accessor \ + :uri, + :default + + def initialize(json) + hash = self.class.normalize(json) + @uri = hash[:uri] + @default = hash[:default] + end + end +end diff --git a/lib/workos/shared/error_response.rb b/lib/workos/shared/error_response.rb new file mode 100644 index 00000000..f12b8f20 --- /dev/null +++ b/lib/workos/shared/error_response.rb @@ -0,0 +1,18 @@ +# frozen_string_literal: true + +# This file is auto-generated by oagen. Do not edit. + +module WorkOS + class ErrorResponse < WorkOS::Types::BaseModel + HASH_ATTRS = { + error: :error + }.freeze + + attr_accessor :error + + def initialize(json) + hash = self.class.normalize(json) + @error = hash[:error] + end + end +end diff --git a/lib/workos/shared/group_created.rb b/lib/workos/shared/group_created.rb index 0dfa881e..ce00c779 100644 --- a/lib/workos/shared/group_created.rb +++ b/lib/workos/shared/group_created.rb @@ -5,30 +5,30 @@ module WorkOS class GroupCreated < WorkOS::Types::BaseModel HASH_ATTRS = { + object: :object, id: :id, event: :event, data: :data, created_at: :created_at, - context: :context, - object: :object + context: :context }.freeze attr_accessor \ + :object, :id, :event, :data, :created_at, - :context, - :object + :context def initialize(json) hash = self.class.normalize(json) + @object = hash[:object] @id = hash[:id] @event = hash[:event] @data = hash[:data] ? WorkOS::Group.new(hash[:data]) : nil @created_at = hash[:created_at] @context = hash[:context] ? WorkOS::EventContext.new(hash[:context]) : nil - @object = hash[:object] end end end diff --git a/lib/workos/shared/group_deleted.rb b/lib/workos/shared/group_deleted.rb index 3278fa6b..6303a001 100644 --- a/lib/workos/shared/group_deleted.rb +++ b/lib/workos/shared/group_deleted.rb @@ -5,30 +5,30 @@ module WorkOS class GroupDeleted < WorkOS::Types::BaseModel HASH_ATTRS = { + object: :object, id: :id, event: :event, data: :data, created_at: :created_at, - context: :context, - object: :object + context: :context }.freeze attr_accessor \ + :object, :id, :event, :data, :created_at, - :context, - :object + :context def initialize(json) hash = self.class.normalize(json) + @object = hash[:object] @id = hash[:id] @event = hash[:event] @data = hash[:data] ? WorkOS::Group.new(hash[:data]) : nil @created_at = hash[:created_at] @context = hash[:context] ? WorkOS::EventContext.new(hash[:context]) : nil - @object = hash[:object] end end end diff --git a/lib/workos/shared/group_member_added.rb b/lib/workos/shared/group_member_added.rb index b5ba86a5..1b46fed0 100644 --- a/lib/workos/shared/group_member_added.rb +++ b/lib/workos/shared/group_member_added.rb @@ -5,30 +5,30 @@ module WorkOS class GroupMemberAdded < WorkOS::Types::BaseModel HASH_ATTRS = { + object: :object, id: :id, event: :event, data: :data, created_at: :created_at, - context: :context, - object: :object + context: :context }.freeze attr_accessor \ + :object, :id, :event, :data, :created_at, - :context, - :object + :context def initialize(json) hash = self.class.normalize(json) + @object = hash[:object] @id = hash[:id] @event = hash[:event] @data = hash[:data] ? WorkOS::GroupMemberAddedData.new(hash[:data]) : nil @created_at = hash[:created_at] @context = hash[:context] ? WorkOS::EventContext.new(hash[:context]) : nil - @object = hash[:object] end end end diff --git a/lib/workos/shared/group_member_removed.rb b/lib/workos/shared/group_member_removed.rb index 1594967b..d3e1c10f 100644 --- a/lib/workos/shared/group_member_removed.rb +++ b/lib/workos/shared/group_member_removed.rb @@ -5,30 +5,30 @@ module WorkOS class GroupMemberRemoved < WorkOS::Types::BaseModel HASH_ATTRS = { + object: :object, id: :id, event: :event, data: :data, created_at: :created_at, - context: :context, - object: :object + context: :context }.freeze attr_accessor \ + :object, :id, :event, :data, :created_at, - :context, - :object + :context def initialize(json) hash = self.class.normalize(json) + @object = hash[:object] @id = hash[:id] @event = hash[:event] @data = hash[:data] ? WorkOS::GroupMemberRemovedData.new(hash[:data]) : nil @created_at = hash[:created_at] @context = hash[:context] ? WorkOS::EventContext.new(hash[:context]) : nil - @object = hash[:object] end end end diff --git a/lib/workos/shared/group_updated.rb b/lib/workos/shared/group_updated.rb index d1f774d5..5123eaea 100644 --- a/lib/workos/shared/group_updated.rb +++ b/lib/workos/shared/group_updated.rb @@ -5,30 +5,30 @@ module WorkOS class GroupUpdated < WorkOS::Types::BaseModel HASH_ATTRS = { + object: :object, id: :id, event: :event, data: :data, created_at: :created_at, - context: :context, - object: :object + context: :context }.freeze attr_accessor \ + :object, :id, :event, :data, :created_at, - :context, - :object + :context def initialize(json) hash = self.class.normalize(json) + @object = hash[:object] @id = hash[:id] @event = hash[:event] @data = hash[:data] ? WorkOS::Group.new(hash[:data]) : nil @created_at = hash[:created_at] @context = hash[:context] ? WorkOS::EventContext.new(hash[:context]) : nil - @object = hash[:object] end end end diff --git a/lib/workos/shared/pipe_connected_account.rb b/lib/workos/shared/pipe_connected_account.rb new file mode 100644 index 00000000..9401b2a9 --- /dev/null +++ b/lib/workos/shared/pipe_connected_account.rb @@ -0,0 +1,46 @@ +# frozen_string_literal: true + +# This file is auto-generated by oagen. Do not edit. + +module WorkOS + class PipeConnectedAccount < WorkOS::Types::BaseModel + HASH_ATTRS = { + object: :object, + id: :id, + data_integration_id: :data_integration_id, + provider_slug: :provider_slug, + user_id: :user_id, + organization_id: :organization_id, + scopes: :scopes, + state: :state, + created_at: :created_at, + updated_at: :updated_at + }.freeze + + attr_accessor \ + :object, + :id, + :data_integration_id, + :provider_slug, + :user_id, + :organization_id, + :scopes, + :state, + :created_at, + :updated_at + + def initialize(json) + hash = self.class.normalize(json) + @object = hash[:object] + @id = hash[:id] + @data_integration_id = hash[:data_integration_id] + @provider_slug = hash[:provider_slug] + @user_id = hash[:user_id] + @organization_id = hash[:organization_id] + @scopes = hash[:scopes] || [] + @state = hash[:state] + @created_at = hash[:created_at] + @updated_at = hash[:updated_at] + end + end +end diff --git a/lib/workos/audit_logs/audit_log_export_json.rb b/lib/workos/shared/pipes_connected_account_connected.rb similarity index 54% rename from lib/workos/audit_logs/audit_log_export_json.rb rename to lib/workos/shared/pipes_connected_account_connected.rb index c762c435..bf107d4c 100644 --- a/lib/workos/audit_logs/audit_log_export_json.rb +++ b/lib/workos/shared/pipes_connected_account_connected.rb @@ -3,32 +3,32 @@ # This file is auto-generated by oagen. Do not edit. module WorkOS - class AuditLogExportJson < WorkOS::Types::BaseModel + class PipesConnectedAccountConnected < WorkOS::Types::BaseModel HASH_ATTRS = { object: :object, id: :id, - state: :state, - url: :url, + event: :event, + data: :data, created_at: :created_at, - updated_at: :updated_at + context: :context }.freeze attr_accessor \ :object, :id, - :state, - :url, + :event, + :data, :created_at, - :updated_at + :context def initialize(json) hash = self.class.normalize(json) @object = hash[:object] @id = hash[:id] - @state = hash[:state] - @url = hash[:url] + @event = hash[:event] + @data = hash[:data] ? WorkOS::PipeConnectedAccount.new(hash[:data]) : nil @created_at = hash[:created_at] - @updated_at = hash[:updated_at] + @context = hash[:context] ? WorkOS::EventContext.new(hash[:context]) : nil end end end diff --git a/lib/workos/shared/pipes_connected_account_disconnected.rb b/lib/workos/shared/pipes_connected_account_disconnected.rb new file mode 100644 index 00000000..cf31cedb --- /dev/null +++ b/lib/workos/shared/pipes_connected_account_disconnected.rb @@ -0,0 +1,34 @@ +# frozen_string_literal: true + +# This file is auto-generated by oagen. Do not edit. + +module WorkOS + class PipesConnectedAccountDisconnected < WorkOS::Types::BaseModel + HASH_ATTRS = { + object: :object, + id: :id, + event: :event, + data: :data, + created_at: :created_at, + context: :context + }.freeze + + attr_accessor \ + :object, + :id, + :event, + :data, + :created_at, + :context + + def initialize(json) + hash = self.class.normalize(json) + @object = hash[:object] + @id = hash[:id] + @event = hash[:event] + @data = hash[:data] ? WorkOS::PipeConnectedAccount.new(hash[:data]) : nil + @created_at = hash[:created_at] + @context = hash[:context] ? WorkOS::EventContext.new(hash[:context]) : nil + end + end +end diff --git a/lib/workos/shared/pipes_connected_account_reauthorization_needed.rb b/lib/workos/shared/pipes_connected_account_reauthorization_needed.rb new file mode 100644 index 00000000..782484e2 --- /dev/null +++ b/lib/workos/shared/pipes_connected_account_reauthorization_needed.rb @@ -0,0 +1,34 @@ +# frozen_string_literal: true + +# This file is auto-generated by oagen. Do not edit. + +module WorkOS + class PipesConnectedAccountReauthorizationNeeded < WorkOS::Types::BaseModel + HASH_ATTRS = { + object: :object, + id: :id, + event: :event, + data: :data, + created_at: :created_at, + context: :context + }.freeze + + attr_accessor \ + :object, + :id, + :event, + :data, + :created_at, + :context + + def initialize(json) + hash = self.class.normalize(json) + @object = hash[:object] + @id = hash[:id] + @event = hash[:event] + @data = hash[:data] ? WorkOS::PipeConnectedAccount.new(hash[:data]) : nil + @created_at = hash[:created_at] + @context = hash[:context] ? WorkOS::EventContext.new(hash[:context]) : nil + end + end +end diff --git a/lib/workos/shared/waitlist_user_approved.rb b/lib/workos/shared/waitlist_user_approved.rb index 52fe72b7..7157bcd4 100644 --- a/lib/workos/shared/waitlist_user_approved.rb +++ b/lib/workos/shared/waitlist_user_approved.rb @@ -5,30 +5,30 @@ module WorkOS class WaitlistUserApproved < WorkOS::Types::BaseModel HASH_ATTRS = { + object: :object, id: :id, event: :event, data: :data, created_at: :created_at, - context: :context, - object: :object + context: :context }.freeze attr_accessor \ + :object, :id, :event, :data, :created_at, - :context, - :object + :context def initialize(json) hash = self.class.normalize(json) + @object = hash[:object] @id = hash[:id] @event = hash[:event] @data = hash[:data] ? WorkOS::WaitlistUser.new(hash[:data]) : nil @created_at = hash[:created_at] @context = hash[:context] ? WorkOS::EventContext.new(hash[:context]) : nil - @object = hash[:object] end end end diff --git a/lib/workos/shared/waitlist_user_created.rb b/lib/workos/shared/waitlist_user_created.rb index f20fc2a8..57f32d5d 100644 --- a/lib/workos/shared/waitlist_user_created.rb +++ b/lib/workos/shared/waitlist_user_created.rb @@ -5,30 +5,30 @@ module WorkOS class WaitlistUserCreated < WorkOS::Types::BaseModel HASH_ATTRS = { + object: :object, id: :id, event: :event, data: :data, created_at: :created_at, - context: :context, - object: :object + context: :context }.freeze attr_accessor \ + :object, :id, :event, :data, :created_at, - :context, - :object + :context def initialize(json) hash = self.class.normalize(json) + @object = hash[:object] @id = hash[:id] @event = hash[:event] @data = hash[:data] ? WorkOS::WaitlistUser.new(hash[:data]) : nil @created_at = hash[:created_at] @context = hash[:context] ? WorkOS::EventContext.new(hash[:context]) : nil - @object = hash[:object] end end end diff --git a/lib/workos/shared/waitlist_user_denied.rb b/lib/workos/shared/waitlist_user_denied.rb index 45678eaa..c7842927 100644 --- a/lib/workos/shared/waitlist_user_denied.rb +++ b/lib/workos/shared/waitlist_user_denied.rb @@ -5,30 +5,30 @@ module WorkOS class WaitlistUserDenied < WorkOS::Types::BaseModel HASH_ATTRS = { + object: :object, id: :id, event: :event, data: :data, created_at: :created_at, - context: :context, - object: :object + context: :context }.freeze attr_accessor \ + :object, :id, :event, :data, :created_at, - :context, - :object + :context def initialize(json) hash = self.class.normalize(json) + @object = hash[:object] @id = hash[:id] @event = hash[:event] @data = hash[:data] ? WorkOS::WaitlistUser.new(hash[:data]) : nil @created_at = hash[:created_at] @context = hash[:context] ? WorkOS::EventContext.new(hash[:context]) : nil - @object = hash[:object] end end end diff --git a/lib/workos/sso/connection_activated.rb b/lib/workos/sso/connection_activated.rb index f33f6af7..ce07bcae 100644 --- a/lib/workos/sso/connection_activated.rb +++ b/lib/workos/sso/connection_activated.rb @@ -5,30 +5,30 @@ module WorkOS class ConnectionActivated < WorkOS::Types::BaseModel HASH_ATTRS = { + object: :object, id: :id, event: :event, data: :data, created_at: :created_at, - context: :context, - object: :object + context: :context }.freeze attr_accessor \ + :object, :id, :event, :data, :created_at, - :context, - :object + :context def initialize(json) hash = self.class.normalize(json) + @object = hash[:object] @id = hash[:id] @event = hash[:event] @data = hash[:data] ? WorkOS::ConnectionActivatedData.new(hash[:data]) : nil @created_at = hash[:created_at] @context = hash[:context] ? WorkOS::EventContext.new(hash[:context]) : nil - @object = hash[:object] end end end diff --git a/lib/workos/sso/connection_deactivated.rb b/lib/workos/sso/connection_deactivated.rb index 00786d18..eb8f1bff 100644 --- a/lib/workos/sso/connection_deactivated.rb +++ b/lib/workos/sso/connection_deactivated.rb @@ -5,30 +5,30 @@ module WorkOS class ConnectionDeactivated < WorkOS::Types::BaseModel HASH_ATTRS = { + object: :object, id: :id, event: :event, data: :data, created_at: :created_at, - context: :context, - object: :object + context: :context }.freeze attr_accessor \ + :object, :id, :event, :data, :created_at, - :context, - :object + :context def initialize(json) hash = self.class.normalize(json) + @object = hash[:object] @id = hash[:id] @event = hash[:event] @data = hash[:data] ? WorkOS::ConnectionDeactivatedData.new(hash[:data]) : nil @created_at = hash[:created_at] @context = hash[:context] ? WorkOS::EventContext.new(hash[:context]) : nil - @object = hash[:object] end end end diff --git a/lib/workos/sso/connection_deleted.rb b/lib/workos/sso/connection_deleted.rb index 6b30064a..61817fb0 100644 --- a/lib/workos/sso/connection_deleted.rb +++ b/lib/workos/sso/connection_deleted.rb @@ -5,30 +5,30 @@ module WorkOS class ConnectionDeleted < WorkOS::Types::BaseModel HASH_ATTRS = { + object: :object, id: :id, event: :event, data: :data, created_at: :created_at, - context: :context, - object: :object + context: :context }.freeze attr_accessor \ + :object, :id, :event, :data, :created_at, - :context, - :object + :context def initialize(json) hash = self.class.normalize(json) + @object = hash[:object] @id = hash[:id] @event = hash[:event] @data = hash[:data] ? WorkOS::ConnectionDeletedData.new(hash[:data]) : nil @created_at = hash[:created_at] @context = hash[:context] ? WorkOS::EventContext.new(hash[:context]) : nil - @object = hash[:object] end end end diff --git a/lib/workos/sso/connection_saml_certificate_renewal_required.rb b/lib/workos/sso/connection_saml_certificate_renewal_required.rb index 441b8cfd..952c905a 100644 --- a/lib/workos/sso/connection_saml_certificate_renewal_required.rb +++ b/lib/workos/sso/connection_saml_certificate_renewal_required.rb @@ -5,30 +5,30 @@ module WorkOS class ConnectionSAMLCertificateRenewalRequired < WorkOS::Types::BaseModel HASH_ATTRS = { + object: :object, id: :id, event: :event, data: :data, created_at: :created_at, - context: :context, - object: :object + context: :context }.freeze attr_accessor \ + :object, :id, :event, :data, :created_at, - :context, - :object + :context def initialize(json) hash = self.class.normalize(json) + @object = hash[:object] @id = hash[:id] @event = hash[:event] @data = hash[:data] ? WorkOS::ConnectionSAMLCertificateRenewalRequiredData.new(hash[:data]) : nil @created_at = hash[:created_at] @context = hash[:context] ? WorkOS::EventContext.new(hash[:context]) : nil - @object = hash[:object] end end end diff --git a/lib/workos/sso/connection_saml_certificate_renewed.rb b/lib/workos/sso/connection_saml_certificate_renewed.rb index 42522d1a..1941db16 100644 --- a/lib/workos/sso/connection_saml_certificate_renewed.rb +++ b/lib/workos/sso/connection_saml_certificate_renewed.rb @@ -5,30 +5,30 @@ module WorkOS class ConnectionSAMLCertificateRenewed < WorkOS::Types::BaseModel HASH_ATTRS = { + object: :object, id: :id, event: :event, data: :data, created_at: :created_at, - context: :context, - object: :object + context: :context }.freeze attr_accessor \ + :object, :id, :event, :data, :created_at, - :context, - :object + :context def initialize(json) hash = self.class.normalize(json) + @object = hash[:object] @id = hash[:id] @event = hash[:event] @data = hash[:data] ? WorkOS::ConnectionSAMLCertificateRenewedData.new(hash[:data]) : nil @created_at = hash[:created_at] @context = hash[:context] ? WorkOS::EventContext.new(hash[:context]) : nil - @object = hash[:object] end end end diff --git a/lib/workos/types/audit_log_export_json_state.rb b/lib/workos/types/audit_log_export_json_state.rb deleted file mode 100644 index a3ddd394..00000000 --- a/lib/workos/types/audit_log_export_json_state.rb +++ /dev/null @@ -1,14 +0,0 @@ -# frozen_string_literal: true - -# This file is auto-generated by oagen. Do not edit. - -module WorkOS - module Types - class AuditLogExportJsonState - PENDING = "pending" - READY = "ready" - ERROR = "error" - ALL = [PENDING, READY, ERROR].freeze - end - end -end diff --git a/lib/workos/types/create_webhook_endpoint_events.rb b/lib/workos/types/create_webhook_endpoint_events.rb index 8b323a9f..79ffd78a 100644 --- a/lib/workos/types/create_webhook_endpoint_events.rb +++ b/lib/workos/types/create_webhook_endpoint_events.rb @@ -77,12 +77,15 @@ class CreateWebhookEndpointEvents PERMISSION_CREATED = "permission.created" PERMISSION_DELETED = "permission.deleted" PERMISSION_UPDATED = "permission.updated" + PIPES_CONNECTED_ACCOUNT_CONNECTED = "pipes.connected_account.connected" + PIPES_CONNECTED_ACCOUNT_DISCONNECTED = "pipes.connected_account.disconnected" + PIPES_CONNECTED_ACCOUNT_REAUTHORIZATION_NEEDED = "pipes.connected_account.reauthorization_needed" SESSION_CREATED = "session.created" SESSION_REVOKED = "session.revoked" WAITLIST_USER_APPROVED = "waitlist_user.approved" WAITLIST_USER_CREATED = "waitlist_user.created" WAITLIST_USER_DENIED = "waitlist_user.denied" - ALL = [AUTHENTICATION_EMAIL_VERIFICATION_SUCCEEDED, AUTHENTICATION_MAGIC_AUTH_FAILED, AUTHENTICATION_MAGIC_AUTH_SUCCEEDED, AUTHENTICATION_MFA_SUCCEEDED, AUTHENTICATION_OAUTH_FAILED, AUTHENTICATION_OAUTH_SUCCEEDED, AUTHENTICATION_PASSWORD_FAILED, AUTHENTICATION_PASSWORD_SUCCEEDED, AUTHENTICATION_PASSKEY_FAILED, AUTHENTICATION_PASSKEY_SUCCEEDED, AUTHENTICATION_SSO_FAILED, AUTHENTICATION_SSO_STARTED, AUTHENTICATION_SSO_SUCCEEDED, AUTHENTICATION_SSO_TIMED_OUT, AUTHENTICATION_RADAR_RISK_DETECTED, API_KEY_CREATED, API_KEY_REVOKED, CONNECTION_ACTIVATED, CONNECTION_DEACTIVATED, CONNECTION_SAML_CERTIFICATE_RENEWAL_REQUIRED, CONNECTION_SAML_CERTIFICATE_RENEWED, CONNECTION_DELETED, DSYNC_ACTIVATED, DSYNC_DELETED, DSYNC_GROUP_CREATED, DSYNC_GROUP_DELETED, DSYNC_GROUP_UPDATED, DSYNC_GROUP_USER_ADDED, DSYNC_GROUP_USER_REMOVED, DSYNC_USER_CREATED, DSYNC_USER_DELETED, DSYNC_USER_UPDATED, EMAIL_VERIFICATION_CREATED, GROUP_CREATED, GROUP_DELETED, GROUP_MEMBER_ADDED, GROUP_MEMBER_REMOVED, GROUP_UPDATED, FLAG_CREATED, FLAG_DELETED, FLAG_UPDATED, FLAG_RULE_UPDATED, INVITATION_ACCEPTED, INVITATION_CREATED, INVITATION_RESENT, INVITATION_REVOKED, MAGIC_AUTH_CREATED, ORGANIZATION_CREATED, ORGANIZATION_DELETED, ORGANIZATION_UPDATED, ORGANIZATION_DOMAIN_CREATED, ORGANIZATION_DOMAIN_DELETED, ORGANIZATION_DOMAIN_UPDATED, ORGANIZATION_DOMAIN_VERIFIED, ORGANIZATION_DOMAIN_VERIFICATION_FAILED, PASSWORD_RESET_CREATED, PASSWORD_RESET_SUCCEEDED, USER_CREATED, USER_UPDATED, USER_DELETED, ORGANIZATION_MEMBERSHIP_CREATED, ORGANIZATION_MEMBERSHIP_DELETED, ORGANIZATION_MEMBERSHIP_UPDATED, ROLE_CREATED, ROLE_DELETED, ROLE_UPDATED, ORGANIZATION_ROLE_CREATED, ORGANIZATION_ROLE_DELETED, ORGANIZATION_ROLE_UPDATED, PERMISSION_CREATED, PERMISSION_DELETED, PERMISSION_UPDATED, SESSION_CREATED, SESSION_REVOKED, WAITLIST_USER_APPROVED, WAITLIST_USER_CREATED, WAITLIST_USER_DENIED].freeze + ALL = [AUTHENTICATION_EMAIL_VERIFICATION_SUCCEEDED, AUTHENTICATION_MAGIC_AUTH_FAILED, AUTHENTICATION_MAGIC_AUTH_SUCCEEDED, AUTHENTICATION_MFA_SUCCEEDED, AUTHENTICATION_OAUTH_FAILED, AUTHENTICATION_OAUTH_SUCCEEDED, AUTHENTICATION_PASSWORD_FAILED, AUTHENTICATION_PASSWORD_SUCCEEDED, AUTHENTICATION_PASSKEY_FAILED, AUTHENTICATION_PASSKEY_SUCCEEDED, AUTHENTICATION_SSO_FAILED, AUTHENTICATION_SSO_STARTED, AUTHENTICATION_SSO_SUCCEEDED, AUTHENTICATION_SSO_TIMED_OUT, AUTHENTICATION_RADAR_RISK_DETECTED, API_KEY_CREATED, API_KEY_REVOKED, CONNECTION_ACTIVATED, CONNECTION_DEACTIVATED, CONNECTION_SAML_CERTIFICATE_RENEWAL_REQUIRED, CONNECTION_SAML_CERTIFICATE_RENEWED, CONNECTION_DELETED, DSYNC_ACTIVATED, DSYNC_DELETED, DSYNC_GROUP_CREATED, DSYNC_GROUP_DELETED, DSYNC_GROUP_UPDATED, DSYNC_GROUP_USER_ADDED, DSYNC_GROUP_USER_REMOVED, DSYNC_USER_CREATED, DSYNC_USER_DELETED, DSYNC_USER_UPDATED, EMAIL_VERIFICATION_CREATED, GROUP_CREATED, GROUP_DELETED, GROUP_MEMBER_ADDED, GROUP_MEMBER_REMOVED, GROUP_UPDATED, FLAG_CREATED, FLAG_DELETED, FLAG_UPDATED, FLAG_RULE_UPDATED, INVITATION_ACCEPTED, INVITATION_CREATED, INVITATION_RESENT, INVITATION_REVOKED, MAGIC_AUTH_CREATED, ORGANIZATION_CREATED, ORGANIZATION_DELETED, ORGANIZATION_UPDATED, ORGANIZATION_DOMAIN_CREATED, ORGANIZATION_DOMAIN_DELETED, ORGANIZATION_DOMAIN_UPDATED, ORGANIZATION_DOMAIN_VERIFIED, ORGANIZATION_DOMAIN_VERIFICATION_FAILED, PASSWORD_RESET_CREATED, PASSWORD_RESET_SUCCEEDED, USER_CREATED, USER_UPDATED, USER_DELETED, ORGANIZATION_MEMBERSHIP_CREATED, ORGANIZATION_MEMBERSHIP_DELETED, ORGANIZATION_MEMBERSHIP_UPDATED, ROLE_CREATED, ROLE_DELETED, ROLE_UPDATED, ORGANIZATION_ROLE_CREATED, ORGANIZATION_ROLE_DELETED, ORGANIZATION_ROLE_UPDATED, PERMISSION_CREATED, PERMISSION_DELETED, PERMISSION_UPDATED, PIPES_CONNECTED_ACCOUNT_CONNECTED, PIPES_CONNECTED_ACCOUNT_DISCONNECTED, PIPES_CONNECTED_ACCOUNT_REAUTHORIZATION_NEEDED, SESSION_CREATED, SESSION_REVOKED, WAITLIST_USER_APPROVED, WAITLIST_USER_CREATED, WAITLIST_USER_DENIED].freeze end end end diff --git a/lib/workos/types/pipe_connected_account_state.rb b/lib/workos/types/pipe_connected_account_state.rb new file mode 100644 index 00000000..aa0a9cbd --- /dev/null +++ b/lib/workos/types/pipe_connected_account_state.rb @@ -0,0 +1,13 @@ +# frozen_string_literal: true + +# This file is auto-generated by oagen. Do not edit. + +module WorkOS + module Types + class PipeConnectedAccountState + CONNECTED = "connected" + NEEDS_REAUTHORIZATION = "needs_reauthorization" + ALL = [CONNECTED, NEEDS_REAUTHORIZATION].freeze + end + end +end diff --git a/lib/workos/types/radar_action.rb b/lib/workos/types/radar_list_action.rb similarity index 88% rename from lib/workos/types/radar_action.rb rename to lib/workos/types/radar_list_action.rb index 9f3edc38..da1534e7 100644 --- a/lib/workos/types/radar_action.rb +++ b/lib/workos/types/radar_list_action.rb @@ -4,7 +4,7 @@ module WorkOS module Types - class RadarAction + class RadarListAction BLOCK = "block" ALLOW = "allow" ALL = [BLOCK, ALLOW].freeze diff --git a/lib/workos/types/radar_list_type.rb b/lib/workos/types/radar_list_type.rb new file mode 100644 index 00000000..90466d2e --- /dev/null +++ b/lib/workos/types/radar_list_type.rb @@ -0,0 +1,18 @@ +# frozen_string_literal: true + +# This file is auto-generated by oagen. Do not edit. + +module WorkOS + module Types + class RadarListType + IP_ADDRESS = "ip_address" + DOMAIN = "domain" + EMAIL = "email" + DEVICE = "device" + USER_AGENT = "user_agent" + DEVICE_FINGERPRINT = "device_fingerprint" + COUNTRY = "country" + ALL = [IP_ADDRESS, DOMAIN, EMAIL, DEVICE, USER_AGENT, DEVICE_FINGERPRINT, COUNTRY].freeze + end + end +end diff --git a/lib/workos/types/radar_standalone_assess_request_action.rb b/lib/workos/types/radar_standalone_assess_request_action.rb index 03a70a54..97084074 100644 --- a/lib/workos/types/radar_standalone_assess_request_action.rb +++ b/lib/workos/types/radar_standalone_assess_request_action.rb @@ -5,15 +5,9 @@ module WorkOS module Types class RadarStandaloneAssessRequestAction - LOGIN = "login" - SIGNUP = "signup" SIGN_UP = "sign-up" SIGN_IN = "sign-in" - SIGN_UP_2 = "sign_up" - SIGN_IN_2 = "sign_in" - SIGN_IN_3 = "sign in" - SIGN_UP_3 = "sign up" - ALL = [LOGIN, SIGNUP, SIGN_UP, SIGN_IN, SIGN_UP_2, SIGN_IN_2, SIGN_IN_3, SIGN_UP_3].freeze + ALL = [SIGN_UP, SIGN_IN].freeze end end end diff --git a/lib/workos/types/radar_standalone_response_blocklist_type.rb b/lib/workos/types/radar_standalone_response_blocklist_type.rb index 4301d9bf..b866ce68 100644 --- a/lib/workos/types/radar_standalone_response_blocklist_type.rb +++ b/lib/workos/types/radar_standalone_response_blocklist_type.rb @@ -4,15 +4,6 @@ module WorkOS module Types - class RadarStandaloneResponseBlocklistType - IP_ADDRESS = "ip_address" - DOMAIN = "domain" - EMAIL = "email" - DEVICE = "device" - USER_AGENT = "user_agent" - DEVICE_FINGERPRINT = "device_fingerprint" - COUNTRY = "country" - ALL = [IP_ADDRESS, DOMAIN, EMAIL, DEVICE, USER_AGENT, DEVICE_FINGERPRINT, COUNTRY].freeze - end + RadarStandaloneResponseBlocklistType = RadarListType end end diff --git a/lib/workos/types/radar_standalone_response_control.rb b/lib/workos/types/radar_standalone_response_control.rb index d4dd7852..ea1dc897 100644 --- a/lib/workos/types/radar_standalone_response_control.rb +++ b/lib/workos/types/radar_standalone_response_control.rb @@ -7,15 +7,13 @@ module Types class RadarStandaloneResponseControl BOT_DETECTION = "bot_detection" BRUTE_FORCE_ATTACK = "brute_force_attack" - CREDENTIAL_STUFFING = "credential_stuffing" DOMAIN_SIGN_UP_RATE_LIMIT = "domain_sign_up_rate_limit" - IP_SIGN_UP_RATE_LIMIT = "ip_sign_up_rate_limit" IMPOSSIBLE_TRAVEL = "impossible_travel" REPEAT_SIGN_UP = "repeat_sign_up" STALE_ACCOUNT = "stale_account" UNRECOGNIZED_DEVICE = "unrecognized_device" RESTRICTION = "restriction" - ALL = [BOT_DETECTION, BRUTE_FORCE_ATTACK, CREDENTIAL_STUFFING, DOMAIN_SIGN_UP_RATE_LIMIT, IP_SIGN_UP_RATE_LIMIT, IMPOSSIBLE_TRAVEL, REPEAT_SIGN_UP, STALE_ACCOUNT, UNRECOGNIZED_DEVICE, RESTRICTION].freeze + ALL = [BOT_DETECTION, BRUTE_FORCE_ATTACK, DOMAIN_SIGN_UP_RATE_LIMIT, IMPOSSIBLE_TRAVEL, REPEAT_SIGN_UP, STALE_ACCOUNT, UNRECOGNIZED_DEVICE, RESTRICTION].freeze end end end diff --git a/lib/workos/types/user_management_authentication_screen_hint.rb b/lib/workos/types/user_management_authentication_screen_hint.rb index b5c2cf5b..9e2b89f1 100644 --- a/lib/workos/types/user_management_authentication_screen_hint.rb +++ b/lib/workos/types/user_management_authentication_screen_hint.rb @@ -4,10 +4,6 @@ module WorkOS module Types - class UserManagementAuthenticationScreenHint - SIGN_UP = "sign-up" - SIGN_IN = "sign-in" - ALL = [SIGN_UP, SIGN_IN].freeze - end + UserManagementAuthenticationScreenHint = RadarStandaloneAssessRequestAction end end diff --git a/rbi/workos/types/request_options.rbi b/lib/workos/types/vault_order.rb similarity index 59% rename from rbi/workos/types/request_options.rbi rename to lib/workos/types/vault_order.rb index dc92c319..291c5b3b 100644 --- a/rbi/workos/types/request_options.rbi +++ b/lib/workos/types/vault_order.rb @@ -2,11 +2,12 @@ # This file is auto-generated by oagen. Do not edit. -# typed: strong - module WorkOS module Types - class RequestOptions + class VaultOrder + ASC = "asc" + DESC = "desc" + ALL = [ASC, DESC].freeze end end end diff --git a/lib/workos/types/webhook_endpoint_json_status.rb b/lib/workos/types/webhook_endpoint_json_status.rb deleted file mode 100644 index 1403fbee..00000000 --- a/lib/workos/types/webhook_endpoint_json_status.rb +++ /dev/null @@ -1,9 +0,0 @@ -# frozen_string_literal: true - -# This file is auto-generated by oagen. Do not edit. - -module WorkOS - module Types - WebhookEndpointJsonStatus = UpdateWebhookEndpointStatus - end -end diff --git a/lib/workos/types/webhook_endpoint_status.rb b/lib/workos/types/webhook_endpoint_status.rb index d44d79c0..7ff281b0 100644 --- a/lib/workos/types/webhook_endpoint_status.rb +++ b/lib/workos/types/webhook_endpoint_status.rb @@ -4,10 +4,6 @@ module WorkOS module Types - class WebhookEndpointStatus - ENABLED = "enabled" - DISABLED = "disabled" - ALL = [ENABLED, DISABLED].freeze - end + WebhookEndpointStatus = UpdateWebhookEndpointStatus end end diff --git a/lib/workos/user_management.rb b/lib/workos/user_management.rb index d6a7e012..85d5c39e 100644 --- a/lib/workos/user_management.rb +++ b/lib/workos/user_management.rb @@ -20,18 +20,6 @@ class UserManagement # @return [WorkOS::Types::CreateUserPasswordHashType] PasswordHashed = Data.define(:password_hash, :password_hash_type) - # Identifies the role (single variant). - # - # @!attribute [r] role_slug - # @return [String] - RoleSingle = Data.define(:role_slug) - - # Identifies the role (multiple variant). - # - # @!attribute [r] role_slugs - # @return [Array] - RoleMultiple = Data.define(:role_slugs) - def initialize(client) @client = client end @@ -1227,207 +1215,6 @@ def get_magic_auth( result end - # List organization memberships - # @param before [String, nil] An object ID that defines your place in the list. When the ID is not present, you are at the end of the list. For example, if you make a list request and receive 100 objects, ending with `"obj_123"`, your subsequent call can include `before="obj_123"` to fetch a new batch of objects before `"obj_123"`. - # @param after [String, nil] An object ID that defines your place in the list. When the ID is not present, you are at the end of the list. For example, if you make a list request and receive 100 objects, ending with `"obj_123"`, your subsequent call can include `after="obj_123"` to fetch a new batch of objects after `"obj_123"`. - # @param limit [Integer, nil] Upper limit on the number of objects to return, between `1` and `100`. - # @param order [WorkOS::Types::PaginationOrder, nil] Order the results by the creation time. Supported values are `"asc"` (ascending), `"desc"` (descending), and `"normal"` (descending with reversed cursor semantics where `before` fetches older records and `after` fetches newer records). Defaults to descending. - # @param organization_id [String, nil] The ID of the [organization](https://workos.com/docs/reference/organization) which the user belongs to. - # @param statuses [Array, nil] Filter by the status of the organization membership. Array including any of `active`, `inactive`, or `pending`. - # @param user_id [String, nil] The ID of the [user](https://workos.com/docs/reference/authkit/user). - # @param request_options [Hash] (see WorkOS::Types::RequestOptions) - # @return [WorkOS::Types::ListStruct] - def list_organization_memberships( - before: nil, - after: nil, - limit: 10, - order: "desc", - organization_id: nil, - statuses: nil, - user_id: nil, - request_options: {} - ) - params = { - "before" => before, - "after" => after, - "limit" => limit, - "order" => order, - "organization_id" => organization_id, - "statuses" => statuses, - "user_id" => user_id - }.compact - response = @client.request( - method: :get, - path: "/user_management/organization_memberships", - auth: true, - params: params, - request_options: request_options - ) - fetch_next = ->(cursor) { - list_organization_memberships( - before: before, - after: cursor, - limit: limit, - order: order, - organization_id: organization_id, - statuses: statuses, - user_id: user_id, - request_options: request_options - ) - } - WorkOS::Types::ListStruct.from_response( - response, - model: WorkOS::UserOrganizationMembership, - filters: {before: before, limit: limit, order: order, organization_id: organization_id, statuses: statuses, user_id: user_id}, - fetch_next: fetch_next - ) - end - - # Create an organization membership - # @param user_id [String] The ID of the [user](https://workos.com/docs/reference/authkit/user). - # @param organization_id [String] The ID of the [organization](https://workos.com/docs/reference/organization) which the user belongs to. - # @param role [WorkOS::UserManagement::RoleSingle, WorkOS::UserManagement::RoleMultiple, nil] Identifies the role. - # @param request_options [Hash] (see WorkOS::Types::RequestOptions) - # @return [WorkOS::OrganizationMembership] - def create_organization_membership( - user_id:, - organization_id:, - role: nil, - request_options: {} - ) - body = { - "user_id" => user_id, - "organization_id" => organization_id - } - if role - case role - when WorkOS::UserManagement::RoleSingle - body["role_slug"] = role.role_slug - when WorkOS::UserManagement::RoleMultiple - body["role_slugs"] = role.role_slugs - else - raise ArgumentError, "expected role to be one of: WorkOS::UserManagement::RoleSingle, WorkOS::UserManagement::RoleMultiple, got #{role.class}" - end - end - response = @client.request( - method: :post, - path: "/user_management/organization_memberships", - auth: true, - body: body, - request_options: request_options - ) - result = WorkOS::OrganizationMembership.new(response.body) - result.last_response = WorkOS::Types::ApiResponse.new(http_status: response.code.to_i, http_headers: response.each_header.to_h, request_id: response["x-request-id"]) - result - end - - # Get an organization membership - # @param id [String] The unique ID of the organization membership. - # @param request_options [Hash] (see WorkOS::Types::RequestOptions) - # @return [WorkOS::UserOrganizationMembership] - def get_organization_membership( - id:, - request_options: {} - ) - response = @client.request( - method: :get, - path: "/user_management/organization_memberships/#{WorkOS::Util.encode_path(id)}", - auth: true, - request_options: request_options - ) - result = WorkOS::UserOrganizationMembership.new(response.body) - result.last_response = WorkOS::Types::ApiResponse.new(http_status: response.code.to_i, http_headers: response.each_header.to_h, request_id: response["x-request-id"]) - result - end - - # Update an organization membership - # @param id [String] The unique ID of the organization membership. - # @param role [WorkOS::UserManagement::RoleSingle, WorkOS::UserManagement::RoleMultiple, nil] Identifies the role. - # @param request_options [Hash] (see WorkOS::Types::RequestOptions) - # @return [WorkOS::UserOrganizationMembership] - def update_organization_membership( - id:, - role: nil, - request_options: {} - ) - body = {} - if role - case role - when WorkOS::UserManagement::RoleSingle - body["role_slug"] = role.role_slug - when WorkOS::UserManagement::RoleMultiple - body["role_slugs"] = role.role_slugs - else - raise ArgumentError, "expected role to be one of: WorkOS::UserManagement::RoleSingle, WorkOS::UserManagement::RoleMultiple, got #{role.class}" - end - end - response = @client.request( - method: :put, - path: "/user_management/organization_memberships/#{WorkOS::Util.encode_path(id)}", - auth: true, - body: body, - request_options: request_options - ) - result = WorkOS::UserOrganizationMembership.new(response.body) - result.last_response = WorkOS::Types::ApiResponse.new(http_status: response.code.to_i, http_headers: response.each_header.to_h, request_id: response["x-request-id"]) - result - end - - # Delete an organization membership - # @param id [String] The unique ID of the organization membership. - # @param request_options [Hash] (see WorkOS::Types::RequestOptions) - # @return [void] - def delete_organization_membership( - id:, - request_options: {} - ) - @client.request( - method: :delete, - path: "/user_management/organization_memberships/#{WorkOS::Util.encode_path(id)}", - auth: true, - request_options: request_options - ) - nil - end - - # Deactivate an organization membership - # @param id [String] The unique ID of the organization membership. - # @param request_options [Hash] (see WorkOS::Types::RequestOptions) - # @return [WorkOS::OrganizationMembership] - def deactivate_organization_membership( - id:, - request_options: {} - ) - response = @client.request( - method: :put, - path: "/user_management/organization_memberships/#{WorkOS::Util.encode_path(id)}/deactivate", - auth: true, - request_options: request_options - ) - result = WorkOS::OrganizationMembership.new(response.body) - result.last_response = WorkOS::Types::ApiResponse.new(http_status: response.code.to_i, http_headers: response.each_header.to_h, request_id: response["x-request-id"]) - result - end - - # Reactivate an organization membership - # @param id [String] The unique ID of the organization membership. - # @param request_options [Hash] (see WorkOS::Types::RequestOptions) - # @return [WorkOS::UserOrganizationMembership] - def reactivate_organization_membership( - id:, - request_options: {} - ) - response = @client.request( - method: :put, - path: "/user_management/organization_memberships/#{WorkOS::Util.encode_path(id)}/reactivate", - auth: true, - request_options: request_options - ) - result = WorkOS::UserOrganizationMembership.new(response.body) - result.last_response = WorkOS::Types::ApiResponse.new(http_status: response.code.to_i, http_headers: response.each_header.to_h, request_id: response["x-request-id"]) - result - end - # Create a redirect URI # @param uri [String] The redirect URI to create. # @param request_options [Hash] (see WorkOS::Types::RequestOptions) @@ -1573,6 +1360,7 @@ def list_user_api_keys( # @param name [String] A descriptive name for the API key. # @param organization_id [String] The ID of the organization the user API key is associated with. The user must have an active membership in this organization. # @param permissions [Array, nil] The permission slugs to assign to the API key. Each permission must be enabled for user API keys. + # @param expires_at [String, nil] The timestamp when the API key should expire. Must be a future timestamp. If omitted, the key does not expire. # @param request_options [Hash] (see WorkOS::Types::RequestOptions) # @return [WorkOS::UserApiKeyWithValue] def create_user_api_key( @@ -1580,12 +1368,14 @@ def create_user_api_key( name:, organization_id:, permissions: nil, + expires_at: nil, request_options: {} ) body = { "name" => name, "organization_id" => organization_id, - "permissions" => permissions + "permissions" => permissions, + "expires_at" => expires_at }.compact response = @client.request( method: :post, diff --git a/lib/workos/user_management/action_authentication_denied.rb b/lib/workos/user_management/action_authentication_denied.rb index 3a9dc236..e4a9372a 100644 --- a/lib/workos/user_management/action_authentication_denied.rb +++ b/lib/workos/user_management/action_authentication_denied.rb @@ -5,30 +5,30 @@ module WorkOS class ActionAuthenticationDenied < WorkOS::Types::BaseModel HASH_ATTRS = { + object: :object, id: :id, event: :event, data: :data, - context: :context, created_at: :created_at, - object: :object + context: :context }.freeze attr_accessor \ + :object, :id, :event, :data, - :context, :created_at, - :object + :context def initialize(json) hash = self.class.normalize(json) + @object = hash[:object] @id = hash[:id] @event = hash[:event] @data = hash[:data] ? WorkOS::ActionAuthenticationDeniedData.new(hash[:data]) : nil - @context = hash[:context] ? WorkOS::EventContext.new(hash[:context]) : nil @created_at = hash[:created_at] - @object = hash[:object] + @context = hash[:context] ? WorkOS::EventContext.new(hash[:context]) : nil end end end diff --git a/lib/workos/user_management/action_user_registration_denied.rb b/lib/workos/user_management/action_user_registration_denied.rb index 0a9f39b0..725ecd26 100644 --- a/lib/workos/user_management/action_user_registration_denied.rb +++ b/lib/workos/user_management/action_user_registration_denied.rb @@ -5,30 +5,30 @@ module WorkOS class ActionUserRegistrationDenied < WorkOS::Types::BaseModel HASH_ATTRS = { + object: :object, id: :id, event: :event, data: :data, - context: :context, created_at: :created_at, - object: :object + context: :context }.freeze attr_accessor \ + :object, :id, :event, :data, - :context, :created_at, - :object + :context def initialize(json) hash = self.class.normalize(json) + @object = hash[:object] @id = hash[:id] @event = hash[:event] @data = hash[:data] ? WorkOS::ActionUserRegistrationDeniedData.new(hash[:data]) : nil - @context = hash[:context] ? WorkOS::EventContext.new(hash[:context]) : nil @created_at = hash[:created_at] - @object = hash[:object] + @context = hash[:context] ? WorkOS::EventContext.new(hash[:context]) : nil end end end diff --git a/lib/workos/user_management/authentication_email_verification_failed.rb b/lib/workos/user_management/authentication_email_verification_failed.rb index 20e6f964..8dddb26e 100644 --- a/lib/workos/user_management/authentication_email_verification_failed.rb +++ b/lib/workos/user_management/authentication_email_verification_failed.rb @@ -5,30 +5,30 @@ module WorkOS class AuthenticationEmailVerificationFailed < WorkOS::Types::BaseModel HASH_ATTRS = { + object: :object, id: :id, event: :event, data: :data, created_at: :created_at, - context: :context, - object: :object + context: :context }.freeze attr_accessor \ + :object, :id, :event, :data, :created_at, - :context, - :object + :context def initialize(json) hash = self.class.normalize(json) + @object = hash[:object] @id = hash[:id] @event = hash[:event] @data = hash[:data] ? WorkOS::AuthenticationEmailVerificationFailedData.new(hash[:data]) : nil @created_at = hash[:created_at] @context = hash[:context] ? WorkOS::EventContext.new(hash[:context]) : nil - @object = hash[:object] end end end diff --git a/lib/workos/user_management/authentication_email_verification_succeeded.rb b/lib/workos/user_management/authentication_email_verification_succeeded.rb index c8c57a98..9d836c03 100644 --- a/lib/workos/user_management/authentication_email_verification_succeeded.rb +++ b/lib/workos/user_management/authentication_email_verification_succeeded.rb @@ -5,30 +5,30 @@ module WorkOS class AuthenticationEmailVerificationSucceeded < WorkOS::Types::BaseModel HASH_ATTRS = { + object: :object, id: :id, event: :event, data: :data, created_at: :created_at, - context: :context, - object: :object + context: :context }.freeze attr_accessor \ + :object, :id, :event, :data, :created_at, - :context, - :object + :context def initialize(json) hash = self.class.normalize(json) + @object = hash[:object] @id = hash[:id] @event = hash[:event] @data = hash[:data] ? WorkOS::AuthenticationEmailVerificationSucceededData.new(hash[:data]) : nil @created_at = hash[:created_at] @context = hash[:context] ? WorkOS::EventContext.new(hash[:context]) : nil - @object = hash[:object] end end end diff --git a/lib/workos/user_management/authentication_magic_auth_failed.rb b/lib/workos/user_management/authentication_magic_auth_failed.rb index 38d2e6af..0236d6e7 100644 --- a/lib/workos/user_management/authentication_magic_auth_failed.rb +++ b/lib/workos/user_management/authentication_magic_auth_failed.rb @@ -5,30 +5,30 @@ module WorkOS class AuthenticationMagicAuthFailed < WorkOS::Types::BaseModel HASH_ATTRS = { + object: :object, id: :id, event: :event, data: :data, created_at: :created_at, - context: :context, - object: :object + context: :context }.freeze attr_accessor \ + :object, :id, :event, :data, :created_at, - :context, - :object + :context def initialize(json) hash = self.class.normalize(json) + @object = hash[:object] @id = hash[:id] @event = hash[:event] @data = hash[:data] ? WorkOS::AuthenticationMagicAuthFailedData.new(hash[:data]) : nil @created_at = hash[:created_at] @context = hash[:context] ? WorkOS::EventContext.new(hash[:context]) : nil - @object = hash[:object] end end end diff --git a/lib/workos/user_management/authentication_magic_auth_succeeded.rb b/lib/workos/user_management/authentication_magic_auth_succeeded.rb index 9016c31b..d3cb83be 100644 --- a/lib/workos/user_management/authentication_magic_auth_succeeded.rb +++ b/lib/workos/user_management/authentication_magic_auth_succeeded.rb @@ -5,30 +5,30 @@ module WorkOS class AuthenticationMagicAuthSucceeded < WorkOS::Types::BaseModel HASH_ATTRS = { + object: :object, id: :id, event: :event, data: :data, created_at: :created_at, - context: :context, - object: :object + context: :context }.freeze attr_accessor \ + :object, :id, :event, :data, :created_at, - :context, - :object + :context def initialize(json) hash = self.class.normalize(json) + @object = hash[:object] @id = hash[:id] @event = hash[:event] @data = hash[:data] ? WorkOS::AuthenticationMagicAuthSucceededData.new(hash[:data]) : nil @created_at = hash[:created_at] @context = hash[:context] ? WorkOS::EventContext.new(hash[:context]) : nil - @object = hash[:object] end end end diff --git a/lib/workos/user_management/authentication_mfa_failed.rb b/lib/workos/user_management/authentication_mfa_failed.rb index 4e0a6f5a..440692bc 100644 --- a/lib/workos/user_management/authentication_mfa_failed.rb +++ b/lib/workos/user_management/authentication_mfa_failed.rb @@ -5,30 +5,30 @@ module WorkOS class AuthenticationMFAFailed < WorkOS::Types::BaseModel HASH_ATTRS = { + object: :object, id: :id, event: :event, data: :data, created_at: :created_at, - context: :context, - object: :object + context: :context }.freeze attr_accessor \ + :object, :id, :event, :data, :created_at, - :context, - :object + :context def initialize(json) hash = self.class.normalize(json) + @object = hash[:object] @id = hash[:id] @event = hash[:event] @data = hash[:data] ? WorkOS::AuthenticationMFAFailedData.new(hash[:data]) : nil @created_at = hash[:created_at] @context = hash[:context] ? WorkOS::EventContext.new(hash[:context]) : nil - @object = hash[:object] end end end diff --git a/lib/workos/user_management/authentication_mfa_succeeded.rb b/lib/workos/user_management/authentication_mfa_succeeded.rb index 34177373..7321bbc5 100644 --- a/lib/workos/user_management/authentication_mfa_succeeded.rb +++ b/lib/workos/user_management/authentication_mfa_succeeded.rb @@ -5,30 +5,30 @@ module WorkOS class AuthenticationMFASucceeded < WorkOS::Types::BaseModel HASH_ATTRS = { + object: :object, id: :id, event: :event, data: :data, created_at: :created_at, - context: :context, - object: :object + context: :context }.freeze attr_accessor \ + :object, :id, :event, :data, :created_at, - :context, - :object + :context def initialize(json) hash = self.class.normalize(json) + @object = hash[:object] @id = hash[:id] @event = hash[:event] @data = hash[:data] ? WorkOS::AuthenticationMFASucceededData.new(hash[:data]) : nil @created_at = hash[:created_at] @context = hash[:context] ? WorkOS::EventContext.new(hash[:context]) : nil - @object = hash[:object] end end end diff --git a/lib/workos/user_management/authentication_oauth_failed.rb b/lib/workos/user_management/authentication_oauth_failed.rb index d76b5284..5eb98ce2 100644 --- a/lib/workos/user_management/authentication_oauth_failed.rb +++ b/lib/workos/user_management/authentication_oauth_failed.rb @@ -5,30 +5,30 @@ module WorkOS class AuthenticationOAuthFailed < WorkOS::Types::BaseModel HASH_ATTRS = { + object: :object, id: :id, event: :event, data: :data, created_at: :created_at, - context: :context, - object: :object + context: :context }.freeze attr_accessor \ + :object, :id, :event, :data, :created_at, - :context, - :object + :context def initialize(json) hash = self.class.normalize(json) + @object = hash[:object] @id = hash[:id] @event = hash[:event] @data = hash[:data] ? WorkOS::AuthenticationOAuthFailedData.new(hash[:data]) : nil @created_at = hash[:created_at] @context = hash[:context] ? WorkOS::EventContext.new(hash[:context]) : nil - @object = hash[:object] end end end diff --git a/lib/workos/user_management/authentication_oauth_succeeded.rb b/lib/workos/user_management/authentication_oauth_succeeded.rb index c224dcb2..3b1d0e38 100644 --- a/lib/workos/user_management/authentication_oauth_succeeded.rb +++ b/lib/workos/user_management/authentication_oauth_succeeded.rb @@ -5,30 +5,30 @@ module WorkOS class AuthenticationOAuthSucceeded < WorkOS::Types::BaseModel HASH_ATTRS = { + object: :object, id: :id, event: :event, data: :data, created_at: :created_at, - context: :context, - object: :object + context: :context }.freeze attr_accessor \ + :object, :id, :event, :data, :created_at, - :context, - :object + :context def initialize(json) hash = self.class.normalize(json) + @object = hash[:object] @id = hash[:id] @event = hash[:event] @data = hash[:data] ? WorkOS::AuthenticationOAuthSucceededData.new(hash[:data]) : nil @created_at = hash[:created_at] @context = hash[:context] ? WorkOS::EventContext.new(hash[:context]) : nil - @object = hash[:object] end end end diff --git a/lib/workos/user_management/authentication_passkey_failed.rb b/lib/workos/user_management/authentication_passkey_failed.rb index 35608fc2..d92a8050 100644 --- a/lib/workos/user_management/authentication_passkey_failed.rb +++ b/lib/workos/user_management/authentication_passkey_failed.rb @@ -5,30 +5,30 @@ module WorkOS class AuthenticationPasskeyFailed < WorkOS::Types::BaseModel HASH_ATTRS = { + object: :object, id: :id, event: :event, data: :data, created_at: :created_at, - context: :context, - object: :object + context: :context }.freeze attr_accessor \ + :object, :id, :event, :data, :created_at, - :context, - :object + :context def initialize(json) hash = self.class.normalize(json) + @object = hash[:object] @id = hash[:id] @event = hash[:event] @data = hash[:data] ? WorkOS::AuthenticationPasskeyFailedData.new(hash[:data]) : nil @created_at = hash[:created_at] @context = hash[:context] ? WorkOS::EventContext.new(hash[:context]) : nil - @object = hash[:object] end end end diff --git a/lib/workos/user_management/authentication_passkey_succeeded.rb b/lib/workos/user_management/authentication_passkey_succeeded.rb index 043610c9..f9a7342b 100644 --- a/lib/workos/user_management/authentication_passkey_succeeded.rb +++ b/lib/workos/user_management/authentication_passkey_succeeded.rb @@ -5,30 +5,30 @@ module WorkOS class AuthenticationPasskeySucceeded < WorkOS::Types::BaseModel HASH_ATTRS = { + object: :object, id: :id, event: :event, data: :data, created_at: :created_at, - context: :context, - object: :object + context: :context }.freeze attr_accessor \ + :object, :id, :event, :data, :created_at, - :context, - :object + :context def initialize(json) hash = self.class.normalize(json) + @object = hash[:object] @id = hash[:id] @event = hash[:event] @data = hash[:data] ? WorkOS::AuthenticationPasskeySucceededData.new(hash[:data]) : nil @created_at = hash[:created_at] @context = hash[:context] ? WorkOS::EventContext.new(hash[:context]) : nil - @object = hash[:object] end end end diff --git a/lib/workos/user_management/authentication_password_failed.rb b/lib/workos/user_management/authentication_password_failed.rb index de4efe20..194fa43a 100644 --- a/lib/workos/user_management/authentication_password_failed.rb +++ b/lib/workos/user_management/authentication_password_failed.rb @@ -5,30 +5,30 @@ module WorkOS class AuthenticationPasswordFailed < WorkOS::Types::BaseModel HASH_ATTRS = { + object: :object, id: :id, event: :event, data: :data, created_at: :created_at, - context: :context, - object: :object + context: :context }.freeze attr_accessor \ + :object, :id, :event, :data, :created_at, - :context, - :object + :context def initialize(json) hash = self.class.normalize(json) + @object = hash[:object] @id = hash[:id] @event = hash[:event] @data = hash[:data] ? WorkOS::AuthenticationPasswordFailedData.new(hash[:data]) : nil @created_at = hash[:created_at] @context = hash[:context] ? WorkOS::EventContext.new(hash[:context]) : nil - @object = hash[:object] end end end diff --git a/lib/workos/user_management/authentication_password_succeeded.rb b/lib/workos/user_management/authentication_password_succeeded.rb index 49dc4a18..fa3f9884 100644 --- a/lib/workos/user_management/authentication_password_succeeded.rb +++ b/lib/workos/user_management/authentication_password_succeeded.rb @@ -5,30 +5,30 @@ module WorkOS class AuthenticationPasswordSucceeded < WorkOS::Types::BaseModel HASH_ATTRS = { + object: :object, id: :id, event: :event, data: :data, created_at: :created_at, - context: :context, - object: :object + context: :context }.freeze attr_accessor \ + :object, :id, :event, :data, :created_at, - :context, - :object + :context def initialize(json) hash = self.class.normalize(json) + @object = hash[:object] @id = hash[:id] @event = hash[:event] @data = hash[:data] ? WorkOS::AuthenticationPasswordSucceededData.new(hash[:data]) : nil @created_at = hash[:created_at] @context = hash[:context] ? WorkOS::EventContext.new(hash[:context]) : nil - @object = hash[:object] end end end diff --git a/lib/workos/user_management/authentication_radar_risk_detected.rb b/lib/workos/user_management/authentication_radar_risk_detected.rb index 02a6c9c0..b0f299d8 100644 --- a/lib/workos/user_management/authentication_radar_risk_detected.rb +++ b/lib/workos/user_management/authentication_radar_risk_detected.rb @@ -5,30 +5,30 @@ module WorkOS class AuthenticationRadarRiskDetected < WorkOS::Types::BaseModel HASH_ATTRS = { + object: :object, id: :id, event: :event, data: :data, created_at: :created_at, - context: :context, - object: :object + context: :context }.freeze attr_accessor \ + :object, :id, :event, :data, :created_at, - :context, - :object + :context def initialize(json) hash = self.class.normalize(json) + @object = hash[:object] @id = hash[:id] @event = hash[:event] @data = hash[:data] ? WorkOS::AuthenticationRadarRiskDetectedData.new(hash[:data]) : nil @created_at = hash[:created_at] @context = hash[:context] ? WorkOS::EventContext.new(hash[:context]) : nil - @object = hash[:object] end end end diff --git a/lib/workos/user_management/authentication_sso_failed.rb b/lib/workos/user_management/authentication_sso_failed.rb index 52584c18..8f58d894 100644 --- a/lib/workos/user_management/authentication_sso_failed.rb +++ b/lib/workos/user_management/authentication_sso_failed.rb @@ -5,30 +5,30 @@ module WorkOS class AuthenticationSSOFailed < WorkOS::Types::BaseModel HASH_ATTRS = { + object: :object, id: :id, event: :event, data: :data, created_at: :created_at, - context: :context, - object: :object + context: :context }.freeze attr_accessor \ + :object, :id, :event, :data, :created_at, - :context, - :object + :context def initialize(json) hash = self.class.normalize(json) + @object = hash[:object] @id = hash[:id] @event = hash[:event] @data = hash[:data] ? WorkOS::AuthenticationSSOFailedData.new(hash[:data]) : nil @created_at = hash[:created_at] @context = hash[:context] ? WorkOS::EventContext.new(hash[:context]) : nil - @object = hash[:object] end end end diff --git a/lib/workos/user_management/authentication_sso_started.rb b/lib/workos/user_management/authentication_sso_started.rb index 23dc9e54..8c01fc05 100644 --- a/lib/workos/user_management/authentication_sso_started.rb +++ b/lib/workos/user_management/authentication_sso_started.rb @@ -5,30 +5,30 @@ module WorkOS class AuthenticationSSOStarted < WorkOS::Types::BaseModel HASH_ATTRS = { + object: :object, id: :id, event: :event, data: :data, created_at: :created_at, - context: :context, - object: :object + context: :context }.freeze attr_accessor \ + :object, :id, :event, :data, :created_at, - :context, - :object + :context def initialize(json) hash = self.class.normalize(json) + @object = hash[:object] @id = hash[:id] @event = hash[:event] @data = hash[:data] ? WorkOS::AuthenticationSSOStartedData.new(hash[:data]) : nil @created_at = hash[:created_at] @context = hash[:context] ? WorkOS::EventContext.new(hash[:context]) : nil - @object = hash[:object] end end end diff --git a/lib/workos/user_management/authentication_sso_succeeded.rb b/lib/workos/user_management/authentication_sso_succeeded.rb index 61e48f9b..3941b56e 100644 --- a/lib/workos/user_management/authentication_sso_succeeded.rb +++ b/lib/workos/user_management/authentication_sso_succeeded.rb @@ -5,30 +5,30 @@ module WorkOS class AuthenticationSSOSucceeded < WorkOS::Types::BaseModel HASH_ATTRS = { + object: :object, id: :id, event: :event, data: :data, created_at: :created_at, - context: :context, - object: :object + context: :context }.freeze attr_accessor \ + :object, :id, :event, :data, :created_at, - :context, - :object + :context def initialize(json) hash = self.class.normalize(json) + @object = hash[:object] @id = hash[:id] @event = hash[:event] @data = hash[:data] ? WorkOS::AuthenticationSSOSucceededData.new(hash[:data]) : nil @created_at = hash[:created_at] @context = hash[:context] ? WorkOS::EventContext.new(hash[:context]) : nil - @object = hash[:object] end end end diff --git a/lib/workos/user_management/authentication_sso_timed_out.rb b/lib/workos/user_management/authentication_sso_timed_out.rb index cb52f547..128992a0 100644 --- a/lib/workos/user_management/authentication_sso_timed_out.rb +++ b/lib/workos/user_management/authentication_sso_timed_out.rb @@ -5,30 +5,30 @@ module WorkOS class AuthenticationSSOTimedOut < WorkOS::Types::BaseModel HASH_ATTRS = { + object: :object, id: :id, event: :event, data: :data, created_at: :created_at, - context: :context, - object: :object + context: :context }.freeze attr_accessor \ + :object, :id, :event, :data, :created_at, - :context, - :object + :context def initialize(json) hash = self.class.normalize(json) + @object = hash[:object] @id = hash[:id] @event = hash[:event] @data = hash[:data] ? WorkOS::AuthenticationSSOTimedOutData.new(hash[:data]) : nil @created_at = hash[:created_at] @context = hash[:context] ? WorkOS::EventContext.new(hash[:context]) : nil - @object = hash[:object] end end end diff --git a/lib/workos/user_management/create_user_api_key.rb b/lib/workos/user_management/create_user_api_key.rb index 17cf44f5..55a3679b 100644 --- a/lib/workos/user_management/create_user_api_key.rb +++ b/lib/workos/user_management/create_user_api_key.rb @@ -7,19 +7,22 @@ class CreateUserApiKey < WorkOS::Types::BaseModel HASH_ATTRS = { name: :name, organization_id: :organization_id, - permissions: :permissions + permissions: :permissions, + expires_at: :expires_at }.freeze attr_accessor \ :name, :organization_id, - :permissions + :permissions, + :expires_at def initialize(json) hash = self.class.normalize(json) @name = hash[:name] @organization_id = hash[:organization_id] @permissions = hash[:permissions] || [] + @expires_at = hash[:expires_at] end end end diff --git a/lib/workos/user_management/email_verification_created.rb b/lib/workos/user_management/email_verification_created.rb index c9472ad4..2a11f516 100644 --- a/lib/workos/user_management/email_verification_created.rb +++ b/lib/workos/user_management/email_verification_created.rb @@ -5,30 +5,30 @@ module WorkOS class EmailVerificationCreated < WorkOS::Types::BaseModel HASH_ATTRS = { + object: :object, id: :id, event: :event, data: :data, created_at: :created_at, - context: :context, - object: :object + context: :context }.freeze attr_accessor \ + :object, :id, :event, :data, :created_at, - :context, - :object + :context def initialize(json) hash = self.class.normalize(json) + @object = hash[:object] @id = hash[:id] @event = hash[:event] @data = hash[:data] ? WorkOS::EmailVerificationCreatedData.new(hash[:data]) : nil @created_at = hash[:created_at] @context = hash[:context] ? WorkOS::EventContext.new(hash[:context]) : nil - @object = hash[:object] end end end diff --git a/lib/workos/user_management/invitation_accepted.rb b/lib/workos/user_management/invitation_accepted.rb index 132f9bbe..1de5574c 100644 --- a/lib/workos/user_management/invitation_accepted.rb +++ b/lib/workos/user_management/invitation_accepted.rb @@ -5,30 +5,30 @@ module WorkOS class InvitationAccepted < WorkOS::Types::BaseModel HASH_ATTRS = { + object: :object, id: :id, event: :event, data: :data, created_at: :created_at, - context: :context, - object: :object + context: :context }.freeze attr_accessor \ + :object, :id, :event, :data, :created_at, - :context, - :object + :context def initialize(json) hash = self.class.normalize(json) + @object = hash[:object] @id = hash[:id] @event = hash[:event] @data = hash[:data] ? WorkOS::InvitationAcceptedData.new(hash[:data]) : nil @created_at = hash[:created_at] @context = hash[:context] ? WorkOS::EventContext.new(hash[:context]) : nil - @object = hash[:object] end end end diff --git a/lib/workos/user_management/invitation_created.rb b/lib/workos/user_management/invitation_created.rb index 989bc023..e915002c 100644 --- a/lib/workos/user_management/invitation_created.rb +++ b/lib/workos/user_management/invitation_created.rb @@ -5,30 +5,30 @@ module WorkOS class InvitationCreated < WorkOS::Types::BaseModel HASH_ATTRS = { + object: :object, id: :id, event: :event, data: :data, created_at: :created_at, - context: :context, - object: :object + context: :context }.freeze attr_accessor \ + :object, :id, :event, :data, :created_at, - :context, - :object + :context def initialize(json) hash = self.class.normalize(json) + @object = hash[:object] @id = hash[:id] @event = hash[:event] @data = hash[:data] ? WorkOS::InvitationCreatedData.new(hash[:data]) : nil @created_at = hash[:created_at] @context = hash[:context] ? WorkOS::EventContext.new(hash[:context]) : nil - @object = hash[:object] end end end diff --git a/lib/workos/user_management/invitation_resent.rb b/lib/workos/user_management/invitation_resent.rb index b89d7768..cf398c67 100644 --- a/lib/workos/user_management/invitation_resent.rb +++ b/lib/workos/user_management/invitation_resent.rb @@ -5,30 +5,30 @@ module WorkOS class InvitationResent < WorkOS::Types::BaseModel HASH_ATTRS = { + object: :object, id: :id, event: :event, data: :data, created_at: :created_at, - context: :context, - object: :object + context: :context }.freeze attr_accessor \ + :object, :id, :event, :data, :created_at, - :context, - :object + :context def initialize(json) hash = self.class.normalize(json) + @object = hash[:object] @id = hash[:id] @event = hash[:event] @data = hash[:data] ? WorkOS::InvitationResentData.new(hash[:data]) : nil @created_at = hash[:created_at] @context = hash[:context] ? WorkOS::EventContext.new(hash[:context]) : nil - @object = hash[:object] end end end diff --git a/lib/workos/user_management/invitation_revoked.rb b/lib/workos/user_management/invitation_revoked.rb index d0f28b55..66158a41 100644 --- a/lib/workos/user_management/invitation_revoked.rb +++ b/lib/workos/user_management/invitation_revoked.rb @@ -5,30 +5,30 @@ module WorkOS class InvitationRevoked < WorkOS::Types::BaseModel HASH_ATTRS = { + object: :object, id: :id, event: :event, data: :data, created_at: :created_at, - context: :context, - object: :object + context: :context }.freeze attr_accessor \ + :object, :id, :event, :data, :created_at, - :context, - :object + :context def initialize(json) hash = self.class.normalize(json) + @object = hash[:object] @id = hash[:id] @event = hash[:event] @data = hash[:data] ? WorkOS::InvitationRevokedData.new(hash[:data]) : nil @created_at = hash[:created_at] @context = hash[:context] ? WorkOS::EventContext.new(hash[:context]) : nil - @object = hash[:object] end end end diff --git a/lib/workos/user_management/magic_auth_created.rb b/lib/workos/user_management/magic_auth_created.rb index e356dd07..4175be6f 100644 --- a/lib/workos/user_management/magic_auth_created.rb +++ b/lib/workos/user_management/magic_auth_created.rb @@ -5,30 +5,30 @@ module WorkOS class MagicAuthCreated < WorkOS::Types::BaseModel HASH_ATTRS = { + object: :object, id: :id, event: :event, data: :data, created_at: :created_at, - context: :context, - object: :object + context: :context }.freeze attr_accessor \ + :object, :id, :event, :data, :created_at, - :context, - :object + :context def initialize(json) hash = self.class.normalize(json) + @object = hash[:object] @id = hash[:id] @event = hash[:event] @data = hash[:data] ? WorkOS::MagicAuthCreatedData.new(hash[:data]) : nil @created_at = hash[:created_at] @context = hash[:context] ? WorkOS::EventContext.new(hash[:context]) : nil - @object = hash[:object] end end end diff --git a/lib/workos/user_management/password_reset_created.rb b/lib/workos/user_management/password_reset_created.rb index 1ab44295..c10a0cb7 100644 --- a/lib/workos/user_management/password_reset_created.rb +++ b/lib/workos/user_management/password_reset_created.rb @@ -5,30 +5,30 @@ module WorkOS class PasswordResetCreated < WorkOS::Types::BaseModel HASH_ATTRS = { + object: :object, id: :id, event: :event, data: :data, created_at: :created_at, - context: :context, - object: :object + context: :context }.freeze attr_accessor \ + :object, :id, :event, :data, :created_at, - :context, - :object + :context def initialize(json) hash = self.class.normalize(json) + @object = hash[:object] @id = hash[:id] @event = hash[:event] @data = hash[:data] ? WorkOS::PasswordResetCreatedData.new(hash[:data]) : nil @created_at = hash[:created_at] @context = hash[:context] ? WorkOS::EventContext.new(hash[:context]) : nil - @object = hash[:object] end end end diff --git a/lib/workos/user_management/password_reset_succeeded.rb b/lib/workos/user_management/password_reset_succeeded.rb index 7865b21b..59b459d3 100644 --- a/lib/workos/user_management/password_reset_succeeded.rb +++ b/lib/workos/user_management/password_reset_succeeded.rb @@ -5,30 +5,30 @@ module WorkOS class PasswordResetSucceeded < WorkOS::Types::BaseModel HASH_ATTRS = { + object: :object, id: :id, event: :event, data: :data, created_at: :created_at, - context: :context, - object: :object + context: :context }.freeze attr_accessor \ + :object, :id, :event, :data, :created_at, - :context, - :object + :context def initialize(json) hash = self.class.normalize(json) + @object = hash[:object] @id = hash[:id] @event = hash[:event] @data = hash[:data] ? WorkOS::PasswordResetSucceededData.new(hash[:data]) : nil @created_at = hash[:created_at] @context = hash[:context] ? WorkOS::EventContext.new(hash[:context]) : nil - @object = hash[:object] end end end diff --git a/lib/workos/user_management/session_created.rb b/lib/workos/user_management/session_created.rb index 452066ba..692c7cf4 100644 --- a/lib/workos/user_management/session_created.rb +++ b/lib/workos/user_management/session_created.rb @@ -5,30 +5,30 @@ module WorkOS class SessionCreated < WorkOS::Types::BaseModel HASH_ATTRS = { + object: :object, id: :id, event: :event, data: :data, created_at: :created_at, - context: :context, - object: :object + context: :context }.freeze attr_accessor \ + :object, :id, :event, :data, :created_at, - :context, - :object + :context def initialize(json) hash = self.class.normalize(json) + @object = hash[:object] @id = hash[:id] @event = hash[:event] @data = hash[:data] ? WorkOS::SessionCreatedData.new(hash[:data]) : nil @created_at = hash[:created_at] @context = hash[:context] ? WorkOS::EventContext.new(hash[:context]) : nil - @object = hash[:object] end end end diff --git a/lib/workos/user_management/session_revoked.rb b/lib/workos/user_management/session_revoked.rb index 4e7c0338..1fafc21a 100644 --- a/lib/workos/user_management/session_revoked.rb +++ b/lib/workos/user_management/session_revoked.rb @@ -5,30 +5,30 @@ module WorkOS class SessionRevoked < WorkOS::Types::BaseModel HASH_ATTRS = { + object: :object, id: :id, event: :event, data: :data, created_at: :created_at, - context: :context, - object: :object + context: :context }.freeze attr_accessor \ + :object, :id, :event, :data, :created_at, - :context, - :object + :context def initialize(json) hash = self.class.normalize(json) + @object = hash[:object] @id = hash[:id] @event = hash[:event] @data = hash[:data] ? WorkOS::SessionRevokedData.new(hash[:data]) : nil @created_at = hash[:created_at] @context = hash[:context] ? WorkOS::EventContext.new(hash[:context]) : nil - @object = hash[:object] end end end diff --git a/lib/workos/user_management/user_api_key.rb b/lib/workos/user_management/user_api_key.rb index cd68aec5..6d3d01e8 100644 --- a/lib/workos/user_management/user_api_key.rb +++ b/lib/workos/user_management/user_api_key.rb @@ -11,6 +11,7 @@ class UserApiKey < WorkOS::Types::BaseModel name: :name, obfuscated_value: :obfuscated_value, last_used_at: :last_used_at, + expires_at: :expires_at, permissions: :permissions, created_at: :created_at, updated_at: :updated_at @@ -23,6 +24,7 @@ class UserApiKey < WorkOS::Types::BaseModel :name, :obfuscated_value, :last_used_at, + :expires_at, :permissions, :created_at, :updated_at @@ -35,6 +37,7 @@ def initialize(json) @name = hash[:name] @obfuscated_value = hash[:obfuscated_value] @last_used_at = hash[:last_used_at] + @expires_at = hash[:expires_at] @permissions = hash[:permissions] || [] @created_at = hash[:created_at] @updated_at = hash[:updated_at] diff --git a/lib/workos/user_management/user_api_key_with_value.rb b/lib/workos/user_management/user_api_key_with_value.rb index 6016ae72..38129d27 100644 --- a/lib/workos/user_management/user_api_key_with_value.rb +++ b/lib/workos/user_management/user_api_key_with_value.rb @@ -11,6 +11,7 @@ class UserApiKeyWithValue < WorkOS::Types::BaseModel name: :name, obfuscated_value: :obfuscated_value, last_used_at: :last_used_at, + expires_at: :expires_at, permissions: :permissions, created_at: :created_at, updated_at: :updated_at, @@ -24,6 +25,7 @@ class UserApiKeyWithValue < WorkOS::Types::BaseModel :name, :obfuscated_value, :last_used_at, + :expires_at, :permissions, :created_at, :updated_at, @@ -37,6 +39,7 @@ def initialize(json) @name = hash[:name] @obfuscated_value = hash[:obfuscated_value] @last_used_at = hash[:last_used_at] + @expires_at = hash[:expires_at] @permissions = hash[:permissions] || [] @created_at = hash[:created_at] @updated_at = hash[:updated_at] diff --git a/lib/workos/user_management/user_created.rb b/lib/workos/user_management/user_created.rb index 946d31ed..a07b4122 100644 --- a/lib/workos/user_management/user_created.rb +++ b/lib/workos/user_management/user_created.rb @@ -5,30 +5,30 @@ module WorkOS class UserCreated < WorkOS::Types::BaseModel HASH_ATTRS = { + object: :object, id: :id, event: :event, data: :data, created_at: :created_at, - context: :context, - object: :object + context: :context }.freeze attr_accessor \ + :object, :id, :event, :data, :created_at, - :context, - :object + :context def initialize(json) hash = self.class.normalize(json) + @object = hash[:object] @id = hash[:id] @event = hash[:event] @data = hash[:data] ? WorkOS::User.new(hash[:data]) : nil @created_at = hash[:created_at] @context = hash[:context] ? WorkOS::EventContext.new(hash[:context]) : nil - @object = hash[:object] end end end diff --git a/lib/workos/user_management/user_deleted.rb b/lib/workos/user_management/user_deleted.rb index 1671fe12..db90b34d 100644 --- a/lib/workos/user_management/user_deleted.rb +++ b/lib/workos/user_management/user_deleted.rb @@ -5,30 +5,30 @@ module WorkOS class UserDeleted < WorkOS::Types::BaseModel HASH_ATTRS = { + object: :object, id: :id, event: :event, data: :data, created_at: :created_at, - context: :context, - object: :object + context: :context }.freeze attr_accessor \ + :object, :id, :event, :data, :created_at, - :context, - :object + :context def initialize(json) hash = self.class.normalize(json) + @object = hash[:object] @id = hash[:id] @event = hash[:event] @data = hash[:data] ? WorkOS::User.new(hash[:data]) : nil @created_at = hash[:created_at] @context = hash[:context] ? WorkOS::EventContext.new(hash[:context]) : nil - @object = hash[:object] end end end diff --git a/lib/workos/user_management/user_updated.rb b/lib/workos/user_management/user_updated.rb index 50a1b426..d4efbd55 100644 --- a/lib/workos/user_management/user_updated.rb +++ b/lib/workos/user_management/user_updated.rb @@ -5,30 +5,30 @@ module WorkOS class UserUpdated < WorkOS::Types::BaseModel HASH_ATTRS = { + object: :object, id: :id, event: :event, data: :data, created_at: :created_at, - context: :context, - object: :object + context: :context }.freeze attr_accessor \ + :object, :id, :event, :data, :created_at, - :context, - :object + :context def initialize(json) hash = self.class.normalize(json) + @object = hash[:object] @id = hash[:id] @event = hash[:event] @data = hash[:data] ? WorkOS::User.new(hash[:data]) : nil @created_at = hash[:created_at] @context = hash[:context] ? WorkOS::EventContext.new(hash[:context]) : nil - @object = hash[:object] end end end diff --git a/lib/workos/user_management_organization_membership_groups.rb b/lib/workos/user_management_organization_membership_groups.rb deleted file mode 100644 index f2cad83f..00000000 --- a/lib/workos/user_management_organization_membership_groups.rb +++ /dev/null @@ -1,60 +0,0 @@ -# frozen_string_literal: true - -# This file is auto-generated by oagen. Do not edit. - -require "json" - -module WorkOS - class UserManagementOrganizationMembershipGroups - def initialize(client) - @client = client - end - - # List groups - # @param om_id [String] Unique identifier of the Organization Membership. - # @param before [String, nil] An object ID that defines your place in the list. When the ID is not present, you are at the end of the list. For example, if you make a list request and receive 100 objects, ending with `"obj_123"`, your subsequent call can include `before="obj_123"` to fetch a new batch of objects before `"obj_123"`. - # @param after [String, nil] An object ID that defines your place in the list. When the ID is not present, you are at the end of the list. For example, if you make a list request and receive 100 objects, ending with `"obj_123"`, your subsequent call can include `after="obj_123"` to fetch a new batch of objects after `"obj_123"`. - # @param limit [Integer, nil] Upper limit on the number of objects to return, between `1` and `100`. - # @param order [WorkOS::Types::PaginationOrder, nil] Order the results by the creation time. Supported values are `"asc"` (ascending), `"desc"` (descending), and `"normal"` (descending with reversed cursor semantics where `before` fetches older records and `after` fetches newer records). Defaults to descending. - # @param request_options [Hash] (see WorkOS::Types::RequestOptions) - # @return [WorkOS::Types::ListStruct] - def list_organization_membership_groups( - om_id:, - before: nil, - after: nil, - limit: 10, - order: "desc", - request_options: {} - ) - params = { - "before" => before, - "after" => after, - "limit" => limit, - "order" => order - }.compact - response = @client.request( - method: :get, - path: "/user_management/organization_memberships/#{WorkOS::Util.encode_path(om_id)}/groups", - auth: true, - params: params, - request_options: request_options - ) - fetch_next = ->(cursor) { - list_organization_membership_groups( - om_id: om_id, - before: before, - after: cursor, - limit: limit, - order: order, - request_options: request_options - ) - } - WorkOS::Types::ListStruct.from_response( - response, - model: WorkOS::Group, - filters: {om_id: om_id, before: before, limit: limit, order: order}, - fetch_next: fetch_next - ) - end - end -end diff --git a/lib/workos/vault.rb b/lib/workos/vault.rb index 75624c6b..67829f62 100644 --- a/lib/workos/vault.rb +++ b/lib/workos/vault.rb @@ -1,176 +1,309 @@ # frozen_string_literal: true -# @oagen-ignore-file -# Hand-maintained Vault service: 8 KV endpoints + 2 key endpoints + client-side -# AES-GCM encrypt/decrypt (H18). The Vault HTTP API is not in the OpenAPI spec -# and the AES-GCM helpers are inherently client-side, so this stays -# hand-maintained regardless of spec coverage. -require "base64" +# This file is auto-generated by oagen. Do not edit. + require "json" +require "base64" require "openssl" require "securerandom" module WorkOS - # WorkOS Vault: KV secret storage, server-managed key wrapping, and - # client-side AES-GCM encrypt/decrypt. - # - # @example Store and retrieve a secret - # client.vault.create_object(name: "api-key", value: "sk_...", key_context: { "tenant" => "t1" }) - # obj = client.vault.read_object_by_name(name: "api-key") - # obj.value # => "sk_..." - # - # @example Client-side encrypt/decrypt - # encrypted = client.vault.encrypt(data: "plaintext", key_context: { "tenant" => "t1" }) - # client.vault.decrypt(encrypted_data: encrypted) class Vault - DEFAULT_RESPONSE_LIMIT = 10 - - DataKey = Data.define(:id, :key) do - def self.from_response(hash) - new(id: hash["id"], key: hash["data_key"]) - end - end - - DataKeyPair = Data.define(:context, :data_key, :encrypted_keys) do - def self.from_response(hash) - new( - context: hash["context"], - data_key: DataKey.new(id: hash["id"], key: hash["data_key"]), - encrypted_keys: hash["encrypted_keys"] - ) - end - end - - ObjectUpdateBy = Data.define(:id, :name) do - def self.from_hash(hash) - return nil if hash.nil? - new(id: hash["id"], name: hash["name"]) - end - end - - ObjectMetadata = Data.define(:context, :environment_id, :id, :key_id, :updated_at, :updated_by, :version_id) do - def self.from_hash(hash) - new( - context: hash["context"], - environment_id: hash["environment_id"], - id: hash["id"], - key_id: hash["key_id"], - updated_at: hash["updated_at"], - updated_by: ObjectUpdateBy.from_hash(hash["updated_by"]), - version_id: hash["version_id"] - ) - end - end - - VaultObject = Data.define(:id, :name, :value, :metadata) do - def self.from_hash(hash) - new( - id: hash["id"], - name: hash["name"], - value: hash["value"], - metadata: hash["metadata"] ? ObjectMetadata.from_hash(hash["metadata"]) : nil - ) - end - end - - ObjectDigest = Data.define(:id, :name, :updated_at) do - def self.from_hash(hash) - new(id: hash["id"], name: hash["name"], updated_at: hash["updated_at"]) - end - end - - ObjectVersion = Data.define(:id, :created_at, :current_version) do - def self.from_hash(hash) - new(id: hash["id"], created_at: hash["created_at"], current_version: hash["current_version"]) - end - end - def initialize(client) @client = client end - # -- KV operations -------------------------------------------------------- - - # Get a Vault object with the value decrypted. - def read_object(object_id:, request_options: {}) - response = @client.request(method: :get, path: "/vault/v1/kv/#{WorkOS::Util.encode_path(object_id)}", auth: true, request_options: request_options) - VaultObject.from_hash(JSON.parse(response.body)) + # Create a data key + # @param context [Hash{String => String}] Map of values used to determine the encryption key. + # @param request_options [Hash] (see WorkOS::Types::RequestOptions) + # @return [WorkOS::CreateDataKeyResponse] + def create_data_key( + context:, + request_options: {} + ) + body = { + "context" => context + } + response = @client.request( + method: :post, + path: "/vault/v1/keys/data-key", + auth: true, + body: body, + request_options: request_options + ) + result = WorkOS::CreateDataKeyResponse.new(response.body) + result.last_response = WorkOS::Types::ApiResponse.new(http_status: response.code.to_i, http_headers: response.each_header.to_h, request_id: response["x-request-id"]) + result end - # Get a Vault object by name with the value decrypted. - def read_object_by_name(name:, request_options: {}) - response = @client.request(method: :get, path: "/vault/v1/kv/name/#{WorkOS::Util.encode_path(name)}", auth: true, request_options: request_options) - VaultObject.from_hash(JSON.parse(response.body)) + # Decrypt a data key + # @param keys [String] Base64-encoded encrypted data key to decrypt. + # @param request_options [Hash] (see WorkOS::Types::RequestOptions) + # @return [WorkOS::DecryptResponse] + def create_decrypt( + keys:, + request_options: {} + ) + body = { + "keys" => keys + } + response = @client.request( + method: :post, + path: "/vault/v1/keys/decrypt", + auth: true, + body: body, + request_options: request_options + ) + result = WorkOS::DecryptResponse.new(response.body) + result.last_response = WorkOS::Types::ApiResponse.new(http_status: response.code.to_i, http_headers: response.each_header.to_h, request_id: response["x-request-id"]) + result end - # Get a Vault object's metadata without decrypting the value. - def get_object_metadata(object_id:, request_options: {}) - response = @client.request(method: :get, path: "/vault/v1/kv/#{WorkOS::Util.encode_path(object_id)}/metadata", auth: true, request_options: request_options) - VaultObject.from_hash(JSON.parse(response.body)) + # Re-encrypt a data key + # @param context [Hash{String => String}] Map of values used to determine the new encryption key. + # @param encrypted_keys [String] Base64-encoded encrypted data key blob to re-encrypt. + # @param request_options [Hash] (see WorkOS::Types::RequestOptions) + # @return [WorkOS::CreateDataKeyResponse] + def create_rekey( + context:, + encrypted_keys:, + request_options: {} + ) + body = { + "context" => context, + "encrypted_keys" => encrypted_keys + } + response = @client.request( + method: :post, + path: "/vault/v1/keys/rekey", + auth: true, + body: body, + request_options: request_options + ) + result = WorkOS::CreateDataKeyResponse.new(response.body) + result.last_response = WorkOS::Types::ApiResponse.new(http_status: response.code.to_i, http_headers: response.each_header.to_h, request_id: response["x-request-id"]) + result end - # List encrypted Vault objects. - # @return [Array] - def list_objects(limit: DEFAULT_RESPONSE_LIMIT, before: nil, after: nil, request_options: {}) - params = {"limit" => limit, "before" => before, "after" => after}.compact - response = @client.request(method: :get, path: "/vault/v1/kv", auth: true, params: params, request_options: request_options) - parsed = JSON.parse(response.body) - (parsed["data"] || []).map { |item| ObjectDigest.from_hash(item) } + # List objects + # @param limit [Integer, nil] Upper limit on the number of objects to return. + # @param before [String, nil] Cursor for the previous page of results. + # @param after [String, nil] Cursor for the next page of results. + # @param order [WorkOS::Types::VaultOrder, nil] Sort direction for results. + # @param search [String, nil] Filter results by name or structured search JSON. + # @param updated_after [String, nil] ISO 8601 timestamp to filter by last modified time. + # @param request_options [Hash] (see WorkOS::Types::RequestOptions) + # @return [WorkOS::Types::ListStruct] + def list_kv( + limit: 10, + before: nil, + after: nil, + order: nil, + search: nil, + updated_after: nil, + request_options: {} + ) + params = { + "limit" => limit, + "before" => before, + "after" => after, + "order" => order, + "search" => search, + "updatedAfter" => updated_after + }.compact + response = @client.request( + method: :get, + path: "/vault/v1/kv", + auth: true, + params: params, + request_options: request_options + ) + fetch_next = ->(cursor) { + list_kv( + limit: limit, + before: before, + after: cursor, + order: order, + search: search, + updated_after: updated_after, + request_options: request_options + ) + } + WorkOS::Types::ListStruct.from_response( + response, + model: WorkOS::ObjectSummary, + filters: {limit: limit, before: before, order: order, search: search, updated_after: updated_after}, + fetch_next: fetch_next + ) end - # List versions for a specific Vault object. - # @return [Array] - def list_object_versions(object_id:, request_options: {}) - response = @client.request(method: :get, path: "/vault/v1/kv/#{WorkOS::Util.encode_path(object_id)}/versions", auth: true, request_options: request_options) - parsed = JSON.parse(response.body) - (parsed["data"] || []).map { |item| ObjectVersion.from_hash(item) } + # Create an object + # @param key_context [Hash{String => String}] Map of values used to determine the encryption key. + # @param name [String] Unique name for the object. + # @param value [String] Plaintext data to encrypt and store. + # @param request_options [Hash] (see WorkOS::Types::RequestOptions) + # @return [WorkOS::ObjectMetadata] + def create_kv( + key_context:, + name:, + value:, + request_options: {} + ) + body = { + "key_context" => key_context, + "name" => name, + "value" => value + } + response = @client.request( + method: :post, + path: "/vault/v1/kv", + auth: true, + body: body, + request_options: request_options + ) + result = WorkOS::ObjectMetadata.new(response.body) + result.last_response = WorkOS::Types::ApiResponse.new(http_status: response.code.to_i, http_headers: response.each_header.to_h, request_id: response["x-request-id"]) + result end - # Create a new Vault encrypted object. - def create_object(name:, value:, key_context:, request_options: {}) - body = {"name" => name, "value" => value, "key_context" => key_context} - response = @client.request(method: :post, path: "/vault/v1/kv", auth: true, body: body, request_options: request_options) - ObjectMetadata.from_hash(JSON.parse(response.body)) + # Read an object by name + # @param name [String] Unique name of the object. + # @param request_options [Hash] (see WorkOS::Types::RequestOptions) + # @return [WorkOS::ObjectModel] + def get_name( + name:, + request_options: {} + ) + response = @client.request( + method: :get, + path: "/vault/v1/kv/name/#{WorkOS::Util.encode_path(name)}", + auth: true, + request_options: request_options + ) + result = WorkOS::ObjectModel.new(response.body) + result.last_response = WorkOS::Types::ApiResponse.new(http_status: response.code.to_i, http_headers: response.each_header.to_h, request_id: response["x-request-id"]) + result end - # Update an existing Vault object. - def update_object(object_id:, value:, version_check: nil, request_options: {}) - body = {"value" => value, "version_check" => version_check}.compact - response = @client.request(method: :put, path: "/vault/v1/kv/#{WorkOS::Util.encode_path(object_id)}", auth: true, body: body, request_options: request_options) - VaultObject.from_hash(JSON.parse(response.body)) + # Read an object by ID + # @param id [String] Unique identifier of the object. + # @param request_options [Hash] (see WorkOS::Types::RequestOptions) + # @return [WorkOS::ObjectModel] + def get_kv( + id:, + request_options: {} + ) + response = @client.request( + method: :get, + path: "/vault/v1/kv/#{WorkOS::Util.encode_path(id)}", + auth: true, + request_options: request_options + ) + result = WorkOS::ObjectModel.new(response.body) + result.last_response = WorkOS::Types::ApiResponse.new(http_status: response.code.to_i, http_headers: response.each_header.to_h, request_id: response["x-request-id"]) + result end - # Permanently delete a Vault encrypted object. - def delete_object(object_id:, request_options: {}) - @client.request(method: :delete, path: "/vault/v1/kv/#{WorkOS::Util.encode_path(object_id)}", auth: true, request_options: request_options) - nil + # Update an object + # @param id [String] Unique identifier of the object. + # @param value [String] New plaintext value. + # @param version_check [String, nil] ID of the expected current version for optimistic locking. + # @param request_options [Hash] (see WorkOS::Types::RequestOptions) + # @return [WorkOS::ObjectWithoutValue] + def update_kv( + id:, + value:, + version_check: nil, + request_options: {} + ) + body = { + "value" => value, + "version_check" => version_check + }.compact + response = @client.request( + method: :put, + path: "/vault/v1/kv/#{WorkOS::Util.encode_path(id)}", + auth: true, + body: body, + request_options: request_options + ) + result = WorkOS::ObjectWithoutValue.new(response.body) + result.last_response = WorkOS::Types::ApiResponse.new(http_status: response.code.to_i, http_headers: response.each_header.to_h, request_id: response["x-request-id"]) + result end - # -- Key operations ------------------------------------------------------- + # Delete an object + # @param id [String] Unique identifier of the object. + # @param version_check [String, nil] Expected current version for optimistic locking. + # @param request_options [Hash] (see WorkOS::Types::RequestOptions) + # @return [WorkOS::DeleteObjectResponse] + def delete_kv( + id:, + version_check: nil, + request_options: {} + ) + params = { + "version_check" => version_check + }.compact + response = @client.request( + method: :delete, + path: "/vault/v1/kv/#{WorkOS::Util.encode_path(id)}", + auth: true, + params: params, + request_options: request_options + ) + result = WorkOS::DeleteObjectResponse.new(response.body) + result.last_response = WorkOS::Types::ApiResponse.new(http_status: response.code.to_i, http_headers: response.each_header.to_h, request_id: response["x-request-id"]) + result + end - # Generate a data key for local encryption. - # @return [DataKeyPair] - def create_data_key(key_context:, request_options: {}) - body = {"context" => key_context} - response = @client.request(method: :post, path: "/vault/v1/keys/data-key", auth: true, body: body, request_options: request_options) - DataKeyPair.from_response(JSON.parse(response.body)) + # Describe an object + # @param id [String] Unique identifier of the object. + # @param request_options [Hash] (see WorkOS::Types::RequestOptions) + # @return [WorkOS::ObjectWithoutValue] + def list_kv_metadata( + id:, + request_options: {} + ) + response = @client.request( + method: :get, + path: "/vault/v1/kv/#{WorkOS::Util.encode_path(id)}/metadata", + auth: true, + request_options: request_options + ) + result = WorkOS::ObjectWithoutValue.new(response.body) + result.last_response = WorkOS::Types::ApiResponse.new(http_status: response.code.to_i, http_headers: response.each_header.to_h, request_id: response["x-request-id"]) + result end - # Decrypt encrypted data keys previously generated by create_data_key. - # @return [DataKey] - def decrypt_data_key(keys:, request_options: {}) - body = {"keys" => keys} - response = @client.request(method: :post, path: "/vault/v1/keys/decrypt", auth: true, body: body, request_options: request_options) - DataKey.from_response(JSON.parse(response.body)) + # List object versions + # @param id [String] Unique identifier of the object. + # @param request_options [Hash] (see WorkOS::Types::RequestOptions) + # @return [WorkOS::Types::ListStruct] + def list_kv_versions( + id:, + request_options: {} + ) + response = @client.request( + method: :get, + path: "/vault/v1/kv/#{WorkOS::Util.encode_path(id)}/versions", + auth: true, + request_options: request_options + ) + WorkOS::Types::ListStruct.from_response( + response, + model: WorkOS::ObjectVersion, + filters: {id: id} + ) end - # -- Client-side AES-GCM encrypt/decrypt (H18) --------------------------- + # @oagen-ignore-start — client-side AES-GCM encrypt/decrypt (H18, hand-maintained) # Encrypt data locally using AES-GCM with a data key derived from the context. # Returns base64(IV || TAG || LEB128(len(keyBlob)) || keyBlob || ciphertext). - def encrypt(data:, key_context:, associated_data: nil) - pair = create_data_key(key_context: key_context) - key = Base64.decode64(pair.data_key.key) + def encrypt(data:, context:, associated_data: nil) + pair = create_data_key(context: context) + key = Base64.decode64(pair.data_key) key_blob = Base64.decode64(pair.encrypted_keys) prefix = encode_u32_leb128(key_blob.bytesize) iv, ciphertext, tag = aes_gcm_encrypt(data.b, key, associated_data&.b) @@ -186,8 +319,8 @@ def decrypt(encrypted_data:, associated_data: nil) keys_index = 28 + leb_len key_blob = payload.byteslice(keys_index, key_len) ciphertext = payload.byteslice(keys_index + key_len, payload.bytesize - (keys_index + key_len)) - data_key = decrypt_data_key(keys: Base64.strict_encode64(key_blob)) - key = Base64.decode64(data_key.key) + dk = create_decrypt(keys: Base64.strict_encode64(key_blob)) + key = Base64.decode64(dk.data_key) aes_gcm_decrypt(ciphertext, key, iv, tag, associated_data&.b) end @@ -237,5 +370,6 @@ def decode_u32_leb128(buf) end raise ArgumentError, "LEB128 not terminated" end + # @oagen-ignore-end end end diff --git a/lib/workos/vault/actor.rb b/lib/workos/vault/actor.rb new file mode 100644 index 00000000..7d4a44c6 --- /dev/null +++ b/lib/workos/vault/actor.rb @@ -0,0 +1,22 @@ +# frozen_string_literal: true + +# This file is auto-generated by oagen. Do not edit. + +module WorkOS + class Actor < WorkOS::Types::BaseModel + HASH_ATTRS = { + id: :id, + name: :name + }.freeze + + attr_accessor \ + :id, + :name + + def initialize(json) + hash = self.class.normalize(json) + @id = hash[:id] + @name = hash[:name] + end + end +end diff --git a/lib/workos/vault/create_data_key_request.rb b/lib/workos/vault/create_data_key_request.rb new file mode 100644 index 00000000..d1607c0a --- /dev/null +++ b/lib/workos/vault/create_data_key_request.rb @@ -0,0 +1,18 @@ +# frozen_string_literal: true + +# This file is auto-generated by oagen. Do not edit. + +module WorkOS + class CreateDataKeyRequest < WorkOS::Types::BaseModel + HASH_ATTRS = { + context: :context + }.freeze + + attr_accessor :context + + def initialize(json) + hash = self.class.normalize(json) + @context = hash[:context] || {} + end + end +end diff --git a/lib/workos/vault/create_data_key_response.rb b/lib/workos/vault/create_data_key_response.rb new file mode 100644 index 00000000..eeb79b60 --- /dev/null +++ b/lib/workos/vault/create_data_key_response.rb @@ -0,0 +1,28 @@ +# frozen_string_literal: true + +# This file is auto-generated by oagen. Do not edit. + +module WorkOS + class CreateDataKeyResponse < WorkOS::Types::BaseModel + HASH_ATTRS = { + context: :context, + data_key: :data_key, + encrypted_keys: :encrypted_keys, + id: :id + }.freeze + + attr_accessor \ + :context, + :data_key, + :encrypted_keys, + :id + + def initialize(json) + hash = self.class.normalize(json) + @context = hash[:context] || {} + @data_key = hash[:data_key] + @encrypted_keys = hash[:encrypted_keys] + @id = hash[:id] + end + end +end diff --git a/lib/workos/vault/create_object_request.rb b/lib/workos/vault/create_object_request.rb new file mode 100644 index 00000000..e40f85da --- /dev/null +++ b/lib/workos/vault/create_object_request.rb @@ -0,0 +1,25 @@ +# frozen_string_literal: true + +# This file is auto-generated by oagen. Do not edit. + +module WorkOS + class CreateObjectRequest < WorkOS::Types::BaseModel + HASH_ATTRS = { + key_context: :key_context, + name: :name, + value: :value + }.freeze + + attr_accessor \ + :key_context, + :name, + :value + + def initialize(json) + hash = self.class.normalize(json) + @key_context = hash[:key_context] || {} + @name = hash[:name] + @value = hash[:value] + end + end +end diff --git a/lib/workos/vault/decrypt_request.rb b/lib/workos/vault/decrypt_request.rb new file mode 100644 index 00000000..97881034 --- /dev/null +++ b/lib/workos/vault/decrypt_request.rb @@ -0,0 +1,18 @@ +# frozen_string_literal: true + +# This file is auto-generated by oagen. Do not edit. + +module WorkOS + class DecryptRequest < WorkOS::Types::BaseModel + HASH_ATTRS = { + keys: :keys + }.freeze + + attr_accessor :keys + + def initialize(json) + hash = self.class.normalize(json) + @keys = hash[:keys] + end + end +end diff --git a/lib/workos/vault/decrypt_response.rb b/lib/workos/vault/decrypt_response.rb new file mode 100644 index 00000000..d49d5ddf --- /dev/null +++ b/lib/workos/vault/decrypt_response.rb @@ -0,0 +1,22 @@ +# frozen_string_literal: true + +# This file is auto-generated by oagen. Do not edit. + +module WorkOS + class DecryptResponse < WorkOS::Types::BaseModel + HASH_ATTRS = { + data_key: :data_key, + id: :id + }.freeze + + attr_accessor \ + :data_key, + :id + + def initialize(json) + hash = self.class.normalize(json) + @data_key = hash[:data_key] + @id = hash[:id] + end + end +end diff --git a/lib/workos/vault/delete_object_response.rb b/lib/workos/vault/delete_object_response.rb new file mode 100644 index 00000000..2fc8e0e1 --- /dev/null +++ b/lib/workos/vault/delete_object_response.rb @@ -0,0 +1,22 @@ +# frozen_string_literal: true + +# This file is auto-generated by oagen. Do not edit. + +module WorkOS + class DeleteObjectResponse < WorkOS::Types::BaseModel + HASH_ATTRS = { + name: :name, + success: :success + }.freeze + + attr_accessor \ + :name, + :success + + def initialize(json) + hash = self.class.normalize(json) + @name = hash[:name] + @success = hash[:success] + end + end +end diff --git a/lib/workos/vault/object.rb b/lib/workos/vault/object.rb new file mode 100644 index 00000000..10b99f3e --- /dev/null +++ b/lib/workos/vault/object.rb @@ -0,0 +1,28 @@ +# frozen_string_literal: true + +# This file is auto-generated by oagen. Do not edit. + +module WorkOS + class ObjectModel < WorkOS::Types::BaseModel + HASH_ATTRS = { + id: :id, + metadata: :metadata, + name: :name, + value: :value + }.freeze + + attr_accessor \ + :id, + :metadata, + :name, + :value + + def initialize(json) + hash = self.class.normalize(json) + @id = hash[:id] + @metadata = hash[:metadata] ? WorkOS::ObjectMetadata.new(hash[:metadata]) : nil + @name = hash[:name] + @value = hash[:value] + end + end +end diff --git a/lib/workos/vault/object_metadata.rb b/lib/workos/vault/object_metadata.rb new file mode 100644 index 00000000..b385cae5 --- /dev/null +++ b/lib/workos/vault/object_metadata.rb @@ -0,0 +1,37 @@ +# frozen_string_literal: true + +# This file is auto-generated by oagen. Do not edit. + +module WorkOS + class ObjectMetadata < WorkOS::Types::BaseModel + HASH_ATTRS = { + context: :context, + environment_id: :environment_id, + id: :id, + key_id: :key_id, + updated_at: :updated_at, + updated_by: :updated_by, + version_id: :version_id + }.freeze + + attr_accessor \ + :context, + :environment_id, + :id, + :key_id, + :updated_at, + :updated_by, + :version_id + + def initialize(json) + hash = self.class.normalize(json) + @context = hash[:context] || {} + @environment_id = hash[:environment_id] + @id = hash[:id] + @key_id = hash[:key_id] + @updated_at = hash[:updated_at] + @updated_by = hash[:updated_by] ? WorkOS::Actor.new(hash[:updated_by]) : nil + @version_id = hash[:version_id] + end + end +end diff --git a/lib/workos/audit_logs/audit_log_action_json.rb b/lib/workos/vault/object_summary.rb similarity index 53% rename from lib/workos/audit_logs/audit_log_action_json.rb rename to lib/workos/vault/object_summary.rb index adf5b40a..e6f2a1d0 100644 --- a/lib/workos/audit_logs/audit_log_action_json.rb +++ b/lib/workos/vault/object_summary.rb @@ -3,28 +3,22 @@ # This file is auto-generated by oagen. Do not edit. module WorkOS - class AuditLogActionJson < WorkOS::Types::BaseModel + class ObjectSummary < WorkOS::Types::BaseModel HASH_ATTRS = { - object: :object, + id: :id, name: :name, - schema: :schema, - created_at: :created_at, updated_at: :updated_at }.freeze attr_accessor \ - :object, + :id, :name, - :schema, - :created_at, :updated_at def initialize(json) hash = self.class.normalize(json) - @object = hash[:object] + @id = hash[:id] @name = hash[:name] - @schema = hash[:schema] ? WorkOS::AuditLogSchemaJson.new(hash[:schema]) : nil - @created_at = hash[:created_at] @updated_at = hash[:updated_at] end end diff --git a/lib/workos/vault/object_version.rb b/lib/workos/vault/object_version.rb new file mode 100644 index 00000000..6286cdff --- /dev/null +++ b/lib/workos/vault/object_version.rb @@ -0,0 +1,31 @@ +# frozen_string_literal: true + +# This file is auto-generated by oagen. Do not edit. + +module WorkOS + class ObjectVersion < WorkOS::Types::BaseModel + HASH_ATTRS = { + created_at: :created_at, + current_version: :current_version, + etag: :etag, + id: :id, + size: :size + }.freeze + + attr_accessor \ + :created_at, + :current_version, + :etag, + :id, + :size + + def initialize(json) + hash = self.class.normalize(json) + @created_at = hash[:created_at] + @current_version = hash[:current_version] + @etag = hash[:etag] + @id = hash[:id] + @size = hash[:size] + end + end +end diff --git a/lib/workos/vault/object_without_value.rb b/lib/workos/vault/object_without_value.rb new file mode 100644 index 00000000..c0ba63da --- /dev/null +++ b/lib/workos/vault/object_without_value.rb @@ -0,0 +1,25 @@ +# frozen_string_literal: true + +# This file is auto-generated by oagen. Do not edit. + +module WorkOS + class ObjectWithoutValue < WorkOS::Types::BaseModel + HASH_ATTRS = { + id: :id, + metadata: :metadata, + name: :name + }.freeze + + attr_accessor \ + :id, + :metadata, + :name + + def initialize(json) + hash = self.class.normalize(json) + @id = hash[:id] + @metadata = hash[:metadata] ? WorkOS::ObjectMetadata.new(hash[:metadata]) : nil + @name = hash[:name] + end + end +end diff --git a/lib/workos/vault/rekey_request.rb b/lib/workos/vault/rekey_request.rb new file mode 100644 index 00000000..b46de1ed --- /dev/null +++ b/lib/workos/vault/rekey_request.rb @@ -0,0 +1,22 @@ +# frozen_string_literal: true + +# This file is auto-generated by oagen. Do not edit. + +module WorkOS + class RekeyRequest < WorkOS::Types::BaseModel + HASH_ATTRS = { + context: :context, + encrypted_keys: :encrypted_keys + }.freeze + + attr_accessor \ + :context, + :encrypted_keys + + def initialize(json) + hash = self.class.normalize(json) + @context = hash[:context] || {} + @encrypted_keys = hash[:encrypted_keys] + end + end +end diff --git a/lib/workos/vault/update_object_request.rb b/lib/workos/vault/update_object_request.rb new file mode 100644 index 00000000..0737f13a --- /dev/null +++ b/lib/workos/vault/update_object_request.rb @@ -0,0 +1,22 @@ +# frozen_string_literal: true + +# This file is auto-generated by oagen. Do not edit. + +module WorkOS + class UpdateObjectRequest < WorkOS::Types::BaseModel + HASH_ATTRS = { + value: :value, + version_check: :version_check + }.freeze + + attr_accessor \ + :value, + :version_check + + def initialize(json) + hash = self.class.normalize(json) + @value = hash[:value] + @version_check = hash[:version_check] + end + end +end diff --git a/lib/workos/vault/vault_byok_key_deleted.rb b/lib/workos/vault/vault_byok_key_deleted.rb index 8ad39249..165e1f51 100644 --- a/lib/workos/vault/vault_byok_key_deleted.rb +++ b/lib/workos/vault/vault_byok_key_deleted.rb @@ -5,30 +5,30 @@ module WorkOS class VaultByokKeyDeleted < WorkOS::Types::BaseModel HASH_ATTRS = { + object: :object, id: :id, event: :event, data: :data, created_at: :created_at, - context: :context, - object: :object + context: :context }.freeze attr_accessor \ + :object, :id, :event, :data, :created_at, - :context, - :object + :context def initialize(json) hash = self.class.normalize(json) + @object = hash[:object] @id = hash[:id] @event = hash[:event] @data = hash[:data] ? WorkOS::VaultByokKeyDeletedData.new(hash[:data]) : nil @created_at = hash[:created_at] @context = hash[:context] ? WorkOS::EventContext.new(hash[:context]) : nil - @object = hash[:object] end end end diff --git a/lib/workos/vault/vault_byok_key_verification_completed.rb b/lib/workos/vault/vault_byok_key_verification_completed.rb index 5638a96d..092f45f6 100644 --- a/lib/workos/vault/vault_byok_key_verification_completed.rb +++ b/lib/workos/vault/vault_byok_key_verification_completed.rb @@ -5,30 +5,30 @@ module WorkOS class VaultByokKeyVerificationCompleted < WorkOS::Types::BaseModel HASH_ATTRS = { + object: :object, id: :id, event: :event, data: :data, created_at: :created_at, - context: :context, - object: :object + context: :context }.freeze attr_accessor \ + :object, :id, :event, :data, :created_at, - :context, - :object + :context def initialize(json) hash = self.class.normalize(json) + @object = hash[:object] @id = hash[:id] @event = hash[:event] @data = hash[:data] ? WorkOS::VaultByokKeyVerificationCompletedData.new(hash[:data]) : nil @created_at = hash[:created_at] @context = hash[:context] ? WorkOS::EventContext.new(hash[:context]) : nil - @object = hash[:object] end end end diff --git a/lib/workos/vault/vault_data_created.rb b/lib/workos/vault/vault_data_created.rb index 6be3a932..fb11207f 100644 --- a/lib/workos/vault/vault_data_created.rb +++ b/lib/workos/vault/vault_data_created.rb @@ -5,30 +5,30 @@ module WorkOS class VaultDataCreated < WorkOS::Types::BaseModel HASH_ATTRS = { + object: :object, id: :id, event: :event, data: :data, created_at: :created_at, - context: :context, - object: :object + context: :context }.freeze attr_accessor \ + :object, :id, :event, :data, :created_at, - :context, - :object + :context def initialize(json) hash = self.class.normalize(json) + @object = hash[:object] @id = hash[:id] @event = hash[:event] @data = hash[:data] ? WorkOS::VaultDataCreatedData.new(hash[:data]) : nil @created_at = hash[:created_at] @context = hash[:context] ? WorkOS::EventContext.new(hash[:context]) : nil - @object = hash[:object] end end end diff --git a/lib/workos/vault/vault_data_deleted.rb b/lib/workos/vault/vault_data_deleted.rb index 2cdff212..4968665f 100644 --- a/lib/workos/vault/vault_data_deleted.rb +++ b/lib/workos/vault/vault_data_deleted.rb @@ -5,30 +5,30 @@ module WorkOS class VaultDataDeleted < WorkOS::Types::BaseModel HASH_ATTRS = { + object: :object, id: :id, event: :event, data: :data, created_at: :created_at, - context: :context, - object: :object + context: :context }.freeze attr_accessor \ + :object, :id, :event, :data, :created_at, - :context, - :object + :context def initialize(json) hash = self.class.normalize(json) + @object = hash[:object] @id = hash[:id] @event = hash[:event] @data = hash[:data] ? WorkOS::VaultDataDeletedData.new(hash[:data]) : nil @created_at = hash[:created_at] @context = hash[:context] ? WorkOS::EventContext.new(hash[:context]) : nil - @object = hash[:object] end end end diff --git a/lib/workos/vault/vault_data_read.rb b/lib/workos/vault/vault_data_read.rb index 9abdeaa8..44ec90ed 100644 --- a/lib/workos/vault/vault_data_read.rb +++ b/lib/workos/vault/vault_data_read.rb @@ -5,30 +5,30 @@ module WorkOS class VaultDataRead < WorkOS::Types::BaseModel HASH_ATTRS = { + object: :object, id: :id, event: :event, data: :data, created_at: :created_at, - context: :context, - object: :object + context: :context }.freeze attr_accessor \ + :object, :id, :event, :data, :created_at, - :context, - :object + :context def initialize(json) hash = self.class.normalize(json) + @object = hash[:object] @id = hash[:id] @event = hash[:event] @data = hash[:data] ? WorkOS::VaultDataReadData.new(hash[:data]) : nil @created_at = hash[:created_at] @context = hash[:context] ? WorkOS::EventContext.new(hash[:context]) : nil - @object = hash[:object] end end end diff --git a/lib/workos/vault/vault_data_updated.rb b/lib/workos/vault/vault_data_updated.rb index dab9c3ed..8fed4595 100644 --- a/lib/workos/vault/vault_data_updated.rb +++ b/lib/workos/vault/vault_data_updated.rb @@ -5,30 +5,30 @@ module WorkOS class VaultDataUpdated < WorkOS::Types::BaseModel HASH_ATTRS = { + object: :object, id: :id, event: :event, data: :data, created_at: :created_at, - context: :context, - object: :object + context: :context }.freeze attr_accessor \ + :object, :id, :event, :data, :created_at, - :context, - :object + :context def initialize(json) hash = self.class.normalize(json) + @object = hash[:object] @id = hash[:id] @event = hash[:event] @data = hash[:data] ? WorkOS::VaultDataUpdatedData.new(hash[:data]) : nil @created_at = hash[:created_at] @context = hash[:context] ? WorkOS::EventContext.new(hash[:context]) : nil - @object = hash[:object] end end end diff --git a/lib/workos/vault/vault_dek_decrypted.rb b/lib/workos/vault/vault_dek_decrypted.rb index 02a0f0e4..cd43b297 100644 --- a/lib/workos/vault/vault_dek_decrypted.rb +++ b/lib/workos/vault/vault_dek_decrypted.rb @@ -5,30 +5,30 @@ module WorkOS class VaultDekDecrypted < WorkOS::Types::BaseModel HASH_ATTRS = { + object: :object, id: :id, event: :event, data: :data, created_at: :created_at, - context: :context, - object: :object + context: :context }.freeze attr_accessor \ + :object, :id, :event, :data, :created_at, - :context, - :object + :context def initialize(json) hash = self.class.normalize(json) + @object = hash[:object] @id = hash[:id] @event = hash[:event] @data = hash[:data] ? WorkOS::VaultDekDecryptedData.new(hash[:data]) : nil @created_at = hash[:created_at] @context = hash[:context] ? WorkOS::EventContext.new(hash[:context]) : nil - @object = hash[:object] end end end diff --git a/lib/workos/vault/vault_dek_read.rb b/lib/workos/vault/vault_dek_read.rb index 7e283583..579b557b 100644 --- a/lib/workos/vault/vault_dek_read.rb +++ b/lib/workos/vault/vault_dek_read.rb @@ -5,30 +5,30 @@ module WorkOS class VaultDekRead < WorkOS::Types::BaseModel HASH_ATTRS = { + object: :object, id: :id, event: :event, data: :data, created_at: :created_at, - context: :context, - object: :object + context: :context }.freeze attr_accessor \ + :object, :id, :event, :data, :created_at, - :context, - :object + :context def initialize(json) hash = self.class.normalize(json) + @object = hash[:object] @id = hash[:id] @event = hash[:event] @data = hash[:data] ? WorkOS::VaultDekReadData.new(hash[:data]) : nil @created_at = hash[:created_at] @context = hash[:context] ? WorkOS::EventContext.new(hash[:context]) : nil - @object = hash[:object] end end end diff --git a/lib/workos/vault/vault_kek_created.rb b/lib/workos/vault/vault_kek_created.rb index 459455b1..d2f4c9aa 100644 --- a/lib/workos/vault/vault_kek_created.rb +++ b/lib/workos/vault/vault_kek_created.rb @@ -5,30 +5,30 @@ module WorkOS class VaultKekCreated < WorkOS::Types::BaseModel HASH_ATTRS = { + object: :object, id: :id, event: :event, data: :data, created_at: :created_at, - context: :context, - object: :object + context: :context }.freeze attr_accessor \ + :object, :id, :event, :data, :created_at, - :context, - :object + :context def initialize(json) hash = self.class.normalize(json) + @object = hash[:object] @id = hash[:id] @event = hash[:event] @data = hash[:data] ? WorkOS::VaultKekCreatedData.new(hash[:data]) : nil @created_at = hash[:created_at] @context = hash[:context] ? WorkOS::EventContext.new(hash[:context]) : nil - @object = hash[:object] end end end diff --git a/lib/workos/vault/vault_metadata_read.rb b/lib/workos/vault/vault_metadata_read.rb index 10fb52ee..d1236094 100644 --- a/lib/workos/vault/vault_metadata_read.rb +++ b/lib/workos/vault/vault_metadata_read.rb @@ -5,30 +5,30 @@ module WorkOS class VaultMetadataRead < WorkOS::Types::BaseModel HASH_ATTRS = { + object: :object, id: :id, event: :event, data: :data, created_at: :created_at, - context: :context, - object: :object + context: :context }.freeze attr_accessor \ + :object, :id, :event, :data, :created_at, - :context, - :object + :context def initialize(json) hash = self.class.normalize(json) + @object = hash[:object] @id = hash[:id] @event = hash[:event] @data = hash[:data] ? WorkOS::VaultMetadataReadData.new(hash[:data]) : nil @created_at = hash[:created_at] @context = hash[:context] ? WorkOS::EventContext.new(hash[:context]) : nil - @object = hash[:object] end end end diff --git a/lib/workos/vault/vault_names_listed.rb b/lib/workos/vault/vault_names_listed.rb index 55bf8fc8..d81614d3 100644 --- a/lib/workos/vault/vault_names_listed.rb +++ b/lib/workos/vault/vault_names_listed.rb @@ -5,30 +5,30 @@ module WorkOS class VaultNamesListed < WorkOS::Types::BaseModel HASH_ATTRS = { + object: :object, id: :id, event: :event, data: :data, created_at: :created_at, - context: :context, - object: :object + context: :context }.freeze attr_accessor \ + :object, :id, :event, :data, :created_at, - :context, - :object + :context def initialize(json) hash = self.class.normalize(json) + @object = hash[:object] @id = hash[:id] @event = hash[:event] @data = hash[:data] ? WorkOS::VaultNamesListedData.new(hash[:data]) : nil @created_at = hash[:created_at] @context = hash[:context] ? WorkOS::EventContext.new(hash[:context]) : nil - @object = hash[:object] end end end diff --git a/lib/workos/vault/version_list_response.rb b/lib/workos/vault/version_list_response.rb new file mode 100644 index 00000000..54d80ea0 --- /dev/null +++ b/lib/workos/vault/version_list_response.rb @@ -0,0 +1,22 @@ +# frozen_string_literal: true + +# This file is auto-generated by oagen. Do not edit. + +module WorkOS + class VersionListResponse < WorkOS::Types::BaseModel + HASH_ATTRS = { + data: :data, + list_metadata: :list_metadata + }.freeze + + attr_accessor \ + :data, + :list_metadata + + def initialize(json) + hash = self.class.normalize(json) + @data = (hash[:data] || []).map { |item| item ? WorkOS::ObjectVersion.new(item) : nil } + @list_metadata = hash[:list_metadata] ? WorkOS::ListMetadata.new(hash[:list_metadata]) : nil + end + end +end diff --git a/lib/workos/webhooks.rb b/lib/workos/webhooks.rb index 1b77bc19..e6d5644d 100644 --- a/lib/workos/webhooks.rb +++ b/lib/workos/webhooks.rb @@ -3,6 +3,7 @@ # This file is auto-generated by oagen. Do not edit. require "json" +require "openssl" module WorkOS class Webhooks @@ -16,7 +17,7 @@ def initialize(client) # @param limit [Integer, nil] Upper limit on the number of objects to return, between `1` and `100`. # @param order [WorkOS::Types::PaginationOrder, nil] Order the results by the creation time. Supported values are `"asc"` (ascending), `"desc"` (descending), and `"normal"` (descending with reversed cursor semantics where `before` fetches older records and `after` fetches newer records). Defaults to descending. # @param request_options [Hash] (see WorkOS::Types::RequestOptions) - # @return [WorkOS::Types::ListStruct] + # @return [WorkOS::Types::ListStruct] def list_webhook_endpoints( before: nil, after: nil, @@ -48,7 +49,7 @@ def list_webhook_endpoints( } WorkOS::Types::ListStruct.from_response( response, - model: WorkOS::WebhookEndpointJson, + model: WorkOS::WebhookEndpoint, filters: {before: before, limit: limit, order: order}, fetch_next: fetch_next ) @@ -58,7 +59,7 @@ def list_webhook_endpoints( # @param endpoint_url [String] The HTTPS URL where webhooks will be sent. # @param events [Array] The events that the Webhook Endpoint is subscribed to. # @param request_options [Hash] (see WorkOS::Types::RequestOptions) - # @return [WorkOS::WebhookEndpointJson] + # @return [WorkOS::WebhookEndpoint] def create_webhook_endpoint( endpoint_url:, events:, @@ -75,7 +76,7 @@ def create_webhook_endpoint( body: body, request_options: request_options ) - result = WorkOS::WebhookEndpointJson.new(response.body) + result = WorkOS::WebhookEndpoint.new(response.body) result.last_response = WorkOS::Types::ApiResponse.new(http_status: response.code.to_i, http_headers: response.each_header.to_h, request_id: response["x-request-id"]) result end @@ -86,7 +87,7 @@ def create_webhook_endpoint( # @param status [WorkOS::Types::UpdateWebhookEndpointStatus, nil] Whether the Webhook Endpoint is enabled or disabled. # @param events [Array, nil] The events that the Webhook Endpoint is subscribed to. # @param request_options [Hash] (see WorkOS::Types::RequestOptions) - # @return [WorkOS::WebhookEndpointJson] + # @return [WorkOS::WebhookEndpoint] def update_webhook_endpoint( id:, endpoint_url: nil, @@ -106,7 +107,7 @@ def update_webhook_endpoint( body: body, request_options: request_options ) - result = WorkOS::WebhookEndpointJson.new(response.body) + result = WorkOS::WebhookEndpoint.new(response.body) result.last_response = WorkOS::Types::ApiResponse.new(http_status: response.code.to_i, http_headers: response.each_header.to_h, request_id: response["x-request-id"]) result end @@ -129,8 +130,6 @@ def delete_webhook_endpoint( end # @oagen-ignore-start — non-spec helpers (hand-maintained) - require "openssl" - DEFAULT_TOLERANCE_SECONDS = 180 # Verify a webhook signature and return a typed event struct. diff --git a/lib/workos/webhooks/webhook_endpoint.rb b/lib/workos/webhooks/webhook_endpoint.rb index e3b9abb0..6a109482 100644 --- a/lib/workos/webhooks/webhook_endpoint.rb +++ b/lib/workos/webhooks/webhook_endpoint.rb @@ -2,12 +2,8 @@ # This file is auto-generated by oagen. Do not edit. -require "json" - module WorkOS - class WebhookEndpoint - include HashProvider - + class WebhookEndpoint < WorkOS::Types::BaseModel HASH_ATTRS = { object: :object, id: :id, @@ -30,8 +26,7 @@ class WebhookEndpoint :updated_at def initialize(json) - hash = json.is_a?(Hash) ? json : JSON.parse(json, symbolize_names: true) - hash = hash.transform_keys(&:to_sym) if hash.keys.first.is_a?(String) + hash = self.class.normalize(json) @object = hash[:object] @id = hash[:id] @endpoint_url = hash[:endpoint_url] diff --git a/lib/workos/webhooks/webhook_endpoint_json.rb b/lib/workos/webhooks/webhook_endpoint_json.rb deleted file mode 100644 index a033e364..00000000 --- a/lib/workos/webhooks/webhook_endpoint_json.rb +++ /dev/null @@ -1,40 +0,0 @@ -# frozen_string_literal: true - -# This file is auto-generated by oagen. Do not edit. - -module WorkOS - class WebhookEndpointJson < WorkOS::Types::BaseModel - HASH_ATTRS = { - object: :object, - id: :id, - endpoint_url: :endpoint_url, - secret: :secret, - status: :status, - events: :events, - created_at: :created_at, - updated_at: :updated_at - }.freeze - - attr_accessor \ - :object, - :id, - :endpoint_url, - :secret, - :status, - :events, - :created_at, - :updated_at - - def initialize(json) - hash = self.class.normalize(json) - @object = hash[:object] - @id = hash[:id] - @endpoint_url = hash[:endpoint_url] - @secret = hash[:secret] - @status = hash[:status] - @events = hash[:events] || [] - @created_at = hash[:created_at] - @updated_at = hash[:updated_at] - end - end -end diff --git a/rbi/workos/action_authentication_denied.rbi b/rbi/workos/action_authentication_denied.rbi index b292df51..9b3a414b 100644 --- a/rbi/workos/action_authentication_denied.rbi +++ b/rbi/workos/action_authentication_denied.rbi @@ -9,6 +9,12 @@ module WorkOS sig { params(json: T.any(String, T::Hash[Symbol, T.untyped])).void } def initialize(json); end + sig { returns(String) } + def object; end + + sig { params(value: String).returns(String) } + def object=(value); end + sig { returns(String) } def id; end @@ -27,23 +33,17 @@ module WorkOS sig { params(value: WorkOS::ActionAuthenticationDeniedData).returns(WorkOS::ActionAuthenticationDeniedData) } def data=(value); end - sig { returns(T.nilable(WorkOS::EventContext)) } - def context; end - - sig { params(value: T.nilable(WorkOS::EventContext)).returns(T.nilable(WorkOS::EventContext)) } - def context=(value); end - sig { returns(String) } def created_at; end sig { params(value: String).returns(String) } def created_at=(value); end - sig { returns(String) } - def object; end + sig { returns(T.nilable(WorkOS::EventContext)) } + def context; end - sig { params(value: String).returns(String) } - def object=(value); end + sig { params(value: T.nilable(WorkOS::EventContext)).returns(T.nilable(WorkOS::EventContext)) } + def context=(value); end sig { returns(T::Hash[Symbol, T.untyped]) } def to_h; end diff --git a/rbi/workos/action_user_registration_denied.rbi b/rbi/workos/action_user_registration_denied.rbi index b02e0b0a..f1bab11c 100644 --- a/rbi/workos/action_user_registration_denied.rbi +++ b/rbi/workos/action_user_registration_denied.rbi @@ -9,6 +9,12 @@ module WorkOS sig { params(json: T.any(String, T::Hash[Symbol, T.untyped])).void } def initialize(json); end + sig { returns(String) } + def object; end + + sig { params(value: String).returns(String) } + def object=(value); end + sig { returns(String) } def id; end @@ -27,23 +33,17 @@ module WorkOS sig { params(value: WorkOS::ActionUserRegistrationDeniedData).returns(WorkOS::ActionUserRegistrationDeniedData) } def data=(value); end - sig { returns(T.nilable(WorkOS::EventContext)) } - def context; end - - sig { params(value: T.nilable(WorkOS::EventContext)).returns(T.nilable(WorkOS::EventContext)) } - def context=(value); end - sig { returns(String) } def created_at; end sig { params(value: String).returns(String) } def created_at=(value); end - sig { returns(String) } - def object; end + sig { returns(T.nilable(WorkOS::EventContext)) } + def context; end - sig { params(value: String).returns(String) } - def object=(value); end + sig { params(value: T.nilable(WorkOS::EventContext)).returns(T.nilable(WorkOS::EventContext)) } + def context=(value); end sig { returns(T::Hash[Symbol, T.untyped]) } def to_h; end diff --git a/rbi/workos/actions.rbi b/rbi/workos/actions.rbi deleted file mode 100644 index 76c17acf..00000000 --- a/rbi/workos/actions.rbi +++ /dev/null @@ -1,48 +0,0 @@ -# frozen_string_literal: true - -# This file is auto-generated by oagen. Do not edit. - -# typed: strong - -module WorkOS - module Actions - DEFAULT_TOLERANCE_SECONDS = T.let(30, Integer) - ACTION_TYPE_TO_RESPONSE_OBJECT = T.let(T.unsafe(nil), T::Hash[String, String]) - - sig do - params( - payload: String, - sig_header: String, - secret: String, - tolerance: Integer - ).returns(T::Boolean) - end - def self.verify_header(payload:, sig_header:, secret:, tolerance: DEFAULT_TOLERANCE_SECONDS); end - - sig do - params( - payload: String, - sig_header: String, - secret: String, - tolerance: Integer - ).returns(T::Hash[String, T.untyped]) - end - def self.construct_action(payload:, sig_header:, secret:, tolerance: DEFAULT_TOLERANCE_SECONDS); end - - sig do - params( - action_type: String, - verdict: String, - secret: String, - error_message: T.nilable(String) - ).returns(T::Hash[String, T.untyped]) - end - def self.sign_response(action_type:, verdict:, secret:, error_message: nil); end - - sig { params(payload: String, timestamp: T.any(String, Integer), secret: String).returns(String) } - def self.compute_signature(payload:, timestamp:, secret:); end - - sig { params(sig_header: String).returns([String, String]) } - def self.parse_signature_header(sig_header); end - end -end diff --git a/rbi/workos/actor.rbi b/rbi/workos/actor.rbi new file mode 100644 index 00000000..2f703890 --- /dev/null +++ b/rbi/workos/actor.rbi @@ -0,0 +1,30 @@ +# frozen_string_literal: true + +# This file is auto-generated by oagen. Do not edit. + +# typed: strong + +module WorkOS + class Actor + sig { params(json: T.any(String, T::Hash[Symbol, T.untyped])).void } + def initialize(json); end + + sig { returns(String) } + def id; end + + sig { params(value: String).returns(String) } + def id=(value); end + + sig { returns(String) } + def name; end + + sig { params(value: String).returns(String) } + def name=(value); end + + sig { returns(T::Hash[Symbol, T.untyped]) } + def to_h; end + + sig { params(args: T.untyped).returns(String) } + def to_json(*args); end + end +end diff --git a/rbi/workos/api_key.rbi b/rbi/workos/api_key.rbi index 016787a3..3c7043a0 100644 --- a/rbi/workos/api_key.rbi +++ b/rbi/workos/api_key.rbi @@ -45,6 +45,12 @@ module WorkOS sig { params(value: T.nilable(String)).returns(T.nilable(String)) } def last_used_at=(value); end + sig { returns(T.nilable(String)) } + def expires_at; end + + sig { params(value: T.nilable(String)).returns(T.nilable(String)) } + def expires_at=(value); end + sig { returns(T::Array[String]) } def permissions; end diff --git a/rbi/workos/api_key_created.rbi b/rbi/workos/api_key_created.rbi index a59f3d55..a70f4038 100644 --- a/rbi/workos/api_key_created.rbi +++ b/rbi/workos/api_key_created.rbi @@ -9,6 +9,12 @@ module WorkOS sig { params(json: T.any(String, T::Hash[Symbol, T.untyped])).void } def initialize(json); end + sig { returns(String) } + def object; end + + sig { params(value: String).returns(String) } + def object=(value); end + sig { returns(String) } def id; end @@ -39,12 +45,6 @@ module WorkOS sig { params(value: T.nilable(WorkOS::EventContext)).returns(T.nilable(WorkOS::EventContext)) } def context=(value); end - sig { returns(String) } - def object; end - - sig { params(value: String).returns(String) } - def object=(value); end - sig { returns(T::Hash[Symbol, T.untyped]) } def to_h; end diff --git a/rbi/workos/api_key_created_data.rbi b/rbi/workos/api_key_created_data.rbi index b676aada..67afab81 100644 --- a/rbi/workos/api_key_created_data.rbi +++ b/rbi/workos/api_key_created_data.rbi @@ -45,6 +45,12 @@ module WorkOS sig { params(value: T.nilable(String)).returns(T.nilable(String)) } def last_used_at=(value); end + sig { returns(T.nilable(String)) } + def expires_at; end + + sig { params(value: T.nilable(String)).returns(T.nilable(String)) } + def expires_at=(value); end + sig { returns(T::Array[String]) } def permissions; end diff --git a/rbi/workos/api_key_revoked.rbi b/rbi/workos/api_key_revoked.rbi index 022de35c..88405ff6 100644 --- a/rbi/workos/api_key_revoked.rbi +++ b/rbi/workos/api_key_revoked.rbi @@ -9,6 +9,12 @@ module WorkOS sig { params(json: T.any(String, T::Hash[Symbol, T.untyped])).void } def initialize(json); end + sig { returns(String) } + def object; end + + sig { params(value: String).returns(String) } + def object=(value); end + sig { returns(String) } def id; end @@ -39,12 +45,6 @@ module WorkOS sig { params(value: T.nilable(WorkOS::EventContext)).returns(T.nilable(WorkOS::EventContext)) } def context=(value); end - sig { returns(String) } - def object; end - - sig { params(value: String).returns(String) } - def object=(value); end - sig { returns(T::Hash[Symbol, T.untyped]) } def to_h; end diff --git a/rbi/workos/api_key_revoked_data.rbi b/rbi/workos/api_key_revoked_data.rbi index ffb02ca8..8f8708a4 100644 --- a/rbi/workos/api_key_revoked_data.rbi +++ b/rbi/workos/api_key_revoked_data.rbi @@ -45,6 +45,12 @@ module WorkOS sig { params(value: T.nilable(String)).returns(T.nilable(String)) } def last_used_at=(value); end + sig { returns(T.nilable(String)) } + def expires_at; end + + sig { params(value: T.nilable(String)).returns(T.nilable(String)) } + def expires_at=(value); end + sig { returns(T::Array[String]) } def permissions; end diff --git a/rbi/workos/api_keys.rbi b/rbi/workos/api_keys.rbi index ae85f013..982fa5c8 100644 --- a/rbi/workos/api_keys.rbi +++ b/rbi/workos/api_keys.rbi @@ -26,10 +26,11 @@ module WorkOS organization_id: String, name: String, permissions: T.nilable(T::Array[String]), + expires_at: T.nilable(String), request_options: T::Hash[Symbol, T.untyped] ).returns(WorkOS::OrganizationApiKeyWithValue) end - def create_organization_api_key(organization_id:, name:, permissions:, request_options:); end + def create_organization_api_key(organization_id:, name:, permissions:, expires_at:, request_options:); end sig do params( diff --git a/rbi/workos/audit_log_action.rbi b/rbi/workos/audit_log_action.rbi index 4185bd10..4444cc04 100644 --- a/rbi/workos/audit_log_action.rbi +++ b/rbi/workos/audit_log_action.rbi @@ -1,4 +1,5 @@ # frozen_string_literal: true + # This file is auto-generated by oagen. Do not edit. # typed: strong diff --git a/rbi/workos/audit_log_export.rbi b/rbi/workos/audit_log_export.rbi index f2cbe49a..fb349eb2 100644 --- a/rbi/workos/audit_log_export.rbi +++ b/rbi/workos/audit_log_export.rbi @@ -1,4 +1,5 @@ # frozen_string_literal: true + # This file is auto-generated by oagen. Do not edit. # typed: strong diff --git a/rbi/workos/audit_log_schema.rbi b/rbi/workos/audit_log_schema.rbi index 580253b6..32b29029 100644 --- a/rbi/workos/audit_log_schema.rbi +++ b/rbi/workos/audit_log_schema.rbi @@ -9,6 +9,18 @@ module WorkOS sig { params(json: T.any(String, T::Hash[Symbol, T.untyped])).void } def initialize(json); end + sig { returns(String) } + def object; end + + sig { params(value: String).returns(String) } + def object=(value); end + + sig { returns(Integer) } + def version; end + + sig { params(value: Integer).returns(Integer) } + def version=(value); end + sig { returns(T.nilable(WorkOS::AuditLogSchemaActor)) } def actor; end @@ -27,6 +39,12 @@ module WorkOS sig { params(value: T.nilable(T::Hash[String, T.untyped])).returns(T.nilable(T::Hash[String, T.untyped])) } def metadata=(value); end + sig { returns(String) } + def created_at; end + + sig { params(value: String).returns(String) } + def created_at=(value); end + sig { returns(T::Hash[Symbol, T.untyped]) } def to_h; end diff --git a/rbi/workos/audit_log_schema_json_actor.rbi b/rbi/workos/audit_log_schema_actor_input.rbi similarity index 94% rename from rbi/workos/audit_log_schema_json_actor.rbi rename to rbi/workos/audit_log_schema_actor_input.rbi index ec091541..dd5c8d01 100644 --- a/rbi/workos/audit_log_schema_json_actor.rbi +++ b/rbi/workos/audit_log_schema_actor_input.rbi @@ -5,7 +5,7 @@ # typed: strong module WorkOS - class AuditLogSchemaJsonActor + class AuditLogSchemaActorInput sig { params(json: T.any(String, T::Hash[Symbol, T.untyped])).void } def initialize(json); end diff --git a/rbi/workos/audit_log_schema_input.rbi b/rbi/workos/audit_log_schema_input.rbi new file mode 100644 index 00000000..bde8190b --- /dev/null +++ b/rbi/workos/audit_log_schema_input.rbi @@ -0,0 +1,36 @@ +# frozen_string_literal: true + +# This file is auto-generated by oagen. Do not edit. + +# typed: strong + +module WorkOS + class AuditLogSchemaInput + sig { params(json: T.any(String, T::Hash[Symbol, T.untyped])).void } + def initialize(json); end + + sig { returns(T.nilable(WorkOS::AuditLogSchemaActorInput)) } + def actor; end + + sig { params(value: T.nilable(WorkOS::AuditLogSchemaActorInput)).returns(T.nilable(WorkOS::AuditLogSchemaActorInput)) } + def actor=(value); end + + sig { returns(T::Array[WorkOS::AuditLogSchemaTargetInput]) } + def targets; end + + sig { params(value: T::Array[WorkOS::AuditLogSchemaTargetInput]).returns(T::Array[WorkOS::AuditLogSchemaTargetInput]) } + def targets=(value); end + + sig { returns(T.nilable(T::Hash[String, T.untyped])) } + def metadata; end + + sig { params(value: T.nilable(T::Hash[String, T.untyped])).returns(T.nilable(T::Hash[String, T.untyped])) } + def metadata=(value); end + + sig { returns(T::Hash[Symbol, T.untyped]) } + def to_h; end + + sig { params(args: T.untyped).returns(String) } + def to_json(*args); end + end +end diff --git a/rbi/workos/audit_log_schema_json.rbi b/rbi/workos/audit_log_schema_json.rbi deleted file mode 100644 index 22087b7e..00000000 --- a/rbi/workos/audit_log_schema_json.rbi +++ /dev/null @@ -1,54 +0,0 @@ -# frozen_string_literal: true - -# This file is auto-generated by oagen. Do not edit. - -# typed: strong - -module WorkOS - class AuditLogSchemaJson - sig { params(json: T.any(String, T::Hash[Symbol, T.untyped])).void } - def initialize(json); end - - sig { returns(String) } - def object; end - - sig { params(value: String).returns(String) } - def object=(value); end - - sig { returns(Integer) } - def version; end - - sig { params(value: Integer).returns(Integer) } - def version=(value); end - - sig { returns(T.nilable(WorkOS::AuditLogSchemaJsonActor)) } - def actor; end - - sig { params(value: T.nilable(WorkOS::AuditLogSchemaJsonActor)).returns(T.nilable(WorkOS::AuditLogSchemaJsonActor)) } - def actor=(value); end - - sig { returns(T::Array[WorkOS::AuditLogSchemaJsonTarget]) } - def targets; end - - sig { params(value: T::Array[WorkOS::AuditLogSchemaJsonTarget]).returns(T::Array[WorkOS::AuditLogSchemaJsonTarget]) } - def targets=(value); end - - sig { returns(T.nilable(T::Hash[String, T.untyped])) } - def metadata; end - - sig { params(value: T.nilable(T::Hash[String, T.untyped])).returns(T.nilable(T::Hash[String, T.untyped])) } - def metadata=(value); end - - sig { returns(String) } - def created_at; end - - sig { params(value: String).returns(String) } - def created_at=(value); end - - sig { returns(T::Hash[Symbol, T.untyped]) } - def to_h; end - - sig { params(args: T.untyped).returns(String) } - def to_json(*args); end - end -end diff --git a/rbi/workos/audit_log_schema_json_target.rbi b/rbi/workos/audit_log_schema_target_input.rbi similarity index 95% rename from rbi/workos/audit_log_schema_json_target.rbi rename to rbi/workos/audit_log_schema_target_input.rbi index 04c80112..6f0a21bd 100644 --- a/rbi/workos/audit_log_schema_json_target.rbi +++ b/rbi/workos/audit_log_schema_target_input.rbi @@ -5,7 +5,7 @@ # typed: strong module WorkOS - class AuditLogSchemaJsonTarget + class AuditLogSchemaTargetInput sig { params(json: T.any(String, T::Hash[Symbol, T.untyped])).void } def initialize(json); end diff --git a/rbi/workos/audit_logs.rbi b/rbi/workos/audit_logs.rbi index b022e197..4fc1e0b6 100644 --- a/rbi/workos/audit_logs.rbi +++ b/rbi/workos/audit_logs.rbi @@ -13,7 +13,7 @@ module WorkOS params( id: String, request_options: T::Hash[Symbol, T.untyped] - ).returns(WorkOS::AuditLogsRetentionJson) + ).returns(WorkOS::AuditLogsRetention) end def get_organization_audit_logs_retention(id:, request_options:); end @@ -22,7 +22,7 @@ module WorkOS id: String, retention_period_in_days: Integer, request_options: T::Hash[Symbol, T.untyped] - ).returns(WorkOS::AuditLogsRetentionJson) + ).returns(WorkOS::AuditLogsRetention) end def update_organization_audit_logs_retention(id:, retention_period_in_days:, request_options:); end @@ -33,7 +33,7 @@ module WorkOS limit: T.nilable(Integer), order: T.nilable(String), request_options: T::Hash[Symbol, T.untyped] - ).returns(T::Array[WorkOS::AuditLogActionJson]) + ).returns(T::Array[WorkOS::AuditLogAction]) end def list_actions(before:, after:, limit:, order:, request_options:); end @@ -45,18 +45,18 @@ module WorkOS limit: T.nilable(Integer), order: T.nilable(String), request_options: T::Hash[Symbol, T.untyped] - ).returns(T::Array[WorkOS::AuditLogSchemaJson]) + ).returns(T::Array[WorkOS::AuditLogSchema]) end def list_action_schemas(action_name:, before:, after:, limit:, order:, request_options:); end sig do params( action_name: String, - targets: T::Array[WorkOS::AuditLogSchemaTarget], - actor: T.nilable(WorkOS::AuditLogSchemaActor), + targets: T::Array[WorkOS::AuditLogSchemaTargetInput], + actor: T.nilable(WorkOS::AuditLogSchemaActorInput), metadata: T.nilable(T::Hash[String, T.untyped]), request_options: T::Hash[Symbol, T.untyped] - ).returns(WorkOS::AuditLogSchemaJson) + ).returns(WorkOS::AuditLogSchema) end def create_schema(action_name:, targets:, actor:, metadata:, request_options:); end @@ -80,7 +80,7 @@ module WorkOS actor_ids: T.nilable(T::Array[String]), targets: T.nilable(T::Array[String]), request_options: T::Hash[Symbol, T.untyped] - ).returns(WorkOS::AuditLogExportJson) + ).returns(WorkOS::AuditLogExport) end def create_export(organization_id:, range_start:, range_end:, actions:, actors:, actor_names:, actor_ids:, targets:, request_options:); end @@ -88,7 +88,7 @@ module WorkOS params( audit_log_export_id: String, request_options: T::Hash[Symbol, T.untyped] - ).returns(WorkOS::AuditLogExportJson) + ).returns(WorkOS::AuditLogExport) end def get_export(audit_log_export_id:, request_options:); end diff --git a/rbi/workos/audit_logs_retention.rbi b/rbi/workos/audit_logs_retention.rbi index 4ca26347..e87a1fa6 100644 --- a/rbi/workos/audit_logs_retention.rbi +++ b/rbi/workos/audit_logs_retention.rbi @@ -1,4 +1,5 @@ # frozen_string_literal: true + # This file is auto-generated by oagen. Do not edit. # typed: strong diff --git a/rbi/workos/authentication_email_verification_failed.rbi b/rbi/workos/authentication_email_verification_failed.rbi index 5e0f6388..73a70845 100644 --- a/rbi/workos/authentication_email_verification_failed.rbi +++ b/rbi/workos/authentication_email_verification_failed.rbi @@ -9,6 +9,12 @@ module WorkOS sig { params(json: T.any(String, T::Hash[Symbol, T.untyped])).void } def initialize(json); end + sig { returns(String) } + def object; end + + sig { params(value: String).returns(String) } + def object=(value); end + sig { returns(String) } def id; end @@ -39,12 +45,6 @@ module WorkOS sig { params(value: T.nilable(WorkOS::EventContext)).returns(T.nilable(WorkOS::EventContext)) } def context=(value); end - sig { returns(String) } - def object; end - - sig { params(value: String).returns(String) } - def object=(value); end - sig { returns(T::Hash[Symbol, T.untyped]) } def to_h; end diff --git a/rbi/workos/authentication_email_verification_succeeded.rbi b/rbi/workos/authentication_email_verification_succeeded.rbi index 50831892..831c723d 100644 --- a/rbi/workos/authentication_email_verification_succeeded.rbi +++ b/rbi/workos/authentication_email_verification_succeeded.rbi @@ -9,6 +9,12 @@ module WorkOS sig { params(json: T.any(String, T::Hash[Symbol, T.untyped])).void } def initialize(json); end + sig { returns(String) } + def object; end + + sig { params(value: String).returns(String) } + def object=(value); end + sig { returns(String) } def id; end @@ -39,12 +45,6 @@ module WorkOS sig { params(value: T.nilable(WorkOS::EventContext)).returns(T.nilable(WorkOS::EventContext)) } def context=(value); end - sig { returns(String) } - def object; end - - sig { params(value: String).returns(String) } - def object=(value); end - sig { returns(T::Hash[Symbol, T.untyped]) } def to_h; end diff --git a/rbi/workos/authentication_magic_auth_failed.rbi b/rbi/workos/authentication_magic_auth_failed.rbi index 56dc51ef..bf316acf 100644 --- a/rbi/workos/authentication_magic_auth_failed.rbi +++ b/rbi/workos/authentication_magic_auth_failed.rbi @@ -9,6 +9,12 @@ module WorkOS sig { params(json: T.any(String, T::Hash[Symbol, T.untyped])).void } def initialize(json); end + sig { returns(String) } + def object; end + + sig { params(value: String).returns(String) } + def object=(value); end + sig { returns(String) } def id; end @@ -39,12 +45,6 @@ module WorkOS sig { params(value: T.nilable(WorkOS::EventContext)).returns(T.nilable(WorkOS::EventContext)) } def context=(value); end - sig { returns(String) } - def object; end - - sig { params(value: String).returns(String) } - def object=(value); end - sig { returns(T::Hash[Symbol, T.untyped]) } def to_h; end diff --git a/rbi/workos/authentication_magic_auth_succeeded.rbi b/rbi/workos/authentication_magic_auth_succeeded.rbi index 51d53e57..0244dab7 100644 --- a/rbi/workos/authentication_magic_auth_succeeded.rbi +++ b/rbi/workos/authentication_magic_auth_succeeded.rbi @@ -9,6 +9,12 @@ module WorkOS sig { params(json: T.any(String, T::Hash[Symbol, T.untyped])).void } def initialize(json); end + sig { returns(String) } + def object; end + + sig { params(value: String).returns(String) } + def object=(value); end + sig { returns(String) } def id; end @@ -39,12 +45,6 @@ module WorkOS sig { params(value: T.nilable(WorkOS::EventContext)).returns(T.nilable(WorkOS::EventContext)) } def context=(value); end - sig { returns(String) } - def object; end - - sig { params(value: String).returns(String) } - def object=(value); end - sig { returns(T::Hash[Symbol, T.untyped]) } def to_h; end diff --git a/rbi/workos/authentication_mfa_failed.rbi b/rbi/workos/authentication_mfa_failed.rbi index 4352dd45..5371009d 100644 --- a/rbi/workos/authentication_mfa_failed.rbi +++ b/rbi/workos/authentication_mfa_failed.rbi @@ -9,6 +9,12 @@ module WorkOS sig { params(json: T.any(String, T::Hash[Symbol, T.untyped])).void } def initialize(json); end + sig { returns(String) } + def object; end + + sig { params(value: String).returns(String) } + def object=(value); end + sig { returns(String) } def id; end @@ -39,12 +45,6 @@ module WorkOS sig { params(value: T.nilable(WorkOS::EventContext)).returns(T.nilable(WorkOS::EventContext)) } def context=(value); end - sig { returns(String) } - def object; end - - sig { params(value: String).returns(String) } - def object=(value); end - sig { returns(T::Hash[Symbol, T.untyped]) } def to_h; end diff --git a/rbi/workos/authentication_mfa_succeeded.rbi b/rbi/workos/authentication_mfa_succeeded.rbi index 105895fe..0585f916 100644 --- a/rbi/workos/authentication_mfa_succeeded.rbi +++ b/rbi/workos/authentication_mfa_succeeded.rbi @@ -9,6 +9,12 @@ module WorkOS sig { params(json: T.any(String, T::Hash[Symbol, T.untyped])).void } def initialize(json); end + sig { returns(String) } + def object; end + + sig { params(value: String).returns(String) } + def object=(value); end + sig { returns(String) } def id; end @@ -39,12 +45,6 @@ module WorkOS sig { params(value: T.nilable(WorkOS::EventContext)).returns(T.nilable(WorkOS::EventContext)) } def context=(value); end - sig { returns(String) } - def object; end - - sig { params(value: String).returns(String) } - def object=(value); end - sig { returns(T::Hash[Symbol, T.untyped]) } def to_h; end diff --git a/rbi/workos/authentication_oauth_failed.rbi b/rbi/workos/authentication_oauth_failed.rbi index f10b076c..62a10073 100644 --- a/rbi/workos/authentication_oauth_failed.rbi +++ b/rbi/workos/authentication_oauth_failed.rbi @@ -9,6 +9,12 @@ module WorkOS sig { params(json: T.any(String, T::Hash[Symbol, T.untyped])).void } def initialize(json); end + sig { returns(String) } + def object; end + + sig { params(value: String).returns(String) } + def object=(value); end + sig { returns(String) } def id; end @@ -39,12 +45,6 @@ module WorkOS sig { params(value: T.nilable(WorkOS::EventContext)).returns(T.nilable(WorkOS::EventContext)) } def context=(value); end - sig { returns(String) } - def object; end - - sig { params(value: String).returns(String) } - def object=(value); end - sig { returns(T::Hash[Symbol, T.untyped]) } def to_h; end diff --git a/rbi/workos/authentication_oauth_succeeded.rbi b/rbi/workos/authentication_oauth_succeeded.rbi index bb768038..1e7dab6e 100644 --- a/rbi/workos/authentication_oauth_succeeded.rbi +++ b/rbi/workos/authentication_oauth_succeeded.rbi @@ -9,6 +9,12 @@ module WorkOS sig { params(json: T.any(String, T::Hash[Symbol, T.untyped])).void } def initialize(json); end + sig { returns(String) } + def object; end + + sig { params(value: String).returns(String) } + def object=(value); end + sig { returns(String) } def id; end @@ -39,12 +45,6 @@ module WorkOS sig { params(value: T.nilable(WorkOS::EventContext)).returns(T.nilable(WorkOS::EventContext)) } def context=(value); end - sig { returns(String) } - def object; end - - sig { params(value: String).returns(String) } - def object=(value); end - sig { returns(T::Hash[Symbol, T.untyped]) } def to_h; end diff --git a/rbi/workos/authentication_passkey_failed.rbi b/rbi/workos/authentication_passkey_failed.rbi index b8986307..faa6e342 100644 --- a/rbi/workos/authentication_passkey_failed.rbi +++ b/rbi/workos/authentication_passkey_failed.rbi @@ -9,6 +9,12 @@ module WorkOS sig { params(json: T.any(String, T::Hash[Symbol, T.untyped])).void } def initialize(json); end + sig { returns(String) } + def object; end + + sig { params(value: String).returns(String) } + def object=(value); end + sig { returns(String) } def id; end @@ -39,12 +45,6 @@ module WorkOS sig { params(value: T.nilable(WorkOS::EventContext)).returns(T.nilable(WorkOS::EventContext)) } def context=(value); end - sig { returns(String) } - def object; end - - sig { params(value: String).returns(String) } - def object=(value); end - sig { returns(T::Hash[Symbol, T.untyped]) } def to_h; end diff --git a/rbi/workos/authentication_passkey_succeeded.rbi b/rbi/workos/authentication_passkey_succeeded.rbi index ccebdc2d..4fcaef61 100644 --- a/rbi/workos/authentication_passkey_succeeded.rbi +++ b/rbi/workos/authentication_passkey_succeeded.rbi @@ -9,6 +9,12 @@ module WorkOS sig { params(json: T.any(String, T::Hash[Symbol, T.untyped])).void } def initialize(json); end + sig { returns(String) } + def object; end + + sig { params(value: String).returns(String) } + def object=(value); end + sig { returns(String) } def id; end @@ -39,12 +45,6 @@ module WorkOS sig { params(value: T.nilable(WorkOS::EventContext)).returns(T.nilable(WorkOS::EventContext)) } def context=(value); end - sig { returns(String) } - def object; end - - sig { params(value: String).returns(String) } - def object=(value); end - sig { returns(T::Hash[Symbol, T.untyped]) } def to_h; end diff --git a/rbi/workos/authentication_password_failed.rbi b/rbi/workos/authentication_password_failed.rbi index bbc2c357..ffccc07a 100644 --- a/rbi/workos/authentication_password_failed.rbi +++ b/rbi/workos/authentication_password_failed.rbi @@ -9,6 +9,12 @@ module WorkOS sig { params(json: T.any(String, T::Hash[Symbol, T.untyped])).void } def initialize(json); end + sig { returns(String) } + def object; end + + sig { params(value: String).returns(String) } + def object=(value); end + sig { returns(String) } def id; end @@ -39,12 +45,6 @@ module WorkOS sig { params(value: T.nilable(WorkOS::EventContext)).returns(T.nilable(WorkOS::EventContext)) } def context=(value); end - sig { returns(String) } - def object; end - - sig { params(value: String).returns(String) } - def object=(value); end - sig { returns(T::Hash[Symbol, T.untyped]) } def to_h; end diff --git a/rbi/workos/authentication_password_succeeded.rbi b/rbi/workos/authentication_password_succeeded.rbi index d12b4370..12b1ea87 100644 --- a/rbi/workos/authentication_password_succeeded.rbi +++ b/rbi/workos/authentication_password_succeeded.rbi @@ -9,6 +9,12 @@ module WorkOS sig { params(json: T.any(String, T::Hash[Symbol, T.untyped])).void } def initialize(json); end + sig { returns(String) } + def object; end + + sig { params(value: String).returns(String) } + def object=(value); end + sig { returns(String) } def id; end @@ -39,12 +45,6 @@ module WorkOS sig { params(value: T.nilable(WorkOS::EventContext)).returns(T.nilable(WorkOS::EventContext)) } def context=(value); end - sig { returns(String) } - def object; end - - sig { params(value: String).returns(String) } - def object=(value); end - sig { returns(T::Hash[Symbol, T.untyped]) } def to_h; end diff --git a/rbi/workos/authentication_radar_risk_detected.rbi b/rbi/workos/authentication_radar_risk_detected.rbi index 3ec81b68..00d0d23b 100644 --- a/rbi/workos/authentication_radar_risk_detected.rbi +++ b/rbi/workos/authentication_radar_risk_detected.rbi @@ -9,6 +9,12 @@ module WorkOS sig { params(json: T.any(String, T::Hash[Symbol, T.untyped])).void } def initialize(json); end + sig { returns(String) } + def object; end + + sig { params(value: String).returns(String) } + def object=(value); end + sig { returns(String) } def id; end @@ -39,12 +45,6 @@ module WorkOS sig { params(value: T.nilable(WorkOS::EventContext)).returns(T.nilable(WorkOS::EventContext)) } def context=(value); end - sig { returns(String) } - def object; end - - sig { params(value: String).returns(String) } - def object=(value); end - sig { returns(T::Hash[Symbol, T.untyped]) } def to_h; end diff --git a/rbi/workos/authentication_sso_failed.rbi b/rbi/workos/authentication_sso_failed.rbi index 1177cc10..57d62a96 100644 --- a/rbi/workos/authentication_sso_failed.rbi +++ b/rbi/workos/authentication_sso_failed.rbi @@ -9,6 +9,12 @@ module WorkOS sig { params(json: T.any(String, T::Hash[Symbol, T.untyped])).void } def initialize(json); end + sig { returns(String) } + def object; end + + sig { params(value: String).returns(String) } + def object=(value); end + sig { returns(String) } def id; end @@ -39,12 +45,6 @@ module WorkOS sig { params(value: T.nilable(WorkOS::EventContext)).returns(T.nilable(WorkOS::EventContext)) } def context=(value); end - sig { returns(String) } - def object; end - - sig { params(value: String).returns(String) } - def object=(value); end - sig { returns(T::Hash[Symbol, T.untyped]) } def to_h; end diff --git a/rbi/workos/authentication_sso_started.rbi b/rbi/workos/authentication_sso_started.rbi index 6707b6b6..376602c8 100644 --- a/rbi/workos/authentication_sso_started.rbi +++ b/rbi/workos/authentication_sso_started.rbi @@ -9,6 +9,12 @@ module WorkOS sig { params(json: T.any(String, T::Hash[Symbol, T.untyped])).void } def initialize(json); end + sig { returns(String) } + def object; end + + sig { params(value: String).returns(String) } + def object=(value); end + sig { returns(String) } def id; end @@ -39,12 +45,6 @@ module WorkOS sig { params(value: T.nilable(WorkOS::EventContext)).returns(T.nilable(WorkOS::EventContext)) } def context=(value); end - sig { returns(String) } - def object; end - - sig { params(value: String).returns(String) } - def object=(value); end - sig { returns(T::Hash[Symbol, T.untyped]) } def to_h; end diff --git a/rbi/workos/authentication_sso_succeeded.rbi b/rbi/workos/authentication_sso_succeeded.rbi index 8e1a6d42..8b089a12 100644 --- a/rbi/workos/authentication_sso_succeeded.rbi +++ b/rbi/workos/authentication_sso_succeeded.rbi @@ -9,6 +9,12 @@ module WorkOS sig { params(json: T.any(String, T::Hash[Symbol, T.untyped])).void } def initialize(json); end + sig { returns(String) } + def object; end + + sig { params(value: String).returns(String) } + def object=(value); end + sig { returns(String) } def id; end @@ -39,12 +45,6 @@ module WorkOS sig { params(value: T.nilable(WorkOS::EventContext)).returns(T.nilable(WorkOS::EventContext)) } def context=(value); end - sig { returns(String) } - def object; end - - sig { params(value: String).returns(String) } - def object=(value); end - sig { returns(T::Hash[Symbol, T.untyped]) } def to_h; end diff --git a/rbi/workos/authentication_sso_timed_out.rbi b/rbi/workos/authentication_sso_timed_out.rbi index d1fa6656..3351a3bb 100644 --- a/rbi/workos/authentication_sso_timed_out.rbi +++ b/rbi/workos/authentication_sso_timed_out.rbi @@ -9,6 +9,12 @@ module WorkOS sig { params(json: T.any(String, T::Hash[Symbol, T.untyped])).void } def initialize(json); end + sig { returns(String) } + def object; end + + sig { params(value: String).returns(String) } + def object=(value); end + sig { returns(String) } def id; end @@ -39,12 +45,6 @@ module WorkOS sig { params(value: T.nilable(WorkOS::EventContext)).returns(T.nilable(WorkOS::EventContext)) } def context=(value); end - sig { returns(String) } - def object; end - - sig { params(value: String).returns(String) } - def object=(value); end - sig { returns(T::Hash[Symbol, T.untyped]) } def to_h; end diff --git a/rbi/workos/authorization.rbi b/rbi/workos/authorization.rbi index 6d2d35e0..66cf9440 100644 --- a/rbi/workos/authorization.rbi +++ b/rbi/workos/authorization.rbi @@ -151,10 +151,13 @@ module WorkOS after: T.nilable(String), limit: T.nilable(Integer), order: T.nilable(String), + resource_id: T.nilable(String), + resource_external_id: T.nilable(String), + resource_type_slug: T.nilable(String), request_options: T::Hash[Symbol, T.untyped] ).returns(WorkOS::Types::ListStruct) end - def list_role_assignments(organization_membership_id:, before:, after:, limit:, order:, request_options:); end + def list_role_assignments(organization_membership_id:, before:, after:, limit:, order:, resource_id:, resource_external_id:, resource_type_slug:, request_options:); end sig do params( @@ -322,10 +325,11 @@ module WorkOS after: T.nilable(String), limit: T.nilable(Integer), order: T.nilable(String), + role_slug: T.nilable(String), request_options: T::Hash[Symbol, T.untyped] ).returns(WorkOS::Types::ListStruct) end - def list_role_assignments_for_resource_by_external_id(organization_id:, resource_type_slug:, external_id:, before:, after:, limit:, order:, request_options:); end + def list_role_assignments_for_resource_by_external_id(organization_id:, resource_type_slug:, external_id:, before:, after:, limit:, order:, role_slug:, request_options:); end sig do params( @@ -336,12 +340,11 @@ module WorkOS organization_id: T.nilable(String), resource_type_slug: T.nilable(String), resource_external_id: T.nilable(String), - search: T.nilable(String), parent: T.nilable(T.any(WorkOS::Authorization::ParentById, WorkOS::Authorization::ParentByExternalId)), request_options: T::Hash[Symbol, T.untyped] ).returns(WorkOS::Types::ListStruct) end - def list_resources(before:, after:, limit:, order:, organization_id:, resource_type_slug:, resource_external_id:, search:, parent:, request_options:); end + def list_resources(before:, after:, limit:, order:, organization_id:, resource_type_slug:, resource_external_id:, parent:, request_options:); end sig do params( @@ -405,10 +408,11 @@ module WorkOS after: T.nilable(String), limit: T.nilable(Integer), order: T.nilable(String), + role_slug: T.nilable(String), request_options: T::Hash[Symbol, T.untyped] ).returns(WorkOS::Types::ListStruct) end - def list_role_assignments_for_resource(resource_id:, before:, after:, limit:, order:, request_options:); end + def list_role_assignments_for_resource(resource_id:, before:, after:, limit:, order:, role_slug:, request_options:); end sig do params( diff --git a/rbi/workos/base_client.rbi b/rbi/workos/base_client.rbi deleted file mode 100644 index 66c870a2..00000000 --- a/rbi/workos/base_client.rbi +++ /dev/null @@ -1,132 +0,0 @@ -# frozen_string_literal: true - -# This file is auto-generated by oagen. Do not edit. - -# typed: strong - -module WorkOS - class BaseClient - DEFAULT_BASE_URL = T.let("https://api.workos.com", String) - DEFAULT_TIMEOUT = T.let(30, Integer) - DEFAULT_MAX_RETRIES = T.let(2, Integer) - RETRYABLE_STATUSES = T.let([408, 409, 429, 500, 502, 503, 504].freeze, T::Array[Integer]) - MAX_CACHED_CONNECTIONS = T.let(8, Integer) - RETRY_BACKOFF_BASE = T.let(0.5, Float) - LOG_SEVERITY = T.let({debug: 0, info: 1, warn: 2, error: 3, unknown: 4}.freeze, T::Hash[Symbol, Integer]) - USER_AGENT = T.let(T.unsafe(nil), String) - - sig { returns(T.nilable(String)) } - def api_key; end - - sig { returns(String) } - def base_url; end - - sig { returns(T.nilable(String)) } - def client_id; end - - sig { returns(Integer) } - def timeout; end - - sig { returns(Integer) } - def max_retries; end - - sig { returns(T.nilable(Logger)) } - def logger; end - - sig { returns(T.nilable(Symbol)) } - def log_level; end - - sig do - params( - api_key: T.nilable(String), - base_url: String, - client_id: T.nilable(String), - timeout: Integer, - max_retries: Integer, - logger: T.nilable(Logger), - log_level: T.nilable(Symbol), - random: Random - ).void - end - def initialize(api_key: nil, base_url: DEFAULT_BASE_URL, client_id: nil, - timeout: DEFAULT_TIMEOUT, max_retries: DEFAULT_MAX_RETRIES, - logger: nil, log_level: nil, random: Random.new); end - - sig do - params( - path: String, - auth: T::Boolean, - params: T::Hash[T.any(String, Symbol), T.untyped], - request_options: T.nilable(T::Hash[Symbol, T.untyped]) - ).returns(Net::HTTPRequest) - end - def get_request(path:, auth: false, params: {}, request_options: nil); end - - sig do - params( - path: String, - auth: T::Boolean, - body: T.nilable(T::Hash[T.any(String, Symbol), T.untyped]), - params: T::Hash[T.any(String, Symbol), T.untyped], - request_options: T.nilable(T::Hash[Symbol, T.untyped]) - ).returns(Net::HTTPRequest) - end - def post_request(path:, auth: false, body: {}, params: {}, request_options: nil); end - - sig do - params( - path: String, - auth: T::Boolean, - body: T.nilable(T::Hash[T.any(String, Symbol), T.untyped]), - params: T::Hash[T.any(String, Symbol), T.untyped], - request_options: T.nilable(T::Hash[Symbol, T.untyped]) - ).returns(Net::HTTPRequest) - end - def put_request(path:, auth: false, body: {}, params: {}, request_options: nil); end - - sig do - params( - path: String, - auth: T::Boolean, - body: T.nilable(T::Hash[T.any(String, Symbol), T.untyped]), - params: T::Hash[T.any(String, Symbol), T.untyped], - request_options: T.nilable(T::Hash[Symbol, T.untyped]) - ).returns(Net::HTTPRequest) - end - def patch_request(path:, auth: false, body: {}, params: {}, request_options: nil); end - - sig do - params( - path: String, - auth: T::Boolean, - body: T.nilable(T::Hash[T.any(String, Symbol), T.untyped]), - params: T::Hash[T.any(String, Symbol), T.untyped], - request_options: T.nilable(T::Hash[Symbol, T.untyped]) - ).returns(Net::HTTPRequest) - end - def delete_request(path:, auth: false, body: nil, params: {}, request_options: nil); end - - sig do - params( - method: Symbol, - path: String, - auth: T::Boolean, - params: T::Hash[T.any(String, Symbol), T.untyped], - body: T.nilable(T::Hash[T.any(String, Symbol), T.untyped]), - request_options: T::Hash[Symbol, T.untyped] - ).returns(Net::HTTPResponse) - end - def request(method:, path:, auth: true, params: {}, body: nil, request_options: {}); end - - sig do - params( - request: Net::HTTPRequest, - request_options: T.nilable(T::Hash[Symbol, T.untyped]) - ).returns(Net::HTTPResponse) - end - def execute_request(request:, request_options: nil); end - - sig { void } - def shutdown; end - end -end diff --git a/rbi/workos/client.rbi b/rbi/workos/client.rbi index d2cf6514..8d3c58fd 100644 --- a/rbi/workos/client.rbi +++ b/rbi/workos/client.rbi @@ -16,7 +16,7 @@ module WorkOS def authorization; end sig { returns(WorkOS::SSO) } - def s_s_o; end + def sso; end sig { returns(WorkOS::Pipes) } def pipes; end @@ -54,8 +54,11 @@ module WorkOS sig { returns(WorkOS::UserManagement) } def user_management; end - sig { returns(WorkOS::UserManagementOrganizationMembershipGroups) } - def user_management_organization_membership_groups; end + sig { returns(WorkOS::OrganizationMembershipService) } + def organization_membership; end + + sig { returns(WorkOS::Vault) } + def vault; end sig { returns(WorkOS::Webhooks) } def webhooks; end diff --git a/rbi/workos/configuration.rbi b/rbi/workos/configuration.rbi deleted file mode 100644 index ada9a54a..00000000 --- a/rbi/workos/configuration.rbi +++ /dev/null @@ -1,68 +0,0 @@ -# frozen_string_literal: true - -# This file is auto-generated by oagen. Do not edit. - -# typed: strong - -module WorkOS - class Configuration - sig { returns(T.nilable(String)) } - def api_key; end - - sig { params(value: T.nilable(String)).returns(T.nilable(String)) } - def api_key=(value); end - - sig { returns(T.nilable(String)) } - def base_url; end - - sig { params(value: T.nilable(String)).returns(T.nilable(String)) } - def base_url=(value); end - - sig { returns(T.nilable(String)) } - def client_id; end - - sig { params(value: T.nilable(String)).returns(T.nilable(String)) } - def client_id=(value); end - - sig { returns(T.nilable(Integer)) } - def timeout; end - - sig { params(value: T.nilable(Integer)).returns(T.nilable(Integer)) } - def timeout=(value); end - - sig { returns(T.nilable(Integer)) } - def max_retries; end - - sig { params(value: T.nilable(Integer)).returns(T.nilable(Integer)) } - def max_retries=(value); end - - sig { returns(T.nilable(Logger)) } - def logger; end - - sig { params(value: T.nilable(Logger)).returns(T.nilable(Logger)) } - def logger=(value); end - - sig { returns(T.nilable(Symbol)) } - def log_level; end - - sig { params(value: T.nilable(Symbol)).returns(T.nilable(Symbol)) } - def log_level=(value); end - - sig { void } - def initialize; end - end - - class << self - sig { params(block: T.proc.params(config: WorkOS::Configuration).void).void } - def configure(&block); end - - sig { returns(WorkOS::Configuration) } - def configuration; end - - sig { returns(WorkOS::Client) } - def client; end - - sig { void } - def reset_client; end - end -end diff --git a/rbi/workos/connect_application.rbi b/rbi/workos/connect_application.rbi index dd7f4488..39a77a8c 100644 --- a/rbi/workos/connect_application.rbi +++ b/rbi/workos/connect_application.rbi @@ -57,18 +57,6 @@ module WorkOS sig { params(value: String).returns(String) } def updated_at=(value); end - sig { returns(T.nilable(String)) } - def application_type; end - - sig { params(value: T.nilable(String)).returns(T.nilable(String)) } - def application_type=(value); end - - sig { returns(T.nilable(String)) } - def organization_id; end - - sig { params(value: T.nilable(String)).returns(T.nilable(String)) } - def organization_id=(value); end - sig { returns(T::Hash[Symbol, T.untyped]) } def to_h; end diff --git a/rbi/workos/webhook_endpoint_json.rbi b/rbi/workos/connect_application_m2m.rbi similarity index 68% rename from rbi/workos/webhook_endpoint_json.rbi rename to rbi/workos/connect_application_m2m.rbi index 23b74d0e..0c279602 100644 --- a/rbi/workos/webhook_endpoint_json.rbi +++ b/rbi/workos/connect_application_m2m.rbi @@ -5,7 +5,7 @@ # typed: strong module WorkOS - class WebhookEndpointJson + class ConnectApplicationM2M sig { params(json: T.any(String, T::Hash[Symbol, T.untyped])).void } def initialize(json); end @@ -22,28 +22,28 @@ module WorkOS def id=(value); end sig { returns(String) } - def endpoint_url; end + def client_id; end sig { params(value: String).returns(String) } - def endpoint_url=(value); end + def client_id=(value); end - sig { returns(String) } - def secret; end + sig { returns(T.nilable(String)) } + def description; end - sig { params(value: String).returns(String) } - def secret=(value); end + sig { params(value: T.nilable(String)).returns(T.nilable(String)) } + def description=(value); end sig { returns(String) } - def status; end + def name; end sig { params(value: String).returns(String) } - def status=(value); end + def name=(value); end sig { returns(T::Array[String]) } - def events; end + def scopes; end sig { params(value: T::Array[String]).returns(T::Array[String]) } - def events=(value); end + def scopes=(value); end sig { returns(String) } def created_at; end @@ -57,6 +57,18 @@ module WorkOS sig { params(value: String).returns(String) } def updated_at=(value); end + sig { returns(String) } + def application_type; end + + sig { params(value: String).returns(String) } + def application_type=(value); end + + sig { returns(String) } + def organization_id; end + + sig { params(value: String).returns(String) } + def organization_id=(value); end + sig { returns(T::Hash[Symbol, T.untyped]) } def to_h; end diff --git a/rbi/workos/connect_application_oauth.rbi b/rbi/workos/connect_application_oauth.rbi new file mode 100644 index 00000000..b933e200 --- /dev/null +++ b/rbi/workos/connect_application_oauth.rbi @@ -0,0 +1,102 @@ +# frozen_string_literal: true + +# This file is auto-generated by oagen. Do not edit. + +# typed: strong + +module WorkOS + class ConnectApplicationOAuth + sig { params(json: T.any(String, T::Hash[Symbol, T.untyped])).void } + def initialize(json); end + + sig { returns(String) } + def object; end + + sig { params(value: String).returns(String) } + def object=(value); end + + sig { returns(String) } + def id; end + + sig { params(value: String).returns(String) } + def id=(value); end + + sig { returns(String) } + def client_id; end + + sig { params(value: String).returns(String) } + def client_id=(value); end + + sig { returns(T.nilable(String)) } + def description; end + + sig { params(value: T.nilable(String)).returns(T.nilable(String)) } + def description=(value); end + + sig { returns(String) } + def name; end + + sig { params(value: String).returns(String) } + def name=(value); end + + sig { returns(T::Array[String]) } + def scopes; end + + sig { params(value: T::Array[String]).returns(T::Array[String]) } + def scopes=(value); end + + sig { returns(String) } + def created_at; end + + sig { params(value: String).returns(String) } + def created_at=(value); end + + sig { returns(String) } + def updated_at; end + + sig { params(value: String).returns(String) } + def updated_at=(value); end + + sig { returns(String) } + def application_type; end + + sig { params(value: String).returns(String) } + def application_type=(value); end + + sig { returns(T::Array[WorkOS::ConnectApplicationOAuthRedirectUris]) } + def redirect_uris; end + + sig { params(value: T::Array[WorkOS::ConnectApplicationOAuthRedirectUris]).returns(T::Array[WorkOS::ConnectApplicationOAuthRedirectUris]) } + def redirect_uris=(value); end + + sig { returns(T::Boolean) } + def uses_pkce; end + + sig { params(value: T::Boolean).returns(T::Boolean) } + def uses_pkce=(value); end + + sig { returns(T::Boolean) } + def is_first_party; end + + sig { params(value: T::Boolean).returns(T::Boolean) } + def is_first_party=(value); end + + sig { returns(T.nilable(T::Boolean)) } + def was_dynamically_registered; end + + sig { params(value: T.nilable(T::Boolean)).returns(T.nilable(T::Boolean)) } + def was_dynamically_registered=(value); end + + sig { returns(T.nilable(String)) } + def organization_id; end + + sig { params(value: T.nilable(String)).returns(T.nilable(String)) } + def organization_id=(value); end + + sig { returns(T::Hash[Symbol, T.untyped]) } + def to_h; end + + sig { params(args: T.untyped).returns(String) } + def to_json(*args); end + end +end diff --git a/rbi/workos/connect_application_oauth_redirect_uris.rbi b/rbi/workos/connect_application_oauth_redirect_uris.rbi new file mode 100644 index 00000000..964be392 --- /dev/null +++ b/rbi/workos/connect_application_oauth_redirect_uris.rbi @@ -0,0 +1,30 @@ +# frozen_string_literal: true + +# This file is auto-generated by oagen. Do not edit. + +# typed: strong + +module WorkOS + class ConnectApplicationOAuthRedirectUris + sig { params(json: T.any(String, T::Hash[Symbol, T.untyped])).void } + def initialize(json); end + + sig { returns(String) } + def uri; end + + sig { params(value: String).returns(String) } + def uri=(value); end + + sig { returns(T::Boolean) } + def default; end + + sig { params(value: T::Boolean).returns(T::Boolean) } + def default=(value); end + + sig { returns(T::Hash[Symbol, T.untyped]) } + def to_h; end + + sig { params(args: T.untyped).returns(String) } + def to_json(*args); end + end +end diff --git a/rbi/workos/connection_activated.rbi b/rbi/workos/connection_activated.rbi index 7c0323ef..1703f4be 100644 --- a/rbi/workos/connection_activated.rbi +++ b/rbi/workos/connection_activated.rbi @@ -9,6 +9,12 @@ module WorkOS sig { params(json: T.any(String, T::Hash[Symbol, T.untyped])).void } def initialize(json); end + sig { returns(String) } + def object; end + + sig { params(value: String).returns(String) } + def object=(value); end + sig { returns(String) } def id; end @@ -39,12 +45,6 @@ module WorkOS sig { params(value: T.nilable(WorkOS::EventContext)).returns(T.nilable(WorkOS::EventContext)) } def context=(value); end - sig { returns(String) } - def object; end - - sig { params(value: String).returns(String) } - def object=(value); end - sig { returns(T::Hash[Symbol, T.untyped]) } def to_h; end diff --git a/rbi/workos/connection_deactivated.rbi b/rbi/workos/connection_deactivated.rbi index c0fd502c..5a636a69 100644 --- a/rbi/workos/connection_deactivated.rbi +++ b/rbi/workos/connection_deactivated.rbi @@ -9,6 +9,12 @@ module WorkOS sig { params(json: T.any(String, T::Hash[Symbol, T.untyped])).void } def initialize(json); end + sig { returns(String) } + def object; end + + sig { params(value: String).returns(String) } + def object=(value); end + sig { returns(String) } def id; end @@ -39,12 +45,6 @@ module WorkOS sig { params(value: T.nilable(WorkOS::EventContext)).returns(T.nilable(WorkOS::EventContext)) } def context=(value); end - sig { returns(String) } - def object; end - - sig { params(value: String).returns(String) } - def object=(value); end - sig { returns(T::Hash[Symbol, T.untyped]) } def to_h; end diff --git a/rbi/workos/connection_deleted.rbi b/rbi/workos/connection_deleted.rbi index 628720ce..6478812a 100644 --- a/rbi/workos/connection_deleted.rbi +++ b/rbi/workos/connection_deleted.rbi @@ -9,6 +9,12 @@ module WorkOS sig { params(json: T.any(String, T::Hash[Symbol, T.untyped])).void } def initialize(json); end + sig { returns(String) } + def object; end + + sig { params(value: String).returns(String) } + def object=(value); end + sig { returns(String) } def id; end @@ -39,12 +45,6 @@ module WorkOS sig { params(value: T.nilable(WorkOS::EventContext)).returns(T.nilable(WorkOS::EventContext)) } def context=(value); end - sig { returns(String) } - def object; end - - sig { params(value: String).returns(String) } - def object=(value); end - sig { returns(T::Hash[Symbol, T.untyped]) } def to_h; end diff --git a/rbi/workos/connection_saml_certificate_renewal_required.rbi b/rbi/workos/connection_saml_certificate_renewal_required.rbi index 66696e2f..341f4dc9 100644 --- a/rbi/workos/connection_saml_certificate_renewal_required.rbi +++ b/rbi/workos/connection_saml_certificate_renewal_required.rbi @@ -9,6 +9,12 @@ module WorkOS sig { params(json: T.any(String, T::Hash[Symbol, T.untyped])).void } def initialize(json); end + sig { returns(String) } + def object; end + + sig { params(value: String).returns(String) } + def object=(value); end + sig { returns(String) } def id; end @@ -39,12 +45,6 @@ module WorkOS sig { params(value: T.nilable(WorkOS::EventContext)).returns(T.nilable(WorkOS::EventContext)) } def context=(value); end - sig { returns(String) } - def object; end - - sig { params(value: String).returns(String) } - def object=(value); end - sig { returns(T::Hash[Symbol, T.untyped]) } def to_h; end diff --git a/rbi/workos/connection_saml_certificate_renewed.rbi b/rbi/workos/connection_saml_certificate_renewed.rbi index 74a32493..61d46b13 100644 --- a/rbi/workos/connection_saml_certificate_renewed.rbi +++ b/rbi/workos/connection_saml_certificate_renewed.rbi @@ -9,6 +9,12 @@ module WorkOS sig { params(json: T.any(String, T::Hash[Symbol, T.untyped])).void } def initialize(json); end + sig { returns(String) } + def object; end + + sig { params(value: String).returns(String) } + def object=(value); end + sig { returns(String) } def id; end @@ -39,12 +45,6 @@ module WorkOS sig { params(value: T.nilable(WorkOS::EventContext)).returns(T.nilable(WorkOS::EventContext)) } def context=(value); end - sig { returns(String) } - def object; end - - sig { params(value: String).returns(String) } - def object=(value); end - sig { returns(T::Hash[Symbol, T.untyped]) } def to_h; end diff --git a/rbi/workos/audit_logs_retention_json.rbi b/rbi/workos/create_data_key_request.rbi similarity index 62% rename from rbi/workos/audit_logs_retention_json.rbi rename to rbi/workos/create_data_key_request.rbi index 151b6d7a..931620b5 100644 --- a/rbi/workos/audit_logs_retention_json.rbi +++ b/rbi/workos/create_data_key_request.rbi @@ -5,15 +5,15 @@ # typed: strong module WorkOS - class AuditLogsRetentionJson + class CreateDataKeyRequest sig { params(json: T.any(String, T::Hash[Symbol, T.untyped])).void } def initialize(json); end - sig { returns(T.nilable(Integer)) } - def retention_period_in_days; end + sig { returns(T::Hash[String, String]) } + def context; end - sig { params(value: T.nilable(Integer)).returns(T.nilable(Integer)) } - def retention_period_in_days=(value); end + sig { params(value: T::Hash[String, String]).returns(T::Hash[String, String]) } + def context=(value); end sig { returns(T::Hash[Symbol, T.untyped]) } def to_h; end diff --git a/rbi/workos/create_data_key_response.rbi b/rbi/workos/create_data_key_response.rbi new file mode 100644 index 00000000..ee7f7bec --- /dev/null +++ b/rbi/workos/create_data_key_response.rbi @@ -0,0 +1,42 @@ +# frozen_string_literal: true + +# This file is auto-generated by oagen. Do not edit. + +# typed: strong + +module WorkOS + class CreateDataKeyResponse + sig { params(json: T.any(String, T::Hash[Symbol, T.untyped])).void } + def initialize(json); end + + sig { returns(T::Hash[String, String]) } + def context; end + + sig { params(value: T::Hash[String, String]).returns(T::Hash[String, String]) } + def context=(value); end + + sig { returns(String) } + def data_key; end + + sig { params(value: String).returns(String) } + def data_key=(value); end + + sig { returns(String) } + def encrypted_keys; end + + sig { params(value: String).returns(String) } + def encrypted_keys=(value); end + + sig { returns(String) } + def id; end + + sig { params(value: String).returns(String) } + def id=(value); end + + sig { returns(T::Hash[Symbol, T.untyped]) } + def to_h; end + + sig { params(args: T.untyped).returns(String) } + def to_json(*args); end + end +end diff --git a/rbi/workos/create_object_request.rbi b/rbi/workos/create_object_request.rbi new file mode 100644 index 00000000..bbae4aec --- /dev/null +++ b/rbi/workos/create_object_request.rbi @@ -0,0 +1,36 @@ +# frozen_string_literal: true + +# This file is auto-generated by oagen. Do not edit. + +# typed: strong + +module WorkOS + class CreateObjectRequest + sig { params(json: T.any(String, T::Hash[Symbol, T.untyped])).void } + def initialize(json); end + + sig { returns(T::Hash[String, String]) } + def key_context; end + + sig { params(value: T::Hash[String, String]).returns(T::Hash[String, String]) } + def key_context=(value); end + + sig { returns(String) } + def name; end + + sig { params(value: String).returns(String) } + def name=(value); end + + sig { returns(String) } + def value; end + + sig { params(value: String).returns(String) } + def value=(value); end + + sig { returns(T::Hash[Symbol, T.untyped]) } + def to_h; end + + sig { params(args: T.untyped).returns(String) } + def to_json(*args); end + end +end diff --git a/rbi/workos/create_organization_api_key.rbi b/rbi/workos/create_organization_api_key.rbi index 26502f63..01beb325 100644 --- a/rbi/workos/create_organization_api_key.rbi +++ b/rbi/workos/create_organization_api_key.rbi @@ -21,6 +21,12 @@ module WorkOS sig { params(value: T.nilable(T::Array[String])).returns(T.nilable(T::Array[String])) } def permissions=(value); end + sig { returns(T.nilable(String)) } + def expires_at; end + + sig { params(value: T.nilable(String)).returns(T.nilable(String)) } + def expires_at=(value); end + sig { returns(T::Hash[Symbol, T.untyped]) } def to_h; end diff --git a/rbi/workos/create_user_api_key.rbi b/rbi/workos/create_user_api_key.rbi index 6186a001..a06c3122 100644 --- a/rbi/workos/create_user_api_key.rbi +++ b/rbi/workos/create_user_api_key.rbi @@ -27,6 +27,12 @@ module WorkOS sig { params(value: T.nilable(T::Array[String])).returns(T.nilable(T::Array[String])) } def permissions=(value); end + sig { returns(T.nilable(String)) } + def expires_at; end + + sig { params(value: T.nilable(String)).returns(T.nilable(String)) } + def expires_at=(value); end + sig { returns(T::Hash[Symbol, T.untyped]) } def to_h; end diff --git a/rbi/workos/decrypt_request.rbi b/rbi/workos/decrypt_request.rbi new file mode 100644 index 00000000..defca252 --- /dev/null +++ b/rbi/workos/decrypt_request.rbi @@ -0,0 +1,24 @@ +# frozen_string_literal: true + +# This file is auto-generated by oagen. Do not edit. + +# typed: strong + +module WorkOS + class DecryptRequest + sig { params(json: T.any(String, T::Hash[Symbol, T.untyped])).void } + def initialize(json); end + + sig { returns(String) } + def keys; end + + sig { params(value: String).returns(String) } + def keys=(value); end + + sig { returns(T::Hash[Symbol, T.untyped]) } + def to_h; end + + sig { params(args: T.untyped).returns(String) } + def to_json(*args); end + end +end diff --git a/rbi/workos/decrypt_response.rbi b/rbi/workos/decrypt_response.rbi new file mode 100644 index 00000000..20f123ce --- /dev/null +++ b/rbi/workos/decrypt_response.rbi @@ -0,0 +1,30 @@ +# frozen_string_literal: true + +# This file is auto-generated by oagen. Do not edit. + +# typed: strong + +module WorkOS + class DecryptResponse + sig { params(json: T.any(String, T::Hash[Symbol, T.untyped])).void } + def initialize(json); end + + sig { returns(String) } + def data_key; end + + sig { params(value: String).returns(String) } + def data_key=(value); end + + sig { returns(String) } + def id; end + + sig { params(value: String).returns(String) } + def id=(value); end + + sig { returns(T::Hash[Symbol, T.untyped]) } + def to_h; end + + sig { params(args: T.untyped).returns(String) } + def to_json(*args); end + end +end diff --git a/rbi/workos/delete_object_response.rbi b/rbi/workos/delete_object_response.rbi new file mode 100644 index 00000000..f25b7dc9 --- /dev/null +++ b/rbi/workos/delete_object_response.rbi @@ -0,0 +1,30 @@ +# frozen_string_literal: true + +# This file is auto-generated by oagen. Do not edit. + +# typed: strong + +module WorkOS + class DeleteObjectResponse + sig { params(json: T.any(String, T::Hash[Symbol, T.untyped])).void } + def initialize(json); end + + sig { returns(String) } + def name; end + + sig { params(value: String).returns(String) } + def name=(value); end + + sig { returns(T::Boolean) } + def success; end + + sig { params(value: T::Boolean).returns(T::Boolean) } + def success=(value); end + + sig { returns(T::Hash[Symbol, T.untyped]) } + def to_h; end + + sig { params(args: T.untyped).returns(String) } + def to_json(*args); end + end +end diff --git a/rbi/workos/dsync_activated.rbi b/rbi/workos/dsync_activated.rbi index 8c74eaea..c66bda51 100644 --- a/rbi/workos/dsync_activated.rbi +++ b/rbi/workos/dsync_activated.rbi @@ -9,6 +9,12 @@ module WorkOS sig { params(json: T.any(String, T::Hash[Symbol, T.untyped])).void } def initialize(json); end + sig { returns(String) } + def object; end + + sig { params(value: String).returns(String) } + def object=(value); end + sig { returns(String) } def id; end @@ -39,12 +45,6 @@ module WorkOS sig { params(value: T.nilable(WorkOS::EventContext)).returns(T.nilable(WorkOS::EventContext)) } def context=(value); end - sig { returns(String) } - def object; end - - sig { params(value: String).returns(String) } - def object=(value); end - sig { returns(T::Hash[Symbol, T.untyped]) } def to_h; end diff --git a/rbi/workos/dsync_deactivated.rbi b/rbi/workos/dsync_deactivated.rbi index 51bf08cb..e0ba5898 100644 --- a/rbi/workos/dsync_deactivated.rbi +++ b/rbi/workos/dsync_deactivated.rbi @@ -9,6 +9,12 @@ module WorkOS sig { params(json: T.any(String, T::Hash[Symbol, T.untyped])).void } def initialize(json); end + sig { returns(String) } + def object; end + + sig { params(value: String).returns(String) } + def object=(value); end + sig { returns(String) } def id; end @@ -39,12 +45,6 @@ module WorkOS sig { params(value: T.nilable(WorkOS::EventContext)).returns(T.nilable(WorkOS::EventContext)) } def context=(value); end - sig { returns(String) } - def object; end - - sig { params(value: String).returns(String) } - def object=(value); end - sig { returns(T::Hash[Symbol, T.untyped]) } def to_h; end diff --git a/rbi/workos/dsync_deleted.rbi b/rbi/workos/dsync_deleted.rbi index 705080e9..013c7277 100644 --- a/rbi/workos/dsync_deleted.rbi +++ b/rbi/workos/dsync_deleted.rbi @@ -9,6 +9,12 @@ module WorkOS sig { params(json: T.any(String, T::Hash[Symbol, T.untyped])).void } def initialize(json); end + sig { returns(String) } + def object; end + + sig { params(value: String).returns(String) } + def object=(value); end + sig { returns(String) } def id; end @@ -39,12 +45,6 @@ module WorkOS sig { params(value: T.nilable(WorkOS::EventContext)).returns(T.nilable(WorkOS::EventContext)) } def context=(value); end - sig { returns(String) } - def object; end - - sig { params(value: String).returns(String) } - def object=(value); end - sig { returns(T::Hash[Symbol, T.untyped]) } def to_h; end diff --git a/rbi/workos/dsync_group_created.rbi b/rbi/workos/dsync_group_created.rbi index 57ab9d28..4c4f2db1 100644 --- a/rbi/workos/dsync_group_created.rbi +++ b/rbi/workos/dsync_group_created.rbi @@ -9,6 +9,12 @@ module WorkOS sig { params(json: T.any(String, T::Hash[Symbol, T.untyped])).void } def initialize(json); end + sig { returns(String) } + def object; end + + sig { params(value: String).returns(String) } + def object=(value); end + sig { returns(String) } def id; end @@ -39,12 +45,6 @@ module WorkOS sig { params(value: T.nilable(WorkOS::EventContext)).returns(T.nilable(WorkOS::EventContext)) } def context=(value); end - sig { returns(String) } - def object; end - - sig { params(value: String).returns(String) } - def object=(value); end - sig { returns(T::Hash[Symbol, T.untyped]) } def to_h; end diff --git a/rbi/workos/dsync_group_deleted.rbi b/rbi/workos/dsync_group_deleted.rbi index 6d62a1c0..1563516c 100644 --- a/rbi/workos/dsync_group_deleted.rbi +++ b/rbi/workos/dsync_group_deleted.rbi @@ -9,6 +9,12 @@ module WorkOS sig { params(json: T.any(String, T::Hash[Symbol, T.untyped])).void } def initialize(json); end + sig { returns(String) } + def object; end + + sig { params(value: String).returns(String) } + def object=(value); end + sig { returns(String) } def id; end @@ -39,12 +45,6 @@ module WorkOS sig { params(value: T.nilable(WorkOS::EventContext)).returns(T.nilable(WorkOS::EventContext)) } def context=(value); end - sig { returns(String) } - def object; end - - sig { params(value: String).returns(String) } - def object=(value); end - sig { returns(T::Hash[Symbol, T.untyped]) } def to_h; end diff --git a/rbi/workos/dsync_group_updated.rbi b/rbi/workos/dsync_group_updated.rbi index e190600e..6733abf9 100644 --- a/rbi/workos/dsync_group_updated.rbi +++ b/rbi/workos/dsync_group_updated.rbi @@ -9,6 +9,12 @@ module WorkOS sig { params(json: T.any(String, T::Hash[Symbol, T.untyped])).void } def initialize(json); end + sig { returns(String) } + def object; end + + sig { params(value: String).returns(String) } + def object=(value); end + sig { returns(String) } def id; end @@ -39,12 +45,6 @@ module WorkOS sig { params(value: T.nilable(WorkOS::EventContext)).returns(T.nilable(WorkOS::EventContext)) } def context=(value); end - sig { returns(String) } - def object; end - - sig { params(value: String).returns(String) } - def object=(value); end - sig { returns(T::Hash[Symbol, T.untyped]) } def to_h; end diff --git a/rbi/workos/dsync_group_user_added.rbi b/rbi/workos/dsync_group_user_added.rbi index b1a55cf3..533fe265 100644 --- a/rbi/workos/dsync_group_user_added.rbi +++ b/rbi/workos/dsync_group_user_added.rbi @@ -9,6 +9,12 @@ module WorkOS sig { params(json: T.any(String, T::Hash[Symbol, T.untyped])).void } def initialize(json); end + sig { returns(String) } + def object; end + + sig { params(value: String).returns(String) } + def object=(value); end + sig { returns(String) } def id; end @@ -39,12 +45,6 @@ module WorkOS sig { params(value: T.nilable(WorkOS::EventContext)).returns(T.nilable(WorkOS::EventContext)) } def context=(value); end - sig { returns(String) } - def object; end - - sig { params(value: String).returns(String) } - def object=(value); end - sig { returns(T::Hash[Symbol, T.untyped]) } def to_h; end diff --git a/rbi/workos/dsync_group_user_removed.rbi b/rbi/workos/dsync_group_user_removed.rbi index 1756b81b..27e1a18c 100644 --- a/rbi/workos/dsync_group_user_removed.rbi +++ b/rbi/workos/dsync_group_user_removed.rbi @@ -9,6 +9,12 @@ module WorkOS sig { params(json: T.any(String, T::Hash[Symbol, T.untyped])).void } def initialize(json); end + sig { returns(String) } + def object; end + + sig { params(value: String).returns(String) } + def object=(value); end + sig { returns(String) } def id; end @@ -39,12 +45,6 @@ module WorkOS sig { params(value: T.nilable(WorkOS::EventContext)).returns(T.nilable(WorkOS::EventContext)) } def context=(value); end - sig { returns(String) } - def object; end - - sig { params(value: String).returns(String) } - def object=(value); end - sig { returns(T::Hash[Symbol, T.untyped]) } def to_h; end diff --git a/rbi/workos/dsync_user_created.rbi b/rbi/workos/dsync_user_created.rbi index 8a0d78a4..2c723ef9 100644 --- a/rbi/workos/dsync_user_created.rbi +++ b/rbi/workos/dsync_user_created.rbi @@ -9,6 +9,12 @@ module WorkOS sig { params(json: T.any(String, T::Hash[Symbol, T.untyped])).void } def initialize(json); end + sig { returns(String) } + def object; end + + sig { params(value: String).returns(String) } + def object=(value); end + sig { returns(String) } def id; end @@ -39,12 +45,6 @@ module WorkOS sig { params(value: T.nilable(WorkOS::EventContext)).returns(T.nilable(WorkOS::EventContext)) } def context=(value); end - sig { returns(String) } - def object; end - - sig { params(value: String).returns(String) } - def object=(value); end - sig { returns(T::Hash[Symbol, T.untyped]) } def to_h; end diff --git a/rbi/workos/dsync_user_deleted.rbi b/rbi/workos/dsync_user_deleted.rbi index 7d2151c9..f6028156 100644 --- a/rbi/workos/dsync_user_deleted.rbi +++ b/rbi/workos/dsync_user_deleted.rbi @@ -9,6 +9,12 @@ module WorkOS sig { params(json: T.any(String, T::Hash[Symbol, T.untyped])).void } def initialize(json); end + sig { returns(String) } + def object; end + + sig { params(value: String).returns(String) } + def object=(value); end + sig { returns(String) } def id; end @@ -39,12 +45,6 @@ module WorkOS sig { params(value: T.nilable(WorkOS::EventContext)).returns(T.nilable(WorkOS::EventContext)) } def context=(value); end - sig { returns(String) } - def object; end - - sig { params(value: String).returns(String) } - def object=(value); end - sig { returns(T::Hash[Symbol, T.untyped]) } def to_h; end diff --git a/rbi/workos/dsync_user_updated.rbi b/rbi/workos/dsync_user_updated.rbi index 888d2261..217b3e6c 100644 --- a/rbi/workos/dsync_user_updated.rbi +++ b/rbi/workos/dsync_user_updated.rbi @@ -9,6 +9,12 @@ module WorkOS sig { params(json: T.any(String, T::Hash[Symbol, T.untyped])).void } def initialize(json); end + sig { returns(String) } + def object; end + + sig { params(value: String).returns(String) } + def object=(value); end + sig { returns(String) } def id; end @@ -39,12 +45,6 @@ module WorkOS sig { params(value: T.nilable(WorkOS::EventContext)).returns(T.nilable(WorkOS::EventContext)) } def context=(value); end - sig { returns(String) } - def object; end - - sig { params(value: String).returns(String) } - def object=(value); end - sig { returns(T::Hash[Symbol, T.untyped]) } def to_h; end diff --git a/rbi/workos/email_verification_created.rbi b/rbi/workos/email_verification_created.rbi index 43d1aadd..3978422a 100644 --- a/rbi/workos/email_verification_created.rbi +++ b/rbi/workos/email_verification_created.rbi @@ -9,6 +9,12 @@ module WorkOS sig { params(json: T.any(String, T::Hash[Symbol, T.untyped])).void } def initialize(json); end + sig { returns(String) } + def object; end + + sig { params(value: String).returns(String) } + def object=(value); end + sig { returns(String) } def id; end @@ -39,12 +45,6 @@ module WorkOS sig { params(value: T.nilable(WorkOS::EventContext)).returns(T.nilable(WorkOS::EventContext)) } def context=(value); end - sig { returns(String) } - def object; end - - sig { params(value: String).returns(String) } - def object=(value); end - sig { returns(T::Hash[Symbol, T.untyped]) } def to_h; end diff --git a/rbi/workos/encryptors/aes_gcm.rbi b/rbi/workos/encryptors/aes_gcm.rbi deleted file mode 100644 index 6d510fc5..00000000 --- a/rbi/workos/encryptors/aes_gcm.rbi +++ /dev/null @@ -1,19 +0,0 @@ -# frozen_string_literal: true - -# This file is auto-generated by oagen. Do not edit. - -# typed: strong - -module WorkOS - module Encryptors - class AesGcm - SEAL_VERSION = T.let(0x01, Integer) - - sig { params(data: T.any(String, T::Hash[T.untyped, T.untyped]), key: String).returns(String) } - def seal(data, key); end - - sig { params(sealed: String, key: String).returns(T.any(T::Hash[String, T.untyped], String)) } - def unseal(sealed, key); end - end - end -end diff --git a/rbi/workos/error_response.rbi b/rbi/workos/error_response.rbi new file mode 100644 index 00000000..99612b32 --- /dev/null +++ b/rbi/workos/error_response.rbi @@ -0,0 +1,24 @@ +# frozen_string_literal: true + +# This file is auto-generated by oagen. Do not edit. + +# typed: strong + +module WorkOS + class ErrorResponse + sig { params(json: T.any(String, T::Hash[Symbol, T.untyped])).void } + def initialize(json); end + + sig { returns(String) } + def error; end + + sig { params(value: String).returns(String) } + def error=(value); end + + sig { returns(T::Hash[Symbol, T.untyped]) } + def to_h; end + + sig { params(args: T.untyped).returns(String) } + def to_json(*args); end + end +end diff --git a/rbi/workos/errors.rbi b/rbi/workos/errors.rbi deleted file mode 100644 index b962556f..00000000 --- a/rbi/workos/errors.rbi +++ /dev/null @@ -1,43 +0,0 @@ -# frozen_string_literal: true - -# This file is auto-generated by oagen. Do not edit. - -# typed: strong - -module WorkOS - class Error < StandardError - sig { returns(T.nilable(Integer)) } - def http_status; end - - sig { returns(T.nilable(String)) } - def request_id; end - - sig { returns(T.nilable(String)) } - def code; end - - sig { returns(T.nilable(T::Hash[String, T.untyped])) } - def body; end - - sig do - params( - message: String, - http_status: T.nilable(Integer), - request_id: T.nilable(String), - code: T.nilable(String), - body: T.nilable(T::Hash[String, T.untyped]) - ).void - end - def initialize(message:, http_status: nil, request_id: nil, code: nil, body: nil); end - end - - class APIError < Error; end - class APIConnectionError < Error; end - class AuthenticationError < APIError; end - class ForbiddenRequestError < APIError; end - class IdempotencyError < APIError; end - class InvalidRequestError < APIError; end - class NotFoundError < APIError; end - class RateLimitExceededError < APIError; end - class UnprocessableEntityError < APIError; end - class SignatureVerificationError < Error; end -end diff --git a/rbi/workos/flag_created.rbi b/rbi/workos/flag_created.rbi index 23af0ef9..19531ee8 100644 --- a/rbi/workos/flag_created.rbi +++ b/rbi/workos/flag_created.rbi @@ -9,6 +9,12 @@ module WorkOS sig { params(json: T.any(String, T::Hash[Symbol, T.untyped])).void } def initialize(json); end + sig { returns(String) } + def object; end + + sig { params(value: String).returns(String) } + def object=(value); end + sig { returns(String) } def id; end @@ -39,12 +45,6 @@ module WorkOS sig { params(value: WorkOS::FlagCreatedContext).returns(WorkOS::FlagCreatedContext) } def context=(value); end - sig { returns(String) } - def object; end - - sig { params(value: String).returns(String) } - def object=(value); end - sig { returns(T::Hash[Symbol, T.untyped]) } def to_h; end diff --git a/rbi/workos/flag_deleted.rbi b/rbi/workos/flag_deleted.rbi index 59b473d4..1e8c25b2 100644 --- a/rbi/workos/flag_deleted.rbi +++ b/rbi/workos/flag_deleted.rbi @@ -9,6 +9,12 @@ module WorkOS sig { params(json: T.any(String, T::Hash[Symbol, T.untyped])).void } def initialize(json); end + sig { returns(String) } + def object; end + + sig { params(value: String).returns(String) } + def object=(value); end + sig { returns(String) } def id; end @@ -39,12 +45,6 @@ module WorkOS sig { params(value: WorkOS::FlagDeletedContext).returns(WorkOS::FlagDeletedContext) } def context=(value); end - sig { returns(String) } - def object; end - - sig { params(value: String).returns(String) } - def object=(value); end - sig { returns(T::Hash[Symbol, T.untyped]) } def to_h; end diff --git a/rbi/workos/flag_rule_updated.rbi b/rbi/workos/flag_rule_updated.rbi index 8f8f68d2..00db05e4 100644 --- a/rbi/workos/flag_rule_updated.rbi +++ b/rbi/workos/flag_rule_updated.rbi @@ -9,6 +9,12 @@ module WorkOS sig { params(json: T.any(String, T::Hash[Symbol, T.untyped])).void } def initialize(json); end + sig { returns(String) } + def object; end + + sig { params(value: String).returns(String) } + def object=(value); end + sig { returns(String) } def id; end @@ -39,12 +45,6 @@ module WorkOS sig { params(value: WorkOS::FlagRuleUpdatedContext).returns(WorkOS::FlagRuleUpdatedContext) } def context=(value); end - sig { returns(String) } - def object; end - - sig { params(value: String).returns(String) } - def object=(value); end - sig { returns(T::Hash[Symbol, T.untyped]) } def to_h; end diff --git a/rbi/workos/flag_updated.rbi b/rbi/workos/flag_updated.rbi index 82be340b..5df95b09 100644 --- a/rbi/workos/flag_updated.rbi +++ b/rbi/workos/flag_updated.rbi @@ -9,6 +9,12 @@ module WorkOS sig { params(json: T.any(String, T::Hash[Symbol, T.untyped])).void } def initialize(json); end + sig { returns(String) } + def object; end + + sig { params(value: String).returns(String) } + def object=(value); end + sig { returns(String) } def id; end @@ -39,12 +45,6 @@ module WorkOS sig { params(value: WorkOS::FlagUpdatedContext).returns(WorkOS::FlagUpdatedContext) } def context=(value); end - sig { returns(String) } - def object; end - - sig { params(value: String).returns(String) } - def object=(value); end - sig { returns(T::Hash[Symbol, T.untyped]) } def to_h; end diff --git a/rbi/workos/group_created.rbi b/rbi/workos/group_created.rbi index 5785c0fa..d243cf11 100644 --- a/rbi/workos/group_created.rbi +++ b/rbi/workos/group_created.rbi @@ -9,6 +9,12 @@ module WorkOS sig { params(json: T.any(String, T::Hash[Symbol, T.untyped])).void } def initialize(json); end + sig { returns(String) } + def object; end + + sig { params(value: String).returns(String) } + def object=(value); end + sig { returns(String) } def id; end @@ -39,12 +45,6 @@ module WorkOS sig { params(value: T.nilable(WorkOS::EventContext)).returns(T.nilable(WorkOS::EventContext)) } def context=(value); end - sig { returns(String) } - def object; end - - sig { params(value: String).returns(String) } - def object=(value); end - sig { returns(T::Hash[Symbol, T.untyped]) } def to_h; end diff --git a/rbi/workos/group_deleted.rbi b/rbi/workos/group_deleted.rbi index 0f10e4f8..0525d13b 100644 --- a/rbi/workos/group_deleted.rbi +++ b/rbi/workos/group_deleted.rbi @@ -9,6 +9,12 @@ module WorkOS sig { params(json: T.any(String, T::Hash[Symbol, T.untyped])).void } def initialize(json); end + sig { returns(String) } + def object; end + + sig { params(value: String).returns(String) } + def object=(value); end + sig { returns(String) } def id; end @@ -39,12 +45,6 @@ module WorkOS sig { params(value: T.nilable(WorkOS::EventContext)).returns(T.nilable(WorkOS::EventContext)) } def context=(value); end - sig { returns(String) } - def object; end - - sig { params(value: String).returns(String) } - def object=(value); end - sig { returns(T::Hash[Symbol, T.untyped]) } def to_h; end diff --git a/rbi/workos/group_member_added.rbi b/rbi/workos/group_member_added.rbi index 30d370e5..ba0b2a55 100644 --- a/rbi/workos/group_member_added.rbi +++ b/rbi/workos/group_member_added.rbi @@ -9,6 +9,12 @@ module WorkOS sig { params(json: T.any(String, T::Hash[Symbol, T.untyped])).void } def initialize(json); end + sig { returns(String) } + def object; end + + sig { params(value: String).returns(String) } + def object=(value); end + sig { returns(String) } def id; end @@ -39,12 +45,6 @@ module WorkOS sig { params(value: T.nilable(WorkOS::EventContext)).returns(T.nilable(WorkOS::EventContext)) } def context=(value); end - sig { returns(String) } - def object; end - - sig { params(value: String).returns(String) } - def object=(value); end - sig { returns(T::Hash[Symbol, T.untyped]) } def to_h; end diff --git a/rbi/workos/group_member_removed.rbi b/rbi/workos/group_member_removed.rbi index 59a49f71..3fbab333 100644 --- a/rbi/workos/group_member_removed.rbi +++ b/rbi/workos/group_member_removed.rbi @@ -9,6 +9,12 @@ module WorkOS sig { params(json: T.any(String, T::Hash[Symbol, T.untyped])).void } def initialize(json); end + sig { returns(String) } + def object; end + + sig { params(value: String).returns(String) } + def object=(value); end + sig { returns(String) } def id; end @@ -39,12 +45,6 @@ module WorkOS sig { params(value: T.nilable(WorkOS::EventContext)).returns(T.nilable(WorkOS::EventContext)) } def context=(value); end - sig { returns(String) } - def object; end - - sig { params(value: String).returns(String) } - def object=(value); end - sig { returns(T::Hash[Symbol, T.untyped]) } def to_h; end diff --git a/rbi/workos/group_updated.rbi b/rbi/workos/group_updated.rbi index 454691bb..6a8ab6d7 100644 --- a/rbi/workos/group_updated.rbi +++ b/rbi/workos/group_updated.rbi @@ -9,6 +9,12 @@ module WorkOS sig { params(json: T.any(String, T::Hash[Symbol, T.untyped])).void } def initialize(json); end + sig { returns(String) } + def object; end + + sig { params(value: String).returns(String) } + def object=(value); end + sig { returns(String) } def id; end @@ -39,12 +45,6 @@ module WorkOS sig { params(value: T.nilable(WorkOS::EventContext)).returns(T.nilable(WorkOS::EventContext)) } def context=(value); end - sig { returns(String) } - def object; end - - sig { params(value: String).returns(String) } - def object=(value); end - sig { returns(T::Hash[Symbol, T.untyped]) } def to_h; end diff --git a/rbi/workos/hash_provider.rbi b/rbi/workos/hash_provider.rbi deleted file mode 100644 index 84ddb8ae..00000000 --- a/rbi/workos/hash_provider.rbi +++ /dev/null @@ -1,18 +0,0 @@ -# frozen_string_literal: true - -# This file is auto-generated by oagen. Do not edit. - -# typed: strong - -module WorkOS - module HashProvider - sig { returns(T::Hash[String, T.untyped]) } - def to_h; end - - sig { params(args: T.untyped).returns(String) } - def to_json(*args); end - - sig { returns(String) } - def inspect; end - end -end diff --git a/rbi/workos/invitation_accepted.rbi b/rbi/workos/invitation_accepted.rbi index 8138556f..b0eaae43 100644 --- a/rbi/workos/invitation_accepted.rbi +++ b/rbi/workos/invitation_accepted.rbi @@ -9,6 +9,12 @@ module WorkOS sig { params(json: T.any(String, T::Hash[Symbol, T.untyped])).void } def initialize(json); end + sig { returns(String) } + def object; end + + sig { params(value: String).returns(String) } + def object=(value); end + sig { returns(String) } def id; end @@ -39,12 +45,6 @@ module WorkOS sig { params(value: T.nilable(WorkOS::EventContext)).returns(T.nilable(WorkOS::EventContext)) } def context=(value); end - sig { returns(String) } - def object; end - - sig { params(value: String).returns(String) } - def object=(value); end - sig { returns(T::Hash[Symbol, T.untyped]) } def to_h; end diff --git a/rbi/workos/invitation_created.rbi b/rbi/workos/invitation_created.rbi index c9c6eb69..33b340cf 100644 --- a/rbi/workos/invitation_created.rbi +++ b/rbi/workos/invitation_created.rbi @@ -9,6 +9,12 @@ module WorkOS sig { params(json: T.any(String, T::Hash[Symbol, T.untyped])).void } def initialize(json); end + sig { returns(String) } + def object; end + + sig { params(value: String).returns(String) } + def object=(value); end + sig { returns(String) } def id; end @@ -39,12 +45,6 @@ module WorkOS sig { params(value: T.nilable(WorkOS::EventContext)).returns(T.nilable(WorkOS::EventContext)) } def context=(value); end - sig { returns(String) } - def object; end - - sig { params(value: String).returns(String) } - def object=(value); end - sig { returns(T::Hash[Symbol, T.untyped]) } def to_h; end diff --git a/rbi/workos/invitation_resent.rbi b/rbi/workos/invitation_resent.rbi index 8edb243e..e41640f3 100644 --- a/rbi/workos/invitation_resent.rbi +++ b/rbi/workos/invitation_resent.rbi @@ -9,6 +9,12 @@ module WorkOS sig { params(json: T.any(String, T::Hash[Symbol, T.untyped])).void } def initialize(json); end + sig { returns(String) } + def object; end + + sig { params(value: String).returns(String) } + def object=(value); end + sig { returns(String) } def id; end @@ -39,12 +45,6 @@ module WorkOS sig { params(value: T.nilable(WorkOS::EventContext)).returns(T.nilable(WorkOS::EventContext)) } def context=(value); end - sig { returns(String) } - def object; end - - sig { params(value: String).returns(String) } - def object=(value); end - sig { returns(T::Hash[Symbol, T.untyped]) } def to_h; end diff --git a/rbi/workos/invitation_revoked.rbi b/rbi/workos/invitation_revoked.rbi index 220b34c8..1a0ddcd0 100644 --- a/rbi/workos/invitation_revoked.rbi +++ b/rbi/workos/invitation_revoked.rbi @@ -9,6 +9,12 @@ module WorkOS sig { params(json: T.any(String, T::Hash[Symbol, T.untyped])).void } def initialize(json); end + sig { returns(String) } + def object; end + + sig { params(value: String).returns(String) } + def object=(value); end + sig { returns(String) } def id; end @@ -39,12 +45,6 @@ module WorkOS sig { params(value: T.nilable(WorkOS::EventContext)).returns(T.nilable(WorkOS::EventContext)) } def context=(value); end - sig { returns(String) } - def object; end - - sig { params(value: String).returns(String) } - def object=(value); end - sig { returns(T::Hash[Symbol, T.untyped]) } def to_h; end diff --git a/rbi/workos/magic_auth_created.rbi b/rbi/workos/magic_auth_created.rbi index a89fecb1..3ae97b7f 100644 --- a/rbi/workos/magic_auth_created.rbi +++ b/rbi/workos/magic_auth_created.rbi @@ -9,6 +9,12 @@ module WorkOS sig { params(json: T.any(String, T::Hash[Symbol, T.untyped])).void } def initialize(json); end + sig { returns(String) } + def object; end + + sig { params(value: String).returns(String) } + def object=(value); end + sig { returns(String) } def id; end @@ -39,12 +45,6 @@ module WorkOS sig { params(value: T.nilable(WorkOS::EventContext)).returns(T.nilable(WorkOS::EventContext)) } def context=(value); end - sig { returns(String) } - def object; end - - sig { params(value: String).returns(String) } - def object=(value); end - sig { returns(T::Hash[Symbol, T.untyped]) } def to_h; end diff --git a/rbi/workos/object.rbi b/rbi/workos/object.rbi new file mode 100644 index 00000000..716eca76 --- /dev/null +++ b/rbi/workos/object.rbi @@ -0,0 +1,42 @@ +# frozen_string_literal: true + +# This file is auto-generated by oagen. Do not edit. + +# typed: strong + +module WorkOS + class ObjectModel + sig { params(json: T.any(String, T::Hash[Symbol, T.untyped])).void } + def initialize(json); end + + sig { returns(String) } + def id; end + + sig { params(value: String).returns(String) } + def id=(value); end + + sig { returns(WorkOS::ObjectMetadata) } + def metadata; end + + sig { params(value: WorkOS::ObjectMetadata).returns(WorkOS::ObjectMetadata) } + def metadata=(value); end + + sig { returns(String) } + def name; end + + sig { params(value: String).returns(String) } + def name=(value); end + + sig { returns(String) } + def value; end + + sig { params(value: String).returns(String) } + def value=(value); end + + sig { returns(T::Hash[Symbol, T.untyped]) } + def to_h; end + + sig { params(args: T.untyped).returns(String) } + def to_json(*args); end + end +end diff --git a/rbi/workos/object_metadata.rbi b/rbi/workos/object_metadata.rbi new file mode 100644 index 00000000..c1ba9d18 --- /dev/null +++ b/rbi/workos/object_metadata.rbi @@ -0,0 +1,60 @@ +# frozen_string_literal: true + +# This file is auto-generated by oagen. Do not edit. + +# typed: strong + +module WorkOS + class ObjectMetadata + sig { params(json: T.any(String, T::Hash[Symbol, T.untyped])).void } + def initialize(json); end + + sig { returns(T::Hash[String, String]) } + def context; end + + sig { params(value: T::Hash[String, String]).returns(T::Hash[String, String]) } + def context=(value); end + + sig { returns(String) } + def environment_id; end + + sig { params(value: String).returns(String) } + def environment_id=(value); end + + sig { returns(String) } + def id; end + + sig { params(value: String).returns(String) } + def id=(value); end + + sig { returns(String) } + def key_id; end + + sig { params(value: String).returns(String) } + def key_id=(value); end + + sig { returns(String) } + def updated_at; end + + sig { params(value: String).returns(String) } + def updated_at=(value); end + + sig { returns(WorkOS::Actor) } + def updated_by; end + + sig { params(value: WorkOS::Actor).returns(WorkOS::Actor) } + def updated_by=(value); end + + sig { returns(T.nilable(String)) } + def version_id; end + + sig { params(value: T.nilable(String)).returns(T.nilable(String)) } + def version_id=(value); end + + sig { returns(T::Hash[Symbol, T.untyped]) } + def to_h; end + + sig { params(args: T.untyped).returns(String) } + def to_json(*args); end + end +end diff --git a/rbi/workos/object_summary.rbi b/rbi/workos/object_summary.rbi new file mode 100644 index 00000000..f562f027 --- /dev/null +++ b/rbi/workos/object_summary.rbi @@ -0,0 +1,36 @@ +# frozen_string_literal: true + +# This file is auto-generated by oagen. Do not edit. + +# typed: strong + +module WorkOS + class ObjectSummary + sig { params(json: T.any(String, T::Hash[Symbol, T.untyped])).void } + def initialize(json); end + + sig { returns(String) } + def id; end + + sig { params(value: String).returns(String) } + def id=(value); end + + sig { returns(String) } + def name; end + + sig { params(value: String).returns(String) } + def name=(value); end + + sig { returns(T.nilable(String)) } + def updated_at; end + + sig { params(value: T.nilable(String)).returns(T.nilable(String)) } + def updated_at=(value); end + + sig { returns(T::Hash[Symbol, T.untyped]) } + def to_h; end + + sig { params(args: T.untyped).returns(String) } + def to_json(*args); end + end +end diff --git a/rbi/workos/audit_log_action_json.rbi b/rbi/workos/object_version.rbi similarity index 60% rename from rbi/workos/audit_log_action_json.rbi rename to rbi/workos/object_version.rbi index f88f196d..dfee8263 100644 --- a/rbi/workos/audit_log_action_json.rbi +++ b/rbi/workos/object_version.rbi @@ -5,39 +5,39 @@ # typed: strong module WorkOS - class AuditLogActionJson + class ObjectVersion sig { params(json: T.any(String, T::Hash[Symbol, T.untyped])).void } def initialize(json); end sig { returns(String) } - def object; end - - sig { params(value: String).returns(String) } - def object=(value); end - - sig { returns(String) } - def name; end + def created_at; end sig { params(value: String).returns(String) } - def name=(value); end + def created_at=(value); end - sig { returns(WorkOS::AuditLogSchemaJson) } - def schema; end + sig { returns(T::Boolean) } + def current_version; end - sig { params(value: WorkOS::AuditLogSchemaJson).returns(WorkOS::AuditLogSchemaJson) } - def schema=(value); end + sig { params(value: T::Boolean).returns(T::Boolean) } + def current_version=(value); end sig { returns(String) } - def created_at; end + def etag; end sig { params(value: String).returns(String) } - def created_at=(value); end + def etag=(value); end sig { returns(String) } - def updated_at; end + def id; end sig { params(value: String).returns(String) } - def updated_at=(value); end + def id=(value); end + + sig { returns(Integer) } + def size; end + + sig { params(value: Integer).returns(Integer) } + def size=(value); end sig { returns(T::Hash[Symbol, T.untyped]) } def to_h; end diff --git a/rbi/workos/object_without_value.rbi b/rbi/workos/object_without_value.rbi new file mode 100644 index 00000000..cb107450 --- /dev/null +++ b/rbi/workos/object_without_value.rbi @@ -0,0 +1,36 @@ +# frozen_string_literal: true + +# This file is auto-generated by oagen. Do not edit. + +# typed: strong + +module WorkOS + class ObjectWithoutValue + sig { params(json: T.any(String, T::Hash[Symbol, T.untyped])).void } + def initialize(json); end + + sig { returns(String) } + def id; end + + sig { params(value: String).returns(String) } + def id=(value); end + + sig { returns(WorkOS::ObjectMetadata) } + def metadata; end + + sig { params(value: WorkOS::ObjectMetadata).returns(WorkOS::ObjectMetadata) } + def metadata=(value); end + + sig { returns(String) } + def name; end + + sig { params(value: String).returns(String) } + def name=(value); end + + sig { returns(T::Hash[Symbol, T.untyped]) } + def to_h; end + + sig { params(args: T.untyped).returns(String) } + def to_json(*args); end + end +end diff --git a/rbi/workos/organization_api_key.rbi b/rbi/workos/organization_api_key.rbi index c2413b53..5beafa65 100644 --- a/rbi/workos/organization_api_key.rbi +++ b/rbi/workos/organization_api_key.rbi @@ -45,6 +45,12 @@ module WorkOS sig { params(value: T.nilable(String)).returns(T.nilable(String)) } def last_used_at=(value); end + sig { returns(T.nilable(String)) } + def expires_at; end + + sig { params(value: T.nilable(String)).returns(T.nilable(String)) } + def expires_at=(value); end + sig { returns(T::Array[String]) } def permissions; end diff --git a/rbi/workos/organization_api_key_with_value.rbi b/rbi/workos/organization_api_key_with_value.rbi index ddf7c6a1..eef7648d 100644 --- a/rbi/workos/organization_api_key_with_value.rbi +++ b/rbi/workos/organization_api_key_with_value.rbi @@ -45,6 +45,12 @@ module WorkOS sig { params(value: T.nilable(String)).returns(T.nilable(String)) } def last_used_at=(value); end + sig { returns(T.nilable(String)) } + def expires_at; end + + sig { params(value: T.nilable(String)).returns(T.nilable(String)) } + def expires_at=(value); end + sig { returns(T::Array[String]) } def permissions; end diff --git a/rbi/workos/organization_created.rbi b/rbi/workos/organization_created.rbi index 6bc18228..1d0abf32 100644 --- a/rbi/workos/organization_created.rbi +++ b/rbi/workos/organization_created.rbi @@ -9,6 +9,12 @@ module WorkOS sig { params(json: T.any(String, T::Hash[Symbol, T.untyped])).void } def initialize(json); end + sig { returns(String) } + def object; end + + sig { params(value: String).returns(String) } + def object=(value); end + sig { returns(String) } def id; end @@ -39,12 +45,6 @@ module WorkOS sig { params(value: T.nilable(WorkOS::EventContext)).returns(T.nilable(WorkOS::EventContext)) } def context=(value); end - sig { returns(String) } - def object; end - - sig { params(value: String).returns(String) } - def object=(value); end - sig { returns(T::Hash[Symbol, T.untyped]) } def to_h; end diff --git a/rbi/workos/organization_deleted.rbi b/rbi/workos/organization_deleted.rbi index 5ac4a868..28ff7d24 100644 --- a/rbi/workos/organization_deleted.rbi +++ b/rbi/workos/organization_deleted.rbi @@ -9,6 +9,12 @@ module WorkOS sig { params(json: T.any(String, T::Hash[Symbol, T.untyped])).void } def initialize(json); end + sig { returns(String) } + def object; end + + sig { params(value: String).returns(String) } + def object=(value); end + sig { returns(String) } def id; end @@ -39,12 +45,6 @@ module WorkOS sig { params(value: T.nilable(WorkOS::EventContext)).returns(T.nilable(WorkOS::EventContext)) } def context=(value); end - sig { returns(String) } - def object; end - - sig { params(value: String).returns(String) } - def object=(value); end - sig { returns(T::Hash[Symbol, T.untyped]) } def to_h; end diff --git a/rbi/workos/organization_domain_created.rbi b/rbi/workos/organization_domain_created.rbi index 6c718835..a914b710 100644 --- a/rbi/workos/organization_domain_created.rbi +++ b/rbi/workos/organization_domain_created.rbi @@ -9,6 +9,12 @@ module WorkOS sig { params(json: T.any(String, T::Hash[Symbol, T.untyped])).void } def initialize(json); end + sig { returns(String) } + def object; end + + sig { params(value: String).returns(String) } + def object=(value); end + sig { returns(String) } def id; end @@ -39,12 +45,6 @@ module WorkOS sig { params(value: T.nilable(WorkOS::EventContext)).returns(T.nilable(WorkOS::EventContext)) } def context=(value); end - sig { returns(String) } - def object; end - - sig { params(value: String).returns(String) } - def object=(value); end - sig { returns(T::Hash[Symbol, T.untyped]) } def to_h; end diff --git a/rbi/workos/organization_domain_deleted.rbi b/rbi/workos/organization_domain_deleted.rbi index dc844e3a..a4fa09e1 100644 --- a/rbi/workos/organization_domain_deleted.rbi +++ b/rbi/workos/organization_domain_deleted.rbi @@ -9,6 +9,12 @@ module WorkOS sig { params(json: T.any(String, T::Hash[Symbol, T.untyped])).void } def initialize(json); end + sig { returns(String) } + def object; end + + sig { params(value: String).returns(String) } + def object=(value); end + sig { returns(String) } def id; end @@ -39,12 +45,6 @@ module WorkOS sig { params(value: T.nilable(WorkOS::EventContext)).returns(T.nilable(WorkOS::EventContext)) } def context=(value); end - sig { returns(String) } - def object; end - - sig { params(value: String).returns(String) } - def object=(value); end - sig { returns(T::Hash[Symbol, T.untyped]) } def to_h; end diff --git a/rbi/workos/organization_domain_updated.rbi b/rbi/workos/organization_domain_updated.rbi index e9fd3033..e8b0f1cf 100644 --- a/rbi/workos/organization_domain_updated.rbi +++ b/rbi/workos/organization_domain_updated.rbi @@ -9,6 +9,12 @@ module WorkOS sig { params(json: T.any(String, T::Hash[Symbol, T.untyped])).void } def initialize(json); end + sig { returns(String) } + def object; end + + sig { params(value: String).returns(String) } + def object=(value); end + sig { returns(String) } def id; end @@ -39,12 +45,6 @@ module WorkOS sig { params(value: T.nilable(WorkOS::EventContext)).returns(T.nilable(WorkOS::EventContext)) } def context=(value); end - sig { returns(String) } - def object; end - - sig { params(value: String).returns(String) } - def object=(value); end - sig { returns(T::Hash[Symbol, T.untyped]) } def to_h; end diff --git a/rbi/workos/organization_domain_verification_failed.rbi b/rbi/workos/organization_domain_verification_failed.rbi index 2967eb9d..eddc35f1 100644 --- a/rbi/workos/organization_domain_verification_failed.rbi +++ b/rbi/workos/organization_domain_verification_failed.rbi @@ -9,6 +9,12 @@ module WorkOS sig { params(json: T.any(String, T::Hash[Symbol, T.untyped])).void } def initialize(json); end + sig { returns(String) } + def object; end + + sig { params(value: String).returns(String) } + def object=(value); end + sig { returns(String) } def id; end @@ -39,12 +45,6 @@ module WorkOS sig { params(value: T.nilable(WorkOS::EventContext)).returns(T.nilable(WorkOS::EventContext)) } def context=(value); end - sig { returns(String) } - def object; end - - sig { params(value: String).returns(String) } - def object=(value); end - sig { returns(T::Hash[Symbol, T.untyped]) } def to_h; end diff --git a/rbi/workos/organization_domain_verified.rbi b/rbi/workos/organization_domain_verified.rbi index a5c65205..b77e5b7e 100644 --- a/rbi/workos/organization_domain_verified.rbi +++ b/rbi/workos/organization_domain_verified.rbi @@ -9,6 +9,12 @@ module WorkOS sig { params(json: T.any(String, T::Hash[Symbol, T.untyped])).void } def initialize(json); end + sig { returns(String) } + def object; end + + sig { params(value: String).returns(String) } + def object=(value); end + sig { returns(String) } def id; end @@ -39,12 +45,6 @@ module WorkOS sig { params(value: T.nilable(WorkOS::EventContext)).returns(T.nilable(WorkOS::EventContext)) } def context=(value); end - sig { returns(String) } - def object; end - - sig { params(value: String).returns(String) } - def object=(value); end - sig { returns(T::Hash[Symbol, T.untyped]) } def to_h; end diff --git a/rbi/workos/organization_membership_created.rbi b/rbi/workos/organization_membership_created.rbi index 6bf7b86d..c6214031 100644 --- a/rbi/workos/organization_membership_created.rbi +++ b/rbi/workos/organization_membership_created.rbi @@ -9,6 +9,12 @@ module WorkOS sig { params(json: T.any(String, T::Hash[Symbol, T.untyped])).void } def initialize(json); end + sig { returns(String) } + def object; end + + sig { params(value: String).returns(String) } + def object=(value); end + sig { returns(String) } def id; end @@ -39,12 +45,6 @@ module WorkOS sig { params(value: T.nilable(WorkOS::EventContext)).returns(T.nilable(WorkOS::EventContext)) } def context=(value); end - sig { returns(String) } - def object; end - - sig { params(value: String).returns(String) } - def object=(value); end - sig { returns(T::Hash[Symbol, T.untyped]) } def to_h; end diff --git a/rbi/workos/organization_membership_deleted.rbi b/rbi/workos/organization_membership_deleted.rbi index 22741fc1..fc909bff 100644 --- a/rbi/workos/organization_membership_deleted.rbi +++ b/rbi/workos/organization_membership_deleted.rbi @@ -9,6 +9,12 @@ module WorkOS sig { params(json: T.any(String, T::Hash[Symbol, T.untyped])).void } def initialize(json); end + sig { returns(String) } + def object; end + + sig { params(value: String).returns(String) } + def object=(value); end + sig { returns(String) } def id; end @@ -39,12 +45,6 @@ module WorkOS sig { params(value: T.nilable(WorkOS::EventContext)).returns(T.nilable(WorkOS::EventContext)) } def context=(value); end - sig { returns(String) } - def object; end - - sig { params(value: String).returns(String) } - def object=(value); end - sig { returns(T::Hash[Symbol, T.untyped]) } def to_h; end diff --git a/rbi/workos/organization_membership_service.rbi b/rbi/workos/organization_membership_service.rbi new file mode 100644 index 00000000..5cb747e6 --- /dev/null +++ b/rbi/workos/organization_membership_service.rbi @@ -0,0 +1,114 @@ +# frozen_string_literal: true + +# This file is auto-generated by oagen. Do not edit. + +# typed: strong + +module WorkOS + class OrganizationMembershipService + class RoleSingle + sig { returns(String) } + def role_slug; end + + sig do + params( + role_slug: String + ).returns(WorkOS::OrganizationMembershipService::RoleSingle) + end + def self.new(role_slug:); end + end + + class RoleMultiple + sig { returns(T::Array[String]) } + def role_slugs; end + + sig do + params( + role_slugs: T::Array[String] + ).returns(WorkOS::OrganizationMembershipService::RoleMultiple) + end + def self.new(role_slugs:); end + end + + sig { params(client: WorkOS::BaseClient).void } + def initialize(client); end + + sig do + params( + before: T.nilable(String), + after: T.nilable(String), + limit: T.nilable(Integer), + order: T.nilable(String), + organization_id: T.nilable(String), + statuses: T.nilable(T::Array[String]), + user_id: T.nilable(String), + request_options: T::Hash[Symbol, T.untyped] + ).returns(T::Array[WorkOS::UserOrganizationMembership]) + end + def list_organization_memberships(before:, after:, limit:, order:, organization_id:, statuses:, user_id:, request_options:); end + + sig do + params( + user_id: String, + organization_id: String, + role: T.nilable(T.any(WorkOS::OrganizationMembershipService::RoleSingle, WorkOS::OrganizationMembershipService::RoleMultiple)), + request_options: T::Hash[Symbol, T.untyped] + ).returns(WorkOS::OrganizationMembership) + end + def create_organization_membership(user_id:, organization_id:, role:, request_options:); end + + sig do + params( + id: String, + request_options: T::Hash[Symbol, T.untyped] + ).returns(WorkOS::UserOrganizationMembership) + end + def get_organization_membership(id:, request_options:); end + + sig do + params( + id: String, + role: T.nilable(T.any(WorkOS::OrganizationMembershipService::RoleSingle, WorkOS::OrganizationMembershipService::RoleMultiple)), + request_options: T::Hash[Symbol, T.untyped] + ).returns(WorkOS::UserOrganizationMembership) + end + def update_organization_membership(id:, role:, request_options:); end + + sig do + params( + id: String, + request_options: T::Hash[Symbol, T.untyped] + ).returns(NilClass) + end + def delete_organization_membership(id:, request_options:); end + + sig do + params( + id: String, + request_options: T::Hash[Symbol, T.untyped] + ).returns(WorkOS::OrganizationMembership) + end + def deactivate_organization_membership(id:, request_options:); end + + sig do + params( + id: String, + request_options: T::Hash[Symbol, T.untyped] + ).returns(WorkOS::UserOrganizationMembership) + end + def reactivate_organization_membership(id:, request_options:); end + + sig do + params( + om_id: String, + before: T.nilable(String), + after: T.nilable(String), + limit: T.nilable(Integer), + order: T.nilable(String), + request_options: T::Hash[Symbol, T.untyped] + ).returns(WorkOS::Types::ListStruct) + end + def list_organization_membership_groups(om_id:, before:, after:, limit:, order:, request_options:); end + + end +end diff --git a/rbi/workos/organization_membership_updated.rbi b/rbi/workos/organization_membership_updated.rbi index 8dffb228..cced4a5c 100644 --- a/rbi/workos/organization_membership_updated.rbi +++ b/rbi/workos/organization_membership_updated.rbi @@ -9,6 +9,12 @@ module WorkOS sig { params(json: T.any(String, T::Hash[Symbol, T.untyped])).void } def initialize(json); end + sig { returns(String) } + def object; end + + sig { params(value: String).returns(String) } + def object=(value); end + sig { returns(String) } def id; end @@ -39,12 +45,6 @@ module WorkOS sig { params(value: T.nilable(WorkOS::EventContext)).returns(T.nilable(WorkOS::EventContext)) } def context=(value); end - sig { returns(String) } - def object; end - - sig { params(value: String).returns(String) } - def object=(value); end - sig { returns(T::Hash[Symbol, T.untyped]) } def to_h; end diff --git a/rbi/workos/organization_role_created.rbi b/rbi/workos/organization_role_created.rbi index fd5227f2..0054b5dd 100644 --- a/rbi/workos/organization_role_created.rbi +++ b/rbi/workos/organization_role_created.rbi @@ -9,6 +9,12 @@ module WorkOS sig { params(json: T.any(String, T::Hash[Symbol, T.untyped])).void } def initialize(json); end + sig { returns(String) } + def object; end + + sig { params(value: String).returns(String) } + def object=(value); end + sig { returns(String) } def id; end @@ -39,12 +45,6 @@ module WorkOS sig { params(value: T.nilable(WorkOS::EventContext)).returns(T.nilable(WorkOS::EventContext)) } def context=(value); end - sig { returns(String) } - def object; end - - sig { params(value: String).returns(String) } - def object=(value); end - sig { returns(T::Hash[Symbol, T.untyped]) } def to_h; end diff --git a/rbi/workos/organization_role_deleted.rbi b/rbi/workos/organization_role_deleted.rbi index b9e48d16..9553c9b1 100644 --- a/rbi/workos/organization_role_deleted.rbi +++ b/rbi/workos/organization_role_deleted.rbi @@ -9,6 +9,12 @@ module WorkOS sig { params(json: T.any(String, T::Hash[Symbol, T.untyped])).void } def initialize(json); end + sig { returns(String) } + def object; end + + sig { params(value: String).returns(String) } + def object=(value); end + sig { returns(String) } def id; end @@ -39,12 +45,6 @@ module WorkOS sig { params(value: T.nilable(WorkOS::EventContext)).returns(T.nilable(WorkOS::EventContext)) } def context=(value); end - sig { returns(String) } - def object; end - - sig { params(value: String).returns(String) } - def object=(value); end - sig { returns(T::Hash[Symbol, T.untyped]) } def to_h; end diff --git a/rbi/workos/organization_role_updated.rbi b/rbi/workos/organization_role_updated.rbi index acbc1660..9335afd9 100644 --- a/rbi/workos/organization_role_updated.rbi +++ b/rbi/workos/organization_role_updated.rbi @@ -9,6 +9,12 @@ module WorkOS sig { params(json: T.any(String, T::Hash[Symbol, T.untyped])).void } def initialize(json); end + sig { returns(String) } + def object; end + + sig { params(value: String).returns(String) } + def object=(value); end + sig { returns(String) } def id; end @@ -39,12 +45,6 @@ module WorkOS sig { params(value: T.nilable(WorkOS::EventContext)).returns(T.nilable(WorkOS::EventContext)) } def context=(value); end - sig { returns(String) } - def object; end - - sig { params(value: String).returns(String) } - def object=(value); end - sig { returns(T::Hash[Symbol, T.untyped]) } def to_h; end diff --git a/rbi/workos/organization_updated.rbi b/rbi/workos/organization_updated.rbi index 0cf67fd6..540fbf30 100644 --- a/rbi/workos/organization_updated.rbi +++ b/rbi/workos/organization_updated.rbi @@ -9,6 +9,12 @@ module WorkOS sig { params(json: T.any(String, T::Hash[Symbol, T.untyped])).void } def initialize(json); end + sig { returns(String) } + def object; end + + sig { params(value: String).returns(String) } + def object=(value); end + sig { returns(String) } def id; end @@ -39,12 +45,6 @@ module WorkOS sig { params(value: T.nilable(WorkOS::EventContext)).returns(T.nilable(WorkOS::EventContext)) } def context=(value); end - sig { returns(String) } - def object; end - - sig { params(value: String).returns(String) } - def object=(value); end - sig { returns(T::Hash[Symbol, T.untyped]) } def to_h; end diff --git a/rbi/workos/password_reset_created.rbi b/rbi/workos/password_reset_created.rbi index 3001796c..48d2c207 100644 --- a/rbi/workos/password_reset_created.rbi +++ b/rbi/workos/password_reset_created.rbi @@ -9,6 +9,12 @@ module WorkOS sig { params(json: T.any(String, T::Hash[Symbol, T.untyped])).void } def initialize(json); end + sig { returns(String) } + def object; end + + sig { params(value: String).returns(String) } + def object=(value); end + sig { returns(String) } def id; end @@ -39,12 +45,6 @@ module WorkOS sig { params(value: T.nilable(WorkOS::EventContext)).returns(T.nilable(WorkOS::EventContext)) } def context=(value); end - sig { returns(String) } - def object; end - - sig { params(value: String).returns(String) } - def object=(value); end - sig { returns(T::Hash[Symbol, T.untyped]) } def to_h; end diff --git a/rbi/workos/password_reset_succeeded.rbi b/rbi/workos/password_reset_succeeded.rbi index 167f283e..6fee6058 100644 --- a/rbi/workos/password_reset_succeeded.rbi +++ b/rbi/workos/password_reset_succeeded.rbi @@ -9,6 +9,12 @@ module WorkOS sig { params(json: T.any(String, T::Hash[Symbol, T.untyped])).void } def initialize(json); end + sig { returns(String) } + def object; end + + sig { params(value: String).returns(String) } + def object=(value); end + sig { returns(String) } def id; end @@ -39,12 +45,6 @@ module WorkOS sig { params(value: T.nilable(WorkOS::EventContext)).returns(T.nilable(WorkOS::EventContext)) } def context=(value); end - sig { returns(String) } - def object; end - - sig { params(value: String).returns(String) } - def object=(value); end - sig { returns(T::Hash[Symbol, T.untyped]) } def to_h; end diff --git a/rbi/workos/passwordless.rbi b/rbi/workos/passwordless.rbi deleted file mode 100644 index f058554e..00000000 --- a/rbi/workos/passwordless.rbi +++ /dev/null @@ -1,47 +0,0 @@ -# frozen_string_literal: true - -# This file is auto-generated by oagen. Do not edit. - -# typed: strong - -module WorkOS - class Passwordless - class PasswordlessSession < T::Struct - const :id, T.nilable(String) - const :email, T.nilable(String) - const :expires_at, T.nilable(String) - const :link, T.nilable(String) - const :object, T.nilable(String) - - sig { params(hash: T::Hash[String, T.untyped]).returns(WorkOS::Passwordless::PasswordlessSession) } - def self.from_hash(hash); end - - sig { returns(T::Hash[Symbol, T.untyped]) } - def to_h; end - end - - sig { params(client: WorkOS::Client).void } - def initialize(client); end - - sig do - params( - email: String, - type: String, - redirect_uri: T.nilable(String), - state: T.nilable(String), - connection: T.nilable(String), - expires_in: T.nilable(Integer), - request_options: T::Hash[Symbol, T.untyped] - ).returns(WorkOS::Passwordless::PasswordlessSession) - end - def create_session(email:, type: "MagicLink", redirect_uri: nil, state: nil, connection: nil, expires_in: nil, request_options: {}); end - - sig do - params( - session_id: String, - request_options: T::Hash[Symbol, T.untyped] - ).returns(T::Hash[String, T.untyped]) - end - def send_session(session_id, request_options: {}); end - end -end diff --git a/rbi/workos/permission_created.rbi b/rbi/workos/permission_created.rbi index 94f3d015..3dfe3476 100644 --- a/rbi/workos/permission_created.rbi +++ b/rbi/workos/permission_created.rbi @@ -9,6 +9,12 @@ module WorkOS sig { params(json: T.any(String, T::Hash[Symbol, T.untyped])).void } def initialize(json); end + sig { returns(String) } + def object; end + + sig { params(value: String).returns(String) } + def object=(value); end + sig { returns(String) } def id; end @@ -39,12 +45,6 @@ module WorkOS sig { params(value: T.nilable(WorkOS::EventContext)).returns(T.nilable(WorkOS::EventContext)) } def context=(value); end - sig { returns(String) } - def object; end - - sig { params(value: String).returns(String) } - def object=(value); end - sig { returns(T::Hash[Symbol, T.untyped]) } def to_h; end diff --git a/rbi/workos/permission_deleted.rbi b/rbi/workos/permission_deleted.rbi index fc04dc98..5f5a9604 100644 --- a/rbi/workos/permission_deleted.rbi +++ b/rbi/workos/permission_deleted.rbi @@ -9,6 +9,12 @@ module WorkOS sig { params(json: T.any(String, T::Hash[Symbol, T.untyped])).void } def initialize(json); end + sig { returns(String) } + def object; end + + sig { params(value: String).returns(String) } + def object=(value); end + sig { returns(String) } def id; end @@ -39,12 +45,6 @@ module WorkOS sig { params(value: T.nilable(WorkOS::EventContext)).returns(T.nilable(WorkOS::EventContext)) } def context=(value); end - sig { returns(String) } - def object; end - - sig { params(value: String).returns(String) } - def object=(value); end - sig { returns(T::Hash[Symbol, T.untyped]) } def to_h; end diff --git a/rbi/workos/permission_updated.rbi b/rbi/workos/permission_updated.rbi index 26e6d11e..76de23e0 100644 --- a/rbi/workos/permission_updated.rbi +++ b/rbi/workos/permission_updated.rbi @@ -9,6 +9,12 @@ module WorkOS sig { params(json: T.any(String, T::Hash[Symbol, T.untyped])).void } def initialize(json); end + sig { returns(String) } + def object; end + + sig { params(value: String).returns(String) } + def object=(value); end + sig { returns(String) } def id; end @@ -39,12 +45,6 @@ module WorkOS sig { params(value: T.nilable(WorkOS::EventContext)).returns(T.nilable(WorkOS::EventContext)) } def context=(value); end - sig { returns(String) } - def object; end - - sig { params(value: String).returns(String) } - def object=(value); end - sig { returns(T::Hash[Symbol, T.untyped]) } def to_h; end diff --git a/rbi/workos/pipe_connected_account.rbi b/rbi/workos/pipe_connected_account.rbi new file mode 100644 index 00000000..33c03666 --- /dev/null +++ b/rbi/workos/pipe_connected_account.rbi @@ -0,0 +1,78 @@ +# frozen_string_literal: true + +# This file is auto-generated by oagen. Do not edit. + +# typed: strong + +module WorkOS + class PipeConnectedAccount + sig { params(json: T.any(String, T::Hash[Symbol, T.untyped])).void } + def initialize(json); end + + sig { returns(String) } + def object; end + + sig { params(value: String).returns(String) } + def object=(value); end + + sig { returns(String) } + def id; end + + sig { params(value: String).returns(String) } + def id=(value); end + + sig { returns(String) } + def data_integration_id; end + + sig { params(value: String).returns(String) } + def data_integration_id=(value); end + + sig { returns(String) } + def provider_slug; end + + sig { params(value: String).returns(String) } + def provider_slug=(value); end + + sig { returns(T.nilable(String)) } + def user_id; end + + sig { params(value: T.nilable(String)).returns(T.nilable(String)) } + def user_id=(value); end + + sig { returns(T.nilable(String)) } + def organization_id; end + + sig { params(value: T.nilable(String)).returns(T.nilable(String)) } + def organization_id=(value); end + + sig { returns(T::Array[String]) } + def scopes; end + + sig { params(value: T::Array[String]).returns(T::Array[String]) } + def scopes=(value); end + + sig { returns(String) } + def state; end + + sig { params(value: String).returns(String) } + def state=(value); end + + sig { returns(String) } + def created_at; end + + sig { params(value: String).returns(String) } + def created_at=(value); end + + sig { returns(String) } + def updated_at; end + + sig { params(value: String).returns(String) } + def updated_at=(value); end + + sig { returns(T::Hash[Symbol, T.untyped]) } + def to_h; end + + sig { params(args: T.untyped).returns(String) } + def to_json(*args); end + end +end diff --git a/rbi/workos/audit_log_export_json.rbi b/rbi/workos/pipes_connected_account_connected.rbi similarity index 63% rename from rbi/workos/audit_log_export_json.rbi rename to rbi/workos/pipes_connected_account_connected.rbi index acdb6312..8a3c1b54 100644 --- a/rbi/workos/audit_log_export_json.rbi +++ b/rbi/workos/pipes_connected_account_connected.rbi @@ -5,7 +5,7 @@ # typed: strong module WorkOS - class AuditLogExportJson + class PipesConnectedAccountConnected sig { params(json: T.any(String, T::Hash[Symbol, T.untyped])).void } def initialize(json); end @@ -22,16 +22,16 @@ module WorkOS def id=(value); end sig { returns(String) } - def state; end + def event; end sig { params(value: String).returns(String) } - def state=(value); end + def event=(value); end - sig { returns(T.nilable(String)) } - def url; end + sig { returns(WorkOS::PipeConnectedAccount) } + def data; end - sig { params(value: T.nilable(String)).returns(T.nilable(String)) } - def url=(value); end + sig { params(value: WorkOS::PipeConnectedAccount).returns(WorkOS::PipeConnectedAccount) } + def data=(value); end sig { returns(String) } def created_at; end @@ -39,11 +39,11 @@ module WorkOS sig { params(value: String).returns(String) } def created_at=(value); end - sig { returns(String) } - def updated_at; end + sig { returns(T.nilable(WorkOS::EventContext)) } + def context; end - sig { params(value: String).returns(String) } - def updated_at=(value); end + sig { params(value: T.nilable(WorkOS::EventContext)).returns(T.nilable(WorkOS::EventContext)) } + def context=(value); end sig { returns(T::Hash[Symbol, T.untyped]) } def to_h; end diff --git a/rbi/workos/pipes_connected_account_disconnected.rbi b/rbi/workos/pipes_connected_account_disconnected.rbi new file mode 100644 index 00000000..1a2a2797 --- /dev/null +++ b/rbi/workos/pipes_connected_account_disconnected.rbi @@ -0,0 +1,54 @@ +# frozen_string_literal: true + +# This file is auto-generated by oagen. Do not edit. + +# typed: strong + +module WorkOS + class PipesConnectedAccountDisconnected + sig { params(json: T.any(String, T::Hash[Symbol, T.untyped])).void } + def initialize(json); end + + sig { returns(String) } + def object; end + + sig { params(value: String).returns(String) } + def object=(value); end + + sig { returns(String) } + def id; end + + sig { params(value: String).returns(String) } + def id=(value); end + + sig { returns(String) } + def event; end + + sig { params(value: String).returns(String) } + def event=(value); end + + sig { returns(WorkOS::PipeConnectedAccount) } + def data; end + + sig { params(value: WorkOS::PipeConnectedAccount).returns(WorkOS::PipeConnectedAccount) } + def data=(value); end + + sig { returns(String) } + def created_at; end + + sig { params(value: String).returns(String) } + def created_at=(value); end + + sig { returns(T.nilable(WorkOS::EventContext)) } + def context; end + + sig { params(value: T.nilable(WorkOS::EventContext)).returns(T.nilable(WorkOS::EventContext)) } + def context=(value); end + + sig { returns(T::Hash[Symbol, T.untyped]) } + def to_h; end + + sig { params(args: T.untyped).returns(String) } + def to_json(*args); end + end +end diff --git a/rbi/workos/pipes_connected_account_reauthorization_needed.rbi b/rbi/workos/pipes_connected_account_reauthorization_needed.rbi new file mode 100644 index 00000000..ab4944dc --- /dev/null +++ b/rbi/workos/pipes_connected_account_reauthorization_needed.rbi @@ -0,0 +1,54 @@ +# frozen_string_literal: true + +# This file is auto-generated by oagen. Do not edit. + +# typed: strong + +module WorkOS + class PipesConnectedAccountReauthorizationNeeded + sig { params(json: T.any(String, T::Hash[Symbol, T.untyped])).void } + def initialize(json); end + + sig { returns(String) } + def object; end + + sig { params(value: String).returns(String) } + def object=(value); end + + sig { returns(String) } + def id; end + + sig { params(value: String).returns(String) } + def id=(value); end + + sig { returns(String) } + def event; end + + sig { params(value: String).returns(String) } + def event=(value); end + + sig { returns(WorkOS::PipeConnectedAccount) } + def data; end + + sig { params(value: WorkOS::PipeConnectedAccount).returns(WorkOS::PipeConnectedAccount) } + def data=(value); end + + sig { returns(String) } + def created_at; end + + sig { params(value: String).returns(String) } + def created_at=(value); end + + sig { returns(T.nilable(WorkOS::EventContext)) } + def context; end + + sig { params(value: T.nilable(WorkOS::EventContext)).returns(T.nilable(WorkOS::EventContext)) } + def context=(value); end + + sig { returns(T::Hash[Symbol, T.untyped]) } + def to_h; end + + sig { params(args: T.untyped).returns(String) } + def to_json(*args); end + end +end diff --git a/rbi/workos/public_client.rbi b/rbi/workos/public_client.rbi deleted file mode 100644 index 58f6f7ea..00000000 --- a/rbi/workos/public_client.rbi +++ /dev/null @@ -1,12 +0,0 @@ -# frozen_string_literal: true - -# This file is auto-generated by oagen. Do not edit. - -# typed: strong - -module WorkOS - module PublicClient - sig { params(client_id: String, opts: T.untyped).returns(WorkOS::Client) } - def self.create(client_id:, **opts); end - end -end diff --git a/rbi/workos/radar.rbi b/rbi/workos/radar.rbi index 0ae54330..5995a928 100644 --- a/rbi/workos/radar.rbi +++ b/rbi/workos/radar.rbi @@ -16,12 +16,10 @@ module WorkOS email: String, auth_method: String, action: String, - device_fingerprint: T.nilable(String), - bot_score: T.nilable(String), request_options: T::Hash[Symbol, T.untyped] ).returns(WorkOS::RadarStandaloneResponse) end - def create_attempt(ip_address:, user_agent:, email:, auth_method:, action:, device_fingerprint:, bot_score:, request_options:); end + def create_attempt(ip_address:, user_agent:, email:, auth_method:, action:, request_options:); end sig do params( diff --git a/rbi/workos/radar_standalone_assess_request.rbi b/rbi/workos/radar_standalone_assess_request.rbi index ab905468..c5c474ca 100644 --- a/rbi/workos/radar_standalone_assess_request.rbi +++ b/rbi/workos/radar_standalone_assess_request.rbi @@ -39,18 +39,6 @@ module WorkOS sig { params(value: String).returns(String) } def action=(value); end - sig { returns(T.nilable(String)) } - def device_fingerprint; end - - sig { params(value: T.nilable(String)).returns(T.nilable(String)) } - def device_fingerprint=(value); end - - sig { returns(T.nilable(String)) } - def bot_score; end - - sig { params(value: T.nilable(String)).returns(T.nilable(String)) } - def bot_score=(value); end - sig { returns(T::Hash[Symbol, T.untyped]) } def to_h; end diff --git a/rbi/workos/rekey_request.rbi b/rbi/workos/rekey_request.rbi new file mode 100644 index 00000000..3b06bb26 --- /dev/null +++ b/rbi/workos/rekey_request.rbi @@ -0,0 +1,30 @@ +# frozen_string_literal: true + +# This file is auto-generated by oagen. Do not edit. + +# typed: strong + +module WorkOS + class RekeyRequest + sig { params(json: T.any(String, T::Hash[Symbol, T.untyped])).void } + def initialize(json); end + + sig { returns(T::Hash[String, String]) } + def context; end + + sig { params(value: T::Hash[String, String]).returns(T::Hash[String, String]) } + def context=(value); end + + sig { returns(String) } + def encrypted_keys; end + + sig { params(value: String).returns(String) } + def encrypted_keys=(value); end + + sig { returns(T::Hash[Symbol, T.untyped]) } + def to_h; end + + sig { params(args: T.untyped).returns(String) } + def to_json(*args); end + end +end diff --git a/rbi/workos/role_created.rbi b/rbi/workos/role_created.rbi index 070899e7..a61f8341 100644 --- a/rbi/workos/role_created.rbi +++ b/rbi/workos/role_created.rbi @@ -9,6 +9,12 @@ module WorkOS sig { params(json: T.any(String, T::Hash[Symbol, T.untyped])).void } def initialize(json); end + sig { returns(String) } + def object; end + + sig { params(value: String).returns(String) } + def object=(value); end + sig { returns(String) } def id; end @@ -39,12 +45,6 @@ module WorkOS sig { params(value: T.nilable(WorkOS::EventContext)).returns(T.nilable(WorkOS::EventContext)) } def context=(value); end - sig { returns(String) } - def object; end - - sig { params(value: String).returns(String) } - def object=(value); end - sig { returns(T::Hash[Symbol, T.untyped]) } def to_h; end diff --git a/rbi/workos/role_deleted.rbi b/rbi/workos/role_deleted.rbi index d75ccd0e..353de0c4 100644 --- a/rbi/workos/role_deleted.rbi +++ b/rbi/workos/role_deleted.rbi @@ -9,6 +9,12 @@ module WorkOS sig { params(json: T.any(String, T::Hash[Symbol, T.untyped])).void } def initialize(json); end + sig { returns(String) } + def object; end + + sig { params(value: String).returns(String) } + def object=(value); end + sig { returns(String) } def id; end @@ -39,12 +45,6 @@ module WorkOS sig { params(value: T.nilable(WorkOS::EventContext)).returns(T.nilable(WorkOS::EventContext)) } def context=(value); end - sig { returns(String) } - def object; end - - sig { params(value: String).returns(String) } - def object=(value); end - sig { returns(T::Hash[Symbol, T.untyped]) } def to_h; end diff --git a/rbi/workos/role_updated.rbi b/rbi/workos/role_updated.rbi index 4465c3ec..da1786f8 100644 --- a/rbi/workos/role_updated.rbi +++ b/rbi/workos/role_updated.rbi @@ -9,6 +9,12 @@ module WorkOS sig { params(json: T.any(String, T::Hash[Symbol, T.untyped])).void } def initialize(json); end + sig { returns(String) } + def object; end + + sig { params(value: String).returns(String) } + def object=(value); end + sig { returns(String) } def id; end @@ -39,12 +45,6 @@ module WorkOS sig { params(value: T.nilable(WorkOS::EventContext)).returns(T.nilable(WorkOS::EventContext)) } def context=(value); end - sig { returns(String) } - def object; end - - sig { params(value: String).returns(String) } - def object=(value); end - sig { returns(T::Hash[Symbol, T.untyped]) } def to_h; end diff --git a/rbi/workos/session.rbi b/rbi/workos/session.rbi deleted file mode 100644 index 74d7355d..00000000 --- a/rbi/workos/session.rbi +++ /dev/null @@ -1,43 +0,0 @@ -# frozen_string_literal: true - -# This file is auto-generated by oagen. Do not edit. - -# typed: strong - -module WorkOS - class Session - sig { returns(T.nilable(String)) } - def seal_data; end - - sig { returns(String) } - def cookie_password; end - - sig do - params( - manager: WorkOS::SessionManager, - seal_data: T.nilable(String), - cookie_password: String - ).void - end - def initialize(manager, seal_data:, cookie_password:); end - - sig do - params( - include_expired: T::Boolean, - claim_extractor: T.nilable(T.proc.params(decoded: T::Hash[String, T.untyped]).returns(T.nilable(T::Hash[Symbol, T.untyped]))) - ).returns(T.any(WorkOS::SessionManager::AuthSuccess, WorkOS::SessionManager::AuthError)) - end - def authenticate(include_expired: false, &claim_extractor); end - - sig do - params( - organization_id: T.nilable(String), - cookie_password: T.nilable(String) - ).returns(T.any(WorkOS::SessionManager::RefreshSuccess, WorkOS::SessionManager::RefreshError)) - end - def refresh(organization_id: nil, cookie_password: nil); end - - sig { params(return_to: T.nilable(String)).returns(String) } - def get_logout_url(return_to: nil); end - end -end diff --git a/rbi/workos/session_created.rbi b/rbi/workos/session_created.rbi index 930e0478..ce845c37 100644 --- a/rbi/workos/session_created.rbi +++ b/rbi/workos/session_created.rbi @@ -9,6 +9,12 @@ module WorkOS sig { params(json: T.any(String, T::Hash[Symbol, T.untyped])).void } def initialize(json); end + sig { returns(String) } + def object; end + + sig { params(value: String).returns(String) } + def object=(value); end + sig { returns(String) } def id; end @@ -39,12 +45,6 @@ module WorkOS sig { params(value: T.nilable(WorkOS::EventContext)).returns(T.nilable(WorkOS::EventContext)) } def context=(value); end - sig { returns(String) } - def object; end - - sig { params(value: String).returns(String) } - def object=(value); end - sig { returns(T::Hash[Symbol, T.untyped]) } def to_h; end diff --git a/rbi/workos/session_manager.rbi b/rbi/workos/session_manager.rbi index 00bba0f5..8497fbb0 100644 --- a/rbi/workos/session_manager.rbi +++ b/rbi/workos/session_manager.rbi @@ -103,7 +103,7 @@ module WorkOS sig { returns(WorkOS::Client) } def client; end - sig { params(client: WorkOS::Client, encryptor: T.nilable(T.untyped)).void } + sig { params(client: WorkOS::Client, encryptor: T.untyped).void } def initialize(client, encryptor: nil); end sig { params(seal_data: String, cookie_password: String).returns(WorkOS::Session) } diff --git a/rbi/workos/session_revoked.rbi b/rbi/workos/session_revoked.rbi index 605e90b1..fe2ab861 100644 --- a/rbi/workos/session_revoked.rbi +++ b/rbi/workos/session_revoked.rbi @@ -9,6 +9,12 @@ module WorkOS sig { params(json: T.any(String, T::Hash[Symbol, T.untyped])).void } def initialize(json); end + sig { returns(String) } + def object; end + + sig { params(value: String).returns(String) } + def object=(value); end + sig { returns(String) } def id; end @@ -39,12 +45,6 @@ module WorkOS sig { params(value: T.nilable(WorkOS::EventContext)).returns(T.nilable(WorkOS::EventContext)) } def context=(value); end - sig { returns(String) } - def object; end - - sig { params(value: String).returns(String) } - def object=(value); end - sig { returns(T::Hash[Symbol, T.untyped]) } def to_h; end diff --git a/rbi/workos/types/api_response.rbi b/rbi/workos/types/api_response.rbi deleted file mode 100644 index 375f9049..00000000 --- a/rbi/workos/types/api_response.rbi +++ /dev/null @@ -1,29 +0,0 @@ -# frozen_string_literal: true - -# This file is auto-generated by oagen. Do not edit. - -# typed: strong - -module WorkOS - module Types - class ApiResponse - sig { returns(Integer) } - def http_status; end - - sig { returns(T::Hash[String, String]) } - def http_headers; end - - sig { returns(T.nilable(String)) } - def request_id; end - - sig do - params( - http_status: Integer, - http_headers: T::Hash[String, String], - request_id: T.nilable(String) - ).returns(WorkOS::Types::ApiResponse) - end - def self.new(http_status:, http_headers:, request_id:); end - end - end -end diff --git a/rbi/workos/types/base_model.rbi b/rbi/workos/types/base_model.rbi deleted file mode 100644 index 726391dd..00000000 --- a/rbi/workos/types/base_model.rbi +++ /dev/null @@ -1,22 +0,0 @@ -# frozen_string_literal: true - -# This file is auto-generated by oagen. Do not edit. - -# typed: strong - -module WorkOS - module Types - class BaseModel - include WorkOS::HashProvider - - sig { returns(T.nilable(WorkOS::Types::ApiResponse)) } - def last_response; end - - sig { params(value: T.nilable(WorkOS::Types::ApiResponse)).returns(T.nilable(WorkOS::Types::ApiResponse)) } - def last_response=(value); end - - sig { params(json: T.any(String, T::Hash[T.untyped, T.untyped])).returns(T::Hash[Symbol, T.untyped]) } - def self.normalize(json); end - end - end -end diff --git a/rbi/workos/types/list_struct.rbi b/rbi/workos/types/list_struct.rbi deleted file mode 100644 index 1b8fe05d..00000000 --- a/rbi/workos/types/list_struct.rbi +++ /dev/null @@ -1,89 +0,0 @@ -# frozen_string_literal: true - -# This file is auto-generated by oagen. Do not edit. - -# typed: strong - -module WorkOS - module Types - class ListStruct - include Enumerable - - sig { returns(T::Array[T.untyped]) } - def data; end - - sig { params(value: T::Array[T.untyped]).returns(T::Array[T.untyped]) } - def data=(value); end - - sig { returns(T::Hash[String, T.untyped]) } - def list_metadata; end - - sig { params(value: T::Hash[String, T.untyped]).returns(T::Hash[String, T.untyped]) } - def list_metadata=(value); end - - sig { returns(T.nilable(T.proc.params(cursor: String).returns(WorkOS::Types::ListStruct))) } - def fetch_next; end - - sig { params(value: T.nilable(T.proc.params(cursor: String).returns(WorkOS::Types::ListStruct))).returns(T.nilable(T.proc.params(cursor: String).returns(WorkOS::Types::ListStruct))) } - def fetch_next=(value); end - - sig { returns(T.nilable(T.proc.params(cursor: String).returns(WorkOS::Types::ListStruct))) } - def fetch_previous; end - - sig { params(value: T.nilable(T.proc.params(cursor: String).returns(WorkOS::Types::ListStruct))).returns(T.nilable(T.proc.params(cursor: String).returns(WorkOS::Types::ListStruct))) } - def fetch_previous=(value); end - - sig { returns(T::Hash[Symbol, T.untyped]) } - def filters; end - - sig { params(value: T::Hash[Symbol, T.untyped]).returns(T::Hash[Symbol, T.untyped]) } - def filters=(value); end - - sig { returns(T.nilable(WorkOS::Types::ApiResponse)) } - def last_response; end - - sig { params(value: T.nilable(WorkOS::Types::ApiResponse)).returns(T.nilable(WorkOS::Types::ApiResponse)) } - def last_response=(value); end - - sig do - params( - data: T::Array[T.untyped], - list_metadata: T::Hash[String, T.untyped], - fetch_next: T.nilable(T.proc.params(cursor: String).returns(WorkOS::Types::ListStruct)), - fetch_previous: T.nilable(T.proc.params(cursor: String).returns(WorkOS::Types::ListStruct)), - filters: T::Hash[Symbol, T.untyped] - ).void - end - def initialize(data:, list_metadata:, fetch_next: nil, fetch_previous: nil, filters: {}); end - - sig do - params( - response: Net::HTTPResponse, - model: T.nilable(T.class_of(WorkOS::Types::BaseModel)), - filters: T::Hash[Symbol, T.untyped], - fetch_next: T.nilable(T.proc.params(cursor: String).returns(WorkOS::Types::ListStruct)), - fetch_previous: T.nilable(T.proc.params(cursor: String).returns(WorkOS::Types::ListStruct)) - ).returns(WorkOS::Types::ListStruct) - end - def self.from_response(response, model: nil, filters: {}, fetch_next: nil, fetch_previous: nil); end - - sig { params(block: T.proc.params(item: T.untyped).void).returns(T.untyped) } - def each(&block); end - - sig { returns(T::Boolean) } - def has_more?; end - - sig { returns(T.nilable(WorkOS::Types::ListStruct)) } - def next_page; end - - sig { returns(T.nilable(WorkOS::Types::ListStruct)) } - def previous_page; end - - sig { params(block: T.proc.params(item: T.untyped).void).returns(T.untyped) } - def auto_paging_each(&block); end - - sig { params(block: T.proc.params(page: WorkOS::Types::ListStruct).void).returns(T.untyped) } - def each_page(&block); end - end - end -end diff --git a/rbi/workos/update_object_request.rbi b/rbi/workos/update_object_request.rbi new file mode 100644 index 00000000..17a125d5 --- /dev/null +++ b/rbi/workos/update_object_request.rbi @@ -0,0 +1,30 @@ +# frozen_string_literal: true + +# This file is auto-generated by oagen. Do not edit. + +# typed: strong + +module WorkOS + class UpdateObjectRequest + sig { params(json: T.any(String, T::Hash[Symbol, T.untyped])).void } + def initialize(json); end + + sig { returns(String) } + def value; end + + sig { params(value: String).returns(String) } + def value=(value); end + + sig { returns(T.nilable(String)) } + def version_check; end + + sig { params(value: T.nilable(String)).returns(T.nilable(String)) } + def version_check=(value); end + + sig { returns(T::Hash[Symbol, T.untyped]) } + def to_h; end + + sig { params(args: T.untyped).returns(String) } + def to_json(*args); end + end +end diff --git a/rbi/workos/user_api_key.rbi b/rbi/workos/user_api_key.rbi index 3da15af1..76679ee3 100644 --- a/rbi/workos/user_api_key.rbi +++ b/rbi/workos/user_api_key.rbi @@ -45,6 +45,12 @@ module WorkOS sig { params(value: T.nilable(String)).returns(T.nilable(String)) } def last_used_at=(value); end + sig { returns(T.nilable(String)) } + def expires_at; end + + sig { params(value: T.nilable(String)).returns(T.nilable(String)) } + def expires_at=(value); end + sig { returns(T::Array[String]) } def permissions; end diff --git a/rbi/workos/user_api_key_with_value.rbi b/rbi/workos/user_api_key_with_value.rbi index 66c5296e..1f816b33 100644 --- a/rbi/workos/user_api_key_with_value.rbi +++ b/rbi/workos/user_api_key_with_value.rbi @@ -45,6 +45,12 @@ module WorkOS sig { params(value: T.nilable(String)).returns(T.nilable(String)) } def last_used_at=(value); end + sig { returns(T.nilable(String)) } + def expires_at; end + + sig { params(value: T.nilable(String)).returns(T.nilable(String)) } + def expires_at=(value); end + sig { returns(T::Array[String]) } def permissions; end diff --git a/rbi/workos/user_created.rbi b/rbi/workos/user_created.rbi index 1e36a910..3e9a157e 100644 --- a/rbi/workos/user_created.rbi +++ b/rbi/workos/user_created.rbi @@ -9,6 +9,12 @@ module WorkOS sig { params(json: T.any(String, T::Hash[Symbol, T.untyped])).void } def initialize(json); end + sig { returns(String) } + def object; end + + sig { params(value: String).returns(String) } + def object=(value); end + sig { returns(String) } def id; end @@ -39,12 +45,6 @@ module WorkOS sig { params(value: T.nilable(WorkOS::EventContext)).returns(T.nilable(WorkOS::EventContext)) } def context=(value); end - sig { returns(String) } - def object; end - - sig { params(value: String).returns(String) } - def object=(value); end - sig { returns(T::Hash[Symbol, T.untyped]) } def to_h; end diff --git a/rbi/workos/user_deleted.rbi b/rbi/workos/user_deleted.rbi index c2ba2e92..24c1aa19 100644 --- a/rbi/workos/user_deleted.rbi +++ b/rbi/workos/user_deleted.rbi @@ -9,6 +9,12 @@ module WorkOS sig { params(json: T.any(String, T::Hash[Symbol, T.untyped])).void } def initialize(json); end + sig { returns(String) } + def object; end + + sig { params(value: String).returns(String) } + def object=(value); end + sig { returns(String) } def id; end @@ -39,12 +45,6 @@ module WorkOS sig { params(value: T.nilable(WorkOS::EventContext)).returns(T.nilable(WorkOS::EventContext)) } def context=(value); end - sig { returns(String) } - def object; end - - sig { params(value: String).returns(String) } - def object=(value); end - sig { returns(T::Hash[Symbol, T.untyped]) } def to_h; end diff --git a/rbi/workos/user_management.rbi b/rbi/workos/user_management.rbi index c0e19532..7f603588 100644 --- a/rbi/workos/user_management.rbi +++ b/rbi/workos/user_management.rbi @@ -34,30 +34,6 @@ module WorkOS def self.new(password_hash:, password_hash_type:); end end - class RoleSingle - sig { returns(String) } - def role_slug; end - - sig do - params( - role_slug: String - ).returns(WorkOS::UserManagement::RoleSingle) - end - def self.new(role_slug:); end - end - - class RoleMultiple - sig { returns(T::Array[String]) } - def role_slugs; end - - sig do - params( - role_slugs: T::Array[String] - ).returns(WorkOS::UserManagement::RoleMultiple) - end - def self.new(role_slugs:); end - end - sig { params(client: WorkOS::BaseClient).void } def initialize(client); end @@ -365,71 +341,6 @@ module WorkOS end def get_magic_auth(id:, request_options:); end - sig do - params( - before: T.nilable(String), - after: T.nilable(String), - limit: T.nilable(Integer), - order: T.nilable(String), - organization_id: T.nilable(String), - statuses: T.nilable(T::Array[String]), - user_id: T.nilable(String), - request_options: T::Hash[Symbol, T.untyped] - ).returns(T::Array[WorkOS::UserOrganizationMembership]) - end - def list_organization_memberships(before:, after:, limit:, order:, organization_id:, statuses:, user_id:, request_options:); end - - sig do - params( - user_id: String, - organization_id: String, - role: T.nilable(T.any(WorkOS::UserManagement::RoleSingle, WorkOS::UserManagement::RoleMultiple)), - request_options: T::Hash[Symbol, T.untyped] - ).returns(WorkOS::OrganizationMembership) - end - def create_organization_membership(user_id:, organization_id:, role:, request_options:); end - - sig do - params( - id: String, - request_options: T::Hash[Symbol, T.untyped] - ).returns(WorkOS::UserOrganizationMembership) - end - def get_organization_membership(id:, request_options:); end - - sig do - params( - id: String, - role: T.nilable(T.any(WorkOS::UserManagement::RoleSingle, WorkOS::UserManagement::RoleMultiple)), - request_options: T::Hash[Symbol, T.untyped] - ).returns(WorkOS::UserOrganizationMembership) - end - def update_organization_membership(id:, role:, request_options:); end - - sig do - params( - id: String, - request_options: T::Hash[Symbol, T.untyped] - ).returns(NilClass) - end - def delete_organization_membership(id:, request_options:); end - - sig do - params( - id: String, - request_options: T::Hash[Symbol, T.untyped] - ).returns(WorkOS::OrganizationMembership) - end - def deactivate_organization_membership(id:, request_options:); end - - sig do - params( - id: String, - request_options: T::Hash[Symbol, T.untyped] - ).returns(WorkOS::UserOrganizationMembership) - end - def reactivate_organization_membership(id:, request_options:); end - sig do params( uri: String, @@ -478,10 +389,11 @@ module WorkOS name: String, organization_id: String, permissions: T.nilable(T::Array[String]), + expires_at: T.nilable(String), request_options: T::Hash[Symbol, T.untyped] ).returns(WorkOS::UserApiKeyWithValue) end - def create_user_api_key(user_id:, name:, organization_id:, permissions:, request_options:); end + def create_user_api_key(user_id:, name:, organization_id:, permissions:, expires_at:, request_options:); end end end diff --git a/rbi/workos/user_management_organization_membership_groups.rbi b/rbi/workos/user_management_organization_membership_groups.rbi deleted file mode 100644 index a4b8f5d5..00000000 --- a/rbi/workos/user_management_organization_membership_groups.rbi +++ /dev/null @@ -1,25 +0,0 @@ -# frozen_string_literal: true - -# This file is auto-generated by oagen. Do not edit. - -# typed: strong - -module WorkOS - class UserManagementOrganizationMembershipGroups - sig { params(client: WorkOS::BaseClient).void } - def initialize(client); end - - sig do - params( - om_id: String, - before: T.nilable(String), - after: T.nilable(String), - limit: T.nilable(Integer), - order: T.nilable(String), - request_options: T::Hash[Symbol, T.untyped] - ).returns(WorkOS::Types::ListStruct) - end - def list_organization_membership_groups(om_id:, before:, after:, limit:, order:, request_options:); end - - end -end diff --git a/rbi/workos/user_updated.rbi b/rbi/workos/user_updated.rbi index 1e21a640..de250478 100644 --- a/rbi/workos/user_updated.rbi +++ b/rbi/workos/user_updated.rbi @@ -9,6 +9,12 @@ module WorkOS sig { params(json: T.any(String, T::Hash[Symbol, T.untyped])).void } def initialize(json); end + sig { returns(String) } + def object; end + + sig { params(value: String).returns(String) } + def object=(value); end + sig { returns(String) } def id; end @@ -39,12 +45,6 @@ module WorkOS sig { params(value: T.nilable(WorkOS::EventContext)).returns(T.nilable(WorkOS::EventContext)) } def context=(value); end - sig { returns(String) } - def object; end - - sig { params(value: String).returns(String) } - def object=(value); end - sig { returns(T::Hash[Symbol, T.untyped]) } def to_h; end diff --git a/rbi/workos/util.rbi b/rbi/workos/util.rbi deleted file mode 100644 index 8fce5436..00000000 --- a/rbi/workos/util.rbi +++ /dev/null @@ -1,12 +0,0 @@ -# frozen_string_literal: true - -# This file is auto-generated by oagen. Do not edit. - -# typed: strong - -module WorkOS - module Util - sig { params(value: T.any(String, Symbol, Integer)).returns(String) } - def self.encode_path(value); end - end -end diff --git a/rbi/workos/vault.rbi b/rbi/workos/vault.rbi index 24cb2709..a9a1fedc 100644 --- a/rbi/workos/vault.rbi +++ b/rbi/workos/vault.rbi @@ -6,132 +6,107 @@ module WorkOS class Vault - DEFAULT_RESPONSE_LIMIT = T.let(10, Integer) - - class DataKey < T::Struct - const :id, T.nilable(String) - const :key, T.nilable(String) - - sig { params(hash: T::Hash[String, T.untyped]).returns(WorkOS::Vault::DataKey) } - def self.from_response(hash); end - end - - class DataKeyPair < T::Struct - const :context, T.untyped - const :data_key, WorkOS::Vault::DataKey - const :encrypted_keys, T.nilable(String) + sig { params(client: WorkOS::BaseClient).void } + def initialize(client); end - sig { params(hash: T::Hash[String, T.untyped]).returns(WorkOS::Vault::DataKeyPair) } - def self.from_response(hash); end + sig do + params( + context: T::Hash[String, String], + request_options: T::Hash[Symbol, T.untyped] + ).returns(WorkOS::CreateDataKeyResponse) end + def create_data_key(context:, request_options:); end - class ObjectUpdateBy < T::Struct - const :id, T.nilable(String) - const :name, T.nilable(String) - - sig { params(hash: T.nilable(T::Hash[String, T.untyped])).returns(T.nilable(WorkOS::Vault::ObjectUpdateBy)) } - def self.from_hash(hash); end + sig do + params( + keys: String, + request_options: T::Hash[Symbol, T.untyped] + ).returns(WorkOS::DecryptResponse) end + def create_decrypt(keys:, request_options:); end - class ObjectMetadata < T::Struct - const :context, T.untyped - const :environment_id, T.nilable(String) - const :id, T.nilable(String) - const :key_id, T.nilable(String) - const :updated_at, T.nilable(String) - const :updated_by, T.nilable(WorkOS::Vault::ObjectUpdateBy) - const :version_id, T.nilable(String) - - sig { params(hash: T::Hash[String, T.untyped]).returns(WorkOS::Vault::ObjectMetadata) } - def self.from_hash(hash); end + sig do + params( + context: T::Hash[String, String], + encrypted_keys: String, + request_options: T::Hash[Symbol, T.untyped] + ).returns(WorkOS::CreateDataKeyResponse) end + def create_rekey(context:, encrypted_keys:, request_options:); end - class VaultObject < T::Struct - const :id, T.nilable(String) - const :name, T.nilable(String) - const :value, T.nilable(String) - const :metadata, T.nilable(WorkOS::Vault::ObjectMetadata) - - sig { params(hash: T::Hash[String, T.untyped]).returns(WorkOS::Vault::VaultObject) } - def self.from_hash(hash); end + sig do + params( + limit: T.nilable(Integer), + before: T.nilable(String), + after: T.nilable(String), + order: T.nilable(String), + search: T.nilable(String), + updated_after: T.nilable(String), + request_options: T::Hash[Symbol, T.untyped] + ).returns(WorkOS::Types::ListStruct) end + def list_kv(limit:, before:, after:, order:, search:, updated_after:, request_options:); end - class ObjectDigest < T::Struct - const :id, T.nilable(String) - const :name, T.nilable(String) - const :updated_at, T.nilable(String) - - sig { params(hash: T::Hash[String, T.untyped]).returns(WorkOS::Vault::ObjectDigest) } - def self.from_hash(hash); end + sig do + params( + key_context: T::Hash[String, String], + name: String, + value: String, + request_options: T::Hash[Symbol, T.untyped] + ).returns(WorkOS::ObjectMetadata) end + def create_kv(key_context:, name:, value:, request_options:); end - class ObjectVersion < T::Struct - const :id, T.nilable(String) - const :created_at, T.nilable(String) - const :current_version, T.nilable(T::Boolean) - - sig { params(hash: T::Hash[String, T.untyped]).returns(WorkOS::Vault::ObjectVersion) } - def self.from_hash(hash); end + sig do + params( + name: String, + request_options: T::Hash[Symbol, T.untyped] + ).returns(WorkOS::ObjectModel) end - - sig { params(client: WorkOS::Client).void } - def initialize(client); end - - sig { params(object_id: String, request_options: T::Hash[Symbol, T.untyped]).returns(WorkOS::Vault::VaultObject) } - def read_object(object_id:, request_options: {}); end - - sig { params(name: String, request_options: T::Hash[Symbol, T.untyped]).returns(WorkOS::Vault::VaultObject) } - def read_object_by_name(name:, request_options: {}); end - - sig { params(object_id: String, request_options: T::Hash[Symbol, T.untyped]).returns(WorkOS::Vault::VaultObject) } - def get_object_metadata(object_id:, request_options: {}); end + def get_name(name:, request_options:); end sig do params( - limit: Integer, - before: T.nilable(String), - after: T.nilable(String), + id: String, request_options: T::Hash[Symbol, T.untyped] - ).returns(T::Array[WorkOS::Vault::ObjectDigest]) + ).returns(WorkOS::ObjectModel) end - def list_objects(limit: DEFAULT_RESPONSE_LIMIT, before: nil, after: nil, request_options: {}); end - - sig { params(object_id: String, request_options: T::Hash[Symbol, T.untyped]).returns(T::Array[WorkOS::Vault::ObjectVersion]) } - def list_object_versions(object_id:, request_options: {}); end + def get_kv(id:, request_options:); end sig do params( - name: String, + id: String, value: String, - key_context: T::Hash[String, T.untyped], + version_check: T.nilable(String), request_options: T::Hash[Symbol, T.untyped] - ).returns(WorkOS::Vault::ObjectMetadata) + ).returns(WorkOS::ObjectWithoutValue) end - def create_object(name:, value:, key_context:, request_options: {}); end + def update_kv(id:, value:, version_check:, request_options:); end sig do params( - object_id: String, - value: String, + id: String, version_check: T.nilable(String), request_options: T::Hash[Symbol, T.untyped] - ).returns(WorkOS::Vault::VaultObject) + ).returns(WorkOS::DeleteObjectResponse) end - def update_object(object_id:, value:, version_check: nil, request_options: {}); end - - sig { params(object_id: String, request_options: T::Hash[Symbol, T.untyped]).void } - def delete_object(object_id:, request_options: {}); end + def delete_kv(id:, version_check:, request_options:); end - sig { params(key_context: T::Hash[String, T.untyped], request_options: T::Hash[Symbol, T.untyped]).returns(WorkOS::Vault::DataKeyPair) } - def create_data_key(key_context:, request_options: {}); end - - sig { params(keys: String, request_options: T::Hash[Symbol, T.untyped]).returns(WorkOS::Vault::DataKey) } - def decrypt_data_key(keys:, request_options: {}); end + sig do + params( + id: String, + request_options: T::Hash[Symbol, T.untyped] + ).returns(WorkOS::ObjectWithoutValue) + end + def list_kv_metadata(id:, request_options:); end - sig { params(data: String, key_context: T::Hash[String, T.untyped], associated_data: T.nilable(String)).returns(String) } - def encrypt(data:, key_context:, associated_data: nil); end + sig do + params( + id: String, + request_options: T::Hash[Symbol, T.untyped] + ).returns(WorkOS::Types::ListStruct) + end + def list_kv_versions(id:, request_options:); end - sig { params(encrypted_data: String, associated_data: T.nilable(String)).returns(String) } - def decrypt(encrypted_data:, associated_data: nil); end end end diff --git a/rbi/workos/vault_byok_key_deleted.rbi b/rbi/workos/vault_byok_key_deleted.rbi index c82e4f2d..1449217d 100644 --- a/rbi/workos/vault_byok_key_deleted.rbi +++ b/rbi/workos/vault_byok_key_deleted.rbi @@ -9,6 +9,12 @@ module WorkOS sig { params(json: T.any(String, T::Hash[Symbol, T.untyped])).void } def initialize(json); end + sig { returns(String) } + def object; end + + sig { params(value: String).returns(String) } + def object=(value); end + sig { returns(String) } def id; end @@ -39,12 +45,6 @@ module WorkOS sig { params(value: T.nilable(WorkOS::EventContext)).returns(T.nilable(WorkOS::EventContext)) } def context=(value); end - sig { returns(String) } - def object; end - - sig { params(value: String).returns(String) } - def object=(value); end - sig { returns(T::Hash[Symbol, T.untyped]) } def to_h; end diff --git a/rbi/workos/vault_byok_key_verification_completed.rbi b/rbi/workos/vault_byok_key_verification_completed.rbi index d06710b9..0a87fe4c 100644 --- a/rbi/workos/vault_byok_key_verification_completed.rbi +++ b/rbi/workos/vault_byok_key_verification_completed.rbi @@ -9,6 +9,12 @@ module WorkOS sig { params(json: T.any(String, T::Hash[Symbol, T.untyped])).void } def initialize(json); end + sig { returns(String) } + def object; end + + sig { params(value: String).returns(String) } + def object=(value); end + sig { returns(String) } def id; end @@ -39,12 +45,6 @@ module WorkOS sig { params(value: T.nilable(WorkOS::EventContext)).returns(T.nilable(WorkOS::EventContext)) } def context=(value); end - sig { returns(String) } - def object; end - - sig { params(value: String).returns(String) } - def object=(value); end - sig { returns(T::Hash[Symbol, T.untyped]) } def to_h; end diff --git a/rbi/workos/vault_data_created.rbi b/rbi/workos/vault_data_created.rbi index f2762093..ed2542ca 100644 --- a/rbi/workos/vault_data_created.rbi +++ b/rbi/workos/vault_data_created.rbi @@ -9,6 +9,12 @@ module WorkOS sig { params(json: T.any(String, T::Hash[Symbol, T.untyped])).void } def initialize(json); end + sig { returns(String) } + def object; end + + sig { params(value: String).returns(String) } + def object=(value); end + sig { returns(String) } def id; end @@ -39,12 +45,6 @@ module WorkOS sig { params(value: T.nilable(WorkOS::EventContext)).returns(T.nilable(WorkOS::EventContext)) } def context=(value); end - sig { returns(String) } - def object; end - - sig { params(value: String).returns(String) } - def object=(value); end - sig { returns(T::Hash[Symbol, T.untyped]) } def to_h; end diff --git a/rbi/workos/vault_data_deleted.rbi b/rbi/workos/vault_data_deleted.rbi index 9d424862..c1be3fcd 100644 --- a/rbi/workos/vault_data_deleted.rbi +++ b/rbi/workos/vault_data_deleted.rbi @@ -9,6 +9,12 @@ module WorkOS sig { params(json: T.any(String, T::Hash[Symbol, T.untyped])).void } def initialize(json); end + sig { returns(String) } + def object; end + + sig { params(value: String).returns(String) } + def object=(value); end + sig { returns(String) } def id; end @@ -39,12 +45,6 @@ module WorkOS sig { params(value: T.nilable(WorkOS::EventContext)).returns(T.nilable(WorkOS::EventContext)) } def context=(value); end - sig { returns(String) } - def object; end - - sig { params(value: String).returns(String) } - def object=(value); end - sig { returns(T::Hash[Symbol, T.untyped]) } def to_h; end diff --git a/rbi/workos/vault_data_read.rbi b/rbi/workos/vault_data_read.rbi index e6aff1b8..ee06bfba 100644 --- a/rbi/workos/vault_data_read.rbi +++ b/rbi/workos/vault_data_read.rbi @@ -9,6 +9,12 @@ module WorkOS sig { params(json: T.any(String, T::Hash[Symbol, T.untyped])).void } def initialize(json); end + sig { returns(String) } + def object; end + + sig { params(value: String).returns(String) } + def object=(value); end + sig { returns(String) } def id; end @@ -39,12 +45,6 @@ module WorkOS sig { params(value: T.nilable(WorkOS::EventContext)).returns(T.nilable(WorkOS::EventContext)) } def context=(value); end - sig { returns(String) } - def object; end - - sig { params(value: String).returns(String) } - def object=(value); end - sig { returns(T::Hash[Symbol, T.untyped]) } def to_h; end diff --git a/rbi/workos/vault_data_updated.rbi b/rbi/workos/vault_data_updated.rbi index 05fdf3b6..182e9d12 100644 --- a/rbi/workos/vault_data_updated.rbi +++ b/rbi/workos/vault_data_updated.rbi @@ -9,6 +9,12 @@ module WorkOS sig { params(json: T.any(String, T::Hash[Symbol, T.untyped])).void } def initialize(json); end + sig { returns(String) } + def object; end + + sig { params(value: String).returns(String) } + def object=(value); end + sig { returns(String) } def id; end @@ -39,12 +45,6 @@ module WorkOS sig { params(value: T.nilable(WorkOS::EventContext)).returns(T.nilable(WorkOS::EventContext)) } def context=(value); end - sig { returns(String) } - def object; end - - sig { params(value: String).returns(String) } - def object=(value); end - sig { returns(T::Hash[Symbol, T.untyped]) } def to_h; end diff --git a/rbi/workos/vault_dek_decrypted.rbi b/rbi/workos/vault_dek_decrypted.rbi index 9a77263e..992659ed 100644 --- a/rbi/workos/vault_dek_decrypted.rbi +++ b/rbi/workos/vault_dek_decrypted.rbi @@ -9,6 +9,12 @@ module WorkOS sig { params(json: T.any(String, T::Hash[Symbol, T.untyped])).void } def initialize(json); end + sig { returns(String) } + def object; end + + sig { params(value: String).returns(String) } + def object=(value); end + sig { returns(String) } def id; end @@ -39,12 +45,6 @@ module WorkOS sig { params(value: T.nilable(WorkOS::EventContext)).returns(T.nilable(WorkOS::EventContext)) } def context=(value); end - sig { returns(String) } - def object; end - - sig { params(value: String).returns(String) } - def object=(value); end - sig { returns(T::Hash[Symbol, T.untyped]) } def to_h; end diff --git a/rbi/workos/vault_dek_read.rbi b/rbi/workos/vault_dek_read.rbi index 04995705..c0e2d33c 100644 --- a/rbi/workos/vault_dek_read.rbi +++ b/rbi/workos/vault_dek_read.rbi @@ -9,6 +9,12 @@ module WorkOS sig { params(json: T.any(String, T::Hash[Symbol, T.untyped])).void } def initialize(json); end + sig { returns(String) } + def object; end + + sig { params(value: String).returns(String) } + def object=(value); end + sig { returns(String) } def id; end @@ -39,12 +45,6 @@ module WorkOS sig { params(value: T.nilable(WorkOS::EventContext)).returns(T.nilable(WorkOS::EventContext)) } def context=(value); end - sig { returns(String) } - def object; end - - sig { params(value: String).returns(String) } - def object=(value); end - sig { returns(T::Hash[Symbol, T.untyped]) } def to_h; end diff --git a/rbi/workos/vault_kek_created.rbi b/rbi/workos/vault_kek_created.rbi index af66ec9b..7d0b7788 100644 --- a/rbi/workos/vault_kek_created.rbi +++ b/rbi/workos/vault_kek_created.rbi @@ -9,6 +9,12 @@ module WorkOS sig { params(json: T.any(String, T::Hash[Symbol, T.untyped])).void } def initialize(json); end + sig { returns(String) } + def object; end + + sig { params(value: String).returns(String) } + def object=(value); end + sig { returns(String) } def id; end @@ -39,12 +45,6 @@ module WorkOS sig { params(value: T.nilable(WorkOS::EventContext)).returns(T.nilable(WorkOS::EventContext)) } def context=(value); end - sig { returns(String) } - def object; end - - sig { params(value: String).returns(String) } - def object=(value); end - sig { returns(T::Hash[Symbol, T.untyped]) } def to_h; end diff --git a/rbi/workos/vault_metadata_read.rbi b/rbi/workos/vault_metadata_read.rbi index 6073f667..8cf747e9 100644 --- a/rbi/workos/vault_metadata_read.rbi +++ b/rbi/workos/vault_metadata_read.rbi @@ -9,6 +9,12 @@ module WorkOS sig { params(json: T.any(String, T::Hash[Symbol, T.untyped])).void } def initialize(json); end + sig { returns(String) } + def object; end + + sig { params(value: String).returns(String) } + def object=(value); end + sig { returns(String) } def id; end @@ -39,12 +45,6 @@ module WorkOS sig { params(value: T.nilable(WorkOS::EventContext)).returns(T.nilable(WorkOS::EventContext)) } def context=(value); end - sig { returns(String) } - def object; end - - sig { params(value: String).returns(String) } - def object=(value); end - sig { returns(T::Hash[Symbol, T.untyped]) } def to_h; end diff --git a/rbi/workos/vault_names_listed.rbi b/rbi/workos/vault_names_listed.rbi index 8a64f47f..13bfdec4 100644 --- a/rbi/workos/vault_names_listed.rbi +++ b/rbi/workos/vault_names_listed.rbi @@ -9,6 +9,12 @@ module WorkOS sig { params(json: T.any(String, T::Hash[Symbol, T.untyped])).void } def initialize(json); end + sig { returns(String) } + def object; end + + sig { params(value: String).returns(String) } + def object=(value); end + sig { returns(String) } def id; end @@ -39,12 +45,6 @@ module WorkOS sig { params(value: T.nilable(WorkOS::EventContext)).returns(T.nilable(WorkOS::EventContext)) } def context=(value); end - sig { returns(String) } - def object; end - - sig { params(value: String).returns(String) } - def object=(value); end - sig { returns(T::Hash[Symbol, T.untyped]) } def to_h; end diff --git a/rbi/workos/waitlist_user_approved.rbi b/rbi/workos/waitlist_user_approved.rbi index 947c2aa5..2f2aa663 100644 --- a/rbi/workos/waitlist_user_approved.rbi +++ b/rbi/workos/waitlist_user_approved.rbi @@ -9,6 +9,12 @@ module WorkOS sig { params(json: T.any(String, T::Hash[Symbol, T.untyped])).void } def initialize(json); end + sig { returns(String) } + def object; end + + sig { params(value: String).returns(String) } + def object=(value); end + sig { returns(String) } def id; end @@ -39,12 +45,6 @@ module WorkOS sig { params(value: T.nilable(WorkOS::EventContext)).returns(T.nilable(WorkOS::EventContext)) } def context=(value); end - sig { returns(String) } - def object; end - - sig { params(value: String).returns(String) } - def object=(value); end - sig { returns(T::Hash[Symbol, T.untyped]) } def to_h; end diff --git a/rbi/workos/waitlist_user_created.rbi b/rbi/workos/waitlist_user_created.rbi index b1be8351..8b241056 100644 --- a/rbi/workos/waitlist_user_created.rbi +++ b/rbi/workos/waitlist_user_created.rbi @@ -9,6 +9,12 @@ module WorkOS sig { params(json: T.any(String, T::Hash[Symbol, T.untyped])).void } def initialize(json); end + sig { returns(String) } + def object; end + + sig { params(value: String).returns(String) } + def object=(value); end + sig { returns(String) } def id; end @@ -39,12 +45,6 @@ module WorkOS sig { params(value: T.nilable(WorkOS::EventContext)).returns(T.nilable(WorkOS::EventContext)) } def context=(value); end - sig { returns(String) } - def object; end - - sig { params(value: String).returns(String) } - def object=(value); end - sig { returns(T::Hash[Symbol, T.untyped]) } def to_h; end diff --git a/rbi/workos/waitlist_user_denied.rbi b/rbi/workos/waitlist_user_denied.rbi index ab811f93..d0d87884 100644 --- a/rbi/workos/waitlist_user_denied.rbi +++ b/rbi/workos/waitlist_user_denied.rbi @@ -9,6 +9,12 @@ module WorkOS sig { params(json: T.any(String, T::Hash[Symbol, T.untyped])).void } def initialize(json); end + sig { returns(String) } + def object; end + + sig { params(value: String).returns(String) } + def object=(value); end + sig { returns(String) } def id; end @@ -39,12 +45,6 @@ module WorkOS sig { params(value: T.nilable(WorkOS::EventContext)).returns(T.nilable(WorkOS::EventContext)) } def context=(value); end - sig { returns(String) } - def object; end - - sig { params(value: String).returns(String) } - def object=(value); end - sig { returns(T::Hash[Symbol, T.untyped]) } def to_h; end diff --git a/rbi/workos/webhook_endpoint.rbi b/rbi/workos/webhook_endpoint.rbi index b752841c..092ffa77 100644 --- a/rbi/workos/webhook_endpoint.rbi +++ b/rbi/workos/webhook_endpoint.rbi @@ -1,4 +1,5 @@ # frozen_string_literal: true + # This file is auto-generated by oagen. Do not edit. # typed: strong diff --git a/rbi/workos/webhooks.rbi b/rbi/workos/webhooks.rbi index 7a45a24f..e6a546f2 100644 --- a/rbi/workos/webhooks.rbi +++ b/rbi/workos/webhooks.rbi @@ -25,7 +25,7 @@ module WorkOS endpoint_url: String, events: T::Array[String], request_options: T::Hash[Symbol, T.untyped] - ).returns(WorkOS::WebhookEndpointJson) + ).returns(WorkOS::WebhookEndpoint) end def create_webhook_endpoint(endpoint_url:, events:, request_options:); end @@ -36,7 +36,7 @@ module WorkOS status: T.nilable(String), events: T.nilable(T::Array[String]), request_options: T::Hash[Symbol, T.untyped] - ).returns(WorkOS::WebhookEndpointJson) + ).returns(WorkOS::WebhookEndpoint) end def update_webhook_endpoint(id:, endpoint_url:, status:, events:, request_options:); end diff --git a/test/workos/test_model_round_trip.rb b/test/workos/test_model_round_trip.rb index 1df43396..e8d400e2 100644 --- a/test/workos/test_model_round_trip.rb +++ b/test/workos/test_model_round_trip.rb @@ -229,35 +229,35 @@ def test_update_audit_logs_retention_round_trip fixture.each_key { |k| assert json.key?(k.to_sym) || json.key?(k), "Expected to_h to include key #{k}" } end - def test_audit_log_schema_actor_round_trip + def test_audit_log_schema_actor_input_round_trip fixture = { "metadata" => {} } - model = WorkOS::AuditLogSchemaActor.new(fixture.to_json) + model = WorkOS::AuditLogSchemaActorInput.new(fixture.to_json) json = model.to_h assert_kind_of Hash, json fixture.each_key { |k| assert json.key?(k.to_sym) || json.key?(k), "Expected to_h to include key #{k}" } end - def test_audit_log_schema_target_round_trip + def test_audit_log_schema_target_input_round_trip fixture = { "type" => "stub", "metadata" => {} } - model = WorkOS::AuditLogSchemaTarget.new(fixture.to_json) + model = WorkOS::AuditLogSchemaTargetInput.new(fixture.to_json) json = model.to_h assert_kind_of Hash, json assert_equal fixture["type"], json[:type] fixture.each_key { |k| assert json.key?(k.to_sym) || json.key?(k), "Expected to_h to include key #{k}" } end - def test_audit_log_schema_round_trip + def test_audit_log_schema_input_round_trip fixture = { "actor" => {}, "targets" => [], "metadata" => {} } - model = WorkOS::AuditLogSchema.new(fixture.to_json) + model = WorkOS::AuditLogSchemaInput.new(fixture.to_json) json = model.to_h assert_kind_of Hash, json fixture.each_key { |k| assert json.key?(k.to_sym) || json.key?(k), "Expected to_h to include key #{k}" } @@ -520,7 +520,8 @@ def test_create_organization_domain_round_trip def test_create_organization_api_key_round_trip fixture = { "name" => "stub", - "permissions" => [] + "permissions" => [], + "expires_at" => "stub" } model = WorkOS::CreateOrganizationApiKey.new(fixture.to_json) json = model.to_h @@ -713,7 +714,8 @@ def test_create_user_api_key_round_trip fixture = { "name" => "stub", "organization_id" => "stub", - "permissions" => [] + "permissions" => [], + "expires_at" => "stub" } model = WorkOS::CreateUserApiKey.new(fixture.to_json) json = model.to_h @@ -883,6 +885,214 @@ def test_token_query_round_trip fixture.each_key { |k| assert json.key?(k.to_sym) || json.key?(k), "Expected to_h to include key #{k}" } end + def test_actor_round_trip + fixture = { + "id" => "stub", + "name" => "stub" + } + model = WorkOS::Actor.new(fixture.to_json) + json = model.to_h + assert_kind_of Hash, json + assert_equal fixture["id"], json[:id] + assert_equal fixture["name"], json[:name] + fixture.each_key { |k| assert json.key?(k.to_sym) || json.key?(k), "Expected to_h to include key #{k}" } + end + + def test_create_data_key_request_round_trip + fixture = { + "context" => {} + } + model = WorkOS::CreateDataKeyRequest.new(fixture.to_json) + json = model.to_h + assert_kind_of Hash, json + fixture.each_key { |k| assert json.key?(k.to_sym) || json.key?(k), "Expected to_h to include key #{k}" } + end + + def test_create_data_key_response_round_trip + fixture = { + "context" => {}, + "data_key" => "stub", + "encrypted_keys" => "stub", + "id" => "stub" + } + model = WorkOS::CreateDataKeyResponse.new(fixture.to_json) + json = model.to_h + assert_kind_of Hash, json + assert_equal fixture["data_key"], json[:data_key] + assert_equal fixture["encrypted_keys"], json[:encrypted_keys] + assert_equal fixture["id"], json[:id] + fixture.each_key { |k| assert json.key?(k.to_sym) || json.key?(k), "Expected to_h to include key #{k}" } + end + + def test_create_object_request_round_trip + fixture = { + "key_context" => {}, + "name" => "stub", + "value" => "stub" + } + model = WorkOS::CreateObjectRequest.new(fixture.to_json) + json = model.to_h + assert_kind_of Hash, json + assert_equal fixture["name"], json[:name] + assert_equal fixture["value"], json[:value] + fixture.each_key { |k| assert json.key?(k.to_sym) || json.key?(k), "Expected to_h to include key #{k}" } + end + + def test_decrypt_request_round_trip + fixture = { + "keys" => "stub" + } + model = WorkOS::DecryptRequest.new(fixture.to_json) + json = model.to_h + assert_kind_of Hash, json + assert_equal fixture["keys"], json[:keys] + fixture.each_key { |k| assert json.key?(k.to_sym) || json.key?(k), "Expected to_h to include key #{k}" } + end + + def test_decrypt_response_round_trip + fixture = { + "data_key" => "stub", + "id" => "stub" + } + model = WorkOS::DecryptResponse.new(fixture.to_json) + json = model.to_h + assert_kind_of Hash, json + assert_equal fixture["data_key"], json[:data_key] + assert_equal fixture["id"], json[:id] + fixture.each_key { |k| assert json.key?(k.to_sym) || json.key?(k), "Expected to_h to include key #{k}" } + end + + def test_delete_object_response_round_trip + fixture = { + "name" => "stub", + "success" => true + } + model = WorkOS::DeleteObjectResponse.new(fixture.to_json) + json = model.to_h + assert_kind_of Hash, json + assert_equal fixture["name"], json[:name] + assert_equal fixture["success"], json[:success] + fixture.each_key { |k| assert json.key?(k.to_sym) || json.key?(k), "Expected to_h to include key #{k}" } + end + + def test_error_response_round_trip + fixture = { + "error" => "stub" + } + model = WorkOS::ErrorResponse.new(fixture.to_json) + json = model.to_h + assert_kind_of Hash, json + assert_equal fixture["error"], json[:error] + fixture.each_key { |k| assert json.key?(k.to_sym) || json.key?(k), "Expected to_h to include key #{k}" } + end + + def test_object_round_trip + fixture = { + "id" => "stub", + "metadata" => {}, + "name" => "stub", + "value" => "stub" + } + model = WorkOS::ObjectModel.new(fixture.to_json) + json = model.to_h + assert_kind_of Hash, json + assert_equal fixture["id"], json[:id] + assert_equal fixture["name"], json[:name] + assert_equal fixture["value"], json[:value] + fixture.each_key { |k| assert json.key?(k.to_sym) || json.key?(k), "Expected to_h to include key #{k}" } + end + + def test_object_metadata_round_trip + fixture = { + "context" => {}, + "environment_id" => "stub", + "id" => "stub", + "key_id" => "stub", + "updated_at" => "stub", + "updated_by" => {}, + "version_id" => nil + } + model = WorkOS::ObjectMetadata.new(fixture.to_json) + json = model.to_h + assert_kind_of Hash, json + assert_equal fixture["environment_id"], json[:environment_id] + assert_equal fixture["id"], json[:id] + assert_equal fixture["key_id"], json[:key_id] + assert_equal fixture["updated_at"], json[:updated_at] + fixture.each_key { |k| assert json.key?(k.to_sym) || json.key?(k), "Expected to_h to include key #{k}" } + end + + def test_object_summary_round_trip + fixture = { + "id" => "stub", + "name" => "stub", + "updated_at" => nil + } + model = WorkOS::ObjectSummary.new(fixture.to_json) + json = model.to_h + assert_kind_of Hash, json + assert_equal fixture["id"], json[:id] + assert_equal fixture["name"], json[:name] + fixture.each_key { |k| assert json.key?(k.to_sym) || json.key?(k), "Expected to_h to include key #{k}" } + end + + def test_object_version_round_trip + fixture = { + "created_at" => "stub", + "current_version" => true, + "etag" => "stub", + "id" => "stub", + "size" => 1 + } + model = WorkOS::ObjectVersion.new(fixture.to_json) + json = model.to_h + assert_kind_of Hash, json + assert_equal fixture["created_at"], json[:created_at] + assert_equal fixture["current_version"], json[:current_version] + assert_equal fixture["etag"], json[:etag] + assert_equal fixture["id"], json[:id] + assert_equal fixture["size"], json[:size] + fixture.each_key { |k| assert json.key?(k.to_sym) || json.key?(k), "Expected to_h to include key #{k}" } + end + + def test_object_without_value_round_trip + fixture = { + "id" => "stub", + "metadata" => {}, + "name" => "stub" + } + model = WorkOS::ObjectWithoutValue.new(fixture.to_json) + json = model.to_h + assert_kind_of Hash, json + assert_equal fixture["id"], json[:id] + assert_equal fixture["name"], json[:name] + fixture.each_key { |k| assert json.key?(k.to_sym) || json.key?(k), "Expected to_h to include key #{k}" } + end + + def test_rekey_request_round_trip + fixture = { + "context" => {}, + "encrypted_keys" => "stub" + } + model = WorkOS::RekeyRequest.new(fixture.to_json) + json = model.to_h + assert_kind_of Hash, json + assert_equal fixture["encrypted_keys"], json[:encrypted_keys] + fixture.each_key { |k| assert json.key?(k.to_sym) || json.key?(k), "Expected to_h to include key #{k}" } + end + + def test_update_object_request_round_trip + fixture = { + "value" => "stub", + "version_check" => nil + } + model = WorkOS::UpdateObjectRequest.new(fixture.to_json) + json = model.to_h + assert_kind_of Hash, json + assert_equal fixture["value"], json[:value] + fixture.each_key { |k| assert json.key?(k.to_sym) || json.key?(k), "Expected to_h to include key #{k}" } + end + def test_external_auth_complete_response_round_trip fixture = { "redirect_uri" => "stub" @@ -902,6 +1112,7 @@ def test_api_key_round_trip "name" => "stub", "obfuscated_value" => "stub", "last_used_at" => nil, + "expires_at" => nil, "permissions" => [], "created_at" => "stub", "updated_at" => "stub" @@ -913,6 +1124,7 @@ def test_api_key_round_trip assert_equal fixture["name"], json[:name] assert_equal fixture["obfuscated_value"], json[:obfuscated_value] assert_nil json[:last_used_at] + assert_nil json[:expires_at] assert_equal fixture["created_at"], json[:created_at] assert_equal fixture["updated_at"], json[:updated_at] fixture.each_key { |k| assert json.key?(k.to_sym) || json.key?(k), "Expected to_h to include key #{k}" } @@ -929,6 +1141,73 @@ def test_api_key_validation_response_round_trip end def test_connect_application_round_trip + fixture = { + "object" => "connect_application", + "id" => "stub", + "client_id" => "stub", + "description" => nil, + "name" => "stub", + "scopes" => [], + "created_at" => "stub", + "updated_at" => "stub" + } + model = WorkOS::ConnectApplication.new(fixture.to_json) + json = model.to_h + assert_kind_of Hash, json + assert_equal fixture["id"], json[:id] + assert_equal fixture["client_id"], json[:client_id] + assert_nil json[:description] + assert_equal fixture["name"], json[:name] + assert_equal fixture["created_at"], json[:created_at] + assert_equal fixture["updated_at"], json[:updated_at] + fixture.each_key { |k| assert json.key?(k.to_sym) || json.key?(k), "Expected to_h to include key #{k}" } + end + + def test_connect_application_oauth_round_trip + fixture = { + "object" => "connect_application", + "id" => "stub", + "client_id" => "stub", + "description" => nil, + "name" => "stub", + "scopes" => [], + "created_at" => "stub", + "updated_at" => "stub", + "application_type" => "oauth", + "redirect_uris" => [], + "uses_pkce" => true, + "is_first_party" => true, + "was_dynamically_registered" => true, + "organization_id" => "stub" + } + model = WorkOS::ConnectApplicationOAuth.new(fixture.to_json) + json = model.to_h + assert_kind_of Hash, json + assert_equal fixture["id"], json[:id] + assert_equal fixture["client_id"], json[:client_id] + assert_nil json[:description] + assert_equal fixture["name"], json[:name] + assert_equal fixture["created_at"], json[:created_at] + assert_equal fixture["updated_at"], json[:updated_at] + assert_equal fixture["uses_pkce"], json[:uses_pkce] + assert_equal fixture["is_first_party"], json[:is_first_party] + fixture.each_key { |k| assert json.key?(k.to_sym) || json.key?(k), "Expected to_h to include key #{k}" } + end + + def test_connect_application_oauth_redirect_uris_round_trip + fixture = { + "uri" => "stub", + "default" => true + } + model = WorkOS::ConnectApplicationOAuthRedirectUris.new(fixture.to_json) + json = model.to_h + assert_kind_of Hash, json + assert_equal fixture["uri"], json[:uri] + assert_equal fixture["default"], json[:default] + fixture.each_key { |k| assert json.key?(k.to_sym) || json.key?(k), "Expected to_h to include key #{k}" } + end + + def test_connect_application_m2m_round_trip fixture = { "object" => "connect_application", "id" => "stub", @@ -941,7 +1220,7 @@ def test_connect_application_round_trip "application_type" => "m2m", "organization_id" => "stub" } - model = WorkOS::ConnectApplication.new(fixture.to_json) + model = WorkOS::ConnectApplicationM2M.new(fixture.to_json) json = model.to_h assert_kind_of Hash, json assert_equal fixture["id"], json[:id] @@ -950,6 +1229,7 @@ def test_connect_application_round_trip assert_equal fixture["name"], json[:name] assert_equal fixture["created_at"], json[:created_at] assert_equal fixture["updated_at"], json[:updated_at] + assert_equal fixture["organization_id"], json[:organization_id] fixture.each_key { |k| assert json.key?(k.to_sym) || json.key?(k), "Expected to_h to include key #{k}" } end @@ -986,7 +1266,7 @@ def test_audit_log_event_create_response_round_trip fixture.each_key { |k| assert json.key?(k.to_sym) || json.key?(k), "Expected to_h to include key #{k}" } end - def test_audit_log_export_json_round_trip + def test_audit_log_export_round_trip fixture = { "object" => "audit_log_export", "id" => "stub", @@ -995,7 +1275,7 @@ def test_audit_log_export_json_round_trip "created_at" => "stub", "updated_at" => "stub" } - model = WorkOS::AuditLogExportJson.new(fixture.to_json) + model = WorkOS::AuditLogExport.new(fixture.to_json) json = model.to_h assert_kind_of Hash, json assert_equal fixture["id"], json[:id] @@ -1004,18 +1284,18 @@ def test_audit_log_export_json_round_trip fixture.each_key { |k| assert json.key?(k.to_sym) || json.key?(k), "Expected to_h to include key #{k}" } end - def test_audit_logs_retention_json_round_trip + def test_audit_logs_retention_round_trip fixture = { "retention_period_in_days" => nil } - model = WorkOS::AuditLogsRetentionJson.new(fixture.to_json) + model = WorkOS::AuditLogsRetention.new(fixture.to_json) json = model.to_h assert_kind_of Hash, json assert_nil json[:retention_period_in_days] fixture.each_key { |k| assert json.key?(k.to_sym) || json.key?(k), "Expected to_h to include key #{k}" } end - def test_audit_log_schema_json_round_trip + def test_audit_log_schema_round_trip fixture = { "object" => "audit_log_schema", "version" => 1, @@ -1024,7 +1304,7 @@ def test_audit_log_schema_json_round_trip "metadata" => {}, "created_at" => "stub" } - model = WorkOS::AuditLogSchemaJson.new(fixture.to_json) + model = WorkOS::AuditLogSchema.new(fixture.to_json) json = model.to_h assert_kind_of Hash, json assert_equal fixture["version"], json[:version] @@ -1032,7 +1312,7 @@ def test_audit_log_schema_json_round_trip fixture.each_key { |k| assert json.key?(k.to_sym) || json.key?(k), "Expected to_h to include key #{k}" } end - def test_audit_log_action_json_round_trip + def test_audit_log_action_round_trip fixture = { "object" => "audit_log_action", "name" => "stub", @@ -1040,7 +1320,7 @@ def test_audit_log_action_json_round_trip "created_at" => "stub", "updated_at" => "stub" } - model = WorkOS::AuditLogActionJson.new(fixture.to_json) + model = WorkOS::AuditLogAction.new(fixture.to_json) json = model.to_h assert_kind_of Hash, json assert_equal fixture["name"], json[:name] @@ -1501,6 +1781,32 @@ def test_directory_user_round_trip fixture.each_key { |k| assert json.key?(k.to_sym) || json.key?(k), "Expected to_h to include key #{k}" } end + def test_pipe_connected_account_round_trip + fixture = { + "object" => "connected_account", + "id" => "stub", + "data_integration_id" => "stub", + "provider_slug" => "stub", + "user_id" => nil, + "organization_id" => nil, + "scopes" => [], + "state" => "stub", + "created_at" => "stub", + "updated_at" => "stub" + } + model = WorkOS::PipeConnectedAccount.new(fixture.to_json) + json = model.to_h + assert_kind_of Hash, json + assert_equal fixture["id"], json[:id] + assert_equal fixture["data_integration_id"], json[:data_integration_id] + assert_equal fixture["provider_slug"], json[:provider_slug] + assert_nil json[:user_id] + assert_nil json[:organization_id] + assert_equal fixture["created_at"], json[:created_at] + assert_equal fixture["updated_at"], json[:updated_at] + fixture.each_key { |k| assert json.key?(k.to_sym) || json.key?(k), "Expected to_h to include key #{k}" } + end + def test_waitlist_user_round_trip fixture = { "object" => "waitlist_user", @@ -1542,12 +1848,12 @@ def test_event_schema_round_trip def test_action_authentication_denied_round_trip fixture = { + "object" => "event", "id" => "stub", "event" => "action.authentication.denied", "data" => {}, - "context" => {}, "created_at" => "stub", - "object" => "event" + "context" => {} } model = WorkOS::ActionAuthenticationDenied.new(fixture.to_json) json = model.to_h @@ -1584,12 +1890,12 @@ def test_action_authentication_denied_data_round_trip def test_action_user_registration_denied_round_trip fixture = { + "object" => "event", "id" => "stub", "event" => "action.user_registration.denied", "data" => {}, - "context" => {}, "created_at" => "stub", - "object" => "event" + "context" => {} } model = WorkOS::ActionUserRegistrationDenied.new(fixture.to_json) json = model.to_h @@ -1624,12 +1930,12 @@ def test_action_user_registration_denied_data_round_trip def test_api_key_created_round_trip fixture = { + "object" => "event", "id" => "stub", "event" => "api_key.created", "data" => {}, "created_at" => "stub", - "context" => {}, - "object" => "event" + "context" => {} } model = WorkOS::ApiKeyCreated.new(fixture.to_json) json = model.to_h @@ -1647,6 +1953,7 @@ def test_api_key_created_data_round_trip "name" => "stub", "obfuscated_value" => "stub", "last_used_at" => nil, + "expires_at" => nil, "permissions" => [], "created_at" => "stub", "updated_at" => "stub" @@ -1691,12 +1998,12 @@ def test_user_api_key_created_data_owner_round_trip def test_api_key_revoked_round_trip fixture = { + "object" => "event", "id" => "stub", "event" => "api_key.revoked", "data" => {}, "created_at" => "stub", - "context" => {}, - "object" => "event" + "context" => {} } model = WorkOS::ApiKeyRevoked.new(fixture.to_json) json = model.to_h @@ -1714,6 +2021,7 @@ def test_api_key_revoked_data_round_trip "name" => "stub", "obfuscated_value" => "stub", "last_used_at" => nil, + "expires_at" => nil, "permissions" => [], "created_at" => "stub", "updated_at" => "stub" @@ -1758,12 +2066,12 @@ def test_user_api_key_revoked_data_owner_round_trip def test_authentication_email_verification_failed_round_trip fixture = { + "object" => "event", "id" => "stub", "event" => "authentication.email_verification_failed", "data" => {}, "created_at" => "stub", - "context" => {}, - "object" => "event" + "context" => {} } model = WorkOS::AuthenticationEmailVerificationFailed.new(fixture.to_json) json = model.to_h @@ -1808,12 +2116,12 @@ def test_authentication_email_verification_failed_data_error_round_trip def test_authentication_email_verification_succeeded_round_trip fixture = { + "object" => "event", "id" => "stub", "event" => "authentication.email_verification_succeeded", "data" => {}, "created_at" => "stub", - "context" => {}, - "object" => "event" + "context" => {} } model = WorkOS::AuthenticationEmailVerificationSucceeded.new(fixture.to_json) json = model.to_h @@ -1844,12 +2152,12 @@ def test_authentication_email_verification_succeeded_data_round_trip def test_authentication_magic_auth_failed_round_trip fixture = { + "object" => "event", "id" => "stub", "event" => "authentication.magic_auth_failed", "data" => {}, "created_at" => "stub", - "context" => {}, - "object" => "event" + "context" => {} } model = WorkOS::AuthenticationMagicAuthFailed.new(fixture.to_json) json = model.to_h @@ -1894,12 +2202,12 @@ def test_authentication_magic_auth_failed_data_error_round_trip def test_authentication_magic_auth_succeeded_round_trip fixture = { + "object" => "event", "id" => "stub", "event" => "authentication.magic_auth_succeeded", "data" => {}, "created_at" => "stub", - "context" => {}, - "object" => "event" + "context" => {} } model = WorkOS::AuthenticationMagicAuthSucceeded.new(fixture.to_json) json = model.to_h @@ -1930,12 +2238,12 @@ def test_authentication_magic_auth_succeeded_data_round_trip def test_authentication_mfa_failed_round_trip fixture = { + "object" => "event", "id" => "stub", "event" => "authentication.mfa_failed", "data" => {}, "created_at" => "stub", - "context" => {}, - "object" => "event" + "context" => {} } model = WorkOS::AuthenticationMFAFailed.new(fixture.to_json) json = model.to_h @@ -1980,12 +2288,12 @@ def test_authentication_mfa_failed_data_error_round_trip def test_authentication_mfa_succeeded_round_trip fixture = { + "object" => "event", "id" => "stub", "event" => "authentication.mfa_succeeded", "data" => {}, "created_at" => "stub", - "context" => {}, - "object" => "event" + "context" => {} } model = WorkOS::AuthenticationMFASucceeded.new(fixture.to_json) json = model.to_h @@ -2016,12 +2324,12 @@ def test_authentication_mfa_succeeded_data_round_trip def test_authentication_oauth_failed_round_trip fixture = { + "object" => "event", "id" => "stub", "event" => "authentication.oauth_failed", "data" => {}, "created_at" => "stub", - "context" => {}, - "object" => "event" + "context" => {} } model = WorkOS::AuthenticationOAuthFailed.new(fixture.to_json) json = model.to_h @@ -2066,12 +2374,12 @@ def test_authentication_oauth_failed_data_error_round_trip def test_authentication_oauth_succeeded_round_trip fixture = { + "object" => "event", "id" => "stub", "event" => "authentication.oauth_succeeded", "data" => {}, "created_at" => "stub", - "context" => {}, - "object" => "event" + "context" => {} } model = WorkOS::AuthenticationOAuthSucceeded.new(fixture.to_json) json = model.to_h @@ -2102,12 +2410,12 @@ def test_authentication_oauth_succeeded_data_round_trip def test_authentication_passkey_failed_round_trip fixture = { + "object" => "event", "id" => "stub", "event" => "authentication.passkey_failed", "data" => {}, "created_at" => "stub", - "context" => {}, - "object" => "event" + "context" => {} } model = WorkOS::AuthenticationPasskeyFailed.new(fixture.to_json) json = model.to_h @@ -2152,12 +2460,12 @@ def test_authentication_passkey_failed_data_error_round_trip def test_authentication_passkey_succeeded_round_trip fixture = { + "object" => "event", "id" => "stub", "event" => "authentication.passkey_succeeded", "data" => {}, "created_at" => "stub", - "context" => {}, - "object" => "event" + "context" => {} } model = WorkOS::AuthenticationPasskeySucceeded.new(fixture.to_json) json = model.to_h @@ -2188,12 +2496,12 @@ def test_authentication_passkey_succeeded_data_round_trip def test_authentication_password_failed_round_trip fixture = { + "object" => "event", "id" => "stub", "event" => "authentication.password_failed", "data" => {}, "created_at" => "stub", - "context" => {}, - "object" => "event" + "context" => {} } model = WorkOS::AuthenticationPasswordFailed.new(fixture.to_json) json = model.to_h @@ -2238,12 +2546,12 @@ def test_authentication_password_failed_data_error_round_trip def test_authentication_password_succeeded_round_trip fixture = { + "object" => "event", "id" => "stub", "event" => "authentication.password_succeeded", "data" => {}, "created_at" => "stub", - "context" => {}, - "object" => "event" + "context" => {} } model = WorkOS::AuthenticationPasswordSucceeded.new(fixture.to_json) json = model.to_h @@ -2274,12 +2582,12 @@ def test_authentication_password_succeeded_data_round_trip def test_authentication_radar_risk_detected_round_trip fixture = { + "object" => "event", "id" => "stub", "event" => "authentication.radar_risk_detected", "data" => {}, "created_at" => "stub", - "context" => {}, - "object" => "event" + "context" => {} } model = WorkOS::AuthenticationRadarRiskDetected.new(fixture.to_json) json = model.to_h @@ -2315,12 +2623,12 @@ def test_authentication_radar_risk_detected_data_round_trip def test_authentication_sso_failed_round_trip fixture = { + "object" => "event", "id" => "stub", "event" => "authentication.sso_failed", "data" => {}, "created_at" => "stub", - "context" => {}, - "object" => "event" + "context" => {} } model = WorkOS::AuthenticationSSOFailed.new(fixture.to_json) json = model.to_h @@ -2381,12 +2689,12 @@ def test_authentication_sso_failed_data_error_round_trip def test_authentication_sso_started_round_trip fixture = { + "object" => "event", "id" => "stub", "event" => "authentication.sso_started", "data" => {}, "created_at" => "stub", - "context" => {}, - "object" => "event" + "context" => {} } model = WorkOS::AuthenticationSSOStarted.new(fixture.to_json) json = model.to_h @@ -2433,12 +2741,12 @@ def test_authentication_sso_started_data_sso_round_trip def test_authentication_sso_succeeded_round_trip fixture = { + "object" => "event", "id" => "stub", "event" => "authentication.sso_succeeded", "data" => {}, "created_at" => "stub", - "context" => {}, - "object" => "event" + "context" => {} } model = WorkOS::AuthenticationSSOSucceeded.new(fixture.to_json) json = model.to_h @@ -2485,12 +2793,12 @@ def test_authentication_sso_succeeded_data_sso_round_trip def test_authentication_sso_timed_out_round_trip fixture = { + "object" => "event", "id" => "stub", "event" => "authentication.sso_timed_out", "data" => {}, "created_at" => "stub", - "context" => {}, - "object" => "event" + "context" => {} } model = WorkOS::AuthenticationSSOTimedOut.new(fixture.to_json) json = model.to_h @@ -2551,12 +2859,12 @@ def test_authentication_sso_timed_out_data_error_round_trip def test_connection_activated_round_trip fixture = { + "object" => "event", "id" => "stub", "event" => "connection.activated", "data" => {}, "created_at" => "stub", - "context" => {}, - "object" => "event" + "context" => {} } model = WorkOS::ConnectionActivated.new(fixture.to_json) json = model.to_h @@ -2607,12 +2915,12 @@ def test_connection_activated_data_domain_round_trip def test_connection_deactivated_round_trip fixture = { + "object" => "event", "id" => "stub", "event" => "connection.deactivated", "data" => {}, "created_at" => "stub", - "context" => {}, - "object" => "event" + "context" => {} } model = WorkOS::ConnectionDeactivated.new(fixture.to_json) json = model.to_h @@ -2663,12 +2971,12 @@ def test_connection_deactivated_data_domain_round_trip def test_connection_deleted_round_trip fixture = { + "object" => "event", "id" => "stub", "event" => "connection.deleted", "data" => {}, "created_at" => "stub", - "context" => {}, - "object" => "event" + "context" => {} } model = WorkOS::ConnectionDeleted.new(fixture.to_json) json = model.to_h @@ -2701,12 +3009,12 @@ def test_connection_deleted_data_round_trip def test_connection_saml_certificate_renewal_required_round_trip fixture = { + "object" => "event", "id" => "stub", "event" => "connection.saml_certificate_renewal_required", "data" => {}, "created_at" => "stub", - "context" => {}, - "object" => "event" + "context" => {} } model = WorkOS::ConnectionSAMLCertificateRenewalRequired.new(fixture.to_json) json = model.to_h @@ -2757,12 +3065,12 @@ def test_connection_saml_certificate_renewal_required_data_certificate_round_tri def test_connection_saml_certificate_renewed_round_trip fixture = { + "object" => "event", "id" => "stub", "event" => "connection.saml_certificate_renewed", "data" => {}, "created_at" => "stub", - "context" => {}, - "object" => "event" + "context" => {} } model = WorkOS::ConnectionSAMLCertificateRenewed.new(fixture.to_json) json = model.to_h @@ -2811,12 +3119,12 @@ def test_connection_saml_certificate_renewed_data_certificate_round_trip def test_dsync_activated_round_trip fixture = { + "object" => "event", "id" => "stub", "event" => "dsync.activated", "data" => {}, "created_at" => "stub", - "context" => {}, - "object" => "event" + "context" => {} } model = WorkOS::DsyncActivated.new(fixture.to_json) json = model.to_h @@ -2866,12 +3174,12 @@ def test_dsync_activated_data_domain_round_trip def test_dsync_deactivated_round_trip fixture = { + "object" => "event", "id" => "stub", "event" => "dsync.deactivated", "data" => {}, "created_at" => "stub", - "context" => {}, - "object" => "event" + "context" => {} } model = WorkOS::DsyncDeactivated.new(fixture.to_json) json = model.to_h @@ -2921,12 +3229,12 @@ def test_dsync_deactivated_data_domain_round_trip def test_dsync_deleted_round_trip fixture = { + "object" => "event", "id" => "stub", "event" => "dsync.deleted", "data" => {}, "created_at" => "stub", - "context" => {}, - "object" => "event" + "context" => {} } model = WorkOS::DsyncDeleted.new(fixture.to_json) json = model.to_h @@ -2959,12 +3267,12 @@ def test_dsync_deleted_data_round_trip def test_dsync_group_created_round_trip fixture = { + "object" => "event", "id" => "stub", "event" => "dsync.group.created", "data" => {}, "created_at" => "stub", - "context" => {}, - "object" => "event" + "context" => {} } model = WorkOS::DsyncGroupCreated.new(fixture.to_json) json = model.to_h @@ -2976,12 +3284,12 @@ def test_dsync_group_created_round_trip def test_dsync_group_deleted_round_trip fixture = { + "object" => "event", "id" => "stub", "event" => "dsync.group.deleted", "data" => {}, "created_at" => "stub", - "context" => {}, - "object" => "event" + "context" => {} } model = WorkOS::DsyncGroupDeleted.new(fixture.to_json) json = model.to_h @@ -2993,12 +3301,12 @@ def test_dsync_group_deleted_round_trip def test_dsync_group_updated_round_trip fixture = { + "object" => "event", "id" => "stub", "event" => "dsync.group.updated", "data" => {}, "created_at" => "stub", - "context" => {}, - "object" => "event" + "context" => {} } model = WorkOS::DsyncGroupUpdated.new(fixture.to_json) json = model.to_h @@ -3036,12 +3344,12 @@ def test_dsync_group_updated_data_round_trip def test_dsync_group_user_added_round_trip fixture = { + "object" => "event", "id" => "stub", "event" => "dsync.group.user_added", "data" => {}, "created_at" => "stub", - "context" => {}, - "object" => "event" + "context" => {} } model = WorkOS::DsyncGroupUserAdded.new(fixture.to_json) json = model.to_h @@ -3066,12 +3374,12 @@ def test_dsync_group_user_added_data_round_trip def test_dsync_user_created_round_trip fixture = { + "object" => "event", "id" => "stub", "event" => "dsync.user.created", "data" => {}, "created_at" => "stub", - "context" => {}, - "object" => "event" + "context" => {} } model = WorkOS::DsyncUserCreated.new(fixture.to_json) json = model.to_h @@ -3083,12 +3391,12 @@ def test_dsync_user_created_round_trip def test_dsync_user_deleted_round_trip fixture = { + "object" => "event", "id" => "stub", "event" => "dsync.user.deleted", "data" => {}, "created_at" => "stub", - "context" => {}, - "object" => "event" + "context" => {} } model = WorkOS::DsyncUserDeleted.new(fixture.to_json) json = model.to_h @@ -3100,12 +3408,12 @@ def test_dsync_user_deleted_round_trip def test_dsync_group_user_removed_round_trip fixture = { + "object" => "event", "id" => "stub", "event" => "dsync.group.user_removed", "data" => {}, "created_at" => "stub", - "context" => {}, - "object" => "event" + "context" => {} } model = WorkOS::DsyncGroupUserRemoved.new(fixture.to_json) json = model.to_h @@ -3130,12 +3438,12 @@ def test_dsync_group_user_removed_data_round_trip def test_dsync_user_updated_round_trip fixture = { + "object" => "event", "id" => "stub", "event" => "dsync.user.updated", "data" => {}, "created_at" => "stub", - "context" => {}, - "object" => "event" + "context" => {} } model = WorkOS::DsyncUserUpdated.new(fixture.to_json) json = model.to_h @@ -3195,12 +3503,12 @@ def test_dsync_user_updated_data_email_round_trip def test_email_verification_created_round_trip fixture = { + "object" => "event", "id" => "stub", "event" => "email_verification.created", "data" => {}, "created_at" => "stub", - "context" => {}, - "object" => "event" + "context" => {} } model = WorkOS::EmailVerificationCreated.new(fixture.to_json) json = model.to_h @@ -3234,12 +3542,12 @@ def test_email_verification_created_data_round_trip def test_flag_created_round_trip fixture = { + "object" => "event", "id" => "stub", "event" => "flag.created", "data" => {}, "created_at" => "stub", - "context" => {}, - "object" => "event" + "context" => {} } model = WorkOS::FlagCreated.new(fixture.to_json) json = model.to_h @@ -3322,12 +3630,12 @@ def test_flag_created_context_actor_round_trip def test_flag_deleted_round_trip fixture = { + "object" => "event", "id" => "stub", "event" => "flag.deleted", "data" => {}, "created_at" => "stub", - "context" => {}, - "object" => "event" + "context" => {} } model = WorkOS::FlagDeleted.new(fixture.to_json) json = model.to_h @@ -3410,12 +3718,12 @@ def test_flag_deleted_context_actor_round_trip def test_flag_rule_updated_round_trip fixture = { + "object" => "event", "id" => "stub", "event" => "flag.rule_updated", "data" => {}, "created_at" => "stub", - "context" => {}, - "object" => "event" + "context" => {} } model = WorkOS::FlagRuleUpdated.new(fixture.to_json) json = model.to_h @@ -3608,12 +3916,12 @@ def test_flag_rule_updated_context_previous_attribute_context_configured_target_ def test_flag_updated_round_trip fixture = { + "object" => "event", "id" => "stub", "event" => "flag.updated", "data" => {}, "created_at" => "stub", - "context" => {}, - "object" => "event" + "context" => {} } model = WorkOS::FlagUpdated.new(fixture.to_json) json = model.to_h @@ -3721,12 +4029,12 @@ def test_flag_updated_context_previous_attribute_data_round_trip def test_group_created_round_trip fixture = { + "object" => "event", "id" => "stub", "event" => "group.created", "data" => {}, "created_at" => "stub", - "context" => {}, - "object" => "event" + "context" => {} } model = WorkOS::GroupCreated.new(fixture.to_json) json = model.to_h @@ -3738,12 +4046,12 @@ def test_group_created_round_trip def test_group_deleted_round_trip fixture = { + "object" => "event", "id" => "stub", "event" => "group.deleted", "data" => {}, "created_at" => "stub", - "context" => {}, - "object" => "event" + "context" => {} } model = WorkOS::GroupDeleted.new(fixture.to_json) json = model.to_h @@ -3755,12 +4063,12 @@ def test_group_deleted_round_trip def test_group_member_added_round_trip fixture = { + "object" => "event", "id" => "stub", "event" => "group.member_added", "data" => {}, "created_at" => "stub", - "context" => {}, - "object" => "event" + "context" => {} } model = WorkOS::GroupMemberAdded.new(fixture.to_json) json = model.to_h @@ -3785,12 +4093,12 @@ def test_group_member_added_data_round_trip def test_group_member_removed_round_trip fixture = { + "object" => "event", "id" => "stub", "event" => "group.member_removed", "data" => {}, "created_at" => "stub", - "context" => {}, - "object" => "event" + "context" => {} } model = WorkOS::GroupMemberRemoved.new(fixture.to_json) json = model.to_h @@ -3815,12 +4123,12 @@ def test_group_member_removed_data_round_trip def test_group_updated_round_trip fixture = { + "object" => "event", "id" => "stub", "event" => "group.updated", "data" => {}, "created_at" => "stub", - "context" => {}, - "object" => "event" + "context" => {} } model = WorkOS::GroupUpdated.new(fixture.to_json) json = model.to_h @@ -3832,12 +4140,12 @@ def test_group_updated_round_trip def test_invitation_accepted_round_trip fixture = { + "object" => "event", "id" => "stub", "event" => "invitation.accepted", "data" => {}, "created_at" => "stub", - "context" => {}, - "object" => "event" + "context" => {} } model = WorkOS::InvitationAccepted.new(fixture.to_json) json = model.to_h @@ -3882,12 +4190,12 @@ def test_invitation_accepted_data_round_trip def test_invitation_created_round_trip fixture = { + "object" => "event", "id" => "stub", "event" => "invitation.created", "data" => {}, "created_at" => "stub", - "context" => {}, - "object" => "event" + "context" => {} } model = WorkOS::InvitationCreated.new(fixture.to_json) json = model.to_h @@ -3932,12 +4240,12 @@ def test_invitation_created_data_round_trip def test_invitation_resent_round_trip fixture = { + "object" => "event", "id" => "stub", "event" => "invitation.resent", "data" => {}, "created_at" => "stub", - "context" => {}, - "object" => "event" + "context" => {} } model = WorkOS::InvitationResent.new(fixture.to_json) json = model.to_h @@ -3982,12 +4290,12 @@ def test_invitation_resent_data_round_trip def test_invitation_revoked_round_trip fixture = { + "object" => "event", "id" => "stub", "event" => "invitation.revoked", "data" => {}, "created_at" => "stub", - "context" => {}, - "object" => "event" + "context" => {} } model = WorkOS::InvitationRevoked.new(fixture.to_json) json = model.to_h @@ -4032,12 +4340,12 @@ def test_invitation_revoked_data_round_trip def test_magic_auth_created_round_trip fixture = { + "object" => "event", "id" => "stub", "event" => "magic_auth.created", "data" => {}, "created_at" => "stub", - "context" => {}, - "object" => "event" + "context" => {} } model = WorkOS::MagicAuthCreated.new(fixture.to_json) json = model.to_h @@ -4071,12 +4379,12 @@ def test_magic_auth_created_data_round_trip def test_organization_created_round_trip fixture = { + "object" => "event", "id" => "stub", "event" => "organization.created", "data" => {}, "created_at" => "stub", - "context" => {}, - "object" => "event" + "context" => {} } model = WorkOS::OrganizationCreated.new(fixture.to_json) json = model.to_h @@ -4135,12 +4443,12 @@ def test_organization_created_data_domain_round_trip def test_organization_deleted_round_trip fixture = { + "object" => "event", "id" => "stub", "event" => "organization.deleted", "data" => {}, "created_at" => "stub", - "context" => {}, - "object" => "event" + "context" => {} } model = WorkOS::OrganizationDeleted.new(fixture.to_json) json = model.to_h @@ -4199,12 +4507,12 @@ def test_organization_deleted_data_domain_round_trip def test_organization_domain_created_round_trip fixture = { + "object" => "event", "id" => "stub", "event" => "organization_domain.created", "data" => {}, "created_at" => "stub", - "context" => {}, - "object" => "event" + "context" => {} } model = WorkOS::OrganizationDomainCreated.new(fixture.to_json) json = model.to_h @@ -4240,12 +4548,12 @@ def test_organization_domain_created_data_round_trip def test_organization_domain_deleted_round_trip fixture = { + "object" => "event", "id" => "stub", "event" => "organization_domain.deleted", "data" => {}, "created_at" => "stub", - "context" => {}, - "object" => "event" + "context" => {} } model = WorkOS::OrganizationDomainDeleted.new(fixture.to_json) json = model.to_h @@ -4281,12 +4589,12 @@ def test_organization_domain_deleted_data_round_trip def test_organization_domain_updated_round_trip fixture = { + "object" => "event", "id" => "stub", "event" => "organization_domain.updated", "data" => {}, "created_at" => "stub", - "context" => {}, - "object" => "event" + "context" => {} } model = WorkOS::OrganizationDomainUpdated.new(fixture.to_json) json = model.to_h @@ -4322,12 +4630,12 @@ def test_organization_domain_updated_data_round_trip def test_organization_domain_verification_failed_round_trip fixture = { + "object" => "event", "id" => "stub", "event" => "organization_domain.verification_failed", "data" => {}, "created_at" => "stub", - "context" => {}, - "object" => "event" + "context" => {} } model = WorkOS::OrganizationDomainVerificationFailed.new(fixture.to_json) json = model.to_h @@ -4374,12 +4682,12 @@ def test_organization_domain_verification_failed_data_organization_domain_round_ def test_organization_domain_verified_round_trip fixture = { + "object" => "event", "id" => "stub", "event" => "organization_domain.verified", "data" => {}, "created_at" => "stub", - "context" => {}, - "object" => "event" + "context" => {} } model = WorkOS::OrganizationDomainVerified.new(fixture.to_json) json = model.to_h @@ -4415,12 +4723,12 @@ def test_organization_domain_verified_data_round_trip def test_organization_membership_created_round_trip fixture = { + "object" => "event", "id" => "stub", "event" => "organization_membership.created", "data" => {}, "created_at" => "stub", - "context" => {}, - "object" => "event" + "context" => {} } model = WorkOS::OrganizationMembershipCreated.new(fixture.to_json) json = model.to_h @@ -4458,12 +4766,12 @@ def test_organization_membership_created_data_round_trip def test_organization_membership_deleted_round_trip fixture = { + "object" => "event", "id" => "stub", "event" => "organization_membership.deleted", "data" => {}, "created_at" => "stub", - "context" => {}, - "object" => "event" + "context" => {} } model = WorkOS::OrganizationMembershipDeleted.new(fixture.to_json) json = model.to_h @@ -4501,12 +4809,12 @@ def test_organization_membership_deleted_data_round_trip def test_organization_membership_updated_round_trip fixture = { + "object" => "event", "id" => "stub", "event" => "organization_membership.updated", "data" => {}, "created_at" => "stub", - "context" => {}, - "object" => "event" + "context" => {} } model = WorkOS::OrganizationMembershipUpdated.new(fixture.to_json) json = model.to_h @@ -4544,12 +4852,12 @@ def test_organization_membership_updated_data_round_trip def test_organization_role_created_round_trip fixture = { + "object" => "event", "id" => "stub", "event" => "organization_role.created", "data" => {}, "created_at" => "stub", - "context" => {}, - "object" => "event" + "context" => {} } model = WorkOS::OrganizationRoleCreated.new(fixture.to_json) json = model.to_h @@ -4586,12 +4894,12 @@ def test_organization_role_created_data_round_trip def test_organization_role_deleted_round_trip fixture = { + "object" => "event", "id" => "stub", "event" => "organization_role.deleted", "data" => {}, "created_at" => "stub", - "context" => {}, - "object" => "event" + "context" => {} } model = WorkOS::OrganizationRoleDeleted.new(fixture.to_json) json = model.to_h @@ -4628,12 +4936,12 @@ def test_organization_role_deleted_data_round_trip def test_organization_role_updated_round_trip fixture = { + "object" => "event", "id" => "stub", "event" => "organization_role.updated", "data" => {}, "created_at" => "stub", - "context" => {}, - "object" => "event" + "context" => {} } model = WorkOS::OrganizationRoleUpdated.new(fixture.to_json) json = model.to_h @@ -4670,12 +4978,12 @@ def test_organization_role_updated_data_round_trip def test_organization_updated_round_trip fixture = { + "object" => "event", "id" => "stub", "event" => "organization.updated", "data" => {}, "created_at" => "stub", - "context" => {}, - "object" => "event" + "context" => {} } model = WorkOS::OrganizationUpdated.new(fixture.to_json) json = model.to_h @@ -4734,12 +5042,12 @@ def test_organization_updated_data_domain_round_trip def test_password_reset_created_round_trip fixture = { + "object" => "event", "id" => "stub", "event" => "password_reset.created", "data" => {}, "created_at" => "stub", - "context" => {}, - "object" => "event" + "context" => {} } model = WorkOS::PasswordResetCreated.new(fixture.to_json) json = model.to_h @@ -4771,12 +5079,12 @@ def test_password_reset_created_data_round_trip def test_password_reset_succeeded_round_trip fixture = { + "object" => "event", "id" => "stub", "event" => "password_reset.succeeded", "data" => {}, "created_at" => "stub", - "context" => {}, - "object" => "event" + "context" => {} } model = WorkOS::PasswordResetSucceeded.new(fixture.to_json) json = model.to_h @@ -4808,12 +5116,12 @@ def test_password_reset_succeeded_data_round_trip def test_permission_created_round_trip fixture = { + "object" => "event", "id" => "stub", "event" => "permission.created", "data" => {}, "created_at" => "stub", - "context" => {}, - "object" => "event" + "context" => {} } model = WorkOS::PermissionCreated.new(fixture.to_json) json = model.to_h @@ -4849,12 +5157,12 @@ def test_permission_created_data_round_trip def test_permission_deleted_round_trip fixture = { + "object" => "event", "id" => "stub", "event" => "permission.deleted", "data" => {}, "created_at" => "stub", - "context" => {}, - "object" => "event" + "context" => {} } model = WorkOS::PermissionDeleted.new(fixture.to_json) json = model.to_h @@ -4890,12 +5198,12 @@ def test_permission_deleted_data_round_trip def test_permission_updated_round_trip fixture = { + "object" => "event", "id" => "stub", "event" => "permission.updated", "data" => {}, "created_at" => "stub", - "context" => {}, - "object" => "event" + "context" => {} } model = WorkOS::PermissionUpdated.new(fixture.to_json) json = model.to_h @@ -4929,14 +5237,65 @@ def test_permission_updated_data_round_trip fixture.each_key { |k| assert json.key?(k.to_sym) || json.key?(k), "Expected to_h to include key #{k}" } end + def test_pipes_connected_account_connected_round_trip + fixture = { + "object" => "event", + "id" => "stub", + "event" => "pipes.connected_account.connected", + "data" => {}, + "created_at" => "stub", + "context" => {} + } + model = WorkOS::PipesConnectedAccountConnected.new(fixture.to_json) + json = model.to_h + assert_kind_of Hash, json + assert_equal fixture["id"], json[:id] + assert_equal fixture["created_at"], json[:created_at] + fixture.each_key { |k| assert json.key?(k.to_sym) || json.key?(k), "Expected to_h to include key #{k}" } + end + + def test_pipes_connected_account_disconnected_round_trip + fixture = { + "object" => "event", + "id" => "stub", + "event" => "pipes.connected_account.disconnected", + "data" => {}, + "created_at" => "stub", + "context" => {} + } + model = WorkOS::PipesConnectedAccountDisconnected.new(fixture.to_json) + json = model.to_h + assert_kind_of Hash, json + assert_equal fixture["id"], json[:id] + assert_equal fixture["created_at"], json[:created_at] + fixture.each_key { |k| assert json.key?(k.to_sym) || json.key?(k), "Expected to_h to include key #{k}" } + end + + def test_pipes_connected_account_reauthorization_needed_round_trip + fixture = { + "object" => "event", + "id" => "stub", + "event" => "pipes.connected_account.reauthorization_needed", + "data" => {}, + "created_at" => "stub", + "context" => {} + } + model = WorkOS::PipesConnectedAccountReauthorizationNeeded.new(fixture.to_json) + json = model.to_h + assert_kind_of Hash, json + assert_equal fixture["id"], json[:id] + assert_equal fixture["created_at"], json[:created_at] + fixture.each_key { |k| assert json.key?(k.to_sym) || json.key?(k), "Expected to_h to include key #{k}" } + end + def test_role_created_round_trip fixture = { + "object" => "event", "id" => "stub", "event" => "role.created", "data" => {}, "created_at" => "stub", - "context" => {}, - "object" => "event" + "context" => {} } model = WorkOS::RoleCreated.new(fixture.to_json) json = model.to_h @@ -4967,12 +5326,12 @@ def test_role_created_data_round_trip def test_role_deleted_round_trip fixture = { + "object" => "event", "id" => "stub", "event" => "role.deleted", "data" => {}, "created_at" => "stub", - "context" => {}, - "object" => "event" + "context" => {} } model = WorkOS::RoleDeleted.new(fixture.to_json) json = model.to_h @@ -5003,12 +5362,12 @@ def test_role_deleted_data_round_trip def test_role_updated_round_trip fixture = { + "object" => "event", "id" => "stub", "event" => "role.updated", "data" => {}, "created_at" => "stub", - "context" => {}, - "object" => "event" + "context" => {} } model = WorkOS::RoleUpdated.new(fixture.to_json) json = model.to_h @@ -5039,12 +5398,12 @@ def test_role_updated_data_round_trip def test_session_created_round_trip fixture = { + "object" => "event", "id" => "stub", "event" => "session.created", "data" => {}, "created_at" => "stub", - "context" => {}, - "object" => "event" + "context" => {} } model = WorkOS::SessionCreated.new(fixture.to_json) json = model.to_h @@ -5099,12 +5458,12 @@ def test_session_created_data_impersonator_round_trip def test_session_revoked_round_trip fixture = { + "object" => "event", "id" => "stub", "event" => "session.revoked", "data" => {}, "created_at" => "stub", - "context" => {}, - "object" => "event" + "context" => {} } model = WorkOS::SessionRevoked.new(fixture.to_json) json = model.to_h @@ -5159,12 +5518,12 @@ def test_session_revoked_data_impersonator_round_trip def test_user_created_round_trip fixture = { + "object" => "event", "id" => "stub", "event" => "user.created", "data" => {}, "created_at" => "stub", - "context" => {}, - "object" => "event" + "context" => {} } model = WorkOS::UserCreated.new(fixture.to_json) json = model.to_h @@ -5176,12 +5535,12 @@ def test_user_created_round_trip def test_user_deleted_round_trip fixture = { + "object" => "event", "id" => "stub", "event" => "user.deleted", "data" => {}, "created_at" => "stub", - "context" => {}, - "object" => "event" + "context" => {} } model = WorkOS::UserDeleted.new(fixture.to_json) json = model.to_h @@ -5193,12 +5552,12 @@ def test_user_deleted_round_trip def test_user_updated_round_trip fixture = { + "object" => "event", "id" => "stub", "event" => "user.updated", "data" => {}, "created_at" => "stub", - "context" => {}, - "object" => "event" + "context" => {} } model = WorkOS::UserUpdated.new(fixture.to_json) json = model.to_h @@ -5210,12 +5569,12 @@ def test_user_updated_round_trip def test_vault_byok_key_deleted_round_trip fixture = { + "object" => "event", "id" => "stub", "event" => "vault.byok_key.deleted", "data" => {}, "created_at" => "stub", - "context" => {}, - "object" => "event" + "context" => {} } model = WorkOS::VaultByokKeyDeleted.new(fixture.to_json) json = model.to_h @@ -5239,12 +5598,12 @@ def test_vault_byok_key_deleted_data_round_trip def test_vault_byok_key_verification_completed_round_trip fixture = { + "object" => "event", "id" => "stub", "event" => "vault.byok_key.verification_completed", "data" => {}, "created_at" => "stub", - "context" => {}, - "object" => "event" + "context" => {} } model = WorkOS::VaultByokKeyVerificationCompleted.new(fixture.to_json) json = model.to_h @@ -5270,12 +5629,12 @@ def test_vault_byok_key_verification_completed_data_round_trip def test_vault_data_created_round_trip fixture = { + "object" => "event", "id" => "stub", "event" => "vault.data.created", "data" => {}, "created_at" => "stub", - "context" => {}, - "object" => "event" + "context" => {} } model = WorkOS::VaultDataCreated.new(fixture.to_json) json = model.to_h @@ -5306,12 +5665,12 @@ def test_vault_data_created_data_round_trip def test_vault_data_deleted_round_trip fixture = { + "object" => "event", "id" => "stub", "event" => "vault.data.deleted", "data" => {}, "created_at" => "stub", - "context" => {}, - "object" => "event" + "context" => {} } model = WorkOS::VaultDataDeleted.new(fixture.to_json) json = model.to_h @@ -5339,12 +5698,12 @@ def test_vault_data_deleted_data_round_trip def test_vault_data_read_round_trip fixture = { + "object" => "event", "id" => "stub", "event" => "vault.data.read", "data" => {}, "created_at" => "stub", - "context" => {}, - "object" => "event" + "context" => {} } model = WorkOS::VaultDataRead.new(fixture.to_json) json = model.to_h @@ -5374,12 +5733,12 @@ def test_vault_data_read_data_round_trip def test_vault_data_updated_round_trip fixture = { + "object" => "event", "id" => "stub", "event" => "vault.data.updated", "data" => {}, "created_at" => "stub", - "context" => {}, - "object" => "event" + "context" => {} } model = WorkOS::VaultDataUpdated.new(fixture.to_json) json = model.to_h @@ -5410,12 +5769,12 @@ def test_vault_data_updated_data_round_trip def test_vault_dek_decrypted_round_trip fixture = { + "object" => "event", "id" => "stub", "event" => "vault.dek.decrypted", "data" => {}, "created_at" => "stub", - "context" => {}, - "object" => "event" + "context" => {} } model = WorkOS::VaultDekDecrypted.new(fixture.to_json) json = model.to_h @@ -5443,12 +5802,12 @@ def test_vault_dek_decrypted_data_round_trip def test_vault_dek_read_round_trip fixture = { + "object" => "event", "id" => "stub", "event" => "vault.dek.read", "data" => {}, "created_at" => "stub", - "context" => {}, - "object" => "event" + "context" => {} } model = WorkOS::VaultDekRead.new(fixture.to_json) json = model.to_h @@ -5476,12 +5835,12 @@ def test_vault_dek_read_data_round_trip def test_vault_kek_created_round_trip fixture = { + "object" => "event", "id" => "stub", "event" => "vault.kek.created", "data" => {}, "created_at" => "stub", - "context" => {}, - "object" => "event" + "context" => {} } model = WorkOS::VaultKekCreated.new(fixture.to_json) json = model.to_h @@ -5511,12 +5870,12 @@ def test_vault_kek_created_data_round_trip def test_vault_metadata_read_round_trip fixture = { + "object" => "event", "id" => "stub", "event" => "vault.metadata.read", "data" => {}, "created_at" => "stub", - "context" => {}, - "object" => "event" + "context" => {} } model = WorkOS::VaultMetadataRead.new(fixture.to_json) json = model.to_h @@ -5544,12 +5903,12 @@ def test_vault_metadata_read_data_round_trip def test_vault_names_listed_round_trip fixture = { + "object" => "event", "id" => "stub", "event" => "vault.names.listed", "data" => {}, "created_at" => "stub", - "context" => {}, - "object" => "event" + "context" => {} } model = WorkOS::VaultNamesListed.new(fixture.to_json) json = model.to_h @@ -5575,12 +5934,12 @@ def test_vault_names_listed_data_round_trip def test_waitlist_user_approved_round_trip fixture = { + "object" => "event", "id" => "stub", "event" => "waitlist_user.approved", "data" => {}, "created_at" => "stub", - "context" => {}, - "object" => "event" + "context" => {} } model = WorkOS::WaitlistUserApproved.new(fixture.to_json) json = model.to_h @@ -5592,12 +5951,12 @@ def test_waitlist_user_approved_round_trip def test_waitlist_user_created_round_trip fixture = { + "object" => "event", "id" => "stub", "event" => "waitlist_user.created", "data" => {}, "created_at" => "stub", - "context" => {}, - "object" => "event" + "context" => {} } model = WorkOS::WaitlistUserCreated.new(fixture.to_json) json = model.to_h @@ -5609,12 +5968,12 @@ def test_waitlist_user_created_round_trip def test_waitlist_user_denied_round_trip fixture = { + "object" => "event", "id" => "stub", "event" => "waitlist_user.denied", "data" => {}, "created_at" => "stub", - "context" => {}, - "object" => "event" + "context" => {} } model = WorkOS::WaitlistUserDenied.new(fixture.to_json) json = model.to_h @@ -5684,6 +6043,7 @@ def test_organization_api_key_round_trip "name" => "stub", "obfuscated_value" => "stub", "last_used_at" => nil, + "expires_at" => nil, "permissions" => [], "created_at" => "stub", "updated_at" => "stub" @@ -5695,6 +6055,7 @@ def test_organization_api_key_round_trip assert_equal fixture["name"], json[:name] assert_equal fixture["obfuscated_value"], json[:obfuscated_value] assert_nil json[:last_used_at] + assert_nil json[:expires_at] assert_equal fixture["created_at"], json[:created_at] assert_equal fixture["updated_at"], json[:updated_at] fixture.each_key { |k| assert json.key?(k.to_sym) || json.key?(k), "Expected to_h to include key #{k}" } @@ -5708,6 +6069,7 @@ def test_organization_api_key_with_value_round_trip "name" => "stub", "obfuscated_value" => "stub", "last_used_at" => nil, + "expires_at" => nil, "permissions" => [], "created_at" => "stub", "updated_at" => "stub", @@ -5720,6 +6082,7 @@ def test_organization_api_key_with_value_round_trip assert_equal fixture["name"], json[:name] assert_equal fixture["obfuscated_value"], json[:obfuscated_value] assert_nil json[:last_used_at] + assert_nil json[:expires_at] assert_equal fixture["created_at"], json[:created_at] assert_equal fixture["updated_at"], json[:updated_at] assert_equal fixture["value"], json[:value] @@ -5986,6 +6349,7 @@ def test_user_api_key_round_trip "name" => "stub", "obfuscated_value" => "stub", "last_used_at" => nil, + "expires_at" => nil, "permissions" => [], "created_at" => "stub", "updated_at" => "stub" @@ -5997,6 +6361,7 @@ def test_user_api_key_round_trip assert_equal fixture["name"], json[:name] assert_equal fixture["obfuscated_value"], json[:obfuscated_value] assert_nil json[:last_used_at] + assert_nil json[:expires_at] assert_equal fixture["created_at"], json[:created_at] assert_equal fixture["updated_at"], json[:updated_at] fixture.each_key { |k| assert json.key?(k.to_sym) || json.key?(k), "Expected to_h to include key #{k}" } @@ -6010,6 +6375,7 @@ def test_user_api_key_with_value_round_trip "name" => "stub", "obfuscated_value" => "stub", "last_used_at" => nil, + "expires_at" => nil, "permissions" => [], "created_at" => "stub", "updated_at" => "stub", @@ -6022,6 +6388,7 @@ def test_user_api_key_with_value_round_trip assert_equal fixture["name"], json[:name] assert_equal fixture["obfuscated_value"], json[:obfuscated_value] assert_nil json[:last_used_at] + assert_nil json[:expires_at] assert_equal fixture["created_at"], json[:created_at] assert_equal fixture["updated_at"], json[:updated_at] assert_equal fixture["value"], json[:value] @@ -6161,7 +6528,7 @@ def test_device_authorization_response_round_trip fixture.each_key { |k| assert json.key?(k.to_sym) || json.key?(k), "Expected to_h to include key #{k}" } end - def test_webhook_endpoint_json_round_trip + def test_webhook_endpoint_round_trip fixture = { "object" => "webhook_endpoint", "id" => "stub", @@ -6172,7 +6539,7 @@ def test_webhook_endpoint_json_round_trip "created_at" => "stub", "updated_at" => "stub" } - model = WorkOS::WebhookEndpointJson.new(fixture.to_json) + model = WorkOS::WebhookEndpoint.new(fixture.to_json) json = model.to_h assert_kind_of Hash, json assert_equal fixture["id"], json[:id] @@ -6695,22 +7062,22 @@ def test_authentication_factor_enrolled_totp_round_trip fixture.each_key { |k| assert json.key?(k.to_sym) || json.key?(k), "Expected to_h to include key #{k}" } end - def test_audit_log_schema_json_actor_round_trip + def test_audit_log_schema_actor_round_trip fixture = { "metadata" => {} } - model = WorkOS::AuditLogSchemaJsonActor.new(fixture.to_json) + model = WorkOS::AuditLogSchemaActor.new(fixture.to_json) json = model.to_h assert_kind_of Hash, json fixture.each_key { |k| assert json.key?(k.to_sym) || json.key?(k), "Expected to_h to include key #{k}" } end - def test_audit_log_schema_json_target_round_trip + def test_audit_log_schema_target_round_trip fixture = { "type" => "stub", "metadata" => {} } - model = WorkOS::AuditLogSchemaJsonTarget.new(fixture.to_json) + model = WorkOS::AuditLogSchemaTarget.new(fixture.to_json) json = model.to_h assert_kind_of Hash, json assert_equal fixture["type"], json[:type] @@ -6900,9 +7267,7 @@ def test_radar_standalone_assess_request_round_trip "user_agent" => "stub", "email" => "stub", "auth_method" => "stub", - "action" => "stub", - "device_fingerprint" => "stub", - "bot_score" => "stub" + "action" => "stub" } model = WorkOS::RadarStandaloneAssessRequest.new(fixture.to_json) json = model.to_h diff --git a/test/workos/test_organization_membership_service.rb b/test/workos/test_organization_membership_service.rb new file mode 100644 index 00000000..cfcf52df --- /dev/null +++ b/test/workos/test_organization_membership_service.rb @@ -0,0 +1,107 @@ +# frozen_string_literal: true + +# This file is auto-generated by oagen. Do not edit. + +require "test_helper" + +class OrganizationMembershipServiceTest < Minitest::Test + include FixtureHelper + + def setup + @client = WorkOS::Client.new(api_key: "sk_test_123") + end + + def test_list_organization_memberships_returns_expected_result + stub_request(:get, %r{\Ahttps://api\.workos\.com/user_management/organization_memberships(\?|\z)}) + .to_return(body: '{"data": [], "list_metadata": {}}', status: 200) + result = @client.organization_membership.list_organization_memberships + assert_kind_of WorkOS::Types::ListStruct, result + end + + def test_create_organization_membership_returns_expected_result + stub_request(:post, %r{\Ahttps://api\.workos\.com/user_management/organization_memberships(\?|\z)}) + .with(body: hash_including("user_id" => "stub", "organization_id" => "stub", "role_slug" => "stub")) + .to_return(body: "{}", status: 200) + result = @client.organization_membership.create_organization_membership(user_id: "stub", organization_id: "stub", role: WorkOS::OrganizationMembershipService::RoleSingle.new(role_slug: "stub")) + refute_nil result + end + + def test_create_organization_membership_with_role_multiple_returns_expected_result + stub_request(:post, %r{\Ahttps://api\.workos\.com/user_management/organization_memberships(\?|\z)}) + .with(body: hash_including("user_id" => "stub", "organization_id" => "stub", "role_slugs" => ["stub"])) + .to_return(body: "{}", status: 200) + result = @client.organization_membership.create_organization_membership(user_id: "stub", organization_id: "stub", role: WorkOS::OrganizationMembershipService::RoleMultiple.new(role_slugs: ["stub"])) + refute_nil result + end + + def test_get_organization_membership_returns_expected_result + stub_request(:get, %r{\Ahttps://api\.workos\.com/user_management/organization_memberships/stub(\?|\z)}) + .to_return(body: "{}", status: 200) + result = @client.organization_membership.get_organization_membership(id: "stub") + refute_nil result + end + + def test_update_organization_membership_returns_expected_result + stub_request(:put, %r{\Ahttps://api\.workos\.com/user_management/organization_memberships/stub(\?|\z)}) + .with(body: hash_including("role_slug" => "stub")) + .to_return(body: "{}", status: 200) + result = @client.organization_membership.update_organization_membership(id: "stub", role: WorkOS::OrganizationMembershipService::RoleSingle.new(role_slug: "stub")) + refute_nil result + end + + def test_update_organization_membership_with_role_multiple_returns_expected_result + stub_request(:put, %r{\Ahttps://api\.workos\.com/user_management/organization_memberships/stub(\?|\z)}) + .with(body: hash_including("role_slugs" => ["stub"])) + .to_return(body: "{}", status: 200) + result = @client.organization_membership.update_organization_membership(id: "stub", role: WorkOS::OrganizationMembershipService::RoleMultiple.new(role_slugs: ["stub"])) + refute_nil result + end + + def test_delete_organization_membership_returns_expected_result + stub_request(:delete, %r{\Ahttps://api\.workos\.com/user_management/organization_memberships/stub(\?|\z)}) + .to_return(body: "{}", status: 200) + result = @client.organization_membership.delete_organization_membership(id: "stub") + assert_nil result + end + + def test_deactivate_organization_membership_returns_expected_result + stub_request(:put, %r{\Ahttps://api\.workos\.com/user_management/organization_memberships/stub/deactivate(\?|\z)}) + .to_return(body: "{}", status: 200) + result = @client.organization_membership.deactivate_organization_membership(id: "stub") + refute_nil result + end + + def test_reactivate_organization_membership_returns_expected_result + stub_request(:put, %r{\Ahttps://api\.workos\.com/user_management/organization_memberships/stub/reactivate(\?|\z)}) + .to_return(body: "{}", status: 200) + result = @client.organization_membership.reactivate_organization_membership(id: "stub") + refute_nil result + end + + def test_list_organization_membership_groups_returns_expected_result + stub_request(:get, %r{\Ahttps://api\.workos\.com/user_management/organization_memberships/stub/groups(\?|\z)}) + .to_return(body: '{"data": [], "list_metadata": {}}', status: 200) + result = @client.organization_membership.list_organization_membership_groups(om_id: "stub") + assert_kind_of WorkOS::Types::ListStruct, result + end + + # Parameterized authentication error tests (one per endpoint). + [ + {name: :list_organization_memberships, verb: :get, url: %r{\Ahttps://api\.workos\.com/user_management/organization_memberships(\?|\z)}}, + {name: :create_organization_membership, verb: :post, url: %r{\Ahttps://api\.workos\.com/user_management/organization_memberships(\?|\z)}, args: {user_id: "stub", organization_id: "stub", role: WorkOS::OrganizationMembershipService::RoleSingle.new(role_slug: "stub")}}, + {name: :get_organization_membership, verb: :get, url: %r{\Ahttps://api\.workos\.com/user_management/organization_memberships/stub(\?|\z)}, args: {id: "stub"}}, + {name: :update_organization_membership, verb: :put, url: %r{\Ahttps://api\.workos\.com/user_management/organization_memberships/stub(\?|\z)}, args: {id: "stub", role: WorkOS::OrganizationMembershipService::RoleSingle.new(role_slug: "stub")}}, + {name: :delete_organization_membership, verb: :delete, url: %r{\Ahttps://api\.workos\.com/user_management/organization_memberships/stub(\?|\z)}, args: {id: "stub"}}, + {name: :deactivate_organization_membership, verb: :put, url: %r{\Ahttps://api\.workos\.com/user_management/organization_memberships/stub/deactivate(\?|\z)}, args: {id: "stub"}}, + {name: :reactivate_organization_membership, verb: :put, url: %r{\Ahttps://api\.workos\.com/user_management/organization_memberships/stub/reactivate(\?|\z)}, args: {id: "stub"}}, + {name: :list_organization_membership_groups, verb: :get, url: %r{\Ahttps://api\.workos\.com/user_management/organization_memberships/stub/groups(\?|\z)}, args: {om_id: "stub"}} + ].each do |spec| + define_method("test_#{spec[:name]}_raises_authentication_error_on_401") do + stub_request(spec[:verb], spec[:url]) + .to_return(body: '{"message": "Unauthorized"}', status: 401) + assert_raises(WorkOS::AuthenticationError) do + @client.organization_membership.send(spec[:name], **(spec[:args] || {})) + end + end + end +end diff --git a/test/workos/test_user_management.rb b/test/workos/test_user_management.rb index b2aebf55..f56fd14e 100644 --- a/test/workos/test_user_management.rb +++ b/test/workos/test_user_management.rb @@ -373,73 +373,6 @@ def test_get_magic_auth_returns_expected_result refute_nil result end - def test_list_organization_memberships_returns_expected_result - stub_request(:get, %r{\Ahttps://api\.workos\.com/user_management/organization_memberships(\?|\z)}) - .to_return(body: '{"data": [], "list_metadata": {}}', status: 200) - result = @client.user_management.list_organization_memberships - assert_kind_of WorkOS::Types::ListStruct, result - end - - def test_create_organization_membership_returns_expected_result - stub_request(:post, %r{\Ahttps://api\.workos\.com/user_management/organization_memberships(\?|\z)}) - .with(body: hash_including("user_id" => "stub", "organization_id" => "stub", "role_slug" => "stub")) - .to_return(body: "{}", status: 200) - result = @client.user_management.create_organization_membership(user_id: "stub", organization_id: "stub", role: WorkOS::UserManagement::RoleSingle.new(role_slug: "stub")) - refute_nil result - end - - def test_create_organization_membership_with_role_multiple_returns_expected_result - stub_request(:post, %r{\Ahttps://api\.workos\.com/user_management/organization_memberships(\?|\z)}) - .with(body: hash_including("user_id" => "stub", "organization_id" => "stub", "role_slugs" => ["stub"])) - .to_return(body: "{}", status: 200) - result = @client.user_management.create_organization_membership(user_id: "stub", organization_id: "stub", role: WorkOS::UserManagement::RoleMultiple.new(role_slugs: ["stub"])) - refute_nil result - end - - def test_get_organization_membership_returns_expected_result - stub_request(:get, %r{\Ahttps://api\.workos\.com/user_management/organization_memberships/stub(\?|\z)}) - .to_return(body: "{}", status: 200) - result = @client.user_management.get_organization_membership(id: "stub") - refute_nil result - end - - def test_update_organization_membership_returns_expected_result - stub_request(:put, %r{\Ahttps://api\.workos\.com/user_management/organization_memberships/stub(\?|\z)}) - .with(body: hash_including("role_slug" => "stub")) - .to_return(body: "{}", status: 200) - result = @client.user_management.update_organization_membership(id: "stub", role: WorkOS::UserManagement::RoleSingle.new(role_slug: "stub")) - refute_nil result - end - - def test_update_organization_membership_with_role_multiple_returns_expected_result - stub_request(:put, %r{\Ahttps://api\.workos\.com/user_management/organization_memberships/stub(\?|\z)}) - .with(body: hash_including("role_slugs" => ["stub"])) - .to_return(body: "{}", status: 200) - result = @client.user_management.update_organization_membership(id: "stub", role: WorkOS::UserManagement::RoleMultiple.new(role_slugs: ["stub"])) - refute_nil result - end - - def test_delete_organization_membership_returns_expected_result - stub_request(:delete, %r{\Ahttps://api\.workos\.com/user_management/organization_memberships/stub(\?|\z)}) - .to_return(body: "{}", status: 200) - result = @client.user_management.delete_organization_membership(id: "stub") - assert_nil result - end - - def test_deactivate_organization_membership_returns_expected_result - stub_request(:put, %r{\Ahttps://api\.workos\.com/user_management/organization_memberships/stub/deactivate(\?|\z)}) - .to_return(body: "{}", status: 200) - result = @client.user_management.deactivate_organization_membership(id: "stub") - refute_nil result - end - - def test_reactivate_organization_membership_returns_expected_result - stub_request(:put, %r{\Ahttps://api\.workos\.com/user_management/organization_memberships/stub/reactivate(\?|\z)}) - .to_return(body: "{}", status: 200) - result = @client.user_management.reactivate_organization_membership(id: "stub") - refute_nil result - end - def test_create_redirect_uri_returns_expected_result stub_request(:post, %r{\Ahttps://api\.workos\.com/user_management/redirect_uris(\?|\z)}) .to_return(body: "{}", status: 200) @@ -509,13 +442,6 @@ def test_create_user_api_key_returns_expected_result {name: :update_jwt_template, verb: :put, url: %r{\Ahttps://api\.workos\.com/user_management/jwt_template(\?|\z)}, args: {content: "stub"}}, {name: :create_magic_auth, verb: :post, url: %r{\Ahttps://api\.workos\.com/user_management/magic_auth(\?|\z)}, args: {email: "stub"}}, {name: :get_magic_auth, verb: :get, url: %r{\Ahttps://api\.workos\.com/user_management/magic_auth/stub(\?|\z)}, args: {id: "stub"}}, - {name: :list_organization_memberships, verb: :get, url: %r{\Ahttps://api\.workos\.com/user_management/organization_memberships(\?|\z)}}, - {name: :create_organization_membership, verb: :post, url: %r{\Ahttps://api\.workos\.com/user_management/organization_memberships(\?|\z)}, args: {user_id: "stub", organization_id: "stub", role: WorkOS::UserManagement::RoleSingle.new(role_slug: "stub")}}, - {name: :get_organization_membership, verb: :get, url: %r{\Ahttps://api\.workos\.com/user_management/organization_memberships/stub(\?|\z)}, args: {id: "stub"}}, - {name: :update_organization_membership, verb: :put, url: %r{\Ahttps://api\.workos\.com/user_management/organization_memberships/stub(\?|\z)}, args: {id: "stub", role: WorkOS::UserManagement::RoleSingle.new(role_slug: "stub")}}, - {name: :delete_organization_membership, verb: :delete, url: %r{\Ahttps://api\.workos\.com/user_management/organization_memberships/stub(\?|\z)}, args: {id: "stub"}}, - {name: :deactivate_organization_membership, verb: :put, url: %r{\Ahttps://api\.workos\.com/user_management/organization_memberships/stub/deactivate(\?|\z)}, args: {id: "stub"}}, - {name: :reactivate_organization_membership, verb: :put, url: %r{\Ahttps://api\.workos\.com/user_management/organization_memberships/stub/reactivate(\?|\z)}, args: {id: "stub"}}, {name: :create_redirect_uri, verb: :post, url: %r{\Ahttps://api\.workos\.com/user_management/redirect_uris(\?|\z)}, args: {uri: "stub"}}, {name: :list_user_authorized_applications, verb: :get, url: %r{\Ahttps://api\.workos\.com/user_management/users/stub/authorized_applications(\?|\z)}, args: {user_id: "stub"}}, {name: :delete_user_authorized_application, verb: :delete, url: %r{\Ahttps://api\.workos\.com/user_management/users/stub/authorized_applications/stub(\?|\z)}, args: {application_id: "stub", user_id: "stub"}}, diff --git a/test/workos/test_user_management_organization_membership_groups.rb b/test/workos/test_user_management_organization_membership_groups.rb deleted file mode 100644 index b0f07081..00000000 --- a/test/workos/test_user_management_organization_membership_groups.rb +++ /dev/null @@ -1,33 +0,0 @@ -# frozen_string_literal: true - -# This file is auto-generated by oagen. Do not edit. - -require "test_helper" - -class UserManagementOrganizationMembershipGroupsTest < Minitest::Test - include FixtureHelper - - def setup - @client = WorkOS::Client.new(api_key: "sk_test_123") - end - - def test_list_organization_membership_groups_returns_expected_result - stub_request(:get, %r{\Ahttps://api\.workos\.com/user_management/organization_memberships/stub/groups(\?|\z)}) - .to_return(body: '{"data": [], "list_metadata": {}}', status: 200) - result = @client.user_management_organization_membership_groups.list_organization_membership_groups(om_id: "stub") - assert_kind_of WorkOS::Types::ListStruct, result - end - - # Parameterized authentication error tests (one per endpoint). - [ - {name: :list_organization_membership_groups, verb: :get, url: %r{\Ahttps://api\.workos\.com/user_management/organization_memberships/stub/groups(\?|\z)}, args: {om_id: "stub"}} - ].each do |spec| - define_method("test_#{spec[:name]}_raises_authentication_error_on_401") do - stub_request(spec[:verb], spec[:url]) - .to_return(body: '{"message": "Unauthorized"}', status: 401) - assert_raises(WorkOS::AuthenticationError) do - @client.user_management_organization_membership_groups.send(spec[:name], **(spec[:args] || {})) - end - end - end -end diff --git a/test/workos/test_vault.rb b/test/workos/test_vault.rb index b5249465..b6677bec 100644 --- a/test/workos/test_vault.rb +++ b/test/workos/test_vault.rb @@ -1,119 +1,118 @@ # frozen_string_literal: true -# @oagen-ignore-file +# This file is auto-generated by oagen. Do not edit. + require "test_helper" require "base64" class VaultTest < Minitest::Test + include FixtureHelper + def setup - @client = WorkOS::Client.new(api_key: "sk_test_vault") + @client = WorkOS::Client.new(api_key: "sk_test_123") end - def test_vault_accessor_exists - assert_kind_of WorkOS::Vault, @client.vault + def test_create_data_key_returns_expected_result + stub_request(:post, %r{\Ahttps://api\.workos\.com/vault/v1/keys/data-key(\?|\z)}) + .to_return(body: "{}", status: 200) + result = @client.vault.create_data_key(context: {}) + refute_nil result end - def test_create_object_returns_metadata - body = { - "id" => "obj_01", "key_id" => "key_01", "version_id" => "v1", - "context" => {"tenant" => "t1"}, "environment_id" => "env_1", - "updated_at" => "2026-04-15T00:00:00Z", - "updated_by" => {"id" => "u1", "name" => "alice"} - } - stub_request(:post, "https://api.workos.com/vault/v1/kv") - .with(body: hash_including("name" => "secret", "value" => "hello")) - .to_return(status: 200, body: body.to_json) - - meta = @client.vault.create_object(name: "secret", value: "hello", key_context: {"tenant" => "t1"}) - assert_equal "obj_01", meta.id - assert_equal "v1", meta.version_id - assert_equal "alice", meta.updated_by.name + def test_create_decrypt_returns_expected_result + stub_request(:post, %r{\Ahttps://api\.workos\.com/vault/v1/keys/decrypt(\?|\z)}) + .to_return(body: "{}", status: 200) + result = @client.vault.create_decrypt(keys: "stub") + refute_nil result end - def test_read_object_returns_decrypted_value - body = { - "id" => "obj_01", "name" => "secret", "value" => "hello", - "metadata" => { - "id" => "obj_01", "key_id" => "k", "version_id" => "v", - "context" => {}, "environment_id" => "env", - "updated_at" => "x", "updated_by" => {"id" => "u", "name" => "n"} - } - } - stub_request(:get, "https://api.workos.com/vault/v1/kv/obj_01") - .to_return(status: 200, body: body.to_json) - - obj = @client.vault.read_object(object_id: "obj_01") - assert_equal "hello", obj.value - assert_equal "secret", obj.name + def test_create_rekey_returns_expected_result + stub_request(:post, %r{\Ahttps://api\.workos\.com/vault/v1/keys/rekey(\?|\z)}) + .to_return(body: "{}", status: 200) + result = @client.vault.create_rekey(context: {}, encrypted_keys: "stub") + refute_nil result end - def test_list_objects_returns_digests - body = {"data" => [{"id" => "o1", "name" => "a", "updated_at" => "x"}, {"id" => "o2", "name" => "b", "updated_at" => "y"}]} - stub_request(:get, /vault\/v1\/kv\?/).to_return(status: 200, body: body.to_json) - - digests = @client.vault.list_objects(limit: 10) - assert_equal 2, digests.size - assert_equal "o1", digests.first.id + def test_list_kv_returns_expected_result + stub_request(:get, %r{\Ahttps://api\.workos\.com/vault/v1/kv(\?|\z)}) + .to_return(body: '{"data": [], "list_metadata": {}}', status: 200) + result = @client.vault.list_kv + assert_kind_of WorkOS::Types::ListStruct, result end - def test_list_object_versions - body = {"data" => [{"id" => "v1", "created_at" => "x", "current_version" => true}]} - stub_request(:get, "https://api.workos.com/vault/v1/kv/obj_1/versions").to_return(status: 200, body: body.to_json) - - versions = @client.vault.list_object_versions(object_id: "obj_1") - assert_equal 1, versions.size - assert versions.first.current_version + def test_create_kv_returns_expected_result + stub_request(:post, %r{\Ahttps://api\.workos\.com/vault/v1/kv(\?|\z)}) + .to_return(body: "{}", status: 200) + result = @client.vault.create_kv(key_context: {}, name: "stub", value: "stub") + refute_nil result end - def test_get_object_metadata - body = {"id" => "obj_1", "name" => "n", "metadata" => { - "id" => "obj_1", "key_id" => "k", "version_id" => "v", - "context" => {}, "environment_id" => "env", - "updated_at" => "x", "updated_by" => {"id" => "u", "name" => "n"} - }} - stub_request(:get, "https://api.workos.com/vault/v1/kv/obj_1/metadata").to_return(status: 200, body: body.to_json) - - obj = @client.vault.get_object_metadata(object_id: "obj_1") - assert_nil obj.value - assert_equal "obj_1", obj.metadata.id + def test_get_name_returns_expected_result + stub_request(:get, %r{\Ahttps://api\.workos\.com/vault/v1/kv/name/stub(\?|\z)}) + .to_return(body: "{}", status: 200) + result = @client.vault.get_name(name: "stub") + refute_nil result end - def test_delete_object_returns_nil - stub_request(:delete, "https://api.workos.com/vault/v1/kv/obj_1").to_return(status: 200, body: "") - assert_nil @client.vault.delete_object(object_id: "obj_1") + def test_get_kv_returns_expected_result + stub_request(:get, %r{\Ahttps://api\.workos\.com/vault/v1/kv/stub(\?|\z)}) + .to_return(body: "{}", status: 200) + result = @client.vault.get_kv(id: "stub") + refute_nil result end - def test_update_object_with_version_check - body = {"id" => "obj_1", "name" => "n", "value" => "newval", "metadata" => nil} - stub_request(:put, "https://api.workos.com/vault/v1/kv/obj_1") - .with(body: hash_including("value" => "newval", "version_check" => "v1")) - .to_return(status: 200, body: body.to_json) - - obj = @client.vault.update_object(object_id: "obj_1", value: "newval", version_check: "v1") - assert_equal "newval", obj.value + def test_update_kv_returns_expected_result + stub_request(:put, %r{\Ahttps://api\.workos\.com/vault/v1/kv/stub(\?|\z)}) + .to_return(body: "{}", status: 200) + result = @client.vault.update_kv(id: "stub", value: "stub") + refute_nil result end - def test_create_data_key - body = {"context" => {"t" => "1"}, "id" => "dek_1", "data_key" => Base64.strict_encode64("k" * 32), "encrypted_keys" => Base64.strict_encode64("blob")} - stub_request(:post, "https://api.workos.com/vault/v1/keys/data-key") - .with(body: hash_including("context" => {"t" => "1"})) - .to_return(status: 200, body: body.to_json) + def test_delete_kv_returns_expected_result + stub_request(:delete, %r{\Ahttps://api\.workos\.com/vault/v1/kv/stub(\?|\z)}) + .to_return(body: "{}", status: 200) + result = @client.vault.delete_kv(id: "stub") + refute_nil result + end - pair = @client.vault.create_data_key(key_context: {"t" => "1"}) - assert_equal "dek_1", pair.data_key.id - assert_equal "blob", Base64.decode64(pair.encrypted_keys) + def test_list_kv_metadata_returns_expected_result + stub_request(:get, %r{\Ahttps://api\.workos\.com/vault/v1/kv/stub/metadata(\?|\z)}) + .to_return(body: "{}", status: 200) + result = @client.vault.list_kv_metadata(id: "stub") + refute_nil result end - def test_decrypt_data_key - body = {"id" => "dek_1", "data_key" => Base64.strict_encode64("k" * 32)} - stub_request(:post, "https://api.workos.com/vault/v1/keys/decrypt") - .with(body: hash_including("keys" => "abc")) - .to_return(status: 200, body: body.to_json) + def test_list_kv_versions_returns_expected_result + stub_request(:get, %r{\Ahttps://api\.workos\.com/vault/v1/kv/stub/versions(\?|\z)}) + .to_return(body: '{"data": [], "list_metadata": {}}', status: 200) + result = @client.vault.list_kv_versions(id: "stub") + assert_kind_of WorkOS::Types::ListStruct, result + end - dk = @client.vault.decrypt_data_key(keys: "abc") - assert_equal "dek_1", dk.id + # Parameterized authentication error tests (one per endpoint). + [ + {name: :create_data_key, verb: :post, url: %r{\Ahttps://api\.workos\.com/vault/v1/keys/data-key(\?|\z)}, args: {context: {}}}, + {name: :create_decrypt, verb: :post, url: %r{\Ahttps://api\.workos\.com/vault/v1/keys/decrypt(\?|\z)}, args: {keys: "stub"}}, + {name: :create_rekey, verb: :post, url: %r{\Ahttps://api\.workos\.com/vault/v1/keys/rekey(\?|\z)}, args: {context: {}, encrypted_keys: "stub"}}, + {name: :list_kv, verb: :get, url: %r{\Ahttps://api\.workos\.com/vault/v1/kv(\?|\z)}}, + {name: :create_kv, verb: :post, url: %r{\Ahttps://api\.workos\.com/vault/v1/kv(\?|\z)}, args: {key_context: {}, name: "stub", value: "stub"}}, + {name: :get_name, verb: :get, url: %r{\Ahttps://api\.workos\.com/vault/v1/kv/name/stub(\?|\z)}, args: {name: "stub"}}, + {name: :get_kv, verb: :get, url: %r{\Ahttps://api\.workos\.com/vault/v1/kv/stub(\?|\z)}, args: {id: "stub"}}, + {name: :update_kv, verb: :put, url: %r{\Ahttps://api\.workos\.com/vault/v1/kv/stub(\?|\z)}, args: {id: "stub", value: "stub"}}, + {name: :delete_kv, verb: :delete, url: %r{\Ahttps://api\.workos\.com/vault/v1/kv/stub(\?|\z)}, args: {id: "stub"}}, + {name: :list_kv_metadata, verb: :get, url: %r{\Ahttps://api\.workos\.com/vault/v1/kv/stub/metadata(\?|\z)}, args: {id: "stub"}}, + {name: :list_kv_versions, verb: :get, url: %r{\Ahttps://api\.workos\.com/vault/v1/kv/stub/versions(\?|\z)}, args: {id: "stub"}} + ].each do |spec| + define_method("test_#{spec[:name]}_raises_authentication_error_on_401") do + stub_request(spec[:verb], spec[:url]) + .to_return(body: '{"message": "Unauthorized"}', status: 401) + assert_raises(WorkOS::AuthenticationError) do + @client.vault.send(spec[:name], **(spec[:args] || {})) + end + end end + # @oagen-ignore-start — client-side AES-GCM encrypt/decrypt tests (hand-maintained) def test_local_encrypt_then_decrypt_roundtrip plaintext_key = "k" * 32 create_resp = {"context" => {"t" => "1"}, "id" => "dek_1", @@ -125,7 +124,7 @@ def test_local_encrypt_then_decrypt_roundtrip stub_request(:post, "https://api.workos.com/vault/v1/keys/decrypt").to_return(status: 200, body: decrypt_resp.to_json) payload = "the quick brown fox" - encrypted = @client.vault.encrypt(data: payload, key_context: {"t" => "1"}) + encrypted = @client.vault.encrypt(data: payload, context: {"t" => "1"}) refute_equal payload, encrypted plaintext = @client.vault.decrypt(encrypted_data: encrypted) @@ -140,7 +139,7 @@ def test_local_encrypt_with_associated_data stub_request(:post, "https://api.workos.com/vault/v1/keys/data-key").to_return(status: 200, body: create_resp.to_json) stub_request(:post, "https://api.workos.com/vault/v1/keys/decrypt").to_return(status: 200, body: decrypt_resp.to_json) - encrypted = @client.vault.encrypt(data: "secret", key_context: {}, associated_data: "tenant=42") + encrypted = @client.vault.encrypt(data: "secret", context: {}, associated_data: "tenant=42") plaintext = @client.vault.decrypt(encrypted_data: encrypted, associated_data: "tenant=42") assert_equal "secret", plaintext @@ -148,4 +147,9 @@ def test_local_encrypt_with_associated_data @client.vault.decrypt(encrypted_data: encrypted, associated_data: "wrong") end end + # @oagen-ignore-end + + # @oagen-ignore-start — client-side encrypt/decrypt test requires + require "base64" + # @oagen-ignore-end end