From 296e2d054bd0917f03de23a1258305401b5e98b5 Mon Sep 17 00:00:00 2001 From: "Garen J. Torikian" Date: Wed, 5 Aug 2026 15:37:05 -0400 Subject: [PATCH 1/2] fix: Cast paginated list items to their element type MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Fixes #112. Every list endpoint with a named `*List` envelope in the spec cast each item with the envelope's `from_map/1` rather than the element's, so 35 of 40 paginated endpoints returned items with every field dropped and `membership.organization_id` raised `KeyError`. 3.0.0 shipped this with a green suite because the generated fixtures and assertions were wrong in the same direction: the fixture nested an envelope inside `data` — a shape the API never returns — the test asserted the envelope struct, and the `@spec` claimed `Page.t(FooList.t())`, so dialyzer saw a consistent story too. Regenerated with the emitter fix in workos/oagen-emitters#210. The `*List` envelope structs go away with it: `Page` is what these functions have always returned, and the envelope structs only ever surfaced as the empty husks this bug produced. The two envelopes that non-paginated endpoints return by name (`VersionListResponse`, `GroupRoleAssignmentList`) are unaffected. --- .oagen-manifest.json | 109 ++++++------ lib/workos/api_keys.ex | 5 +- lib/workos/authorization.ex | 75 +++----- lib/workos/authorization_permission_list.ex | 50 ------ ...orization_permission_list_list_metadata.ex | 35 ---- lib/workos/authorization_resource_list.ex | 50 ------ ...thorization_resource_list_list_metadata.ex | 35 ---- .../authorized_connect_application_list.ex | 51 ------ ..._connect_application_list_list_metadata.ex | 35 ---- lib/workos/connect.ex | 5 +- lib/workos/connect_application_list.ex | 50 ------ .../connect_application_list_list_metadata.ex | 35 ---- lib/workos/connection_list.ex | 44 ----- lib/workos/connection_list_list_metadata.ex | 35 ---- lib/workos/data_integration_list.ex | 50 ------ .../data_integration_list_list_metadata.ex | 35 ---- lib/workos/directory_group_list.ex | 50 ------ .../directory_group_list_list_metadata.ex | 35 ---- lib/workos/directory_list.ex | 44 ----- lib/workos/directory_list_list_metadata.ex | 35 ---- lib/workos/directory_sync.ex | 14 +- lib/workos/directory_user_list.ex | 47 ----- .../directory_user_list_list_metadata.ex | 35 ---- lib/workos/event_list.ex | 44 ----- lib/workos/event_list_list_metadata.ex | 31 ---- lib/workos/events.ex | 4 +- lib/workos/feature_flags.ex | 12 +- lib/workos/flag_list.ex | 44 ----- lib/workos/flag_list_list_metadata.ex | 35 ---- lib/workos/group_list.ex | 44 ----- lib/workos/group_list_list_metadata.ex | 35 ---- lib/workos/groups.ex | 8 +- lib/workos/multi_factor_auth.ex | 10 +- lib/workos/object_list_response.ex | 39 ---- lib/workos/organization_api_key_list.ex | 50 ------ ...organization_api_key_list_list_metadata.ex | 35 ---- ...ion_authorized_connect_application_list.ex | 57 ------ ..._connect_application_list_list_metadata.ex | 35 ---- lib/workos/organization_list.ex | 47 ----- lib/workos/organization_list_list_metadata.ex | 35 ---- lib/workos/organization_membership_service.ex | 8 +- lib/workos/organizations.ex | 8 +- lib/workos/pipes.ex | 5 +- lib/workos/sso.ex | 4 +- lib/workos/user_api_key_list.ex | 44 ----- lib/workos/user_api_key_list_list_metadata.ex | 35 ---- lib/workos/user_authentication_factor_list.ex | 50 ------ ...uthentication_factor_list_list_metadata.ex | 35 ---- lib/workos/user_invite_list.ex | 44 ----- lib/workos/user_invite_list_list_metadata.ex | 35 ---- lib/workos/user_list.ex | 44 ----- lib/workos/user_list_list_metadata.ex | 35 ---- lib/workos/user_management.ex | 16 +- .../user_organization_membership_base_list.ex | 51 ------ ...tion_membership_base_list_list_metadata.ex | 35 ---- .../user_organization_membership_list.ex | 50 ------ ...anization_membership_list_list_metadata.ex | 35 ---- lib/workos/user_role_assignment_list.ex | 50 ------ ...user_role_assignment_list_list_metadata.ex | 35 ---- lib/workos/vault.ex | 4 +- lib/workos/webhook_endpoint_list.ex | 50 ------ .../webhook_endpoint_list_list_metadata.ex | 35 ---- lib/workos/webhooks.ex | 5 +- .../api_keys/list_organization_api_keys.json | 37 ++-- .../list_effective_permissions.json | 27 +-- ..._effective_permissions_by_external_id.json | 27 +-- .../list_group_role_assignments.json | 35 ++-- .../list_memberships_for_resource.json | 59 +++---- ...mberships_for_resource_by_external_id.json | 59 +++---- .../authorization/list_permissions.json | 27 +-- .../authorization/list_resources.json | 29 ++- .../list_resources_for_membership.json | 29 ++- .../authorization/list_role_assignments.json | 43 ++--- .../list_role_assignments_for_resource.json | 43 ++--- ...signments_for_resource_by_external_id.json | 43 ++--- .../fixtures/connect/list_applications.json | 27 +-- .../directory_sync/list_directories.json | 40 ++--- .../fixtures/directory_sync/list_groups.json | 27 +-- .../fixtures/directory_sync/list_users.json | 65 ++++--- test/support/fixtures/events/list_events.json | 20 +-- .../feature_flags/list_feature_flags.json | 41 ++--- .../list_organization_feature_flags.json | 41 ++--- .../list_user_feature_flags.json | 41 ++--- .../list_group_organization_memberships.json | 59 +++---- .../groups/list_organization_groups.json | 23 +-- .../list_user_auth_factors.json | 35 ++-- .../list_organization_membership_groups.json | 23 +-- .../list_organization_memberships.json | 67 ++++--- .../list_authorized_applications.json | 43 ++--- .../organizations/list_organizations.json | 34 ++-- .../pipes/list_data_integrations.json | 89 +++++----- .../fixtures/sso/list_connections.json | 29 ++- .../user_management/list_invitations.json | 39 ++-- .../user_management/list_user_api_keys.json | 39 ++-- .../list_user_authorized_applications.json | 39 ++-- .../fixtures/user_management/list_users.json | 37 ++-- test/support/fixtures/vault/list_kv.json | 14 +- .../webhooks/list_webhook_endpoints.json | 27 +-- test/workos/api_keys_round_trip_test.exs | 34 ++-- test/workos/api_keys_test.exs | 3 +- test/workos/authorization_round_trip_test.exs | 166 ++++-------------- test/workos/authorization_test.exs | 73 ++++++-- test/workos/connect_round_trip_test.exs | 28 --- test/workos/connect_test.exs | 6 +- .../workos/directory_sync_round_trip_test.exs | 94 ---------- test/workos/directory_sync_test.exs | 11 +- test/workos/events_round_trip_test.exs | 25 ++- test/workos/events_test.exs | 2 +- test/workos/feature_flags_round_trip_test.exs | 31 ---- test/workos/feature_flags_test.exs | 6 +- test/workos/groups_round_trip_test.exs | 91 ++++------ test/workos/groups_test.exs | 12 +- .../multi_factor_auth_round_trip_test.exs | 30 ---- test/workos/multi_factor_auth_test.exs | 6 +- ...ion_membership_service_round_trip_test.exs | 76 ++------ .../organization_membership_service_test.exs | 11 +- test/workos/organizations_round_trip_test.exs | 73 +++----- test/workos/organizations_test.exs | 10 +- test/workos/pipes_round_trip_test.exs | 57 ------ test/workos/pipes_test.exs | 6 +- test/workos/sso_round_trip_test.exs | 27 --- test/workos/sso_test.exs | 2 +- .../user_management_round_trip_test.exs | 139 ++++----------- test/workos/user_management_test.exs | 17 +- test/workos/vault_round_trip_test.exs | 26 ++- test/workos/vault_test.exs | 2 +- test/workos/webhooks_round_trip_test.exs | 28 --- test/workos/webhooks_test.exs | 6 +- 128 files changed, 953 insertions(+), 3739 deletions(-) delete mode 100644 lib/workos/authorization_permission_list.ex delete mode 100644 lib/workos/authorization_permission_list_list_metadata.ex delete mode 100644 lib/workos/authorization_resource_list.ex delete mode 100644 lib/workos/authorization_resource_list_list_metadata.ex delete mode 100644 lib/workos/authorized_connect_application_list.ex delete mode 100644 lib/workos/authorized_connect_application_list_list_metadata.ex delete mode 100644 lib/workos/connect_application_list.ex delete mode 100644 lib/workos/connect_application_list_list_metadata.ex delete mode 100644 lib/workos/connection_list.ex delete mode 100644 lib/workos/connection_list_list_metadata.ex delete mode 100644 lib/workos/data_integration_list.ex delete mode 100644 lib/workos/data_integration_list_list_metadata.ex delete mode 100644 lib/workos/directory_group_list.ex delete mode 100644 lib/workos/directory_group_list_list_metadata.ex delete mode 100644 lib/workos/directory_list.ex delete mode 100644 lib/workos/directory_list_list_metadata.ex delete mode 100644 lib/workos/directory_user_list.ex delete mode 100644 lib/workos/directory_user_list_list_metadata.ex delete mode 100644 lib/workos/event_list.ex delete mode 100644 lib/workos/event_list_list_metadata.ex delete mode 100644 lib/workos/flag_list.ex delete mode 100644 lib/workos/flag_list_list_metadata.ex delete mode 100644 lib/workos/group_list.ex delete mode 100644 lib/workos/group_list_list_metadata.ex delete mode 100644 lib/workos/object_list_response.ex delete mode 100644 lib/workos/organization_api_key_list.ex delete mode 100644 lib/workos/organization_api_key_list_list_metadata.ex delete mode 100644 lib/workos/organization_authorized_connect_application_list.ex delete mode 100644 lib/workos/organization_authorized_connect_application_list_list_metadata.ex delete mode 100644 lib/workos/organization_list.ex delete mode 100644 lib/workos/organization_list_list_metadata.ex delete mode 100644 lib/workos/user_api_key_list.ex delete mode 100644 lib/workos/user_api_key_list_list_metadata.ex delete mode 100644 lib/workos/user_authentication_factor_list.ex delete mode 100644 lib/workos/user_authentication_factor_list_list_metadata.ex delete mode 100644 lib/workos/user_invite_list.ex delete mode 100644 lib/workos/user_invite_list_list_metadata.ex delete mode 100644 lib/workos/user_list.ex delete mode 100644 lib/workos/user_list_list_metadata.ex delete mode 100644 lib/workos/user_organization_membership_base_list.ex delete mode 100644 lib/workos/user_organization_membership_base_list_list_metadata.ex delete mode 100644 lib/workos/user_organization_membership_list.ex delete mode 100644 lib/workos/user_organization_membership_list_list_metadata.ex delete mode 100644 lib/workos/user_role_assignment_list.ex delete mode 100644 lib/workos/user_role_assignment_list_list_metadata.ex delete mode 100644 lib/workos/webhook_endpoint_list.ex delete mode 100644 lib/workos/webhook_endpoint_list_list_metadata.ex diff --git a/.oagen-manifest.json b/.oagen-manifest.json index 06c9d28..57ef3ed 100644 --- a/.oagen-manifest.json +++ b/.oagen-manifest.json @@ -40,6 +40,8 @@ "lib/workos/agent_registration_kind.ex", "lib/workos/agent_registration_organization_switched.ex", "lib/workos/agent_registration_organization_switched_data.ex", + "lib/workos/agent_registration_refreshed.ex", + "lib/workos/agent_registration_refreshed_data.ex", "lib/workos/agent_registration_revoked.ex", "lib/workos/agent_registration_revoked_data.ex", "lib/workos/agent_registration_status.ex", @@ -157,14 +159,8 @@ "lib/workos/authorization_check.ex", "lib/workos/authorization_code_session_authenticate_request.ex", "lib/workos/authorization_permission.ex", - "lib/workos/authorization_permission_list.ex", - "lib/workos/authorization_permission_list_list_metadata.ex", "lib/workos/authorization_resource.ex", - "lib/workos/authorization_resource_list.ex", - "lib/workos/authorization_resource_list_list_metadata.ex", - "lib/workos/authorized_connect_application_list.ex", "lib/workos/authorized_connect_application_list_data.ex", - "lib/workos/authorized_connect_application_list_list_metadata.ex", "lib/workos/challenge_authentication_factor.ex", "lib/workos/check_authorization.ex", "lib/workos/claim_view_response.ex", @@ -177,8 +173,6 @@ "lib/workos/confirm_email_change.ex", "lib/workos/connect.ex", "lib/workos/connect_application.ex", - "lib/workos/connect_application_list.ex", - "lib/workos/connect_application_list_list_metadata.ex", "lib/workos/connect_application_m2m.ex", "lib/workos/connect_application_oauth.ex", "lib/workos/connect_application_oauth_redirect_uris.ex", @@ -206,8 +200,6 @@ "lib/workos/connection_deleted_data_connection_type.ex", "lib/workos/connection_deleted_data_state.ex", "lib/workos/connection_domain.ex", - "lib/workos/connection_list.ex", - "lib/workos/connection_list_list_metadata.ex", "lib/workos/connection_saml_certificate_renewal_required.ex", "lib/workos/connection_saml_certificate_renewal_required_data.ex", "lib/workos/connection_saml_certificate_renewal_required_data_certificate.ex", @@ -275,8 +267,6 @@ "lib/workos/data_integration_custom_provider.ex", "lib/workos/data_integration_custom_provider_authenticate_via.ex", "lib/workos/data_integration_installation.ex", - "lib/workos/data_integration_list.ex", - "lib/workos/data_integration_list_list_metadata.ex", "lib/workos/data_integration_state.ex", "lib/workos/data_integrations_get_data_integration_authorize_url_request.ex", "lib/workos/data_integrations_get_user_token_request.ex", @@ -297,10 +287,6 @@ "lib/workos/device_code_session_authenticate_request.ex", "lib/workos/directory.ex", "lib/workos/directory_group.ex", - "lib/workos/directory_group_list.ex", - "lib/workos/directory_group_list_list_metadata.ex", - "lib/workos/directory_list.ex", - "lib/workos/directory_list_list_metadata.ex", "lib/workos/directory_metadata.ex", "lib/workos/directory_metadata_user.ex", "lib/workos/directory_state.ex", @@ -308,8 +294,6 @@ "lib/workos/directory_type.ex", "lib/workos/directory_user.ex", "lib/workos/directory_user_email.ex", - "lib/workos/directory_user_list.ex", - "lib/workos/directory_user_list_list_metadata.ex", "lib/workos/directory_user_state.ex", "lib/workos/directory_user_with_groups.ex", "lib/workos/directory_user_with_groups_email.ex", @@ -354,8 +338,6 @@ "lib/workos/event_context_actor.ex", "lib/workos/event_context_actor_source.ex", "lib/workos/event_context_google_analytics_session.ex", - "lib/workos/event_list.ex", - "lib/workos/event_list_list_metadata.ex", "lib/workos/event_schema.ex", "lib/workos/events.ex", "lib/workos/expire_api_key.ex", @@ -376,8 +358,6 @@ "lib/workos/flag_deleted_context_actor_source.ex", "lib/workos/flag_deleted_data.ex", "lib/workos/flag_deleted_data_owner.ex", - "lib/workos/flag_list.ex", - "lib/workos/flag_list_list_metadata.ex", "lib/workos/flag_owner.ex", "lib/workos/flag_rule_updated.ex", "lib/workos/flag_rule_updated_context.ex", @@ -409,8 +389,6 @@ "lib/workos/group.ex", "lib/workos/group_created.ex", "lib/workos/group_deleted.ex", - "lib/workos/group_list.ex", - "lib/workos/group_list_list_metadata.ex", "lib/workos/group_member_added.ex", "lib/workos/group_member_added_data.ex", "lib/workos/group_member_removed.ex", @@ -446,21 +424,16 @@ "lib/workos/mfa_totp_session_authenticate_request.ex", "lib/workos/multi_factor_auth.ex", "lib/workos/new_connect_application_secret.ex", - "lib/workos/object_list_response.ex", "lib/workos/object_metadata.ex", "lib/workos/object_summary.ex", "lib/workos/object_version.ex", "lib/workos/object_without_value.ex", "lib/workos/organization.ex", "lib/workos/organization_api_key.ex", - "lib/workos/organization_api_key_list.ex", - "lib/workos/organization_api_key_list_list_metadata.ex", "lib/workos/organization_api_key_owner.ex", "lib/workos/organization_api_key_with_value.ex", "lib/workos/organization_api_key_with_value_owner.ex", - "lib/workos/organization_authorized_connect_application_list.ex", "lib/workos/organization_authorized_connect_application_list_data.ex", - "lib/workos/organization_authorized_connect_application_list_list_metadata.ex", "lib/workos/organization_created.ex", "lib/workos/organization_created_data.ex", "lib/workos/organization_created_data_domain.ex", @@ -500,8 +473,6 @@ "lib/workos/organization_domain_verified_data_verification_strategy.ex", "lib/workos/organization_domains.ex", "lib/workos/organization_input.ex", - "lib/workos/organization_list.ex", - "lib/workos/organization_list_list_metadata.ex", "lib/workos/organization_membership.ex", "lib/workos/organization_membership_created.ex", "lib/workos/organization_membership_created_data.ex", @@ -639,16 +610,12 @@ "lib/workos/user.ex", "lib/workos/user_api_key.ex", "lib/workos/user_api_key_created_data_owner.ex", - "lib/workos/user_api_key_list.ex", - "lib/workos/user_api_key_list_list_metadata.ex", "lib/workos/user_api_key_owner.ex", "lib/workos/user_api_key_revoked_data_owner.ex", "lib/workos/user_api_key_updated_data_owner.ex", "lib/workos/user_api_key_with_value.ex", "lib/workos/user_api_key_with_value_owner.ex", "lib/workos/user_authentication_factor_enroll_response.ex", - "lib/workos/user_authentication_factor_list.ex", - "lib/workos/user_authentication_factor_list_list_metadata.ex", "lib/workos/user_consent_option.ex", "lib/workos/user_consent_option_choice.ex", "lib/workos/user_create_response.ex", @@ -657,11 +624,7 @@ "lib/workos/user_identities_get_item.ex", "lib/workos/user_identities_get_item_provider.ex", "lib/workos/user_invite.ex", - "lib/workos/user_invite_list.ex", - "lib/workos/user_invite_list_list_metadata.ex", "lib/workos/user_invite_state.ex", - "lib/workos/user_list.ex", - "lib/workos/user_list_list_metadata.ex", "lib/workos/user_management.ex", "lib/workos/user_management_authentication_provider.ex", "lib/workos/user_management_authentication_screen_hint.ex", @@ -669,16 +632,10 @@ "lib/workos/user_management_organization_membership_statuses.ex", "lib/workos/user_object.ex", "lib/workos/user_organization_membership.ex", - "lib/workos/user_organization_membership_base_list.ex", "lib/workos/user_organization_membership_base_list_data.ex", "lib/workos/user_organization_membership_base_list_data_status.ex", - "lib/workos/user_organization_membership_base_list_list_metadata.ex", - "lib/workos/user_organization_membership_list.ex", - "lib/workos/user_organization_membership_list_list_metadata.ex", "lib/workos/user_organization_membership_status.ex", "lib/workos/user_role_assignment.ex", - "lib/workos/user_role_assignment_list.ex", - "lib/workos/user_role_assignment_list_list_metadata.ex", "lib/workos/user_role_assignment_resource.ex", "lib/workos/user_role_assignment_source.ex", "lib/workos/user_role_assignment_source_type.ex", @@ -735,8 +692,6 @@ "lib/workos/waitlist_user_denied.ex", "lib/workos/waitlist_user_state.ex", "lib/workos/webhook_endpoint.ex", - "lib/workos/webhook_endpoint_list.ex", - "lib/workos/webhook_endpoint_list_list_metadata.ex", "lib/workos/webhook_endpoint_status.ex", "lib/workos/webhooks.ex", "lib/workos/widget_session_token.ex", @@ -1204,10 +1159,16 @@ "sdkMethod": "list_applications", "service": "connect" }, - "POST /connect/applications": { - "sdkMethod": "create_application", - "service": "connect" - }, + "POST /connect/applications": [ + { + "sdkMethod": "create_oauth_application", + "service": "connect" + }, + { + "sdkMethod": "create_m2m_application", + "service": "connect" + } + ], "GET /connect/applications/{id}": { "sdkMethod": "get_application", "service": "connect" @@ -1480,10 +1441,48 @@ "sdkMethod": "get_jwks", "service": "user_management" }, - "POST /user_management/authenticate": { - "sdkMethod": "create_authenticate", - "service": "user_management" - }, + "POST /user_management/authenticate": [ + { + "sdkMethod": "authenticate_with_password", + "service": "user_management" + }, + { + "sdkMethod": "authenticate_with_code", + "service": "user_management" + }, + { + "sdkMethod": "authenticate_with_refresh_token", + "service": "user_management" + }, + { + "sdkMethod": "authenticate_with_magic_auth", + "service": "user_management" + }, + { + "sdkMethod": "authenticate_with_email_verification", + "service": "user_management" + }, + { + "sdkMethod": "authenticate_with_totp", + "service": "user_management" + }, + { + "sdkMethod": "authenticate_with_organization_selection", + "service": "user_management" + }, + { + "sdkMethod": "authenticate_with_device_code", + "service": "user_management" + }, + { + "sdkMethod": "authenticate_with_radar_email_challenge", + "service": "user_management" + }, + { + "sdkMethod": "authenticate_with_radar_sms_challenge", + "service": "user_management" + } + ], "POST /user_management/authorize/device": { "sdkMethod": "create_device", "service": "user_management" diff --git a/lib/workos/api_keys.ex b/lib/workos/api_keys.ex index 1bd400b..3524293 100644 --- a/lib/workos/api_keys.ex +++ b/lib/workos/api_keys.ex @@ -17,7 +17,7 @@ defmodule WorkOS.ApiKeys do * `opts` — per-request options (see `WorkOS.Client.request/5`) """ @spec list_organization_api_keys(WorkOS.Client.t(), String.t(), map(), keyword()) :: - {:ok, WorkOS.Page.t(WorkOS.OrganizationApiKeyList.t())} | {:error, WorkOS.Error.error()} + {:ok, WorkOS.Page.t(WorkOS.OrganizationApiKey.t())} | {:error, WorkOS.Error.error()} def list_organization_api_keys(client, organization_id, params \\ %{}, opts \\ []) do with {:ok, body} <- WorkOS.Client.request( @@ -36,8 +36,7 @@ defmodule WorkOS.ApiKeys do ) end - {:ok, - WorkOS.Page.from_map(body, "data", &WorkOS.OrganizationApiKeyList.from_map/1, fetch_next)} + {:ok, WorkOS.Page.from_map(body, "data", &WorkOS.OrganizationApiKey.from_map/1, fetch_next)} end end diff --git a/lib/workos/authorization.ex b/lib/workos/authorization.ex index f57f4a6..daf7fef 100644 --- a/lib/workos/authorization.ex +++ b/lib/workos/authorization.ex @@ -17,8 +17,7 @@ defmodule WorkOS.Authorization do * `opts` — per-request options (see `WorkOS.Client.request/5`) """ @spec list_group_role_assignments(WorkOS.Client.t(), String.t(), map(), keyword()) :: - {:ok, WorkOS.Page.t(WorkOS.GroupRoleAssignmentList.t())} - | {:error, WorkOS.Error.error()} + {:ok, WorkOS.Page.t(WorkOS.GroupRoleAssignment.t())} | {:error, WorkOS.Error.error()} def list_group_role_assignments(client, group_id, params \\ %{}, opts \\ []) do with {:ok, body} <- WorkOS.Client.request( @@ -38,7 +37,7 @@ defmodule WorkOS.Authorization do end {:ok, - WorkOS.Page.from_map(body, "data", &WorkOS.GroupRoleAssignmentList.from_map/1, fetch_next)} + WorkOS.Page.from_map(body, "data", &WorkOS.GroupRoleAssignment.from_map/1, fetch_next)} end end @@ -206,8 +205,7 @@ defmodule WorkOS.Authorization do * `opts` — per-request options (see `WorkOS.Client.request/5`) """ @spec list_resources_for_membership(WorkOS.Client.t(), String.t(), map(), keyword()) :: - {:ok, WorkOS.Page.t(WorkOS.AuthorizationResourceList.t())} - | {:error, WorkOS.Error.error()} + {:ok, WorkOS.Page.t(WorkOS.AuthorizationResource.t())} | {:error, WorkOS.Error.error()} def list_resources_for_membership(client, organization_membership_id, params \\ %{}, opts \\ []) do with {:ok, body} <- WorkOS.Client.request( @@ -227,12 +225,7 @@ defmodule WorkOS.Authorization do end {:ok, - WorkOS.Page.from_map( - body, - "data", - &WorkOS.AuthorizationResourceList.from_map/1, - fetch_next - )} + WorkOS.Page.from_map(body, "data", &WorkOS.AuthorizationResource.from_map/1, fetch_next)} end end @@ -249,7 +242,7 @@ defmodule WorkOS.Authorization do * `opts` — per-request options (see `WorkOS.Client.request/5`) """ @spec list_effective_permissions(WorkOS.Client.t(), String.t(), String.t(), map(), keyword()) :: - {:ok, WorkOS.Page.t(WorkOS.AuthorizationPermissionList.t())} + {:ok, WorkOS.Page.t(WorkOS.AuthorizationPermission.t())} | {:error, WorkOS.Error.error()} def list_effective_permissions( client, @@ -277,12 +270,7 @@ defmodule WorkOS.Authorization do end {:ok, - WorkOS.Page.from_map( - body, - "data", - &WorkOS.AuthorizationPermissionList.from_map/1, - fetch_next - )} + WorkOS.Page.from_map(body, "data", &WorkOS.AuthorizationPermission.from_map/1, fetch_next)} end end @@ -307,7 +295,7 @@ defmodule WorkOS.Authorization do map(), keyword() ) :: - {:ok, WorkOS.Page.t(WorkOS.AuthorizationPermissionList.t())} + {:ok, WorkOS.Page.t(WorkOS.AuthorizationPermission.t())} | {:error, WorkOS.Error.error()} def list_effective_permissions_by_external_id( client, @@ -337,12 +325,7 @@ defmodule WorkOS.Authorization do end {:ok, - WorkOS.Page.from_map( - body, - "data", - &WorkOS.AuthorizationPermissionList.from_map/1, - fetch_next - )} + WorkOS.Page.from_map(body, "data", &WorkOS.AuthorizationPermission.from_map/1, fetch_next)} end end @@ -358,7 +341,7 @@ defmodule WorkOS.Authorization do * `opts` — per-request options (see `WorkOS.Client.request/5`) """ @spec list_role_assignments(WorkOS.Client.t(), String.t(), map(), keyword()) :: - {:ok, WorkOS.Page.t(WorkOS.UserRoleAssignmentList.t())} | {:error, WorkOS.Error.error()} + {:ok, WorkOS.Page.t(WorkOS.UserRoleAssignment.t())} | {:error, WorkOS.Error.error()} def list_role_assignments(client, organization_membership_id, params \\ %{}, opts \\ []) do with {:ok, body} <- WorkOS.Client.request( @@ -377,8 +360,7 @@ defmodule WorkOS.Authorization do ) end - {:ok, - WorkOS.Page.from_map(body, "data", &WorkOS.UserRoleAssignmentList.from_map/1, fetch_next)} + {:ok, WorkOS.Page.from_map(body, "data", &WorkOS.UserRoleAssignment.from_map/1, fetch_next)} end end @@ -827,7 +809,7 @@ defmodule WorkOS.Authorization do map(), keyword() ) :: - {:ok, WorkOS.Page.t(WorkOS.UserOrganizationMembershipBaseList.t())} + {:ok, WorkOS.Page.t(WorkOS.UserOrganizationMembershipBaseListData.t())} | {:error, WorkOS.Error.error()} def list_memberships_for_resource_by_external_id( client, @@ -860,7 +842,7 @@ defmodule WorkOS.Authorization do WorkOS.Page.from_map( body, "data", - &WorkOS.UserOrganizationMembershipBaseList.from_map/1, + &WorkOS.UserOrganizationMembershipBaseListData.from_map/1, fetch_next )} end @@ -887,7 +869,7 @@ defmodule WorkOS.Authorization do map(), keyword() ) :: - {:ok, WorkOS.Page.t(WorkOS.UserRoleAssignmentList.t())} | {:error, WorkOS.Error.error()} + {:ok, WorkOS.Page.t(WorkOS.UserRoleAssignment.t())} | {:error, WorkOS.Error.error()} def list_role_assignments_for_resource_by_external_id( client, organization_id, @@ -915,8 +897,7 @@ defmodule WorkOS.Authorization do ) end - {:ok, - WorkOS.Page.from_map(body, "data", &WorkOS.UserRoleAssignmentList.from_map/1, fetch_next)} + {:ok, WorkOS.Page.from_map(body, "data", &WorkOS.UserRoleAssignment.from_map/1, fetch_next)} end end @@ -931,8 +912,7 @@ defmodule WorkOS.Authorization do * `opts` — per-request options (see `WorkOS.Client.request/5`) """ @spec list_resources(WorkOS.Client.t(), map(), keyword()) :: - {:ok, WorkOS.Page.t(WorkOS.AuthorizationResourceList.t())} - | {:error, WorkOS.Error.error()} + {:ok, WorkOS.Page.t(WorkOS.AuthorizationResource.t())} | {:error, WorkOS.Error.error()} def list_resources(client, params \\ %{}, opts \\ []) do with {:ok, body} <- WorkOS.Client.request(client, :get, "/authorization/resources", params, opts) do @@ -945,12 +925,7 @@ defmodule WorkOS.Authorization do end {:ok, - WorkOS.Page.from_map( - body, - "data", - &WorkOS.AuthorizationResourceList.from_map/1, - fetch_next - )} + WorkOS.Page.from_map(body, "data", &WorkOS.AuthorizationResource.from_map/1, fetch_next)} end end @@ -1059,7 +1034,7 @@ defmodule WorkOS.Authorization do * `opts` — per-request options (see `WorkOS.Client.request/5`) """ @spec list_memberships_for_resource(WorkOS.Client.t(), String.t(), map(), keyword()) :: - {:ok, WorkOS.Page.t(WorkOS.UserOrganizationMembershipBaseList.t())} + {:ok, WorkOS.Page.t(WorkOS.UserOrganizationMembershipBaseListData.t())} | {:error, WorkOS.Error.error()} def list_memberships_for_resource(client, resource_id, params \\ %{}, opts \\ []) do with {:ok, body} <- @@ -1083,7 +1058,7 @@ defmodule WorkOS.Authorization do WorkOS.Page.from_map( body, "data", - &WorkOS.UserOrganizationMembershipBaseList.from_map/1, + &WorkOS.UserOrganizationMembershipBaseListData.from_map/1, fetch_next )} end @@ -1101,7 +1076,7 @@ defmodule WorkOS.Authorization do * `opts` — per-request options (see `WorkOS.Client.request/5`) """ @spec list_role_assignments_for_resource(WorkOS.Client.t(), String.t(), map(), keyword()) :: - {:ok, WorkOS.Page.t(WorkOS.UserRoleAssignmentList.t())} | {:error, WorkOS.Error.error()} + {:ok, WorkOS.Page.t(WorkOS.UserRoleAssignment.t())} | {:error, WorkOS.Error.error()} def list_role_assignments_for_resource(client, resource_id, params \\ %{}, opts \\ []) do with {:ok, body} <- WorkOS.Client.request( @@ -1120,8 +1095,7 @@ defmodule WorkOS.Authorization do ) end - {:ok, - WorkOS.Page.from_map(body, "data", &WorkOS.UserRoleAssignmentList.from_map/1, fetch_next)} + {:ok, WorkOS.Page.from_map(body, "data", &WorkOS.UserRoleAssignment.from_map/1, fetch_next)} end end @@ -1274,7 +1248,7 @@ defmodule WorkOS.Authorization do * `opts` — per-request options (see `WorkOS.Client.request/5`) """ @spec list_permissions(WorkOS.Client.t(), map(), keyword()) :: - {:ok, WorkOS.Page.t(WorkOS.AuthorizationPermissionList.t())} + {:ok, WorkOS.Page.t(WorkOS.AuthorizationPermission.t())} | {:error, WorkOS.Error.error()} def list_permissions(client, params \\ %{}, opts \\ []) do with {:ok, body} <- @@ -1288,12 +1262,7 @@ defmodule WorkOS.Authorization do end {:ok, - WorkOS.Page.from_map( - body, - "data", - &WorkOS.AuthorizationPermissionList.from_map/1, - fetch_next - )} + WorkOS.Page.from_map(body, "data", &WorkOS.AuthorizationPermission.from_map/1, fetch_next)} end end diff --git a/lib/workos/authorization_permission_list.ex b/lib/workos/authorization_permission_list.ex deleted file mode 100644 index 44cf122..0000000 --- a/lib/workos/authorization_permission_list.ex +++ /dev/null @@ -1,50 +0,0 @@ -# This file is auto-generated by oagen. Do not edit. - -defmodule WorkOS.AuthorizationPermissionList do - @moduledoc """ - AuthorizationPermissionList model. - """ - - defstruct [ - :object, - :data, - :list_metadata - ] - - @type t :: %__MODULE__{ - object: String.t(), - data: [WorkOS.AuthorizationPermission.t()], - list_metadata: WorkOS.AuthorizationPermissionListListMetadata.t() - } - - @doc false - @spec from_map(map()) :: t() - def from_map(map) when is_map(map) do - %__MODULE__{ - object: map["object"], - data: WorkOS.Cast.list(map["data"], &WorkOS.AuthorizationPermission.from_map/1), - list_metadata: - WorkOS.Cast.nested( - map["list_metadata"], - &WorkOS.AuthorizationPermissionListListMetadata.from_map/1 - ) - } - end - - @doc false - @spec to_map(t()) :: map() - def to_map(%__MODULE__{} = struct) do - WorkOS.Cast.drop_nils(%{ - "object" => struct.object, - "data" => - WorkOS.Cast.list(struct.data, fn item -> - WorkOS.Cast.dump_struct(item, &WorkOS.AuthorizationPermission.to_map/1) - end), - "list_metadata" => - WorkOS.Cast.dump_struct( - struct.list_metadata, - &WorkOS.AuthorizationPermissionListListMetadata.to_map/1 - ) - }) - end -end diff --git a/lib/workos/authorization_permission_list_list_metadata.ex b/lib/workos/authorization_permission_list_list_metadata.ex deleted file mode 100644 index 4a74938..0000000 --- a/lib/workos/authorization_permission_list_list_metadata.ex +++ /dev/null @@ -1,35 +0,0 @@ -# This file is auto-generated by oagen. Do not edit. - -defmodule WorkOS.AuthorizationPermissionListListMetadata do - @moduledoc """ - Pagination cursors for navigating between pages of results. - """ - - defstruct [ - :before, - :after_ - ] - - @type t :: %__MODULE__{ - before: String.t() | nil, - after_: String.t() | nil - } - - @doc false - @spec from_map(map()) :: t() - def from_map(map) when is_map(map) do - %__MODULE__{ - before: map["before"], - after_: map["after"] - } - end - - @doc false - @spec to_map(t()) :: map() - def to_map(%__MODULE__{} = struct) do - WorkOS.Cast.drop_nils(%{ - "before" => struct.before, - "after" => struct.after_ - }) - end -end diff --git a/lib/workos/authorization_resource_list.ex b/lib/workos/authorization_resource_list.ex deleted file mode 100644 index fcd47f5..0000000 --- a/lib/workos/authorization_resource_list.ex +++ /dev/null @@ -1,50 +0,0 @@ -# This file is auto-generated by oagen. Do not edit. - -defmodule WorkOS.AuthorizationResourceList do - @moduledoc """ - AuthorizationResourceList model. - """ - - defstruct [ - :object, - :data, - :list_metadata - ] - - @type t :: %__MODULE__{ - object: String.t(), - data: [WorkOS.AuthorizationResource.t()], - list_metadata: WorkOS.AuthorizationResourceListListMetadata.t() - } - - @doc false - @spec from_map(map()) :: t() - def from_map(map) when is_map(map) do - %__MODULE__{ - object: map["object"], - data: WorkOS.Cast.list(map["data"], &WorkOS.AuthorizationResource.from_map/1), - list_metadata: - WorkOS.Cast.nested( - map["list_metadata"], - &WorkOS.AuthorizationResourceListListMetadata.from_map/1 - ) - } - end - - @doc false - @spec to_map(t()) :: map() - def to_map(%__MODULE__{} = struct) do - WorkOS.Cast.drop_nils(%{ - "object" => struct.object, - "data" => - WorkOS.Cast.list(struct.data, fn item -> - WorkOS.Cast.dump_struct(item, &WorkOS.AuthorizationResource.to_map/1) - end), - "list_metadata" => - WorkOS.Cast.dump_struct( - struct.list_metadata, - &WorkOS.AuthorizationResourceListListMetadata.to_map/1 - ) - }) - end -end diff --git a/lib/workos/authorization_resource_list_list_metadata.ex b/lib/workos/authorization_resource_list_list_metadata.ex deleted file mode 100644 index f731e27..0000000 --- a/lib/workos/authorization_resource_list_list_metadata.ex +++ /dev/null @@ -1,35 +0,0 @@ -# This file is auto-generated by oagen. Do not edit. - -defmodule WorkOS.AuthorizationResourceListListMetadata do - @moduledoc """ - Pagination cursors for navigating between pages of results. - """ - - defstruct [ - :before, - :after_ - ] - - @type t :: %__MODULE__{ - before: String.t() | nil, - after_: String.t() | nil - } - - @doc false - @spec from_map(map()) :: t() - def from_map(map) when is_map(map) do - %__MODULE__{ - before: map["before"], - after_: map["after"] - } - end - - @doc false - @spec to_map(t()) :: map() - def to_map(%__MODULE__{} = struct) do - WorkOS.Cast.drop_nils(%{ - "before" => struct.before, - "after" => struct.after_ - }) - end -end diff --git a/lib/workos/authorized_connect_application_list.ex b/lib/workos/authorized_connect_application_list.ex deleted file mode 100644 index 5269956..0000000 --- a/lib/workos/authorized_connect_application_list.ex +++ /dev/null @@ -1,51 +0,0 @@ -# This file is auto-generated by oagen. Do not edit. - -defmodule WorkOS.AuthorizedConnectApplicationList do - @moduledoc """ - AuthorizedConnectApplicationList model. - """ - - defstruct [ - :object, - :data, - :list_metadata - ] - - @type t :: %__MODULE__{ - object: String.t(), - data: [WorkOS.AuthorizedConnectApplicationListData.t()], - list_metadata: WorkOS.AuthorizedConnectApplicationListListMetadata.t() - } - - @doc false - @spec from_map(map()) :: t() - def from_map(map) when is_map(map) do - %__MODULE__{ - object: map["object"], - data: - WorkOS.Cast.list(map["data"], &WorkOS.AuthorizedConnectApplicationListData.from_map/1), - list_metadata: - WorkOS.Cast.nested( - map["list_metadata"], - &WorkOS.AuthorizedConnectApplicationListListMetadata.from_map/1 - ) - } - end - - @doc false - @spec to_map(t()) :: map() - def to_map(%__MODULE__{} = struct) do - WorkOS.Cast.drop_nils(%{ - "object" => struct.object, - "data" => - WorkOS.Cast.list(struct.data, fn item -> - WorkOS.Cast.dump_struct(item, &WorkOS.AuthorizedConnectApplicationListData.to_map/1) - end), - "list_metadata" => - WorkOS.Cast.dump_struct( - struct.list_metadata, - &WorkOS.AuthorizedConnectApplicationListListMetadata.to_map/1 - ) - }) - end -end diff --git a/lib/workos/authorized_connect_application_list_list_metadata.ex b/lib/workos/authorized_connect_application_list_list_metadata.ex deleted file mode 100644 index ebf11fe..0000000 --- a/lib/workos/authorized_connect_application_list_list_metadata.ex +++ /dev/null @@ -1,35 +0,0 @@ -# This file is auto-generated by oagen. Do not edit. - -defmodule WorkOS.AuthorizedConnectApplicationListListMetadata do - @moduledoc """ - Pagination cursors for navigating between pages of results. - """ - - defstruct [ - :before, - :after_ - ] - - @type t :: %__MODULE__{ - before: String.t() | nil, - after_: String.t() | nil - } - - @doc false - @spec from_map(map()) :: t() - def from_map(map) when is_map(map) do - %__MODULE__{ - before: map["before"], - after_: map["after"] - } - end - - @doc false - @spec to_map(t()) :: map() - def to_map(%__MODULE__{} = struct) do - WorkOS.Cast.drop_nils(%{ - "before" => struct.before, - "after" => struct.after_ - }) - end -end diff --git a/lib/workos/connect.ex b/lib/workos/connect.ex index 20b7ddc..6058397 100644 --- a/lib/workos/connect.ex +++ b/lib/workos/connect.ex @@ -44,7 +44,7 @@ defmodule WorkOS.Connect do * `opts` — per-request options (see `WorkOS.Client.request/5`) """ @spec list_applications(WorkOS.Client.t(), map(), keyword()) :: - {:ok, WorkOS.Page.t(WorkOS.ConnectApplicationList.t())} | {:error, WorkOS.Error.error()} + {:ok, WorkOS.Page.t(WorkOS.ConnectApplication.t())} | {:error, WorkOS.Error.error()} def list_applications(client, params \\ %{}, opts \\ []) do with {:ok, body} <- WorkOS.Client.request(client, :get, "/connect/applications", params, opts) do fetch_next = fn cursor -> @@ -55,8 +55,7 @@ defmodule WorkOS.Connect do ) end - {:ok, - WorkOS.Page.from_map(body, "data", &WorkOS.ConnectApplicationList.from_map/1, fetch_next)} + {:ok, WorkOS.Page.from_map(body, "data", &WorkOS.ConnectApplication.from_map/1, fetch_next)} end end diff --git a/lib/workos/connect_application_list.ex b/lib/workos/connect_application_list.ex deleted file mode 100644 index d2931bf..0000000 --- a/lib/workos/connect_application_list.ex +++ /dev/null @@ -1,50 +0,0 @@ -# This file is auto-generated by oagen. Do not edit. - -defmodule WorkOS.ConnectApplicationList do - @moduledoc """ - ConnectApplicationList model. - """ - - defstruct [ - :object, - :data, - :list_metadata - ] - - @type t :: %__MODULE__{ - object: String.t(), - data: [WorkOS.ConnectApplication.t()], - list_metadata: WorkOS.ConnectApplicationListListMetadata.t() - } - - @doc false - @spec from_map(map()) :: t() - def from_map(map) when is_map(map) do - %__MODULE__{ - object: map["object"], - data: WorkOS.Cast.list(map["data"], &WorkOS.ConnectApplication.from_map/1), - list_metadata: - WorkOS.Cast.nested( - map["list_metadata"], - &WorkOS.ConnectApplicationListListMetadata.from_map/1 - ) - } - end - - @doc false - @spec to_map(t()) :: map() - def to_map(%__MODULE__{} = struct) do - WorkOS.Cast.drop_nils(%{ - "object" => struct.object, - "data" => - WorkOS.Cast.list(struct.data, fn item -> - WorkOS.Cast.dump_struct(item, &WorkOS.ConnectApplication.to_map/1) - end), - "list_metadata" => - WorkOS.Cast.dump_struct( - struct.list_metadata, - &WorkOS.ConnectApplicationListListMetadata.to_map/1 - ) - }) - end -end diff --git a/lib/workos/connect_application_list_list_metadata.ex b/lib/workos/connect_application_list_list_metadata.ex deleted file mode 100644 index 0360cd3..0000000 --- a/lib/workos/connect_application_list_list_metadata.ex +++ /dev/null @@ -1,35 +0,0 @@ -# This file is auto-generated by oagen. Do not edit. - -defmodule WorkOS.ConnectApplicationListListMetadata do - @moduledoc """ - Pagination cursors for navigating between pages of results. - """ - - defstruct [ - :before, - :after_ - ] - - @type t :: %__MODULE__{ - before: String.t() | nil, - after_: String.t() | nil - } - - @doc false - @spec from_map(map()) :: t() - def from_map(map) when is_map(map) do - %__MODULE__{ - before: map["before"], - after_: map["after"] - } - end - - @doc false - @spec to_map(t()) :: map() - def to_map(%__MODULE__{} = struct) do - WorkOS.Cast.drop_nils(%{ - "before" => struct.before, - "after" => struct.after_ - }) - end -end diff --git a/lib/workos/connection_list.ex b/lib/workos/connection_list.ex deleted file mode 100644 index 6a23651..0000000 --- a/lib/workos/connection_list.ex +++ /dev/null @@ -1,44 +0,0 @@ -# This file is auto-generated by oagen. Do not edit. - -defmodule WorkOS.ConnectionList do - @moduledoc """ - ConnectionList model. - """ - - defstruct [ - :object, - :data, - :list_metadata - ] - - @type t :: %__MODULE__{ - object: String.t(), - data: [WorkOS.Connection.t()], - list_metadata: WorkOS.ConnectionListListMetadata.t() - } - - @doc false - @spec from_map(map()) :: t() - def from_map(map) when is_map(map) do - %__MODULE__{ - object: map["object"], - data: WorkOS.Cast.list(map["data"], &WorkOS.Connection.from_map/1), - list_metadata: - WorkOS.Cast.nested(map["list_metadata"], &WorkOS.ConnectionListListMetadata.from_map/1) - } - end - - @doc false - @spec to_map(t()) :: map() - def to_map(%__MODULE__{} = struct) do - WorkOS.Cast.drop_nils(%{ - "object" => struct.object, - "data" => - WorkOS.Cast.list(struct.data, fn item -> - WorkOS.Cast.dump_struct(item, &WorkOS.Connection.to_map/1) - end), - "list_metadata" => - WorkOS.Cast.dump_struct(struct.list_metadata, &WorkOS.ConnectionListListMetadata.to_map/1) - }) - end -end diff --git a/lib/workos/connection_list_list_metadata.ex b/lib/workos/connection_list_list_metadata.ex deleted file mode 100644 index b8cfc29..0000000 --- a/lib/workos/connection_list_list_metadata.ex +++ /dev/null @@ -1,35 +0,0 @@ -# This file is auto-generated by oagen. Do not edit. - -defmodule WorkOS.ConnectionListListMetadata do - @moduledoc """ - Pagination cursors for navigating between pages of results. - """ - - defstruct [ - :before, - :after_ - ] - - @type t :: %__MODULE__{ - before: String.t() | nil, - after_: String.t() | nil - } - - @doc false - @spec from_map(map()) :: t() - def from_map(map) when is_map(map) do - %__MODULE__{ - before: map["before"], - after_: map["after"] - } - end - - @doc false - @spec to_map(t()) :: map() - def to_map(%__MODULE__{} = struct) do - WorkOS.Cast.drop_nils(%{ - "before" => struct.before, - "after" => struct.after_ - }) - end -end diff --git a/lib/workos/data_integration_list.ex b/lib/workos/data_integration_list.ex deleted file mode 100644 index a2ea422..0000000 --- a/lib/workos/data_integration_list.ex +++ /dev/null @@ -1,50 +0,0 @@ -# This file is auto-generated by oagen. Do not edit. - -defmodule WorkOS.DataIntegrationList do - @moduledoc """ - DataIntegrationList model. - """ - - defstruct [ - :object, - :data, - :list_metadata - ] - - @type t :: %__MODULE__{ - object: String.t(), - data: [WorkOS.DataIntegration.t()], - list_metadata: WorkOS.DataIntegrationListListMetadata.t() - } - - @doc false - @spec from_map(map()) :: t() - def from_map(map) when is_map(map) do - %__MODULE__{ - object: map["object"], - data: WorkOS.Cast.list(map["data"], &WorkOS.DataIntegration.from_map/1), - list_metadata: - WorkOS.Cast.nested( - map["list_metadata"], - &WorkOS.DataIntegrationListListMetadata.from_map/1 - ) - } - end - - @doc false - @spec to_map(t()) :: map() - def to_map(%__MODULE__{} = struct) do - WorkOS.Cast.drop_nils(%{ - "object" => struct.object, - "data" => - WorkOS.Cast.list(struct.data, fn item -> - WorkOS.Cast.dump_struct(item, &WorkOS.DataIntegration.to_map/1) - end), - "list_metadata" => - WorkOS.Cast.dump_struct( - struct.list_metadata, - &WorkOS.DataIntegrationListListMetadata.to_map/1 - ) - }) - end -end diff --git a/lib/workos/data_integration_list_list_metadata.ex b/lib/workos/data_integration_list_list_metadata.ex deleted file mode 100644 index c0929d4..0000000 --- a/lib/workos/data_integration_list_list_metadata.ex +++ /dev/null @@ -1,35 +0,0 @@ -# This file is auto-generated by oagen. Do not edit. - -defmodule WorkOS.DataIntegrationListListMetadata do - @moduledoc """ - Pagination cursors for navigating between pages of results. - """ - - defstruct [ - :before, - :after_ - ] - - @type t :: %__MODULE__{ - before: String.t() | nil, - after_: String.t() | nil - } - - @doc false - @spec from_map(map()) :: t() - def from_map(map) when is_map(map) do - %__MODULE__{ - before: map["before"], - after_: map["after"] - } - end - - @doc false - @spec to_map(t()) :: map() - def to_map(%__MODULE__{} = struct) do - WorkOS.Cast.drop_nils(%{ - "before" => struct.before, - "after" => struct.after_ - }) - end -end diff --git a/lib/workos/directory_group_list.ex b/lib/workos/directory_group_list.ex deleted file mode 100644 index 1c21b9c..0000000 --- a/lib/workos/directory_group_list.ex +++ /dev/null @@ -1,50 +0,0 @@ -# This file is auto-generated by oagen. Do not edit. - -defmodule WorkOS.DirectoryGroupList do - @moduledoc """ - DirectoryGroupList model. - """ - - defstruct [ - :object, - :data, - :list_metadata - ] - - @type t :: %__MODULE__{ - object: String.t(), - data: [WorkOS.DirectoryGroup.t()], - list_metadata: WorkOS.DirectoryGroupListListMetadata.t() - } - - @doc false - @spec from_map(map()) :: t() - def from_map(map) when is_map(map) do - %__MODULE__{ - object: map["object"], - data: WorkOS.Cast.list(map["data"], &WorkOS.DirectoryGroup.from_map/1), - list_metadata: - WorkOS.Cast.nested( - map["list_metadata"], - &WorkOS.DirectoryGroupListListMetadata.from_map/1 - ) - } - end - - @doc false - @spec to_map(t()) :: map() - def to_map(%__MODULE__{} = struct) do - WorkOS.Cast.drop_nils(%{ - "object" => struct.object, - "data" => - WorkOS.Cast.list(struct.data, fn item -> - WorkOS.Cast.dump_struct(item, &WorkOS.DirectoryGroup.to_map/1) - end), - "list_metadata" => - WorkOS.Cast.dump_struct( - struct.list_metadata, - &WorkOS.DirectoryGroupListListMetadata.to_map/1 - ) - }) - end -end diff --git a/lib/workos/directory_group_list_list_metadata.ex b/lib/workos/directory_group_list_list_metadata.ex deleted file mode 100644 index 5cf4996..0000000 --- a/lib/workos/directory_group_list_list_metadata.ex +++ /dev/null @@ -1,35 +0,0 @@ -# This file is auto-generated by oagen. Do not edit. - -defmodule WorkOS.DirectoryGroupListListMetadata do - @moduledoc """ - Pagination cursors for navigating between pages of results. - """ - - defstruct [ - :before, - :after_ - ] - - @type t :: %__MODULE__{ - before: String.t() | nil, - after_: String.t() | nil - } - - @doc false - @spec from_map(map()) :: t() - def from_map(map) when is_map(map) do - %__MODULE__{ - before: map["before"], - after_: map["after"] - } - end - - @doc false - @spec to_map(t()) :: map() - def to_map(%__MODULE__{} = struct) do - WorkOS.Cast.drop_nils(%{ - "before" => struct.before, - "after" => struct.after_ - }) - end -end diff --git a/lib/workos/directory_list.ex b/lib/workos/directory_list.ex deleted file mode 100644 index 018180e..0000000 --- a/lib/workos/directory_list.ex +++ /dev/null @@ -1,44 +0,0 @@ -# This file is auto-generated by oagen. Do not edit. - -defmodule WorkOS.DirectoryList do - @moduledoc """ - DirectoryList model. - """ - - defstruct [ - :object, - :data, - :list_metadata - ] - - @type t :: %__MODULE__{ - object: String.t(), - data: [WorkOS.Directory.t()], - list_metadata: WorkOS.DirectoryListListMetadata.t() - } - - @doc false - @spec from_map(map()) :: t() - def from_map(map) when is_map(map) do - %__MODULE__{ - object: map["object"], - data: WorkOS.Cast.list(map["data"], &WorkOS.Directory.from_map/1), - list_metadata: - WorkOS.Cast.nested(map["list_metadata"], &WorkOS.DirectoryListListMetadata.from_map/1) - } - end - - @doc false - @spec to_map(t()) :: map() - def to_map(%__MODULE__{} = struct) do - WorkOS.Cast.drop_nils(%{ - "object" => struct.object, - "data" => - WorkOS.Cast.list(struct.data, fn item -> - WorkOS.Cast.dump_struct(item, &WorkOS.Directory.to_map/1) - end), - "list_metadata" => - WorkOS.Cast.dump_struct(struct.list_metadata, &WorkOS.DirectoryListListMetadata.to_map/1) - }) - end -end diff --git a/lib/workos/directory_list_list_metadata.ex b/lib/workos/directory_list_list_metadata.ex deleted file mode 100644 index 0bb05b9..0000000 --- a/lib/workos/directory_list_list_metadata.ex +++ /dev/null @@ -1,35 +0,0 @@ -# This file is auto-generated by oagen. Do not edit. - -defmodule WorkOS.DirectoryListListMetadata do - @moduledoc """ - Pagination cursors for navigating between pages of results. - """ - - defstruct [ - :before, - :after_ - ] - - @type t :: %__MODULE__{ - before: String.t() | nil, - after_: String.t() | nil - } - - @doc false - @spec from_map(map()) :: t() - def from_map(map) when is_map(map) do - %__MODULE__{ - before: map["before"], - after_: map["after"] - } - end - - @doc false - @spec to_map(t()) :: map() - def to_map(%__MODULE__{} = struct) do - WorkOS.Cast.drop_nils(%{ - "before" => struct.before, - "after" => struct.after_ - }) - end -end diff --git a/lib/workos/directory_sync.ex b/lib/workos/directory_sync.ex index 218c272..0475b89 100644 --- a/lib/workos/directory_sync.ex +++ b/lib/workos/directory_sync.ex @@ -16,7 +16,7 @@ defmodule WorkOS.DirectorySync do * `opts` — per-request options (see `WorkOS.Client.request/5`) """ @spec list_directories(WorkOS.Client.t(), map(), keyword()) :: - {:ok, WorkOS.Page.t(WorkOS.DirectoryList.t())} | {:error, WorkOS.Error.error()} + {:ok, WorkOS.Page.t(WorkOS.Directory.t())} | {:error, WorkOS.Error.error()} def list_directories(client, params \\ %{}, opts \\ []) do with {:ok, body} <- WorkOS.Client.request(client, :get, "/directories", params, opts) do fetch_next = fn cursor -> @@ -27,7 +27,7 @@ defmodule WorkOS.DirectorySync do ) end - {:ok, WorkOS.Page.from_map(body, "data", &WorkOS.DirectoryList.from_map/1, fetch_next)} + {:ok, WorkOS.Page.from_map(body, "data", &WorkOS.Directory.from_map/1, fetch_next)} end end @@ -89,7 +89,7 @@ defmodule WorkOS.DirectorySync do * `opts` — per-request options (see `WorkOS.Client.request/5`) """ @spec list_groups(WorkOS.Client.t(), map(), keyword()) :: - {:ok, WorkOS.Page.t(WorkOS.DirectoryGroupList.t())} | {:error, WorkOS.Error.error()} + {:ok, WorkOS.Page.t(WorkOS.DirectoryGroup.t())} | {:error, WorkOS.Error.error()} def list_groups(client, params \\ %{}, opts \\ []) do with {:ok, body} <- WorkOS.Client.request(client, :get, "/directory_groups", params, opts) do fetch_next = fn cursor -> @@ -100,7 +100,7 @@ defmodule WorkOS.DirectorySync do ) end - {:ok, WorkOS.Page.from_map(body, "data", &WorkOS.DirectoryGroupList.from_map/1, fetch_next)} + {:ok, WorkOS.Page.from_map(body, "data", &WorkOS.DirectoryGroup.from_map/1, fetch_next)} end end @@ -140,7 +140,8 @@ defmodule WorkOS.DirectorySync do * `opts` — per-request options (see `WorkOS.Client.request/5`) """ @spec list_users(WorkOS.Client.t(), map(), keyword()) :: - {:ok, WorkOS.Page.t(WorkOS.DirectoryUserList.t())} | {:error, WorkOS.Error.error()} + {:ok, WorkOS.Page.t(WorkOS.DirectoryUserWithGroups.t())} + | {:error, WorkOS.Error.error()} def list_users(client, params \\ %{}, opts \\ []) do with {:ok, body} <- WorkOS.Client.request(client, :get, "/directory_users", params, opts) do fetch_next = fn cursor -> @@ -151,7 +152,8 @@ defmodule WorkOS.DirectorySync do ) end - {:ok, WorkOS.Page.from_map(body, "data", &WorkOS.DirectoryUserList.from_map/1, fetch_next)} + {:ok, + WorkOS.Page.from_map(body, "data", &WorkOS.DirectoryUserWithGroups.from_map/1, fetch_next)} end end diff --git a/lib/workos/directory_user_list.ex b/lib/workos/directory_user_list.ex deleted file mode 100644 index af7c3a3..0000000 --- a/lib/workos/directory_user_list.ex +++ /dev/null @@ -1,47 +0,0 @@ -# This file is auto-generated by oagen. Do not edit. - -defmodule WorkOS.DirectoryUserList do - @moduledoc """ - DirectoryUserList model. - """ - - defstruct [ - :object, - :data, - :list_metadata - ] - - @type t :: %__MODULE__{ - object: String.t(), - data: [WorkOS.DirectoryUserWithGroups.t()], - list_metadata: WorkOS.DirectoryUserListListMetadata.t() - } - - @doc false - @spec from_map(map()) :: t() - def from_map(map) when is_map(map) do - %__MODULE__{ - object: map["object"], - data: WorkOS.Cast.list(map["data"], &WorkOS.DirectoryUserWithGroups.from_map/1), - list_metadata: - WorkOS.Cast.nested(map["list_metadata"], &WorkOS.DirectoryUserListListMetadata.from_map/1) - } - end - - @doc false - @spec to_map(t()) :: map() - def to_map(%__MODULE__{} = struct) do - WorkOS.Cast.drop_nils(%{ - "object" => struct.object, - "data" => - WorkOS.Cast.list(struct.data, fn item -> - WorkOS.Cast.dump_struct(item, &WorkOS.DirectoryUserWithGroups.to_map/1) - end), - "list_metadata" => - WorkOS.Cast.dump_struct( - struct.list_metadata, - &WorkOS.DirectoryUserListListMetadata.to_map/1 - ) - }) - end -end diff --git a/lib/workos/directory_user_list_list_metadata.ex b/lib/workos/directory_user_list_list_metadata.ex deleted file mode 100644 index 3fa91fa..0000000 --- a/lib/workos/directory_user_list_list_metadata.ex +++ /dev/null @@ -1,35 +0,0 @@ -# This file is auto-generated by oagen. Do not edit. - -defmodule WorkOS.DirectoryUserListListMetadata do - @moduledoc """ - Pagination cursors for navigating between pages of results. - """ - - defstruct [ - :before, - :after_ - ] - - @type t :: %__MODULE__{ - before: String.t() | nil, - after_: String.t() | nil - } - - @doc false - @spec from_map(map()) :: t() - def from_map(map) when is_map(map) do - %__MODULE__{ - before: map["before"], - after_: map["after"] - } - end - - @doc false - @spec to_map(t()) :: map() - def to_map(%__MODULE__{} = struct) do - WorkOS.Cast.drop_nils(%{ - "before" => struct.before, - "after" => struct.after_ - }) - end -end diff --git a/lib/workos/event_list.ex b/lib/workos/event_list.ex deleted file mode 100644 index ea0f2f8..0000000 --- a/lib/workos/event_list.ex +++ /dev/null @@ -1,44 +0,0 @@ -# This file is auto-generated by oagen. Do not edit. - -defmodule WorkOS.EventList do - @moduledoc """ - EventList model. - """ - - defstruct [ - :object, - :data, - :list_metadata - ] - - @type t :: %__MODULE__{ - object: String.t(), - data: [WorkOS.EventSchema.t()], - list_metadata: WorkOS.EventListListMetadata.t() - } - - @doc false - @spec from_map(map()) :: t() - def from_map(map) when is_map(map) do - %__MODULE__{ - object: map["object"], - data: WorkOS.Cast.list(map["data"], &WorkOS.EventSchema.from_map/1), - list_metadata: - WorkOS.Cast.nested(map["list_metadata"], &WorkOS.EventListListMetadata.from_map/1) - } - end - - @doc false - @spec to_map(t()) :: map() - def to_map(%__MODULE__{} = struct) do - WorkOS.Cast.drop_nils(%{ - "object" => struct.object, - "data" => - WorkOS.Cast.list(struct.data, fn item -> - WorkOS.Cast.dump_struct(item, &WorkOS.EventSchema.to_map/1) - end), - "list_metadata" => - WorkOS.Cast.dump_struct(struct.list_metadata, &WorkOS.EventListListMetadata.to_map/1) - }) - end -end diff --git a/lib/workos/event_list_list_metadata.ex b/lib/workos/event_list_list_metadata.ex deleted file mode 100644 index 0addb1b..0000000 --- a/lib/workos/event_list_list_metadata.ex +++ /dev/null @@ -1,31 +0,0 @@ -# This file is auto-generated by oagen. Do not edit. - -defmodule WorkOS.EventListListMetadata do - @moduledoc """ - Pagination cursor for navigating to the next page of results. - """ - - defstruct [ - :after_ - ] - - @type t :: %__MODULE__{ - after_: String.t() | nil - } - - @doc false - @spec from_map(map()) :: t() - def from_map(map) when is_map(map) do - %__MODULE__{ - after_: map["after"] - } - end - - @doc false - @spec to_map(t()) :: map() - def to_map(%__MODULE__{} = struct) do - WorkOS.Cast.drop_nils(%{ - "after" => struct.after_ - }) - end -end diff --git a/lib/workos/events.ex b/lib/workos/events.ex index 787d38f..fad2218 100644 --- a/lib/workos/events.ex +++ b/lib/workos/events.ex @@ -16,7 +16,7 @@ defmodule WorkOS.Events do * `opts` — per-request options (see `WorkOS.Client.request/5`) """ @spec list_events(WorkOS.Client.t(), map(), keyword()) :: - {:ok, WorkOS.Page.t(WorkOS.EventList.t())} | {:error, WorkOS.Error.error()} + {:ok, WorkOS.Page.t(WorkOS.EventSchema.t())} | {:error, WorkOS.Error.error()} def list_events(client, params \\ %{}, opts \\ []) do with {:ok, body} <- WorkOS.Client.request(client, :get, "/events", params, opts) do fetch_next = fn cursor -> @@ -27,7 +27,7 @@ defmodule WorkOS.Events do ) end - {:ok, WorkOS.Page.from_map(body, "data", &WorkOS.EventList.from_map/1, fetch_next)} + {:ok, WorkOS.Page.from_map(body, "data", &WorkOS.EventSchema.from_map/1, fetch_next)} end end end diff --git a/lib/workos/feature_flags.ex b/lib/workos/feature_flags.ex index b402c17..9a7b09a 100644 --- a/lib/workos/feature_flags.ex +++ b/lib/workos/feature_flags.ex @@ -16,7 +16,7 @@ defmodule WorkOS.FeatureFlags do * `opts` — per-request options (see `WorkOS.Client.request/5`) """ @spec list_feature_flags(WorkOS.Client.t(), map(), keyword()) :: - {:ok, WorkOS.Page.t(WorkOS.FlagList.t())} | {:error, WorkOS.Error.error()} + {:ok, WorkOS.Page.t(WorkOS.Flag.t())} | {:error, WorkOS.Error.error()} def list_feature_flags(client, params \\ %{}, opts \\ []) do with {:ok, body} <- WorkOS.Client.request(client, :get, "/feature-flags", params, opts) do fetch_next = fn cursor -> @@ -27,7 +27,7 @@ defmodule WorkOS.FeatureFlags do ) end - {:ok, WorkOS.Page.from_map(body, "data", &WorkOS.FlagList.from_map/1, fetch_next)} + {:ok, WorkOS.Page.from_map(body, "data", &WorkOS.Flag.from_map/1, fetch_next)} end end @@ -164,7 +164,7 @@ defmodule WorkOS.FeatureFlags do * `opts` — per-request options (see `WorkOS.Client.request/5`) """ @spec list_organization_feature_flags(WorkOS.Client.t(), String.t(), map(), keyword()) :: - {:ok, WorkOS.Page.t(WorkOS.FlagList.t())} | {:error, WorkOS.Error.error()} + {:ok, WorkOS.Page.t(WorkOS.Flag.t())} | {:error, WorkOS.Error.error()} def list_organization_feature_flags(client, organization_id, params \\ %{}, opts \\ []) do with {:ok, body} <- WorkOS.Client.request( @@ -183,7 +183,7 @@ defmodule WorkOS.FeatureFlags do ) end - {:ok, WorkOS.Page.from_map(body, "data", &WorkOS.FlagList.from_map/1, fetch_next)} + {:ok, WorkOS.Page.from_map(body, "data", &WorkOS.Flag.from_map/1, fetch_next)} end end @@ -199,7 +199,7 @@ defmodule WorkOS.FeatureFlags do * `opts` — per-request options (see `WorkOS.Client.request/5`) """ @spec list_user_feature_flags(WorkOS.Client.t(), String.t(), map(), keyword()) :: - {:ok, WorkOS.Page.t(WorkOS.FlagList.t())} | {:error, WorkOS.Error.error()} + {:ok, WorkOS.Page.t(WorkOS.Flag.t())} | {:error, WorkOS.Error.error()} def list_user_feature_flags(client, user_id, params \\ %{}, opts \\ []) do with {:ok, body} <- WorkOS.Client.request( @@ -218,7 +218,7 @@ defmodule WorkOS.FeatureFlags do ) end - {:ok, WorkOS.Page.from_map(body, "data", &WorkOS.FlagList.from_map/1, fetch_next)} + {:ok, WorkOS.Page.from_map(body, "data", &WorkOS.Flag.from_map/1, fetch_next)} end end end diff --git a/lib/workos/flag_list.ex b/lib/workos/flag_list.ex deleted file mode 100644 index 8081d7f..0000000 --- a/lib/workos/flag_list.ex +++ /dev/null @@ -1,44 +0,0 @@ -# This file is auto-generated by oagen. Do not edit. - -defmodule WorkOS.FlagList do - @moduledoc """ - FlagList model. - """ - - defstruct [ - :object, - :data, - :list_metadata - ] - - @type t :: %__MODULE__{ - object: String.t(), - data: [WorkOS.Flag.t()], - list_metadata: WorkOS.FlagListListMetadata.t() - } - - @doc false - @spec from_map(map()) :: t() - def from_map(map) when is_map(map) do - %__MODULE__{ - object: map["object"], - data: WorkOS.Cast.list(map["data"], &WorkOS.Flag.from_map/1), - list_metadata: - WorkOS.Cast.nested(map["list_metadata"], &WorkOS.FlagListListMetadata.from_map/1) - } - end - - @doc false - @spec to_map(t()) :: map() - def to_map(%__MODULE__{} = struct) do - WorkOS.Cast.drop_nils(%{ - "object" => struct.object, - "data" => - WorkOS.Cast.list(struct.data, fn item -> - WorkOS.Cast.dump_struct(item, &WorkOS.Flag.to_map/1) - end), - "list_metadata" => - WorkOS.Cast.dump_struct(struct.list_metadata, &WorkOS.FlagListListMetadata.to_map/1) - }) - end -end diff --git a/lib/workos/flag_list_list_metadata.ex b/lib/workos/flag_list_list_metadata.ex deleted file mode 100644 index 8ef9e3c..0000000 --- a/lib/workos/flag_list_list_metadata.ex +++ /dev/null @@ -1,35 +0,0 @@ -# This file is auto-generated by oagen. Do not edit. - -defmodule WorkOS.FlagListListMetadata do - @moduledoc """ - Pagination cursors for navigating between pages of results. - """ - - defstruct [ - :before, - :after_ - ] - - @type t :: %__MODULE__{ - before: String.t() | nil, - after_: String.t() | nil - } - - @doc false - @spec from_map(map()) :: t() - def from_map(map) when is_map(map) do - %__MODULE__{ - before: map["before"], - after_: map["after"] - } - end - - @doc false - @spec to_map(t()) :: map() - def to_map(%__MODULE__{} = struct) do - WorkOS.Cast.drop_nils(%{ - "before" => struct.before, - "after" => struct.after_ - }) - end -end diff --git a/lib/workos/group_list.ex b/lib/workos/group_list.ex deleted file mode 100644 index d65c3af..0000000 --- a/lib/workos/group_list.ex +++ /dev/null @@ -1,44 +0,0 @@ -# This file is auto-generated by oagen. Do not edit. - -defmodule WorkOS.GroupList do - @moduledoc """ - GroupList model. - """ - - defstruct [ - :object, - :data, - :list_metadata - ] - - @type t :: %__MODULE__{ - object: String.t(), - data: [WorkOS.Group.t()], - list_metadata: WorkOS.GroupListListMetadata.t() - } - - @doc false - @spec from_map(map()) :: t() - def from_map(map) when is_map(map) do - %__MODULE__{ - object: map["object"], - data: WorkOS.Cast.list(map["data"], &WorkOS.Group.from_map/1), - list_metadata: - WorkOS.Cast.nested(map["list_metadata"], &WorkOS.GroupListListMetadata.from_map/1) - } - end - - @doc false - @spec to_map(t()) :: map() - def to_map(%__MODULE__{} = struct) do - WorkOS.Cast.drop_nils(%{ - "object" => struct.object, - "data" => - WorkOS.Cast.list(struct.data, fn item -> - WorkOS.Cast.dump_struct(item, &WorkOS.Group.to_map/1) - end), - "list_metadata" => - WorkOS.Cast.dump_struct(struct.list_metadata, &WorkOS.GroupListListMetadata.to_map/1) - }) - end -end diff --git a/lib/workos/group_list_list_metadata.ex b/lib/workos/group_list_list_metadata.ex deleted file mode 100644 index 011a5b3..0000000 --- a/lib/workos/group_list_list_metadata.ex +++ /dev/null @@ -1,35 +0,0 @@ -# This file is auto-generated by oagen. Do not edit. - -defmodule WorkOS.GroupListListMetadata do - @moduledoc """ - Pagination cursors for navigating between pages of results. - """ - - defstruct [ - :before, - :after_ - ] - - @type t :: %__MODULE__{ - before: String.t() | nil, - after_: String.t() | nil - } - - @doc false - @spec from_map(map()) :: t() - def from_map(map) when is_map(map) do - %__MODULE__{ - before: map["before"], - after_: map["after"] - } - end - - @doc false - @spec to_map(t()) :: map() - def to_map(%__MODULE__{} = struct) do - WorkOS.Cast.drop_nils(%{ - "before" => struct.before, - "after" => struct.after_ - }) - end -end diff --git a/lib/workos/groups.ex b/lib/workos/groups.ex index b1fb776..5688667 100644 --- a/lib/workos/groups.ex +++ b/lib/workos/groups.ex @@ -17,7 +17,7 @@ defmodule WorkOS.Groups do * `opts` — per-request options (see `WorkOS.Client.request/5`) """ @spec list_organization_groups(WorkOS.Client.t(), String.t(), map(), keyword()) :: - {:ok, WorkOS.Page.t(WorkOS.GroupList.t())} | {:error, WorkOS.Error.error()} + {:ok, WorkOS.Page.t(WorkOS.Group.t())} | {:error, WorkOS.Error.error()} def list_organization_groups(client, organization_id, params \\ %{}, opts \\ []) do with {:ok, body} <- WorkOS.Client.request( @@ -36,7 +36,7 @@ defmodule WorkOS.Groups do ) end - {:ok, WorkOS.Page.from_map(body, "data", &WorkOS.GroupList.from_map/1, fetch_next)} + {:ok, WorkOS.Page.from_map(body, "data", &WorkOS.Group.from_map/1, fetch_next)} end end @@ -161,7 +161,7 @@ defmodule WorkOS.Groups do map(), keyword() ) :: - {:ok, WorkOS.Page.t(WorkOS.UserOrganizationMembershipBaseList.t())} + {:ok, WorkOS.Page.t(WorkOS.UserOrganizationMembershipBaseListData.t())} | {:error, WorkOS.Error.error()} def list_group_organization_memberships( client, @@ -192,7 +192,7 @@ defmodule WorkOS.Groups do WorkOS.Page.from_map( body, "data", - &WorkOS.UserOrganizationMembershipBaseList.from_map/1, + &WorkOS.UserOrganizationMembershipBaseListData.from_map/1, fetch_next )} end diff --git a/lib/workos/multi_factor_auth.ex b/lib/workos/multi_factor_auth.ex index 61fbd08..e9a6d7c 100644 --- a/lib/workos/multi_factor_auth.ex +++ b/lib/workos/multi_factor_auth.ex @@ -134,8 +134,7 @@ defmodule WorkOS.MultiFactorAuth do * `opts` — per-request options (see `WorkOS.Client.request/5`) """ @spec list_user_auth_factors(WorkOS.Client.t(), String.t(), map(), keyword()) :: - {:ok, WorkOS.Page.t(WorkOS.UserAuthenticationFactorList.t())} - | {:error, WorkOS.Error.error()} + {:ok, WorkOS.Page.t(WorkOS.AuthenticationFactor.t())} | {:error, WorkOS.Error.error()} def list_user_auth_factors(client, userland_user_id, params \\ %{}, opts \\ []) do with {:ok, body} <- WorkOS.Client.request( @@ -155,12 +154,7 @@ defmodule WorkOS.MultiFactorAuth do end {:ok, - WorkOS.Page.from_map( - body, - "data", - &WorkOS.UserAuthenticationFactorList.from_map/1, - fetch_next - )} + WorkOS.Page.from_map(body, "data", &WorkOS.AuthenticationFactor.from_map/1, fetch_next)} end end diff --git a/lib/workos/object_list_response.ex b/lib/workos/object_list_response.ex deleted file mode 100644 index 802b791..0000000 --- a/lib/workos/object_list_response.ex +++ /dev/null @@ -1,39 +0,0 @@ -# This file is auto-generated by oagen. Do not edit. - -defmodule WorkOS.ObjectListResponse do - @moduledoc """ - ObjectListResponse model. - """ - - defstruct [ - :data, - :list_metadata - ] - - @type t :: %__MODULE__{ - data: [WorkOS.ObjectSummary.t()], - list_metadata: WorkOS.ListMetadata.t() - } - - @doc false - @spec from_map(map()) :: t() - def from_map(map) when is_map(map) do - %__MODULE__{ - data: WorkOS.Cast.list(map["data"], &WorkOS.ObjectSummary.from_map/1), - list_metadata: WorkOS.Cast.nested(map["list_metadata"], &WorkOS.ListMetadata.from_map/1) - } - end - - @doc false - @spec to_map(t()) :: map() - def to_map(%__MODULE__{} = struct) do - WorkOS.Cast.drop_nils(%{ - "data" => - WorkOS.Cast.list(struct.data, fn item -> - WorkOS.Cast.dump_struct(item, &WorkOS.ObjectSummary.to_map/1) - end), - "list_metadata" => - WorkOS.Cast.dump_struct(struct.list_metadata, &WorkOS.ListMetadata.to_map/1) - }) - end -end diff --git a/lib/workos/organization_api_key_list.ex b/lib/workos/organization_api_key_list.ex deleted file mode 100644 index 9367f62..0000000 --- a/lib/workos/organization_api_key_list.ex +++ /dev/null @@ -1,50 +0,0 @@ -# This file is auto-generated by oagen. Do not edit. - -defmodule WorkOS.OrganizationApiKeyList do - @moduledoc """ - OrganizationApiKeyList model. - """ - - defstruct [ - :object, - :data, - :list_metadata - ] - - @type t :: %__MODULE__{ - object: String.t(), - data: [WorkOS.OrganizationApiKey.t()], - list_metadata: WorkOS.OrganizationApiKeyListListMetadata.t() - } - - @doc false - @spec from_map(map()) :: t() - def from_map(map) when is_map(map) do - %__MODULE__{ - object: map["object"], - data: WorkOS.Cast.list(map["data"], &WorkOS.OrganizationApiKey.from_map/1), - list_metadata: - WorkOS.Cast.nested( - map["list_metadata"], - &WorkOS.OrganizationApiKeyListListMetadata.from_map/1 - ) - } - end - - @doc false - @spec to_map(t()) :: map() - def to_map(%__MODULE__{} = struct) do - WorkOS.Cast.drop_nils(%{ - "object" => struct.object, - "data" => - WorkOS.Cast.list(struct.data, fn item -> - WorkOS.Cast.dump_struct(item, &WorkOS.OrganizationApiKey.to_map/1) - end), - "list_metadata" => - WorkOS.Cast.dump_struct( - struct.list_metadata, - &WorkOS.OrganizationApiKeyListListMetadata.to_map/1 - ) - }) - end -end diff --git a/lib/workos/organization_api_key_list_list_metadata.ex b/lib/workos/organization_api_key_list_list_metadata.ex deleted file mode 100644 index f53a8d3..0000000 --- a/lib/workos/organization_api_key_list_list_metadata.ex +++ /dev/null @@ -1,35 +0,0 @@ -# This file is auto-generated by oagen. Do not edit. - -defmodule WorkOS.OrganizationApiKeyListListMetadata do - @moduledoc """ - Pagination cursors for navigating between pages of results. - """ - - defstruct [ - :before, - :after_ - ] - - @type t :: %__MODULE__{ - before: String.t() | nil, - after_: String.t() | nil - } - - @doc false - @spec from_map(map()) :: t() - def from_map(map) when is_map(map) do - %__MODULE__{ - before: map["before"], - after_: map["after"] - } - end - - @doc false - @spec to_map(t()) :: map() - def to_map(%__MODULE__{} = struct) do - WorkOS.Cast.drop_nils(%{ - "before" => struct.before, - "after" => struct.after_ - }) - end -end diff --git a/lib/workos/organization_authorized_connect_application_list.ex b/lib/workos/organization_authorized_connect_application_list.ex deleted file mode 100644 index b477931..0000000 --- a/lib/workos/organization_authorized_connect_application_list.ex +++ /dev/null @@ -1,57 +0,0 @@ -# This file is auto-generated by oagen. Do not edit. - -defmodule WorkOS.OrganizationAuthorizedConnectApplicationList do - @moduledoc """ - OrganizationAuthorizedConnectApplicationList model. - """ - - defstruct [ - :object, - :data, - :list_metadata - ] - - @type t :: %__MODULE__{ - object: String.t(), - data: [WorkOS.OrganizationAuthorizedConnectApplicationListData.t()], - list_metadata: WorkOS.OrganizationAuthorizedConnectApplicationListListMetadata.t() - } - - @doc false - @spec from_map(map()) :: t() - def from_map(map) when is_map(map) do - %__MODULE__{ - object: map["object"], - data: - WorkOS.Cast.list( - map["data"], - &WorkOS.OrganizationAuthorizedConnectApplicationListData.from_map/1 - ), - list_metadata: - WorkOS.Cast.nested( - map["list_metadata"], - &WorkOS.OrganizationAuthorizedConnectApplicationListListMetadata.from_map/1 - ) - } - end - - @doc false - @spec to_map(t()) :: map() - def to_map(%__MODULE__{} = struct) do - WorkOS.Cast.drop_nils(%{ - "object" => struct.object, - "data" => - WorkOS.Cast.list(struct.data, fn item -> - WorkOS.Cast.dump_struct( - item, - &WorkOS.OrganizationAuthorizedConnectApplicationListData.to_map/1 - ) - end), - "list_metadata" => - WorkOS.Cast.dump_struct( - struct.list_metadata, - &WorkOS.OrganizationAuthorizedConnectApplicationListListMetadata.to_map/1 - ) - }) - end -end diff --git a/lib/workos/organization_authorized_connect_application_list_list_metadata.ex b/lib/workos/organization_authorized_connect_application_list_list_metadata.ex deleted file mode 100644 index 842f3a1..0000000 --- a/lib/workos/organization_authorized_connect_application_list_list_metadata.ex +++ /dev/null @@ -1,35 +0,0 @@ -# This file is auto-generated by oagen. Do not edit. - -defmodule WorkOS.OrganizationAuthorizedConnectApplicationListListMetadata do - @moduledoc """ - Pagination cursors for navigating between pages of results. - """ - - defstruct [ - :before, - :after_ - ] - - @type t :: %__MODULE__{ - before: String.t() | nil, - after_: String.t() | nil - } - - @doc false - @spec from_map(map()) :: t() - def from_map(map) when is_map(map) do - %__MODULE__{ - before: map["before"], - after_: map["after"] - } - end - - @doc false - @spec to_map(t()) :: map() - def to_map(%__MODULE__{} = struct) do - WorkOS.Cast.drop_nils(%{ - "before" => struct.before, - "after" => struct.after_ - }) - end -end diff --git a/lib/workos/organization_list.ex b/lib/workos/organization_list.ex deleted file mode 100644 index ecf5b31..0000000 --- a/lib/workos/organization_list.ex +++ /dev/null @@ -1,47 +0,0 @@ -# This file is auto-generated by oagen. Do not edit. - -defmodule WorkOS.OrganizationList do - @moduledoc """ - OrganizationList model. - """ - - defstruct [ - :object, - :data, - :list_metadata - ] - - @type t :: %__MODULE__{ - object: String.t(), - data: [WorkOS.Organization.t()], - list_metadata: WorkOS.OrganizationListListMetadata.t() - } - - @doc false - @spec from_map(map()) :: t() - def from_map(map) when is_map(map) do - %__MODULE__{ - object: map["object"], - data: WorkOS.Cast.list(map["data"], &WorkOS.Organization.from_map/1), - list_metadata: - WorkOS.Cast.nested(map["list_metadata"], &WorkOS.OrganizationListListMetadata.from_map/1) - } - end - - @doc false - @spec to_map(t()) :: map() - def to_map(%__MODULE__{} = struct) do - WorkOS.Cast.drop_nils(%{ - "object" => struct.object, - "data" => - WorkOS.Cast.list(struct.data, fn item -> - WorkOS.Cast.dump_struct(item, &WorkOS.Organization.to_map/1) - end), - "list_metadata" => - WorkOS.Cast.dump_struct( - struct.list_metadata, - &WorkOS.OrganizationListListMetadata.to_map/1 - ) - }) - end -end diff --git a/lib/workos/organization_list_list_metadata.ex b/lib/workos/organization_list_list_metadata.ex deleted file mode 100644 index eeb95b9..0000000 --- a/lib/workos/organization_list_list_metadata.ex +++ /dev/null @@ -1,35 +0,0 @@ -# This file is auto-generated by oagen. Do not edit. - -defmodule WorkOS.OrganizationListListMetadata do - @moduledoc """ - Pagination cursors for navigating between pages of results. - """ - - defstruct [ - :before, - :after_ - ] - - @type t :: %__MODULE__{ - before: String.t() | nil, - after_: String.t() | nil - } - - @doc false - @spec from_map(map()) :: t() - def from_map(map) when is_map(map) do - %__MODULE__{ - before: map["before"], - after_: map["after"] - } - end - - @doc false - @spec to_map(t()) :: map() - def to_map(%__MODULE__{} = struct) do - WorkOS.Cast.drop_nils(%{ - "before" => struct.before, - "after" => struct.after_ - }) - end -end diff --git a/lib/workos/organization_membership_service.ex b/lib/workos/organization_membership_service.ex index 0095e33..523fa9a 100644 --- a/lib/workos/organization_membership_service.ex +++ b/lib/workos/organization_membership_service.ex @@ -16,7 +16,7 @@ defmodule WorkOS.OrganizationMembershipService do * `opts` — per-request options (see `WorkOS.Client.request/5`) """ @spec list_organization_memberships(WorkOS.Client.t(), map(), keyword()) :: - {:ok, WorkOS.Page.t(WorkOS.UserOrganizationMembershipList.t())} + {:ok, WorkOS.Page.t(WorkOS.UserOrganizationMembership.t())} | {:error, WorkOS.Error.error()} def list_organization_memberships(client, params \\ %{}, opts \\ []) do with {:ok, body} <- @@ -39,7 +39,7 @@ defmodule WorkOS.OrganizationMembershipService do WorkOS.Page.from_map( body, "data", - &WorkOS.UserOrganizationMembershipList.from_map/1, + &WorkOS.UserOrganizationMembership.from_map/1, fetch_next )} end @@ -217,7 +217,7 @@ defmodule WorkOS.OrganizationMembershipService do * `opts` — per-request options (see `WorkOS.Client.request/5`) """ @spec list_organization_membership_groups(WorkOS.Client.t(), String.t(), map(), keyword()) :: - {:ok, WorkOS.Page.t(WorkOS.GroupList.t())} | {:error, WorkOS.Error.error()} + {:ok, WorkOS.Page.t(WorkOS.Group.t())} | {:error, WorkOS.Error.error()} def list_organization_membership_groups(client, om_id, params \\ %{}, opts \\ []) do with {:ok, body} <- WorkOS.Client.request( @@ -236,7 +236,7 @@ defmodule WorkOS.OrganizationMembershipService do ) end - {:ok, WorkOS.Page.from_map(body, "data", &WorkOS.GroupList.from_map/1, fetch_next)} + {:ok, WorkOS.Page.from_map(body, "data", &WorkOS.Group.from_map/1, fetch_next)} end end end diff --git a/lib/workos/organizations.ex b/lib/workos/organizations.ex index 1eee841..839f348 100644 --- a/lib/workos/organizations.ex +++ b/lib/workos/organizations.ex @@ -16,7 +16,7 @@ defmodule WorkOS.Organizations do * `opts` — per-request options (see `WorkOS.Client.request/5`) """ @spec list_organizations(WorkOS.Client.t(), map(), keyword()) :: - {:ok, WorkOS.Page.t(WorkOS.OrganizationList.t())} | {:error, WorkOS.Error.error()} + {:ok, WorkOS.Page.t(WorkOS.Organization.t())} | {:error, WorkOS.Error.error()} def list_organizations(client, params \\ %{}, opts \\ []) do with {:ok, body} <- WorkOS.Client.request(client, :get, "/organizations", params, opts) do fetch_next = fn cursor -> @@ -27,7 +27,7 @@ defmodule WorkOS.Organizations do ) end - {:ok, WorkOS.Page.from_map(body, "data", &WorkOS.OrganizationList.from_map/1, fetch_next)} + {:ok, WorkOS.Page.from_map(body, "data", &WorkOS.Organization.from_map/1, fetch_next)} end end @@ -184,7 +184,7 @@ defmodule WorkOS.Organizations do * `opts` — per-request options (see `WorkOS.Client.request/5`) """ @spec list_authorized_applications(WorkOS.Client.t(), String.t(), map(), keyword()) :: - {:ok, WorkOS.Page.t(WorkOS.OrganizationAuthorizedConnectApplicationList.t())} + {:ok, WorkOS.Page.t(WorkOS.OrganizationAuthorizedConnectApplicationListData.t())} | {:error, WorkOS.Error.error()} def list_authorized_applications(client, organization_id, params \\ %{}, opts \\ []) do with {:ok, body} <- @@ -208,7 +208,7 @@ defmodule WorkOS.Organizations do WorkOS.Page.from_map( body, "data", - &WorkOS.OrganizationAuthorizedConnectApplicationList.from_map/1, + &WorkOS.OrganizationAuthorizedConnectApplicationListData.from_map/1, fetch_next )} end diff --git a/lib/workos/pipes.ex b/lib/workos/pipes.ex index f952e2a..3ee97c4 100644 --- a/lib/workos/pipes.ex +++ b/lib/workos/pipes.ex @@ -16,7 +16,7 @@ defmodule WorkOS.Pipes do * `opts` — per-request options (see `WorkOS.Client.request/5`) """ @spec list_data_integrations(WorkOS.Client.t(), map(), keyword()) :: - {:ok, WorkOS.Page.t(WorkOS.DataIntegrationList.t())} | {:error, WorkOS.Error.error()} + {:ok, WorkOS.Page.t(WorkOS.DataIntegration.t())} | {:error, WorkOS.Error.error()} def list_data_integrations(client, params \\ %{}, opts \\ []) do with {:ok, body} <- WorkOS.Client.request(client, :get, "/data-integrations", params, opts) do fetch_next = fn cursor -> @@ -27,8 +27,7 @@ defmodule WorkOS.Pipes do ) end - {:ok, - WorkOS.Page.from_map(body, "data", &WorkOS.DataIntegrationList.from_map/1, fetch_next)} + {:ok, WorkOS.Page.from_map(body, "data", &WorkOS.DataIntegration.from_map/1, fetch_next)} end end diff --git a/lib/workos/sso.ex b/lib/workos/sso.ex index 8bb014f..f835a88 100644 --- a/lib/workos/sso.ex +++ b/lib/workos/sso.ex @@ -16,7 +16,7 @@ defmodule WorkOS.SSO do * `opts` — per-request options (see `WorkOS.Client.request/5`) """ @spec list_connections(WorkOS.Client.t(), map(), keyword()) :: - {:ok, WorkOS.Page.t(WorkOS.ConnectionList.t())} | {:error, WorkOS.Error.error()} + {:ok, WorkOS.Page.t(WorkOS.Connection.t())} | {:error, WorkOS.Error.error()} def list_connections(client, params \\ %{}, opts \\ []) do with {:ok, body} <- WorkOS.Client.request(client, :get, "/connections", params, opts) do fetch_next = fn cursor -> @@ -27,7 +27,7 @@ defmodule WorkOS.SSO do ) end - {:ok, WorkOS.Page.from_map(body, "data", &WorkOS.ConnectionList.from_map/1, fetch_next)} + {:ok, WorkOS.Page.from_map(body, "data", &WorkOS.Connection.from_map/1, fetch_next)} end end diff --git a/lib/workos/user_api_key_list.ex b/lib/workos/user_api_key_list.ex deleted file mode 100644 index 405d936..0000000 --- a/lib/workos/user_api_key_list.ex +++ /dev/null @@ -1,44 +0,0 @@ -# This file is auto-generated by oagen. Do not edit. - -defmodule WorkOS.UserApiKeyList do - @moduledoc """ - UserApiKeyList model. - """ - - defstruct [ - :object, - :data, - :list_metadata - ] - - @type t :: %__MODULE__{ - object: String.t(), - data: [WorkOS.UserApiKey.t()], - list_metadata: WorkOS.UserApiKeyListListMetadata.t() - } - - @doc false - @spec from_map(map()) :: t() - def from_map(map) when is_map(map) do - %__MODULE__{ - object: map["object"], - data: WorkOS.Cast.list(map["data"], &WorkOS.UserApiKey.from_map/1), - list_metadata: - WorkOS.Cast.nested(map["list_metadata"], &WorkOS.UserApiKeyListListMetadata.from_map/1) - } - end - - @doc false - @spec to_map(t()) :: map() - def to_map(%__MODULE__{} = struct) do - WorkOS.Cast.drop_nils(%{ - "object" => struct.object, - "data" => - WorkOS.Cast.list(struct.data, fn item -> - WorkOS.Cast.dump_struct(item, &WorkOS.UserApiKey.to_map/1) - end), - "list_metadata" => - WorkOS.Cast.dump_struct(struct.list_metadata, &WorkOS.UserApiKeyListListMetadata.to_map/1) - }) - end -end diff --git a/lib/workos/user_api_key_list_list_metadata.ex b/lib/workos/user_api_key_list_list_metadata.ex deleted file mode 100644 index ee8696a..0000000 --- a/lib/workos/user_api_key_list_list_metadata.ex +++ /dev/null @@ -1,35 +0,0 @@ -# This file is auto-generated by oagen. Do not edit. - -defmodule WorkOS.UserApiKeyListListMetadata do - @moduledoc """ - Pagination cursors for navigating between pages of results. - """ - - defstruct [ - :before, - :after_ - ] - - @type t :: %__MODULE__{ - before: String.t() | nil, - after_: String.t() | nil - } - - @doc false - @spec from_map(map()) :: t() - def from_map(map) when is_map(map) do - %__MODULE__{ - before: map["before"], - after_: map["after"] - } - end - - @doc false - @spec to_map(t()) :: map() - def to_map(%__MODULE__{} = struct) do - WorkOS.Cast.drop_nils(%{ - "before" => struct.before, - "after" => struct.after_ - }) - end -end diff --git a/lib/workos/user_authentication_factor_list.ex b/lib/workos/user_authentication_factor_list.ex deleted file mode 100644 index 36d534b..0000000 --- a/lib/workos/user_authentication_factor_list.ex +++ /dev/null @@ -1,50 +0,0 @@ -# This file is auto-generated by oagen. Do not edit. - -defmodule WorkOS.UserAuthenticationFactorList do - @moduledoc """ - UserAuthenticationFactorList model. - """ - - defstruct [ - :object, - :data, - :list_metadata - ] - - @type t :: %__MODULE__{ - object: String.t(), - data: [WorkOS.AuthenticationFactor.t()], - list_metadata: WorkOS.UserAuthenticationFactorListListMetadata.t() - } - - @doc false - @spec from_map(map()) :: t() - def from_map(map) when is_map(map) do - %__MODULE__{ - object: map["object"], - data: WorkOS.Cast.list(map["data"], &WorkOS.AuthenticationFactor.from_map/1), - list_metadata: - WorkOS.Cast.nested( - map["list_metadata"], - &WorkOS.UserAuthenticationFactorListListMetadata.from_map/1 - ) - } - end - - @doc false - @spec to_map(t()) :: map() - def to_map(%__MODULE__{} = struct) do - WorkOS.Cast.drop_nils(%{ - "object" => struct.object, - "data" => - WorkOS.Cast.list(struct.data, fn item -> - WorkOS.Cast.dump_struct(item, &WorkOS.AuthenticationFactor.to_map/1) - end), - "list_metadata" => - WorkOS.Cast.dump_struct( - struct.list_metadata, - &WorkOS.UserAuthenticationFactorListListMetadata.to_map/1 - ) - }) - end -end diff --git a/lib/workos/user_authentication_factor_list_list_metadata.ex b/lib/workos/user_authentication_factor_list_list_metadata.ex deleted file mode 100644 index 9f81a97..0000000 --- a/lib/workos/user_authentication_factor_list_list_metadata.ex +++ /dev/null @@ -1,35 +0,0 @@ -# This file is auto-generated by oagen. Do not edit. - -defmodule WorkOS.UserAuthenticationFactorListListMetadata do - @moduledoc """ - Pagination cursors for navigating between pages of results. - """ - - defstruct [ - :before, - :after_ - ] - - @type t :: %__MODULE__{ - before: String.t() | nil, - after_: String.t() | nil - } - - @doc false - @spec from_map(map()) :: t() - def from_map(map) when is_map(map) do - %__MODULE__{ - before: map["before"], - after_: map["after"] - } - end - - @doc false - @spec to_map(t()) :: map() - def to_map(%__MODULE__{} = struct) do - WorkOS.Cast.drop_nils(%{ - "before" => struct.before, - "after" => struct.after_ - }) - end -end diff --git a/lib/workos/user_invite_list.ex b/lib/workos/user_invite_list.ex deleted file mode 100644 index 3bae1f0..0000000 --- a/lib/workos/user_invite_list.ex +++ /dev/null @@ -1,44 +0,0 @@ -# This file is auto-generated by oagen. Do not edit. - -defmodule WorkOS.UserInviteList do - @moduledoc """ - UserInviteList model. - """ - - defstruct [ - :object, - :data, - :list_metadata - ] - - @type t :: %__MODULE__{ - object: String.t(), - data: [WorkOS.UserInvite.t()], - list_metadata: WorkOS.UserInviteListListMetadata.t() - } - - @doc false - @spec from_map(map()) :: t() - def from_map(map) when is_map(map) do - %__MODULE__{ - object: map["object"], - data: WorkOS.Cast.list(map["data"], &WorkOS.UserInvite.from_map/1), - list_metadata: - WorkOS.Cast.nested(map["list_metadata"], &WorkOS.UserInviteListListMetadata.from_map/1) - } - end - - @doc false - @spec to_map(t()) :: map() - def to_map(%__MODULE__{} = struct) do - WorkOS.Cast.drop_nils(%{ - "object" => struct.object, - "data" => - WorkOS.Cast.list(struct.data, fn item -> - WorkOS.Cast.dump_struct(item, &WorkOS.UserInvite.to_map/1) - end), - "list_metadata" => - WorkOS.Cast.dump_struct(struct.list_metadata, &WorkOS.UserInviteListListMetadata.to_map/1) - }) - end -end diff --git a/lib/workos/user_invite_list_list_metadata.ex b/lib/workos/user_invite_list_list_metadata.ex deleted file mode 100644 index 443b68c..0000000 --- a/lib/workos/user_invite_list_list_metadata.ex +++ /dev/null @@ -1,35 +0,0 @@ -# This file is auto-generated by oagen. Do not edit. - -defmodule WorkOS.UserInviteListListMetadata do - @moduledoc """ - Pagination cursors for navigating between pages of results. - """ - - defstruct [ - :before, - :after_ - ] - - @type t :: %__MODULE__{ - before: String.t() | nil, - after_: String.t() | nil - } - - @doc false - @spec from_map(map()) :: t() - def from_map(map) when is_map(map) do - %__MODULE__{ - before: map["before"], - after_: map["after"] - } - end - - @doc false - @spec to_map(t()) :: map() - def to_map(%__MODULE__{} = struct) do - WorkOS.Cast.drop_nils(%{ - "before" => struct.before, - "after" => struct.after_ - }) - end -end diff --git a/lib/workos/user_list.ex b/lib/workos/user_list.ex deleted file mode 100644 index 6007309..0000000 --- a/lib/workos/user_list.ex +++ /dev/null @@ -1,44 +0,0 @@ -# This file is auto-generated by oagen. Do not edit. - -defmodule WorkOS.UserList do - @moduledoc """ - UserList model. - """ - - defstruct [ - :object, - :data, - :list_metadata - ] - - @type t :: %__MODULE__{ - object: String.t(), - data: [WorkOS.User.t()], - list_metadata: WorkOS.UserListListMetadata.t() - } - - @doc false - @spec from_map(map()) :: t() - def from_map(map) when is_map(map) do - %__MODULE__{ - object: map["object"], - data: WorkOS.Cast.list(map["data"], &WorkOS.User.from_map/1), - list_metadata: - WorkOS.Cast.nested(map["list_metadata"], &WorkOS.UserListListMetadata.from_map/1) - } - end - - @doc false - @spec to_map(t()) :: map() - def to_map(%__MODULE__{} = struct) do - WorkOS.Cast.drop_nils(%{ - "object" => struct.object, - "data" => - WorkOS.Cast.list(struct.data, fn item -> - WorkOS.Cast.dump_struct(item, &WorkOS.User.to_map/1) - end), - "list_metadata" => - WorkOS.Cast.dump_struct(struct.list_metadata, &WorkOS.UserListListMetadata.to_map/1) - }) - end -end diff --git a/lib/workos/user_list_list_metadata.ex b/lib/workos/user_list_list_metadata.ex deleted file mode 100644 index e8e76d2..0000000 --- a/lib/workos/user_list_list_metadata.ex +++ /dev/null @@ -1,35 +0,0 @@ -# This file is auto-generated by oagen. Do not edit. - -defmodule WorkOS.UserListListMetadata do - @moduledoc """ - Pagination cursors for navigating between pages of results. - """ - - defstruct [ - :before, - :after_ - ] - - @type t :: %__MODULE__{ - before: String.t() | nil, - after_: String.t() | nil - } - - @doc false - @spec from_map(map()) :: t() - def from_map(map) when is_map(map) do - %__MODULE__{ - before: map["before"], - after_: map["after"] - } - end - - @doc false - @spec to_map(t()) :: map() - def to_map(%__MODULE__{} = struct) do - WorkOS.Cast.drop_nils(%{ - "before" => struct.before, - "after" => struct.after_ - }) - end -end diff --git a/lib/workos/user_management.ex b/lib/workos/user_management.ex index 85eed01..ced8ef7 100644 --- a/lib/workos/user_management.ex +++ b/lib/workos/user_management.ex @@ -622,7 +622,7 @@ defmodule WorkOS.UserManagement do * `opts` — per-request options (see `WorkOS.Client.request/5`) """ @spec list_users(WorkOS.Client.t(), map(), keyword()) :: - {:ok, WorkOS.Page.t(WorkOS.UserList.t())} | {:error, WorkOS.Error.error()} + {:ok, WorkOS.Page.t(WorkOS.User.t())} | {:error, WorkOS.Error.error()} def list_users(client, params \\ %{}, opts \\ []) do with {:ok, body} <- WorkOS.Client.request(client, :get, "/user_management/users", params, opts) do @@ -634,7 +634,7 @@ defmodule WorkOS.UserManagement do ) end - {:ok, WorkOS.Page.from_map(body, "data", &WorkOS.UserList.from_map/1, fetch_next)} + {:ok, WorkOS.Page.from_map(body, "data", &WorkOS.User.from_map/1, fetch_next)} end end @@ -930,7 +930,7 @@ defmodule WorkOS.UserManagement do * `opts` — per-request options (see `WorkOS.Client.request/5`) """ @spec list_invitations(WorkOS.Client.t(), map(), keyword()) :: - {:ok, WorkOS.Page.t(WorkOS.UserInviteList.t())} | {:error, WorkOS.Error.error()} + {:ok, WorkOS.Page.t(WorkOS.UserInvite.t())} | {:error, WorkOS.Error.error()} def list_invitations(client, params \\ %{}, opts \\ []) do with {:ok, body} <- WorkOS.Client.request(client, :get, "/user_management/invitations", params, opts) do @@ -942,7 +942,7 @@ defmodule WorkOS.UserManagement do ) end - {:ok, WorkOS.Page.from_map(body, "data", &WorkOS.UserInviteList.from_map/1, fetch_next)} + {:ok, WorkOS.Page.from_map(body, "data", &WorkOS.UserInvite.from_map/1, fetch_next)} end end @@ -1254,7 +1254,7 @@ defmodule WorkOS.UserManagement do * `opts` — per-request options (see `WorkOS.Client.request/5`) """ @spec list_user_authorized_applications(WorkOS.Client.t(), String.t(), map(), keyword()) :: - {:ok, WorkOS.Page.t(WorkOS.AuthorizedConnectApplicationList.t())} + {:ok, WorkOS.Page.t(WorkOS.AuthorizedConnectApplicationListData.t())} | {:error, WorkOS.Error.error()} def list_user_authorized_applications(client, user_id, params \\ %{}, opts \\ []) do with {:ok, body} <- @@ -1278,7 +1278,7 @@ defmodule WorkOS.UserManagement do WorkOS.Page.from_map( body, "data", - &WorkOS.AuthorizedConnectApplicationList.from_map/1, + &WorkOS.AuthorizedConnectApplicationListData.from_map/1, fetch_next )} end @@ -1319,7 +1319,7 @@ defmodule WorkOS.UserManagement do * `opts` — per-request options (see `WorkOS.Client.request/5`) """ @spec list_user_api_keys(WorkOS.Client.t(), String.t(), map(), keyword()) :: - {:ok, WorkOS.Page.t(WorkOS.UserApiKeyList.t())} | {:error, WorkOS.Error.error()} + {:ok, WorkOS.Page.t(WorkOS.UserApiKey.t())} | {:error, WorkOS.Error.error()} def list_user_api_keys(client, user_id, params \\ %{}, opts \\ []) do with {:ok, body} <- WorkOS.Client.request( @@ -1338,7 +1338,7 @@ defmodule WorkOS.UserManagement do ) end - {:ok, WorkOS.Page.from_map(body, "data", &WorkOS.UserApiKeyList.from_map/1, fetch_next)} + {:ok, WorkOS.Page.from_map(body, "data", &WorkOS.UserApiKey.from_map/1, fetch_next)} end end diff --git a/lib/workos/user_organization_membership_base_list.ex b/lib/workos/user_organization_membership_base_list.ex deleted file mode 100644 index 2f06156..0000000 --- a/lib/workos/user_organization_membership_base_list.ex +++ /dev/null @@ -1,51 +0,0 @@ -# This file is auto-generated by oagen. Do not edit. - -defmodule WorkOS.UserOrganizationMembershipBaseList do - @moduledoc """ - UserOrganizationMembershipBaseList model. - """ - - defstruct [ - :object, - :data, - :list_metadata - ] - - @type t :: %__MODULE__{ - object: String.t(), - data: [WorkOS.UserOrganizationMembershipBaseListData.t()], - list_metadata: WorkOS.UserOrganizationMembershipBaseListListMetadata.t() - } - - @doc false - @spec from_map(map()) :: t() - def from_map(map) when is_map(map) do - %__MODULE__{ - object: map["object"], - data: - WorkOS.Cast.list(map["data"], &WorkOS.UserOrganizationMembershipBaseListData.from_map/1), - list_metadata: - WorkOS.Cast.nested( - map["list_metadata"], - &WorkOS.UserOrganizationMembershipBaseListListMetadata.from_map/1 - ) - } - end - - @doc false - @spec to_map(t()) :: map() - def to_map(%__MODULE__{} = struct) do - WorkOS.Cast.drop_nils(%{ - "object" => struct.object, - "data" => - WorkOS.Cast.list(struct.data, fn item -> - WorkOS.Cast.dump_struct(item, &WorkOS.UserOrganizationMembershipBaseListData.to_map/1) - end), - "list_metadata" => - WorkOS.Cast.dump_struct( - struct.list_metadata, - &WorkOS.UserOrganizationMembershipBaseListListMetadata.to_map/1 - ) - }) - end -end diff --git a/lib/workos/user_organization_membership_base_list_list_metadata.ex b/lib/workos/user_organization_membership_base_list_list_metadata.ex deleted file mode 100644 index 0a6f64b..0000000 --- a/lib/workos/user_organization_membership_base_list_list_metadata.ex +++ /dev/null @@ -1,35 +0,0 @@ -# This file is auto-generated by oagen. Do not edit. - -defmodule WorkOS.UserOrganizationMembershipBaseListListMetadata do - @moduledoc """ - Pagination cursors for navigating between pages of results. - """ - - defstruct [ - :before, - :after_ - ] - - @type t :: %__MODULE__{ - before: String.t() | nil, - after_: String.t() | nil - } - - @doc false - @spec from_map(map()) :: t() - def from_map(map) when is_map(map) do - %__MODULE__{ - before: map["before"], - after_: map["after"] - } - end - - @doc false - @spec to_map(t()) :: map() - def to_map(%__MODULE__{} = struct) do - WorkOS.Cast.drop_nils(%{ - "before" => struct.before, - "after" => struct.after_ - }) - end -end diff --git a/lib/workos/user_organization_membership_list.ex b/lib/workos/user_organization_membership_list.ex deleted file mode 100644 index 146ce3a..0000000 --- a/lib/workos/user_organization_membership_list.ex +++ /dev/null @@ -1,50 +0,0 @@ -# This file is auto-generated by oagen. Do not edit. - -defmodule WorkOS.UserOrganizationMembershipList do - @moduledoc """ - UserOrganizationMembershipList model. - """ - - defstruct [ - :object, - :data, - :list_metadata - ] - - @type t :: %__MODULE__{ - object: String.t(), - data: [WorkOS.UserOrganizationMembership.t()], - list_metadata: WorkOS.UserOrganizationMembershipListListMetadata.t() - } - - @doc false - @spec from_map(map()) :: t() - def from_map(map) when is_map(map) do - %__MODULE__{ - object: map["object"], - data: WorkOS.Cast.list(map["data"], &WorkOS.UserOrganizationMembership.from_map/1), - list_metadata: - WorkOS.Cast.nested( - map["list_metadata"], - &WorkOS.UserOrganizationMembershipListListMetadata.from_map/1 - ) - } - end - - @doc false - @spec to_map(t()) :: map() - def to_map(%__MODULE__{} = struct) do - WorkOS.Cast.drop_nils(%{ - "object" => struct.object, - "data" => - WorkOS.Cast.list(struct.data, fn item -> - WorkOS.Cast.dump_struct(item, &WorkOS.UserOrganizationMembership.to_map/1) - end), - "list_metadata" => - WorkOS.Cast.dump_struct( - struct.list_metadata, - &WorkOS.UserOrganizationMembershipListListMetadata.to_map/1 - ) - }) - end -end diff --git a/lib/workos/user_organization_membership_list_list_metadata.ex b/lib/workos/user_organization_membership_list_list_metadata.ex deleted file mode 100644 index f5b6743..0000000 --- a/lib/workos/user_organization_membership_list_list_metadata.ex +++ /dev/null @@ -1,35 +0,0 @@ -# This file is auto-generated by oagen. Do not edit. - -defmodule WorkOS.UserOrganizationMembershipListListMetadata do - @moduledoc """ - Pagination cursors for navigating between pages of results. - """ - - defstruct [ - :before, - :after_ - ] - - @type t :: %__MODULE__{ - before: String.t() | nil, - after_: String.t() | nil - } - - @doc false - @spec from_map(map()) :: t() - def from_map(map) when is_map(map) do - %__MODULE__{ - before: map["before"], - after_: map["after"] - } - end - - @doc false - @spec to_map(t()) :: map() - def to_map(%__MODULE__{} = struct) do - WorkOS.Cast.drop_nils(%{ - "before" => struct.before, - "after" => struct.after_ - }) - end -end diff --git a/lib/workos/user_role_assignment_list.ex b/lib/workos/user_role_assignment_list.ex deleted file mode 100644 index d783c6d..0000000 --- a/lib/workos/user_role_assignment_list.ex +++ /dev/null @@ -1,50 +0,0 @@ -# This file is auto-generated by oagen. Do not edit. - -defmodule WorkOS.UserRoleAssignmentList do - @moduledoc """ - UserRoleAssignmentList model. - """ - - defstruct [ - :object, - :data, - :list_metadata - ] - - @type t :: %__MODULE__{ - object: String.t(), - data: [WorkOS.UserRoleAssignment.t()], - list_metadata: WorkOS.UserRoleAssignmentListListMetadata.t() - } - - @doc false - @spec from_map(map()) :: t() - def from_map(map) when is_map(map) do - %__MODULE__{ - object: map["object"], - data: WorkOS.Cast.list(map["data"], &WorkOS.UserRoleAssignment.from_map/1), - list_metadata: - WorkOS.Cast.nested( - map["list_metadata"], - &WorkOS.UserRoleAssignmentListListMetadata.from_map/1 - ) - } - end - - @doc false - @spec to_map(t()) :: map() - def to_map(%__MODULE__{} = struct) do - WorkOS.Cast.drop_nils(%{ - "object" => struct.object, - "data" => - WorkOS.Cast.list(struct.data, fn item -> - WorkOS.Cast.dump_struct(item, &WorkOS.UserRoleAssignment.to_map/1) - end), - "list_metadata" => - WorkOS.Cast.dump_struct( - struct.list_metadata, - &WorkOS.UserRoleAssignmentListListMetadata.to_map/1 - ) - }) - end -end diff --git a/lib/workos/user_role_assignment_list_list_metadata.ex b/lib/workos/user_role_assignment_list_list_metadata.ex deleted file mode 100644 index 0135849..0000000 --- a/lib/workos/user_role_assignment_list_list_metadata.ex +++ /dev/null @@ -1,35 +0,0 @@ -# This file is auto-generated by oagen. Do not edit. - -defmodule WorkOS.UserRoleAssignmentListListMetadata do - @moduledoc """ - Pagination cursors for navigating between pages of results. - """ - - defstruct [ - :before, - :after_ - ] - - @type t :: %__MODULE__{ - before: String.t() | nil, - after_: String.t() | nil - } - - @doc false - @spec from_map(map()) :: t() - def from_map(map) when is_map(map) do - %__MODULE__{ - before: map["before"], - after_: map["after"] - } - end - - @doc false - @spec to_map(t()) :: map() - def to_map(%__MODULE__{} = struct) do - WorkOS.Cast.drop_nils(%{ - "before" => struct.before, - "after" => struct.after_ - }) - end -end diff --git a/lib/workos/vault.ex b/lib/workos/vault.ex index 3070245..a53f536 100644 --- a/lib/workos/vault.ex +++ b/lib/workos/vault.ex @@ -72,7 +72,7 @@ defmodule WorkOS.Vault do * `opts` — per-request options (see `WorkOS.Client.request/5`) """ @spec list_kv(WorkOS.Client.t(), map(), keyword()) :: - {:ok, WorkOS.Page.t(WorkOS.ObjectListResponse.t())} | {:error, WorkOS.Error.error()} + {:ok, WorkOS.Page.t(WorkOS.ObjectSummary.t())} | {:error, WorkOS.Error.error()} def list_kv(client, params \\ %{}, opts \\ []) do with {:ok, body} <- WorkOS.Client.request(client, :get, "/vault/v1/kv", params, opts) do fetch_next = fn cursor -> @@ -83,7 +83,7 @@ defmodule WorkOS.Vault do ) end - {:ok, WorkOS.Page.from_map(body, "data", &WorkOS.ObjectListResponse.from_map/1, fetch_next)} + {:ok, WorkOS.Page.from_map(body, "data", &WorkOS.ObjectSummary.from_map/1, fetch_next)} end end diff --git a/lib/workos/webhook_endpoint_list.ex b/lib/workos/webhook_endpoint_list.ex deleted file mode 100644 index da1696b..0000000 --- a/lib/workos/webhook_endpoint_list.ex +++ /dev/null @@ -1,50 +0,0 @@ -# This file is auto-generated by oagen. Do not edit. - -defmodule WorkOS.WebhookEndpointList do - @moduledoc """ - WebhookEndpointList model. - """ - - defstruct [ - :object, - :data, - :list_metadata - ] - - @type t :: %__MODULE__{ - object: String.t(), - data: [WorkOS.WebhookEndpoint.t()], - list_metadata: WorkOS.WebhookEndpointListListMetadata.t() - } - - @doc false - @spec from_map(map()) :: t() - def from_map(map) when is_map(map) do - %__MODULE__{ - object: map["object"], - data: WorkOS.Cast.list(map["data"], &WorkOS.WebhookEndpoint.from_map/1), - list_metadata: - WorkOS.Cast.nested( - map["list_metadata"], - &WorkOS.WebhookEndpointListListMetadata.from_map/1 - ) - } - end - - @doc false - @spec to_map(t()) :: map() - def to_map(%__MODULE__{} = struct) do - WorkOS.Cast.drop_nils(%{ - "object" => struct.object, - "data" => - WorkOS.Cast.list(struct.data, fn item -> - WorkOS.Cast.dump_struct(item, &WorkOS.WebhookEndpoint.to_map/1) - end), - "list_metadata" => - WorkOS.Cast.dump_struct( - struct.list_metadata, - &WorkOS.WebhookEndpointListListMetadata.to_map/1 - ) - }) - end -end diff --git a/lib/workos/webhook_endpoint_list_list_metadata.ex b/lib/workos/webhook_endpoint_list_list_metadata.ex deleted file mode 100644 index 959b636..0000000 --- a/lib/workos/webhook_endpoint_list_list_metadata.ex +++ /dev/null @@ -1,35 +0,0 @@ -# This file is auto-generated by oagen. Do not edit. - -defmodule WorkOS.WebhookEndpointListListMetadata do - @moduledoc """ - Pagination cursors for navigating between pages of results. - """ - - defstruct [ - :before, - :after_ - ] - - @type t :: %__MODULE__{ - before: String.t() | nil, - after_: String.t() | nil - } - - @doc false - @spec from_map(map()) :: t() - def from_map(map) when is_map(map) do - %__MODULE__{ - before: map["before"], - after_: map["after"] - } - end - - @doc false - @spec to_map(t()) :: map() - def to_map(%__MODULE__{} = struct) do - WorkOS.Cast.drop_nils(%{ - "before" => struct.before, - "after" => struct.after_ - }) - end -end diff --git a/lib/workos/webhooks.ex b/lib/workos/webhooks.ex index 65f8a3f..b01d85a 100644 --- a/lib/workos/webhooks.ex +++ b/lib/workos/webhooks.ex @@ -16,7 +16,7 @@ defmodule WorkOS.Webhooks do * `opts` — per-request options (see `WorkOS.Client.request/5`) """ @spec list_webhook_endpoints(WorkOS.Client.t(), map(), keyword()) :: - {:ok, WorkOS.Page.t(WorkOS.WebhookEndpointList.t())} | {:error, WorkOS.Error.error()} + {:ok, WorkOS.Page.t(WorkOS.WebhookEndpoint.t())} | {:error, WorkOS.Error.error()} def list_webhook_endpoints(client, params \\ %{}, opts \\ []) do with {:ok, body} <- WorkOS.Client.request(client, :get, "/webhook_endpoints", params, opts) do fetch_next = fn cursor -> @@ -27,8 +27,7 @@ defmodule WorkOS.Webhooks do ) end - {:ok, - WorkOS.Page.from_map(body, "data", &WorkOS.WebhookEndpointList.from_map/1, fetch_next)} + {:ok, WorkOS.Page.from_map(body, "data", &WorkOS.WebhookEndpoint.from_map/1, fetch_next)} end end diff --git a/test/support/fixtures/api_keys/list_organization_api_keys.json b/test/support/fixtures/api_keys/list_organization_api_keys.json index 9bba8c5..1d85f56 100644 --- a/test/support/fixtures/api_keys/list_organization_api_keys.json +++ b/test/support/fixtures/api_keys/list_organization_api_keys.json @@ -1,30 +1,21 @@ { "data": [ { - "object": "list", - "data": [ - { - "object": "api_key", - "id": "id", - "owner": { - "type": "organization", - "id": "id" - }, - "name": "name", - "obfuscated_value": "obfuscated_value", - "last_used_at": "2024-01-01T00:00:00.000Z", - "expires_at": "2024-01-01T00:00:00.000Z", - "permissions": [ - "permissions" - ], - "created_at": "2024-01-01T00:00:00.000Z", - "updated_at": "2024-01-01T00:00:00.000Z" - } + "object": "api_key", + "id": "id", + "owner": { + "type": "organization", + "id": "id" + }, + "name": "name", + "obfuscated_value": "obfuscated_value", + "last_used_at": "2024-01-01T00:00:00.000Z", + "expires_at": "2024-01-01T00:00:00.000Z", + "permissions": [ + "permissions" ], - "list_metadata": { - "before": "before", - "after": "after" - } + "created_at": "2024-01-01T00:00:00.000Z", + "updated_at": "2024-01-01T00:00:00.000Z" } ], "list_metadata": { diff --git a/test/support/fixtures/authorization/list_effective_permissions.json b/test/support/fixtures/authorization/list_effective_permissions.json index 00717f0..c7b1736 100644 --- a/test/support/fixtures/authorization/list_effective_permissions.json +++ b/test/support/fixtures/authorization/list_effective_permissions.json @@ -1,24 +1,15 @@ { "data": [ { - "object": "list", - "data": [ - { - "object": "permission", - "id": "id", - "slug": "slug", - "name": "name", - "description": "description", - "system": true, - "resource_type_slug": "resource_type_slug", - "created_at": "2024-01-01T00:00:00.000Z", - "updated_at": "2024-01-01T00:00:00.000Z" - } - ], - "list_metadata": { - "before": "before", - "after": "after" - } + "object": "permission", + "id": "id", + "slug": "slug", + "name": "name", + "description": "description", + "system": true, + "resource_type_slug": "resource_type_slug", + "created_at": "2024-01-01T00:00:00.000Z", + "updated_at": "2024-01-01T00:00:00.000Z" } ], "list_metadata": { diff --git a/test/support/fixtures/authorization/list_effective_permissions_by_external_id.json b/test/support/fixtures/authorization/list_effective_permissions_by_external_id.json index 00717f0..c7b1736 100644 --- a/test/support/fixtures/authorization/list_effective_permissions_by_external_id.json +++ b/test/support/fixtures/authorization/list_effective_permissions_by_external_id.json @@ -1,24 +1,15 @@ { "data": [ { - "object": "list", - "data": [ - { - "object": "permission", - "id": "id", - "slug": "slug", - "name": "name", - "description": "description", - "system": true, - "resource_type_slug": "resource_type_slug", - "created_at": "2024-01-01T00:00:00.000Z", - "updated_at": "2024-01-01T00:00:00.000Z" - } - ], - "list_metadata": { - "before": "before", - "after": "after" - } + "object": "permission", + "id": "id", + "slug": "slug", + "name": "name", + "description": "description", + "system": true, + "resource_type_slug": "resource_type_slug", + "created_at": "2024-01-01T00:00:00.000Z", + "updated_at": "2024-01-01T00:00:00.000Z" } ], "list_metadata": { diff --git a/test/support/fixtures/authorization/list_group_role_assignments.json b/test/support/fixtures/authorization/list_group_role_assignments.json index 1908760..b40b52f 100644 --- a/test/support/fixtures/authorization/list_group_role_assignments.json +++ b/test/support/fixtures/authorization/list_group_role_assignments.json @@ -1,28 +1,19 @@ { "data": [ { - "object": "list", - "data": [ - { - "object": "group_role_assignment", - "id": "id", - "group_id": "group_id", - "role": { - "slug": "slug" - }, - "resource": { - "id": "id", - "external_id": "external_id", - "resource_type_slug": "resource_type_slug" - }, - "created_at": "2024-01-01T00:00:00.000Z", - "updated_at": "2024-01-01T00:00:00.000Z" - } - ], - "list_metadata": { - "after": "after", - "before": "before" - } + "object": "group_role_assignment", + "id": "id", + "group_id": "group_id", + "role": { + "slug": "slug" + }, + "resource": { + "id": "id", + "external_id": "external_id", + "resource_type_slug": "resource_type_slug" + }, + "created_at": "2024-01-01T00:00:00.000Z", + "updated_at": "2024-01-01T00:00:00.000Z" } ], "list_metadata": { diff --git a/test/support/fixtures/authorization/list_memberships_for_resource.json b/test/support/fixtures/authorization/list_memberships_for_resource.json index b2b9587..b5e9f90 100644 --- a/test/support/fixtures/authorization/list_memberships_for_resource.json +++ b/test/support/fixtures/authorization/list_memberships_for_resource.json @@ -1,40 +1,31 @@ { "data": [ { - "object": "list", - "data": [ - { - "object": "organization_membership", - "id": "id", - "user_id": "user_id", - "organization_id": "organization_id", - "status": "active", - "directory_managed": true, - "organization_name": "organization_name", - "custom_attributes": {}, - "created_at": "2024-01-01T00:00:00.000Z", - "updated_at": "2024-01-01T00:00:00.000Z", - "user": { - "object": "user", - "id": "id", - "first_name": "first_name", - "last_name": "last_name", - "name": "name", - "profile_picture_url": "profile_picture_url", - "email": "email", - "email_verified": true, - "external_id": "external_id", - "metadata": {}, - "last_sign_in_at": "2024-01-01T00:00:00.000Z", - "locale": "locale", - "created_at": "2024-01-01T00:00:00.000Z", - "updated_at": "2024-01-01T00:00:00.000Z" - } - } - ], - "list_metadata": { - "before": "before", - "after": "after" + "object": "organization_membership", + "id": "id", + "user_id": "user_id", + "organization_id": "organization_id", + "status": "active", + "directory_managed": true, + "organization_name": "organization_name", + "custom_attributes": {}, + "created_at": "2024-01-01T00:00:00.000Z", + "updated_at": "2024-01-01T00:00:00.000Z", + "user": { + "object": "user", + "id": "id", + "first_name": "first_name", + "last_name": "last_name", + "name": "name", + "profile_picture_url": "profile_picture_url", + "email": "email", + "email_verified": true, + "external_id": "external_id", + "metadata": {}, + "last_sign_in_at": "2024-01-01T00:00:00.000Z", + "locale": "locale", + "created_at": "2024-01-01T00:00:00.000Z", + "updated_at": "2024-01-01T00:00:00.000Z" } } ], diff --git a/test/support/fixtures/authorization/list_memberships_for_resource_by_external_id.json b/test/support/fixtures/authorization/list_memberships_for_resource_by_external_id.json index b2b9587..b5e9f90 100644 --- a/test/support/fixtures/authorization/list_memberships_for_resource_by_external_id.json +++ b/test/support/fixtures/authorization/list_memberships_for_resource_by_external_id.json @@ -1,40 +1,31 @@ { "data": [ { - "object": "list", - "data": [ - { - "object": "organization_membership", - "id": "id", - "user_id": "user_id", - "organization_id": "organization_id", - "status": "active", - "directory_managed": true, - "organization_name": "organization_name", - "custom_attributes": {}, - "created_at": "2024-01-01T00:00:00.000Z", - "updated_at": "2024-01-01T00:00:00.000Z", - "user": { - "object": "user", - "id": "id", - "first_name": "first_name", - "last_name": "last_name", - "name": "name", - "profile_picture_url": "profile_picture_url", - "email": "email", - "email_verified": true, - "external_id": "external_id", - "metadata": {}, - "last_sign_in_at": "2024-01-01T00:00:00.000Z", - "locale": "locale", - "created_at": "2024-01-01T00:00:00.000Z", - "updated_at": "2024-01-01T00:00:00.000Z" - } - } - ], - "list_metadata": { - "before": "before", - "after": "after" + "object": "organization_membership", + "id": "id", + "user_id": "user_id", + "organization_id": "organization_id", + "status": "active", + "directory_managed": true, + "organization_name": "organization_name", + "custom_attributes": {}, + "created_at": "2024-01-01T00:00:00.000Z", + "updated_at": "2024-01-01T00:00:00.000Z", + "user": { + "object": "user", + "id": "id", + "first_name": "first_name", + "last_name": "last_name", + "name": "name", + "profile_picture_url": "profile_picture_url", + "email": "email", + "email_verified": true, + "external_id": "external_id", + "metadata": {}, + "last_sign_in_at": "2024-01-01T00:00:00.000Z", + "locale": "locale", + "created_at": "2024-01-01T00:00:00.000Z", + "updated_at": "2024-01-01T00:00:00.000Z" } } ], diff --git a/test/support/fixtures/authorization/list_permissions.json b/test/support/fixtures/authorization/list_permissions.json index 00717f0..c7b1736 100644 --- a/test/support/fixtures/authorization/list_permissions.json +++ b/test/support/fixtures/authorization/list_permissions.json @@ -1,24 +1,15 @@ { "data": [ { - "object": "list", - "data": [ - { - "object": "permission", - "id": "id", - "slug": "slug", - "name": "name", - "description": "description", - "system": true, - "resource_type_slug": "resource_type_slug", - "created_at": "2024-01-01T00:00:00.000Z", - "updated_at": "2024-01-01T00:00:00.000Z" - } - ], - "list_metadata": { - "before": "before", - "after": "after" - } + "object": "permission", + "id": "id", + "slug": "slug", + "name": "name", + "description": "description", + "system": true, + "resource_type_slug": "resource_type_slug", + "created_at": "2024-01-01T00:00:00.000Z", + "updated_at": "2024-01-01T00:00:00.000Z" } ], "list_metadata": { diff --git a/test/support/fixtures/authorization/list_resources.json b/test/support/fixtures/authorization/list_resources.json index 52fbb4c..5aae203 100644 --- a/test/support/fixtures/authorization/list_resources.json +++ b/test/support/fixtures/authorization/list_resources.json @@ -1,25 +1,16 @@ { "data": [ { - "object": "list", - "data": [ - { - "object": "authorization_resource", - "name": "name", - "description": "description", - "organization_id": "organization_id", - "parent_resource_id": "parent_resource_id", - "id": "id", - "external_id": "external_id", - "resource_type_slug": "resource_type_slug", - "created_at": "2024-01-01T00:00:00.000Z", - "updated_at": "2024-01-01T00:00:00.000Z" - } - ], - "list_metadata": { - "before": "before", - "after": "after" - } + "object": "authorization_resource", + "name": "name", + "description": "description", + "organization_id": "organization_id", + "parent_resource_id": "parent_resource_id", + "id": "id", + "external_id": "external_id", + "resource_type_slug": "resource_type_slug", + "created_at": "2024-01-01T00:00:00.000Z", + "updated_at": "2024-01-01T00:00:00.000Z" } ], "list_metadata": { diff --git a/test/support/fixtures/authorization/list_resources_for_membership.json b/test/support/fixtures/authorization/list_resources_for_membership.json index 52fbb4c..5aae203 100644 --- a/test/support/fixtures/authorization/list_resources_for_membership.json +++ b/test/support/fixtures/authorization/list_resources_for_membership.json @@ -1,25 +1,16 @@ { "data": [ { - "object": "list", - "data": [ - { - "object": "authorization_resource", - "name": "name", - "description": "description", - "organization_id": "organization_id", - "parent_resource_id": "parent_resource_id", - "id": "id", - "external_id": "external_id", - "resource_type_slug": "resource_type_slug", - "created_at": "2024-01-01T00:00:00.000Z", - "updated_at": "2024-01-01T00:00:00.000Z" - } - ], - "list_metadata": { - "before": "before", - "after": "after" - } + "object": "authorization_resource", + "name": "name", + "description": "description", + "organization_id": "organization_id", + "parent_resource_id": "parent_resource_id", + "id": "id", + "external_id": "external_id", + "resource_type_slug": "resource_type_slug", + "created_at": "2024-01-01T00:00:00.000Z", + "updated_at": "2024-01-01T00:00:00.000Z" } ], "list_metadata": { diff --git a/test/support/fixtures/authorization/list_role_assignments.json b/test/support/fixtures/authorization/list_role_assignments.json index 4b4eefc..7aa5aa7 100644 --- a/test/support/fixtures/authorization/list_role_assignments.json +++ b/test/support/fixtures/authorization/list_role_assignments.json @@ -1,32 +1,23 @@ { "data": [ { - "object": "list", - "data": [ - { - "object": "role_assignment", - "id": "id", - "organization_membership_id": "organization_membership_id", - "role": { - "slug": "slug" - }, - "resource": { - "id": "id", - "external_id": "external_id", - "resource_type_slug": "resource_type_slug" - }, - "source": { - "type": "direct", - "group_role_assignment_id": "group_role_assignment_id" - }, - "created_at": "2024-01-01T00:00:00.000Z", - "updated_at": "2024-01-01T00:00:00.000Z" - } - ], - "list_metadata": { - "before": "before", - "after": "after" - } + "object": "role_assignment", + "id": "id", + "organization_membership_id": "organization_membership_id", + "role": { + "slug": "slug" + }, + "resource": { + "id": "id", + "external_id": "external_id", + "resource_type_slug": "resource_type_slug" + }, + "source": { + "type": "direct", + "group_role_assignment_id": "group_role_assignment_id" + }, + "created_at": "2024-01-01T00:00:00.000Z", + "updated_at": "2024-01-01T00:00:00.000Z" } ], "list_metadata": { diff --git a/test/support/fixtures/authorization/list_role_assignments_for_resource.json b/test/support/fixtures/authorization/list_role_assignments_for_resource.json index 4b4eefc..7aa5aa7 100644 --- a/test/support/fixtures/authorization/list_role_assignments_for_resource.json +++ b/test/support/fixtures/authorization/list_role_assignments_for_resource.json @@ -1,32 +1,23 @@ { "data": [ { - "object": "list", - "data": [ - { - "object": "role_assignment", - "id": "id", - "organization_membership_id": "organization_membership_id", - "role": { - "slug": "slug" - }, - "resource": { - "id": "id", - "external_id": "external_id", - "resource_type_slug": "resource_type_slug" - }, - "source": { - "type": "direct", - "group_role_assignment_id": "group_role_assignment_id" - }, - "created_at": "2024-01-01T00:00:00.000Z", - "updated_at": "2024-01-01T00:00:00.000Z" - } - ], - "list_metadata": { - "before": "before", - "after": "after" - } + "object": "role_assignment", + "id": "id", + "organization_membership_id": "organization_membership_id", + "role": { + "slug": "slug" + }, + "resource": { + "id": "id", + "external_id": "external_id", + "resource_type_slug": "resource_type_slug" + }, + "source": { + "type": "direct", + "group_role_assignment_id": "group_role_assignment_id" + }, + "created_at": "2024-01-01T00:00:00.000Z", + "updated_at": "2024-01-01T00:00:00.000Z" } ], "list_metadata": { diff --git a/test/support/fixtures/authorization/list_role_assignments_for_resource_by_external_id.json b/test/support/fixtures/authorization/list_role_assignments_for_resource_by_external_id.json index 4b4eefc..7aa5aa7 100644 --- a/test/support/fixtures/authorization/list_role_assignments_for_resource_by_external_id.json +++ b/test/support/fixtures/authorization/list_role_assignments_for_resource_by_external_id.json @@ -1,32 +1,23 @@ { "data": [ { - "object": "list", - "data": [ - { - "object": "role_assignment", - "id": "id", - "organization_membership_id": "organization_membership_id", - "role": { - "slug": "slug" - }, - "resource": { - "id": "id", - "external_id": "external_id", - "resource_type_slug": "resource_type_slug" - }, - "source": { - "type": "direct", - "group_role_assignment_id": "group_role_assignment_id" - }, - "created_at": "2024-01-01T00:00:00.000Z", - "updated_at": "2024-01-01T00:00:00.000Z" - } - ], - "list_metadata": { - "before": "before", - "after": "after" - } + "object": "role_assignment", + "id": "id", + "organization_membership_id": "organization_membership_id", + "role": { + "slug": "slug" + }, + "resource": { + "id": "id", + "external_id": "external_id", + "resource_type_slug": "resource_type_slug" + }, + "source": { + "type": "direct", + "group_role_assignment_id": "group_role_assignment_id" + }, + "created_at": "2024-01-01T00:00:00.000Z", + "updated_at": "2024-01-01T00:00:00.000Z" } ], "list_metadata": { diff --git a/test/support/fixtures/connect/list_applications.json b/test/support/fixtures/connect/list_applications.json index e99676d..203dc96 100644 --- a/test/support/fixtures/connect/list_applications.json +++ b/test/support/fixtures/connect/list_applications.json @@ -1,25 +1,16 @@ { "data": [ { - "object": "list", - "data": [ - { - "object": "connect_application", - "id": "id", - "client_id": "client_id", - "description": "description", - "name": "name", - "scopes": [ - "scopes" - ], - "created_at": "2024-01-01T00:00:00.000Z", - "updated_at": "2024-01-01T00:00:00.000Z" - } + "object": "connect_application", + "id": "id", + "client_id": "client_id", + "description": "description", + "name": "name", + "scopes": [ + "scopes" ], - "list_metadata": { - "before": "before", - "after": "after" - } + "created_at": "2024-01-01T00:00:00.000Z", + "updated_at": "2024-01-01T00:00:00.000Z" } ], "list_metadata": { diff --git a/test/support/fixtures/directory_sync/list_directories.json b/test/support/fixtures/directory_sync/list_directories.json index cf1772f..15784fc 100644 --- a/test/support/fixtures/directory_sync/list_directories.json +++ b/test/support/fixtures/directory_sync/list_directories.json @@ -1,29 +1,23 @@ { "data": [ { - "object": "list", - "data": [ - { - "object": "directory", - "id": "id", - "organization_id": "organization_id", - "external_key": "external_key", - "type": "azure scim v2.0", - "state": "linked", - "name": "name", - "domain": "domain", - "metadata": { - "users": {}, - "groups": 1 - }, - "created_at": "2024-01-01T00:00:00.000Z", - "updated_at": "2024-01-01T00:00:00.000Z" - } - ], - "list_metadata": { - "before": "before", - "after": "after" - } + "object": "directory", + "id": "id", + "organization_id": "organization_id", + "external_key": "external_key", + "type": "azure scim v2.0", + "state": "linked", + "name": "name", + "domain": "domain", + "metadata": { + "users": { + "active": 1, + "inactive": 1 + }, + "groups": 1 + }, + "created_at": "2024-01-01T00:00:00.000Z", + "updated_at": "2024-01-01T00:00:00.000Z" } ], "list_metadata": { diff --git a/test/support/fixtures/directory_sync/list_groups.json b/test/support/fixtures/directory_sync/list_groups.json index 2b7a122..83c9d87 100644 --- a/test/support/fixtures/directory_sync/list_groups.json +++ b/test/support/fixtures/directory_sync/list_groups.json @@ -1,24 +1,15 @@ { "data": [ { - "object": "list", - "data": [ - { - "object": "directory_group", - "id": "id", - "idp_id": "idp_id", - "directory_id": "directory_id", - "organization_id": "organization_id", - "name": "name", - "raw_attributes": {}, - "created_at": "2024-01-01T00:00:00.000Z", - "updated_at": "2024-01-01T00:00:00.000Z" - } - ], - "list_metadata": { - "before": "before", - "after": "after" - } + "object": "directory_group", + "id": "id", + "idp_id": "idp_id", + "directory_id": "directory_id", + "organization_id": "organization_id", + "name": "name", + "raw_attributes": {}, + "created_at": "2024-01-01T00:00:00.000Z", + "updated_at": "2024-01-01T00:00:00.000Z" } ], "list_metadata": { diff --git a/test/support/fixtures/directory_sync/list_users.json b/test/support/fixtures/directory_sync/list_users.json index 1902ead..d369d87 100644 --- a/test/support/fixtures/directory_sync/list_users.json +++ b/test/support/fixtures/directory_sync/list_users.json @@ -1,43 +1,50 @@ { "data": [ { - "object": "list", - "data": [ + "object": "directory_user", + "id": "id", + "directory_id": "directory_id", + "organization_id": "organization_id", + "idp_id": "idp_id", + "email": "email", + "first_name": "first_name", + "last_name": "last_name", + "name": "name", + "emails": [ { - "object": "directory_user", + "primary": true, + "type": "type", + "value": "value" + } + ], + "job_title": "job_title", + "username": "username", + "state": "active", + "raw_attributes": {}, + "custom_attributes": {}, + "role": { + "slug": "slug" + }, + "roles": [ + { + "slug": "slug" + } + ], + "created_at": "2024-01-01T00:00:00.000Z", + "updated_at": "2024-01-01T00:00:00.000Z", + "groups": [ + { + "object": "directory_group", "id": "id", + "idp_id": "idp_id", "directory_id": "directory_id", "organization_id": "organization_id", - "idp_id": "idp_id", - "email": "email", - "first_name": "first_name", - "last_name": "last_name", "name": "name", - "emails": [ - {} - ], - "job_title": "job_title", - "username": "username", - "state": "active", "raw_attributes": {}, - "custom_attributes": {}, - "role": { - "slug": "slug" - }, - "roles": [ - {} - ], "created_at": "2024-01-01T00:00:00.000Z", - "updated_at": "2024-01-01T00:00:00.000Z", - "groups": [ - {} - ] + "updated_at": "2024-01-01T00:00:00.000Z" } - ], - "list_metadata": { - "before": "before", - "after": "after" - } + ] } ], "list_metadata": { diff --git a/test/support/fixtures/events/list_events.json b/test/support/fixtures/events/list_events.json index 4a5faba..6c05e64 100644 --- a/test/support/fixtures/events/list_events.json +++ b/test/support/fixtures/events/list_events.json @@ -1,20 +1,12 @@ { "data": [ { - "object": "list", - "data": [ - { - "object": "event", - "id": "id", - "event": "event", - "data": {}, - "created_at": "2024-01-01T00:00:00.000Z", - "context": {} - } - ], - "list_metadata": { - "after": "after" - } + "object": "event", + "id": "id", + "event": "event", + "data": {}, + "created_at": "2024-01-01T00:00:00.000Z", + "context": {} } ], "list_metadata": { diff --git a/test/support/fixtures/feature_flags/list_feature_flags.json b/test/support/fixtures/feature_flags/list_feature_flags.json index 14b5f92..e5a62b5 100644 --- a/test/support/fixtures/feature_flags/list_feature_flags.json +++ b/test/support/fixtures/feature_flags/list_feature_flags.json @@ -1,32 +1,23 @@ { "data": [ { - "object": "list", - "data": [ - { - "object": "feature_flag", - "id": "id", - "slug": "slug", - "name": "name", - "description": "description", - "owner": { - "email": "email", - "first_name": "first_name", - "last_name": "last_name" - }, - "tags": [ - "tags" - ], - "enabled": true, - "default_value": true, - "created_at": "2024-01-01T00:00:00.000Z", - "updated_at": "2024-01-01T00:00:00.000Z" - } + "object": "feature_flag", + "id": "id", + "slug": "slug", + "name": "name", + "description": "description", + "owner": { + "email": "email", + "first_name": "first_name", + "last_name": "last_name" + }, + "tags": [ + "tags" ], - "list_metadata": { - "before": "before", - "after": "after" - } + "enabled": true, + "default_value": true, + "created_at": "2024-01-01T00:00:00.000Z", + "updated_at": "2024-01-01T00:00:00.000Z" } ], "list_metadata": { diff --git a/test/support/fixtures/feature_flags/list_organization_feature_flags.json b/test/support/fixtures/feature_flags/list_organization_feature_flags.json index 14b5f92..e5a62b5 100644 --- a/test/support/fixtures/feature_flags/list_organization_feature_flags.json +++ b/test/support/fixtures/feature_flags/list_organization_feature_flags.json @@ -1,32 +1,23 @@ { "data": [ { - "object": "list", - "data": [ - { - "object": "feature_flag", - "id": "id", - "slug": "slug", - "name": "name", - "description": "description", - "owner": { - "email": "email", - "first_name": "first_name", - "last_name": "last_name" - }, - "tags": [ - "tags" - ], - "enabled": true, - "default_value": true, - "created_at": "2024-01-01T00:00:00.000Z", - "updated_at": "2024-01-01T00:00:00.000Z" - } + "object": "feature_flag", + "id": "id", + "slug": "slug", + "name": "name", + "description": "description", + "owner": { + "email": "email", + "first_name": "first_name", + "last_name": "last_name" + }, + "tags": [ + "tags" ], - "list_metadata": { - "before": "before", - "after": "after" - } + "enabled": true, + "default_value": true, + "created_at": "2024-01-01T00:00:00.000Z", + "updated_at": "2024-01-01T00:00:00.000Z" } ], "list_metadata": { diff --git a/test/support/fixtures/feature_flags/list_user_feature_flags.json b/test/support/fixtures/feature_flags/list_user_feature_flags.json index 14b5f92..e5a62b5 100644 --- a/test/support/fixtures/feature_flags/list_user_feature_flags.json +++ b/test/support/fixtures/feature_flags/list_user_feature_flags.json @@ -1,32 +1,23 @@ { "data": [ { - "object": "list", - "data": [ - { - "object": "feature_flag", - "id": "id", - "slug": "slug", - "name": "name", - "description": "description", - "owner": { - "email": "email", - "first_name": "first_name", - "last_name": "last_name" - }, - "tags": [ - "tags" - ], - "enabled": true, - "default_value": true, - "created_at": "2024-01-01T00:00:00.000Z", - "updated_at": "2024-01-01T00:00:00.000Z" - } + "object": "feature_flag", + "id": "id", + "slug": "slug", + "name": "name", + "description": "description", + "owner": { + "email": "email", + "first_name": "first_name", + "last_name": "last_name" + }, + "tags": [ + "tags" ], - "list_metadata": { - "before": "before", - "after": "after" - } + "enabled": true, + "default_value": true, + "created_at": "2024-01-01T00:00:00.000Z", + "updated_at": "2024-01-01T00:00:00.000Z" } ], "list_metadata": { diff --git a/test/support/fixtures/groups/list_group_organization_memberships.json b/test/support/fixtures/groups/list_group_organization_memberships.json index b2b9587..b5e9f90 100644 --- a/test/support/fixtures/groups/list_group_organization_memberships.json +++ b/test/support/fixtures/groups/list_group_organization_memberships.json @@ -1,40 +1,31 @@ { "data": [ { - "object": "list", - "data": [ - { - "object": "organization_membership", - "id": "id", - "user_id": "user_id", - "organization_id": "organization_id", - "status": "active", - "directory_managed": true, - "organization_name": "organization_name", - "custom_attributes": {}, - "created_at": "2024-01-01T00:00:00.000Z", - "updated_at": "2024-01-01T00:00:00.000Z", - "user": { - "object": "user", - "id": "id", - "first_name": "first_name", - "last_name": "last_name", - "name": "name", - "profile_picture_url": "profile_picture_url", - "email": "email", - "email_verified": true, - "external_id": "external_id", - "metadata": {}, - "last_sign_in_at": "2024-01-01T00:00:00.000Z", - "locale": "locale", - "created_at": "2024-01-01T00:00:00.000Z", - "updated_at": "2024-01-01T00:00:00.000Z" - } - } - ], - "list_metadata": { - "before": "before", - "after": "after" + "object": "organization_membership", + "id": "id", + "user_id": "user_id", + "organization_id": "organization_id", + "status": "active", + "directory_managed": true, + "organization_name": "organization_name", + "custom_attributes": {}, + "created_at": "2024-01-01T00:00:00.000Z", + "updated_at": "2024-01-01T00:00:00.000Z", + "user": { + "object": "user", + "id": "id", + "first_name": "first_name", + "last_name": "last_name", + "name": "name", + "profile_picture_url": "profile_picture_url", + "email": "email", + "email_verified": true, + "external_id": "external_id", + "metadata": {}, + "last_sign_in_at": "2024-01-01T00:00:00.000Z", + "locale": "locale", + "created_at": "2024-01-01T00:00:00.000Z", + "updated_at": "2024-01-01T00:00:00.000Z" } } ], diff --git a/test/support/fixtures/groups/list_organization_groups.json b/test/support/fixtures/groups/list_organization_groups.json index a39e2a7..b9abecd 100644 --- a/test/support/fixtures/groups/list_organization_groups.json +++ b/test/support/fixtures/groups/list_organization_groups.json @@ -1,22 +1,13 @@ { "data": [ { - "object": "list", - "data": [ - { - "object": "group", - "id": "id", - "organization_id": "organization_id", - "name": "name", - "description": "description", - "created_at": "2024-01-01T00:00:00.000Z", - "updated_at": "2024-01-01T00:00:00.000Z" - } - ], - "list_metadata": { - "before": "before", - "after": "after" - } + "object": "group", + "id": "id", + "organization_id": "organization_id", + "name": "name", + "description": "description", + "created_at": "2024-01-01T00:00:00.000Z", + "updated_at": "2024-01-01T00:00:00.000Z" } ], "list_metadata": { diff --git a/test/support/fixtures/multi_factor_auth/list_user_auth_factors.json b/test/support/fixtures/multi_factor_auth/list_user_auth_factors.json index e3c4886..8237742 100644 --- a/test/support/fixtures/multi_factor_auth/list_user_auth_factors.json +++ b/test/support/fixtures/multi_factor_auth/list_user_auth_factors.json @@ -1,28 +1,19 @@ { "data": [ { - "object": "list", - "data": [ - { - "object": "authentication_factor", - "id": "id", - "type": "generic_otp", - "user_id": "user_id", - "sms": { - "phone_number": "phone_number" - }, - "totp": { - "issuer": "issuer", - "user": "user" - }, - "created_at": "2024-01-01T00:00:00.000Z", - "updated_at": "2024-01-01T00:00:00.000Z" - } - ], - "list_metadata": { - "before": "before", - "after": "after" - } + "object": "authentication_factor", + "id": "id", + "type": "generic_otp", + "user_id": "user_id", + "sms": { + "phone_number": "phone_number" + }, + "totp": { + "issuer": "issuer", + "user": "user" + }, + "created_at": "2024-01-01T00:00:00.000Z", + "updated_at": "2024-01-01T00:00:00.000Z" } ], "list_metadata": { diff --git a/test/support/fixtures/organization_membership/list_organization_membership_groups.json b/test/support/fixtures/organization_membership/list_organization_membership_groups.json index a39e2a7..b9abecd 100644 --- a/test/support/fixtures/organization_membership/list_organization_membership_groups.json +++ b/test/support/fixtures/organization_membership/list_organization_membership_groups.json @@ -1,22 +1,13 @@ { "data": [ { - "object": "list", - "data": [ - { - "object": "group", - "id": "id", - "organization_id": "organization_id", - "name": "name", - "description": "description", - "created_at": "2024-01-01T00:00:00.000Z", - "updated_at": "2024-01-01T00:00:00.000Z" - } - ], - "list_metadata": { - "before": "before", - "after": "after" - } + "object": "group", + "id": "id", + "organization_id": "organization_id", + "name": "name", + "description": "description", + "created_at": "2024-01-01T00:00:00.000Z", + "updated_at": "2024-01-01T00:00:00.000Z" } ], "list_metadata": { diff --git a/test/support/fixtures/organization_membership/list_organization_memberships.json b/test/support/fixtures/organization_membership/list_organization_memberships.json index f511700..805e8d0 100644 --- a/test/support/fixtures/organization_membership/list_organization_memberships.json +++ b/test/support/fixtures/organization_membership/list_organization_memberships.json @@ -1,46 +1,39 @@ { "data": [ { - "object": "list", - "data": [ + "object": "organization_membership", + "id": "id", + "user_id": "user_id", + "organization_id": "organization_id", + "status": "active", + "directory_managed": true, + "organization_name": "organization_name", + "custom_attributes": {}, + "created_at": "2024-01-01T00:00:00.000Z", + "updated_at": "2024-01-01T00:00:00.000Z", + "role": { + "slug": "slug" + }, + "roles": [ { - "object": "organization_membership", - "id": "id", - "user_id": "user_id", - "organization_id": "organization_id", - "status": "active", - "directory_managed": true, - "organization_name": "organization_name", - "custom_attributes": {}, - "created_at": "2024-01-01T00:00:00.000Z", - "updated_at": "2024-01-01T00:00:00.000Z", - "role": { - "slug": "slug" - }, - "roles": [ - {} - ], - "user": { - "object": "user", - "id": "id", - "first_name": "first_name", - "last_name": "last_name", - "name": "name", - "profile_picture_url": "profile_picture_url", - "email": "email", - "email_verified": true, - "external_id": "external_id", - "metadata": {}, - "last_sign_in_at": "2024-01-01T00:00:00.000Z", - "locale": "locale", - "created_at": "2024-01-01T00:00:00.000Z", - "updated_at": "2024-01-01T00:00:00.000Z" - } + "slug": "slug" } ], - "list_metadata": { - "before": "before", - "after": "after" + "user": { + "object": "user", + "id": "id", + "first_name": "first_name", + "last_name": "last_name", + "name": "name", + "profile_picture_url": "profile_picture_url", + "email": "email", + "email_verified": true, + "external_id": "external_id", + "metadata": {}, + "last_sign_in_at": "2024-01-01T00:00:00.000Z", + "locale": "locale", + "created_at": "2024-01-01T00:00:00.000Z", + "updated_at": "2024-01-01T00:00:00.000Z" } } ], diff --git a/test/support/fixtures/organizations/list_authorized_applications.json b/test/support/fixtures/organizations/list_authorized_applications.json index 0a9615b..591077a 100644 --- a/test/support/fixtures/organizations/list_authorized_applications.json +++ b/test/support/fixtures/organizations/list_authorized_applications.json @@ -1,32 +1,25 @@ { "data": [ { - "object": "list", - "data": [ - { - "object": "authorized_connect_application", - "id": "id", - "granted_scopes": [ - "granted_scopes" - ], - "oauth_resource": "oauth_resource", - "application": { - "object": "connect_application", - "id": "id", - "client_id": "client_id", - "description": "description", - "name": "name", - "scopes": [], - "created_at": "2024-01-01T00:00:00.000Z", - "updated_at": "2024-01-01T00:00:00.000Z" - }, - "user_id": "user_id" - } + "object": "authorized_connect_application", + "id": "id", + "granted_scopes": [ + "granted_scopes" ], - "list_metadata": { - "before": "before", - "after": "after" - } + "oauth_resource": "oauth_resource", + "application": { + "object": "connect_application", + "id": "id", + "client_id": "client_id", + "description": "description", + "name": "name", + "scopes": [ + "scopes" + ], + "created_at": "2024-01-01T00:00:00.000Z", + "updated_at": "2024-01-01T00:00:00.000Z" + }, + "user_id": "user_id" } ], "list_metadata": { diff --git a/test/support/fixtures/organizations/list_organizations.json b/test/support/fixtures/organizations/list_organizations.json index bb5a196..43e6564 100644 --- a/test/support/fixtures/organizations/list_organizations.json +++ b/test/support/fixtures/organizations/list_organizations.json @@ -1,27 +1,29 @@ { "data": [ { - "object": "list", - "data": [ + "object": "organization", + "id": "id", + "name": "name", + "domains": [ { - "object": "organization", + "object": "organization_domain", "id": "id", - "name": "name", - "domains": [ - {} - ], - "metadata": {}, - "external_id": "external_id", - "stripe_customer_id": "stripe_customer_id", + "organization_id": "organization_id", + "domain": "domain", + "state": "failed", + "verification_prefix": "verification_prefix", + "verification_token": "verification_token", + "verification_strategy": "dns", "created_at": "2024-01-01T00:00:00.000Z", - "updated_at": "2024-01-01T00:00:00.000Z", - "allow_profiles_outside_organization": true + "updated_at": "2024-01-01T00:00:00.000Z" } ], - "list_metadata": { - "before": "before", - "after": "after" - } + "metadata": {}, + "external_id": "external_id", + "stripe_customer_id": "stripe_customer_id", + "created_at": "2024-01-01T00:00:00.000Z", + "updated_at": "2024-01-01T00:00:00.000Z", + "allow_profiles_outside_organization": true } ], "list_metadata": { diff --git a/test/support/fixtures/pipes/list_data_integrations.json b/test/support/fixtures/pipes/list_data_integrations.json index 902539f..af16ceb 100644 --- a/test/support/fixtures/pipes/list_data_integrations.json +++ b/test/support/fixtures/pipes/list_data_integrations.json @@ -1,56 +1,47 @@ { "data": [ { - "object": "list", - "data": [ - { - "object": "data_integration", - "id": "id", - "slug": "slug", - "integration_type": "integration_type", - "description": "description", - "enabled": true, - "state": "valid", - "scopes": [ - "scopes" - ], - "redirect_uri": "redirect_uri", - "auth_methods": [ - "oauth" - ], - "credentials": { - "type": "custom", - "client_id": "client_id", - "redacted_client_secret": "redacted_client_secret" - }, - "installation": { - "id": "id", - "user_id": "user_id", - "organization_id": "organization_id", - "api_key_last_4": "api_key_last_4" - }, - "config": {}, - "custom_provider": { - "name": "name", - "authorization_url": "authorization_url", - "token_url": "token_url", - "refresh_token_url": "refresh_token_url", - "pkce_enabled": true, - "request_scope_separator": "request_scope_separator", - "scopes_required": true, - "client_secret_required": true, - "additional_authorization_parameters": {}, - "token_body_content_type": "token_body_content_type", - "authenticate_via": "request_body" - }, - "created_at": "2024-01-01T00:00:00.000Z", - "updated_at": "2024-01-01T00:00:00.000Z" - } + "object": "data_integration", + "id": "id", + "slug": "slug", + "integration_type": "integration_type", + "description": "description", + "enabled": true, + "state": "valid", + "scopes": [ + "scopes" ], - "list_metadata": { - "before": "before", - "after": "after" - } + "redirect_uri": "redirect_uri", + "auth_methods": [ + "oauth" + ], + "credentials": { + "type": "custom", + "client_id": "client_id", + "redacted_client_secret": "redacted_client_secret" + }, + "installation": { + "id": "id", + "user_id": "user_id", + "organization_id": "organization_id", + "api_key_last_4": "api_key_last_4" + }, + "config": {}, + "custom_provider": { + "name": "name", + "authorization_url": "authorization_url", + "token_url": "token_url", + "refresh_token_url": "refresh_token_url", + "pkce_enabled": true, + "request_scope_separator": "request_scope_separator", + "scopes_required": true, + "client_secret_required": true, + "additional_authorization_parameters": {}, + "token_body_content_type": "token_body_content_type", + "authenticate_via": "request_body" + }, + "created_at": "2024-01-01T00:00:00.000Z", + "updated_at": "2024-01-01T00:00:00.000Z" } ], "list_metadata": { diff --git a/test/support/fixtures/sso/list_connections.json b/test/support/fixtures/sso/list_connections.json index 4ac2ed4..06ca557 100644 --- a/test/support/fixtures/sso/list_connections.json +++ b/test/support/fixtures/sso/list_connections.json @@ -1,27 +1,22 @@ { "data": [ { - "object": "list", - "data": [ + "object": "connection", + "id": "id", + "organization_id": "organization_id", + "connection_type": "Pending", + "name": "name", + "state": "requires_type", + "status": "linked", + "domains": [ { - "object": "connection", "id": "id", - "organization_id": "organization_id", - "connection_type": "Pending", - "name": "name", - "state": "requires_type", - "status": "linked", - "domains": [ - {} - ], - "created_at": "2024-01-01T00:00:00.000Z", - "updated_at": "2024-01-01T00:00:00.000Z" + "object": "connection_domain", + "domain": "domain" } ], - "list_metadata": { - "before": "before", - "after": "after" - } + "created_at": "2024-01-01T00:00:00.000Z", + "updated_at": "2024-01-01T00:00:00.000Z" } ], "list_metadata": { diff --git a/test/support/fixtures/user_management/list_invitations.json b/test/support/fixtures/user_management/list_invitations.json index 2939d5b..7961ec1 100644 --- a/test/support/fixtures/user_management/list_invitations.json +++ b/test/support/fixtures/user_management/list_invitations.json @@ -1,30 +1,21 @@ { "data": [ { - "object": "list", - "data": [ - { - "object": "invitation", - "id": "id", - "email": "email", - "state": "pending", - "accepted_at": "2024-01-01T00:00:00.000Z", - "revoked_at": "2024-01-01T00:00:00.000Z", - "expires_at": "2024-01-01T00:00:00.000Z", - "organization_id": "organization_id", - "inviter_user_id": "inviter_user_id", - "accepted_user_id": "accepted_user_id", - "role_slug": "role_slug", - "created_at": "2024-01-01T00:00:00.000Z", - "updated_at": "2024-01-01T00:00:00.000Z", - "token": "token", - "accept_invitation_url": "accept_invitation_url" - } - ], - "list_metadata": { - "before": "before", - "after": "after" - } + "object": "invitation", + "id": "id", + "email": "email", + "state": "pending", + "accepted_at": "2024-01-01T00:00:00.000Z", + "revoked_at": "2024-01-01T00:00:00.000Z", + "expires_at": "2024-01-01T00:00:00.000Z", + "organization_id": "organization_id", + "inviter_user_id": "inviter_user_id", + "accepted_user_id": "accepted_user_id", + "role_slug": "role_slug", + "created_at": "2024-01-01T00:00:00.000Z", + "updated_at": "2024-01-01T00:00:00.000Z", + "token": "token", + "accept_invitation_url": "accept_invitation_url" } ], "list_metadata": { diff --git a/test/support/fixtures/user_management/list_user_api_keys.json b/test/support/fixtures/user_management/list_user_api_keys.json index 1e93f72..71073d7 100644 --- a/test/support/fixtures/user_management/list_user_api_keys.json +++ b/test/support/fixtures/user_management/list_user_api_keys.json @@ -1,31 +1,22 @@ { "data": [ { - "object": "list", - "data": [ - { - "object": "api_key", - "id": "id", - "owner": { - "type": "user", - "id": "id", - "organization_id": "organization_id" - }, - "name": "name", - "obfuscated_value": "obfuscated_value", - "last_used_at": "2024-01-01T00:00:00.000Z", - "expires_at": "2024-01-01T00:00:00.000Z", - "permissions": [ - "permissions" - ], - "created_at": "2024-01-01T00:00:00.000Z", - "updated_at": "2024-01-01T00:00:00.000Z" - } + "object": "api_key", + "id": "id", + "owner": { + "type": "user", + "id": "id", + "organization_id": "organization_id" + }, + "name": "name", + "obfuscated_value": "obfuscated_value", + "last_used_at": "2024-01-01T00:00:00.000Z", + "expires_at": "2024-01-01T00:00:00.000Z", + "permissions": [ + "permissions" ], - "list_metadata": { - "before": "before", - "after": "after" - } + "created_at": "2024-01-01T00:00:00.000Z", + "updated_at": "2024-01-01T00:00:00.000Z" } ], "list_metadata": { diff --git a/test/support/fixtures/user_management/list_user_authorized_applications.json b/test/support/fixtures/user_management/list_user_authorized_applications.json index 72050f8..b44819c 100644 --- a/test/support/fixtures/user_management/list_user_authorized_applications.json +++ b/test/support/fixtures/user_management/list_user_authorized_applications.json @@ -1,30 +1,23 @@ { "data": [ { - "object": "list", - "data": [ - { - "object": "authorized_connect_application", - "id": "id", - "granted_scopes": [ - "granted_scopes" - ], - "oauth_resource": "oauth_resource", - "application": { - "object": "connect_application", - "id": "id", - "client_id": "client_id", - "description": "description", - "name": "name", - "scopes": [], - "created_at": "2024-01-01T00:00:00.000Z", - "updated_at": "2024-01-01T00:00:00.000Z" - } - } + "object": "authorized_connect_application", + "id": "id", + "granted_scopes": [ + "granted_scopes" ], - "list_metadata": { - "before": "before", - "after": "after" + "oauth_resource": "oauth_resource", + "application": { + "object": "connect_application", + "id": "id", + "client_id": "client_id", + "description": "description", + "name": "name", + "scopes": [ + "scopes" + ], + "created_at": "2024-01-01T00:00:00.000Z", + "updated_at": "2024-01-01T00:00:00.000Z" } } ], diff --git a/test/support/fixtures/user_management/list_users.json b/test/support/fixtures/user_management/list_users.json index eb72efc..88d7750 100644 --- a/test/support/fixtures/user_management/list_users.json +++ b/test/support/fixtures/user_management/list_users.json @@ -1,29 +1,20 @@ { "data": [ { - "object": "list", - "data": [ - { - "object": "user", - "id": "id", - "first_name": "first_name", - "last_name": "last_name", - "name": "name", - "profile_picture_url": "profile_picture_url", - "email": "email", - "email_verified": true, - "external_id": "external_id", - "metadata": {}, - "last_sign_in_at": "2024-01-01T00:00:00.000Z", - "locale": "locale", - "created_at": "2024-01-01T00:00:00.000Z", - "updated_at": "2024-01-01T00:00:00.000Z" - } - ], - "list_metadata": { - "before": "before", - "after": "after" - } + "object": "user", + "id": "id", + "first_name": "first_name", + "last_name": "last_name", + "name": "name", + "profile_picture_url": "profile_picture_url", + "email": "email", + "email_verified": true, + "external_id": "external_id", + "metadata": {}, + "last_sign_in_at": "2024-01-01T00:00:00.000Z", + "locale": "locale", + "created_at": "2024-01-01T00:00:00.000Z", + "updated_at": "2024-01-01T00:00:00.000Z" } ], "list_metadata": { diff --git a/test/support/fixtures/vault/list_kv.json b/test/support/fixtures/vault/list_kv.json index 2f083c3..058140a 100644 --- a/test/support/fixtures/vault/list_kv.json +++ b/test/support/fixtures/vault/list_kv.json @@ -1,17 +1,9 @@ { "data": [ { - "data": [ - { - "id": "id", - "name": "name", - "updated_at": "2024-01-01T00:00:00.000Z" - } - ], - "list_metadata": { - "after": "after", - "before": "before" - } + "id": "id", + "name": "name", + "updated_at": "2024-01-01T00:00:00.000Z" } ], "list_metadata": { diff --git a/test/support/fixtures/webhooks/list_webhook_endpoints.json b/test/support/fixtures/webhooks/list_webhook_endpoints.json index aac6168..78d0de0 100644 --- a/test/support/fixtures/webhooks/list_webhook_endpoints.json +++ b/test/support/fixtures/webhooks/list_webhook_endpoints.json @@ -1,25 +1,16 @@ { "data": [ { - "object": "list", - "data": [ - { - "object": "webhook_endpoint", - "id": "id", - "endpoint_url": "endpoint_url", - "secret": "secret", - "status": "enabled", - "events": [ - "events" - ], - "created_at": "2024-01-01T00:00:00.000Z", - "updated_at": "2024-01-01T00:00:00.000Z" - } + "object": "webhook_endpoint", + "id": "id", + "endpoint_url": "endpoint_url", + "secret": "secret", + "status": "enabled", + "events": [ + "events" ], - "list_metadata": { - "before": "before", - "after": "after" - } + "created_at": "2024-01-01T00:00:00.000Z", + "updated_at": "2024-01-01T00:00:00.000Z" } ], "list_metadata": { diff --git a/test/workos/api_keys_round_trip_test.exs b/test/workos/api_keys_round_trip_test.exs index 5516293..db43fd5 100644 --- a/test/workos/api_keys_round_trip_test.exs +++ b/test/workos/api_keys_round_trip_test.exs @@ -50,34 +50,28 @@ defmodule WorkOS.ApiKeysRoundTripTest do |> WorkOS.ApiKeyValidationResponse.to_map() == serialized end - test "OrganizationApiKeyList round-trips between wire and struct" do + test "OrganizationApiKey round-trips between wire and struct" do data = %{ - "object" => "list", - "data" => [ - %{ - "object" => "api_key", - "id" => "id", - "owner" => %{"type" => "organization", "id" => "id"}, - "name" => "name", - "obfuscated_value" => "obfuscated_value", - "last_used_at" => "2024-01-01T00:00:00.000Z", - "expires_at" => "2024-01-01T00:00:00.000Z", - "permissions" => ["permissions"], - "created_at" => "2024-01-01T00:00:00.000Z", - "updated_at" => "2024-01-01T00:00:00.000Z" - } - ], - "list_metadata" => %{"before" => "before", "after" => "after"} + "object" => "api_key", + "id" => "id", + "owner" => %{"type" => "organization", "id" => "id"}, + "name" => "name", + "obfuscated_value" => "obfuscated_value", + "last_used_at" => "2024-01-01T00:00:00.000Z", + "expires_at" => "2024-01-01T00:00:00.000Z", + "permissions" => ["permissions"], + "created_at" => "2024-01-01T00:00:00.000Z", + "updated_at" => "2024-01-01T00:00:00.000Z" } serialized = - data |> WorkOS.OrganizationApiKeyList.from_map() |> WorkOS.OrganizationApiKeyList.to_map() + data |> WorkOS.OrganizationApiKey.from_map() |> WorkOS.OrganizationApiKey.to_map() assert serialized == data assert serialized - |> WorkOS.OrganizationApiKeyList.from_map() - |> WorkOS.OrganizationApiKeyList.to_map() == serialized + |> WorkOS.OrganizationApiKey.from_map() + |> WorkOS.OrganizationApiKey.to_map() == serialized end test "OrganizationApiKeyWithValue round-trips between wire and struct" do diff --git a/test/workos/api_keys_test.exs b/test/workos/api_keys_test.exs index 3698c76..f593ac9 100644 --- a/test/workos/api_keys_test.exs +++ b/test/workos/api_keys_test.exs @@ -20,7 +20,8 @@ defmodule WorkOS.ApiKeysTest do Req.Test.json(conn, WorkOS.TestFixtures.fixture("api_keys/list_organization_api_keys")) end) - assert {:ok, %WorkOS.Page{data: [%WorkOS.OrganizationApiKeyList{object: "list"} | _]}} = + assert {:ok, + %WorkOS.Page{data: [%WorkOS.OrganizationApiKey{object: "api_key", id: "id"} | _]}} = WorkOS.ApiKeys.list_organization_api_keys(client, "test_organization_id") end diff --git a/test/workos/authorization_round_trip_test.exs b/test/workos/authorization_round_trip_test.exs index ec5b98f..46a6d05 100644 --- a/test/workos/authorization_round_trip_test.exs +++ b/test/workos/authorization_round_trip_test.exs @@ -39,37 +39,6 @@ defmodule WorkOS.AuthorizationRoundTripTest do |> WorkOS.AuthorizationPermission.to_map() == serialized end - test "AuthorizationPermissionList round-trips between wire and struct" do - data = %{ - "object" => "list", - "data" => [ - %{ - "object" => "permission", - "id" => "id", - "slug" => "slug", - "name" => "name", - "description" => "description", - "system" => true, - "resource_type_slug" => "resource_type_slug", - "created_at" => "2024-01-01T00:00:00.000Z", - "updated_at" => "2024-01-01T00:00:00.000Z" - } - ], - "list_metadata" => %{"before" => "before", "after" => "after"} - } - - serialized = - data - |> WorkOS.AuthorizationPermissionList.from_map() - |> WorkOS.AuthorizationPermissionList.to_map() - - assert serialized == data - - assert serialized - |> WorkOS.AuthorizationPermissionList.from_map() - |> WorkOS.AuthorizationPermissionList.to_map() == serialized - end - test "AuthorizationResource round-trips between wire and struct" do data = %{ "object" => "authorization_resource", @@ -94,38 +63,6 @@ defmodule WorkOS.AuthorizationRoundTripTest do |> WorkOS.AuthorizationResource.to_map() == serialized end - test "AuthorizationResourceList round-trips between wire and struct" do - data = %{ - "object" => "list", - "data" => [ - %{ - "object" => "authorization_resource", - "name" => "name", - "description" => "description", - "organization_id" => "organization_id", - "parent_resource_id" => "parent_resource_id", - "id" => "id", - "external_id" => "external_id", - "resource_type_slug" => "resource_type_slug", - "created_at" => "2024-01-01T00:00:00.000Z", - "updated_at" => "2024-01-01T00:00:00.000Z" - } - ], - "list_metadata" => %{"before" => "before", "after" => "after"} - } - - serialized = - data - |> WorkOS.AuthorizationResourceList.from_map() - |> WorkOS.AuthorizationResourceList.to_map() - - assert serialized == data - - assert serialized - |> WorkOS.AuthorizationResourceList.from_map() - |> WorkOS.AuthorizationResourceList.to_map() == serialized - end - test "GroupRoleAssignment round-trips between wire and struct" do data = %{ "object" => "group_role_assignment", @@ -246,52 +183,46 @@ defmodule WorkOS.AuthorizationRoundTripTest do assert serialized |> WorkOS.RoleList.from_map() |> WorkOS.RoleList.to_map() == serialized end - test "UserOrganizationMembershipBaseList round-trips between wire and struct" do + test "UserOrganizationMembershipBaseListData round-trips between wire and struct" do data = %{ - "object" => "list", - "data" => [ - %{ - "object" => "organization_membership", - "id" => "id", - "user_id" => "user_id", - "organization_id" => "organization_id", - "status" => "active", - "directory_managed" => true, - "organization_name" => "organization_name", - "custom_attributes" => %{}, - "created_at" => "2024-01-01T00:00:00.000Z", - "updated_at" => "2024-01-01T00:00:00.000Z", - "user" => %{ - "object" => "user", - "id" => "id", - "first_name" => "first_name", - "last_name" => "last_name", - "name" => "name", - "profile_picture_url" => "profile_picture_url", - "email" => "email", - "email_verified" => true, - "external_id" => "external_id", - "metadata" => %{}, - "last_sign_in_at" => "2024-01-01T00:00:00.000Z", - "locale" => "locale", - "created_at" => "2024-01-01T00:00:00.000Z", - "updated_at" => "2024-01-01T00:00:00.000Z" - } - } - ], - "list_metadata" => %{"before" => "before", "after" => "after"} + "object" => "organization_membership", + "id" => "id", + "user_id" => "user_id", + "organization_id" => "organization_id", + "status" => "active", + "directory_managed" => true, + "organization_name" => "organization_name", + "custom_attributes" => %{}, + "created_at" => "2024-01-01T00:00:00.000Z", + "updated_at" => "2024-01-01T00:00:00.000Z", + "user" => %{ + "object" => "user", + "id" => "id", + "first_name" => "first_name", + "last_name" => "last_name", + "name" => "name", + "profile_picture_url" => "profile_picture_url", + "email" => "email", + "email_verified" => true, + "external_id" => "external_id", + "metadata" => %{}, + "last_sign_in_at" => "2024-01-01T00:00:00.000Z", + "locale" => "locale", + "created_at" => "2024-01-01T00:00:00.000Z", + "updated_at" => "2024-01-01T00:00:00.000Z" + } } serialized = data - |> WorkOS.UserOrganizationMembershipBaseList.from_map() - |> WorkOS.UserOrganizationMembershipBaseList.to_map() + |> WorkOS.UserOrganizationMembershipBaseListData.from_map() + |> WorkOS.UserOrganizationMembershipBaseListData.to_map() assert serialized == data assert serialized - |> WorkOS.UserOrganizationMembershipBaseList.from_map() - |> WorkOS.UserOrganizationMembershipBaseList.to_map() == serialized + |> WorkOS.UserOrganizationMembershipBaseListData.from_map() + |> WorkOS.UserOrganizationMembershipBaseListData.to_map() == serialized end test "UserRoleAssignment round-trips between wire and struct" do @@ -319,39 +250,4 @@ defmodule WorkOS.AuthorizationRoundTripTest do |> WorkOS.UserRoleAssignment.from_map() |> WorkOS.UserRoleAssignment.to_map() == serialized end - - test "UserRoleAssignmentList round-trips between wire and struct" do - data = %{ - "object" => "list", - "data" => [ - %{ - "object" => "role_assignment", - "id" => "id", - "organization_membership_id" => "organization_membership_id", - "role" => %{"slug" => "slug"}, - "resource" => %{ - "id" => "id", - "external_id" => "external_id", - "resource_type_slug" => "resource_type_slug" - }, - "source" => %{ - "type" => "direct", - "group_role_assignment_id" => "group_role_assignment_id" - }, - "created_at" => "2024-01-01T00:00:00.000Z", - "updated_at" => "2024-01-01T00:00:00.000Z" - } - ], - "list_metadata" => %{"before" => "before", "after" => "after"} - } - - serialized = - data |> WorkOS.UserRoleAssignmentList.from_map() |> WorkOS.UserRoleAssignmentList.to_map() - - assert serialized == data - - assert serialized - |> WorkOS.UserRoleAssignmentList.from_map() - |> WorkOS.UserRoleAssignmentList.to_map() == serialized - end end diff --git a/test/workos/authorization_test.exs b/test/workos/authorization_test.exs index 33d734e..12e9e0b 100644 --- a/test/workos/authorization_test.exs +++ b/test/workos/authorization_test.exs @@ -24,8 +24,10 @@ defmodule WorkOS.AuthorizationTest do ) end) - assert {:ok, %WorkOS.Page{data: [%WorkOS.GroupRoleAssignmentList{object: "list"} | _]}} = - WorkOS.Authorization.list_group_role_assignments(client, "test_group_id") + assert {:ok, + %WorkOS.Page{ + data: [%WorkOS.GroupRoleAssignment{object: "group_role_assignment", id: "id"} | _] + }} = WorkOS.Authorization.list_group_role_assignments(client, "test_group_id") end test "list_group_role_assignments handles an empty page", %{client: client} do @@ -143,7 +145,12 @@ defmodule WorkOS.AuthorizationTest do ) end) - assert {:ok, %WorkOS.Page{data: [%WorkOS.AuthorizationResourceList{object: "list"} | _]}} = + assert {:ok, + %WorkOS.Page{ + data: [ + %WorkOS.AuthorizationResource{object: "authorization_resource", name: "name"} | _ + ] + }} = WorkOS.Authorization.list_resources_for_membership( client, "test_organization_membership_id" @@ -175,7 +182,10 @@ defmodule WorkOS.AuthorizationTest do Req.Test.json(conn, WorkOS.TestFixtures.fixture("authorization/list_effective_permissions")) end) - assert {:ok, %WorkOS.Page{data: [%WorkOS.AuthorizationPermissionList{object: "list"} | _]}} = + assert {:ok, + %WorkOS.Page{ + data: [%WorkOS.AuthorizationPermission{object: "permission", id: "id"} | _] + }} = WorkOS.Authorization.list_effective_permissions( client, "test_organization_membership_id", @@ -212,7 +222,10 @@ defmodule WorkOS.AuthorizationTest do ) end) - assert {:ok, %WorkOS.Page{data: [%WorkOS.AuthorizationPermissionList{object: "list"} | _]}} = + assert {:ok, + %WorkOS.Page{ + data: [%WorkOS.AuthorizationPermission{object: "permission", id: "id"} | _] + }} = WorkOS.Authorization.list_effective_permissions_by_external_id( client, "test_organization_membership_id", @@ -248,7 +261,10 @@ defmodule WorkOS.AuthorizationTest do Req.Test.json(conn, WorkOS.TestFixtures.fixture("authorization/list_role_assignments")) end) - assert {:ok, %WorkOS.Page{data: [%WorkOS.UserRoleAssignmentList{object: "list"} | _]}} = + assert {:ok, + %WorkOS.Page{ + data: [%WorkOS.UserRoleAssignment{object: "role_assignment", id: "id"} | _] + }} = WorkOS.Authorization.list_role_assignments(client, "test_organization_membership_id") end @@ -526,7 +542,15 @@ defmodule WorkOS.AuthorizationTest do end) assert {:ok, - %WorkOS.Page{data: [%WorkOS.UserOrganizationMembershipBaseList{object: "list"} | _]}} = + %WorkOS.Page{ + data: [ + %WorkOS.UserOrganizationMembershipBaseListData{ + object: "organization_membership", + id: "id" + } + | _ + ] + }} = WorkOS.Authorization.list_memberships_for_resource_by_external_id( client, "test_organization_id", @@ -567,7 +591,10 @@ defmodule WorkOS.AuthorizationTest do ) end) - assert {:ok, %WorkOS.Page{data: [%WorkOS.UserRoleAssignmentList{object: "list"} | _]}} = + assert {:ok, + %WorkOS.Page{ + data: [%WorkOS.UserRoleAssignment{object: "role_assignment", id: "id"} | _] + }} = WorkOS.Authorization.list_role_assignments_for_resource_by_external_id( client, "test_organization_id", @@ -602,8 +629,12 @@ defmodule WorkOS.AuthorizationTest do Req.Test.json(conn, WorkOS.TestFixtures.fixture("authorization/list_resources")) end) - assert {:ok, %WorkOS.Page{data: [%WorkOS.AuthorizationResourceList{object: "list"} | _]}} = - WorkOS.Authorization.list_resources(client) + assert {:ok, + %WorkOS.Page{ + data: [ + %WorkOS.AuthorizationResource{object: "authorization_resource", name: "name"} | _ + ] + }} = WorkOS.Authorization.list_resources(client) end test "list_resources handles an empty page", %{client: client} do @@ -673,8 +704,15 @@ defmodule WorkOS.AuthorizationTest do end) assert {:ok, - %WorkOS.Page{data: [%WorkOS.UserOrganizationMembershipBaseList{object: "list"} | _]}} = - WorkOS.Authorization.list_memberships_for_resource(client, "test_resource_id") + %WorkOS.Page{ + data: [ + %WorkOS.UserOrganizationMembershipBaseListData{ + object: "organization_membership", + id: "id" + } + | _ + ] + }} = WorkOS.Authorization.list_memberships_for_resource(client, "test_resource_id") end test "list_memberships_for_resource handles an empty page", %{client: client} do @@ -700,7 +738,10 @@ defmodule WorkOS.AuthorizationTest do ) end) - assert {:ok, %WorkOS.Page{data: [%WorkOS.UserRoleAssignmentList{object: "list"} | _]}} = + assert {:ok, + %WorkOS.Page{ + data: [%WorkOS.UserRoleAssignment{object: "role_assignment", id: "id"} | _] + }} = WorkOS.Authorization.list_role_assignments_for_resource(client, "test_resource_id") end @@ -797,8 +838,10 @@ defmodule WorkOS.AuthorizationTest do Req.Test.json(conn, WorkOS.TestFixtures.fixture("authorization/list_permissions")) end) - assert {:ok, %WorkOS.Page{data: [%WorkOS.AuthorizationPermissionList{object: "list"} | _]}} = - WorkOS.Authorization.list_permissions(client) + assert {:ok, + %WorkOS.Page{ + data: [%WorkOS.AuthorizationPermission{object: "permission", id: "id"} | _] + }} = WorkOS.Authorization.list_permissions(client) end test "list_permissions handles an empty page", %{client: client} do diff --git a/test/workos/connect_round_trip_test.exs b/test/workos/connect_round_trip_test.exs index b544035..c620064 100644 --- a/test/workos/connect_round_trip_test.exs +++ b/test/workos/connect_round_trip_test.exs @@ -47,34 +47,6 @@ defmodule WorkOS.ConnectRoundTripTest do |> WorkOS.ConnectApplication.to_map() == serialized end - test "ConnectApplicationList round-trips between wire and struct" do - data = %{ - "object" => "list", - "data" => [ - %{ - "object" => "connect_application", - "id" => "id", - "client_id" => "client_id", - "description" => "description", - "name" => "name", - "scopes" => ["scopes"], - "created_at" => "2024-01-01T00:00:00.000Z", - "updated_at" => "2024-01-01T00:00:00.000Z" - } - ], - "list_metadata" => %{"before" => "before", "after" => "after"} - } - - serialized = - data |> WorkOS.ConnectApplicationList.from_map() |> WorkOS.ConnectApplicationList.to_map() - - assert serialized == data - - assert serialized - |> WorkOS.ConnectApplicationList.from_map() - |> WorkOS.ConnectApplicationList.to_map() == serialized - end - test "ExternalAuthCompleteResponse round-trips between wire and struct" do data = %{"redirect_uri" => "redirect_uri"} diff --git a/test/workos/connect_test.exs b/test/workos/connect_test.exs index 5578283..674401d 100644 --- a/test/workos/connect_test.exs +++ b/test/workos/connect_test.exs @@ -31,8 +31,10 @@ defmodule WorkOS.ConnectTest do Req.Test.json(conn, WorkOS.TestFixtures.fixture("connect/list_applications")) end) - assert {:ok, %WorkOS.Page{data: [%WorkOS.ConnectApplicationList{object: "list"} | _]}} = - WorkOS.Connect.list_applications(client) + assert {:ok, + %WorkOS.Page{ + data: [%WorkOS.ConnectApplication{object: "connect_application", id: "id"} | _] + }} = WorkOS.Connect.list_applications(client) end test "list_applications handles an empty page", %{client: client} do diff --git a/test/workos/directory_sync_round_trip_test.exs b/test/workos/directory_sync_round_trip_test.exs index ed9a87f..5d2ca0c 100644 --- a/test/workos/directory_sync_round_trip_test.exs +++ b/test/workos/directory_sync_round_trip_test.exs @@ -44,100 +44,6 @@ defmodule WorkOS.DirectorySyncRoundTripTest do serialized end - test "DirectoryGroupList round-trips between wire and struct" do - data = %{ - "object" => "list", - "data" => [ - %{ - "object" => "directory_group", - "id" => "id", - "idp_id" => "idp_id", - "directory_id" => "directory_id", - "organization_id" => "organization_id", - "name" => "name", - "raw_attributes" => %{}, - "created_at" => "2024-01-01T00:00:00.000Z", - "updated_at" => "2024-01-01T00:00:00.000Z" - } - ], - "list_metadata" => %{"before" => "before", "after" => "after"} - } - - serialized = - data |> WorkOS.DirectoryGroupList.from_map() |> WorkOS.DirectoryGroupList.to_map() - - assert serialized == data - - assert serialized - |> WorkOS.DirectoryGroupList.from_map() - |> WorkOS.DirectoryGroupList.to_map() == serialized - end - - test "DirectoryList round-trips between wire and struct" do - data = %{ - "object" => "list", - "data" => [ - %{ - "object" => "directory", - "id" => "id", - "organization_id" => "organization_id", - "external_key" => "external_key", - "type" => "azure scim v2.0", - "state" => "linked", - "name" => "name", - "domain" => "domain", - "metadata" => %{"users" => %{}, "groups" => 1}, - "created_at" => "2024-01-01T00:00:00.000Z", - "updated_at" => "2024-01-01T00:00:00.000Z" - } - ], - "list_metadata" => %{"before" => "before", "after" => "after"} - } - - serialized = data |> WorkOS.DirectoryList.from_map() |> WorkOS.DirectoryList.to_map() - assert serialized == data - - assert serialized |> WorkOS.DirectoryList.from_map() |> WorkOS.DirectoryList.to_map() == - serialized - end - - test "DirectoryUserList round-trips between wire and struct" do - data = %{ - "object" => "list", - "data" => [ - %{ - "object" => "directory_user", - "id" => "id", - "directory_id" => "directory_id", - "organization_id" => "organization_id", - "idp_id" => "idp_id", - "email" => "email", - "first_name" => "first_name", - "last_name" => "last_name", - "name" => "name", - "emails" => [%{}], - "job_title" => "job_title", - "username" => "username", - "state" => "active", - "raw_attributes" => %{}, - "custom_attributes" => %{}, - "role" => %{"slug" => "slug"}, - "roles" => [%{}], - "created_at" => "2024-01-01T00:00:00.000Z", - "updated_at" => "2024-01-01T00:00:00.000Z", - "groups" => [%{}] - } - ], - "list_metadata" => %{"before" => "before", "after" => "after"} - } - - serialized = data |> WorkOS.DirectoryUserList.from_map() |> WorkOS.DirectoryUserList.to_map() - assert serialized == data - - assert serialized |> WorkOS.DirectoryUserList.from_map() |> WorkOS.DirectoryUserList.to_map() == - serialized - end - test "DirectoryUserWithGroups round-trips between wire and struct" do data = %{ "object" => "directory_user", diff --git a/test/workos/directory_sync_test.exs b/test/workos/directory_sync_test.exs index 41aeed3..27cb3be 100644 --- a/test/workos/directory_sync_test.exs +++ b/test/workos/directory_sync_test.exs @@ -20,7 +20,7 @@ defmodule WorkOS.DirectorySyncTest do Req.Test.json(conn, WorkOS.TestFixtures.fixture("directory_sync/list_directories")) end) - assert {:ok, %WorkOS.Page{data: [%WorkOS.DirectoryList{object: "list"} | _]}} = + assert {:ok, %WorkOS.Page{data: [%WorkOS.Directory{object: "directory", id: "id"} | _]}} = WorkOS.DirectorySync.list_directories(client) end @@ -62,7 +62,8 @@ defmodule WorkOS.DirectorySyncTest do Req.Test.json(conn, WorkOS.TestFixtures.fixture("directory_sync/list_groups")) end) - assert {:ok, %WorkOS.Page{data: [%WorkOS.DirectoryGroupList{object: "list"} | _]}} = + assert {:ok, + %WorkOS.Page{data: [%WorkOS.DirectoryGroup{object: "directory_group", id: "id"} | _]}} = WorkOS.DirectorySync.list_groups(client) end @@ -94,8 +95,10 @@ defmodule WorkOS.DirectorySyncTest do Req.Test.json(conn, WorkOS.TestFixtures.fixture("directory_sync/list_users")) end) - assert {:ok, %WorkOS.Page{data: [%WorkOS.DirectoryUserList{object: "list"} | _]}} = - WorkOS.DirectorySync.list_users(client) + assert {:ok, + %WorkOS.Page{ + data: [%WorkOS.DirectoryUserWithGroups{object: "directory_user", id: "id"} | _] + }} = WorkOS.DirectorySync.list_users(client) end test "list_users handles an empty page", %{client: client} do diff --git a/test/workos/events_round_trip_test.exs b/test/workos/events_round_trip_test.exs index 3cf520b..29a8367 100644 --- a/test/workos/events_round_trip_test.exs +++ b/test/workos/events_round_trip_test.exs @@ -3,25 +3,20 @@ defmodule WorkOS.EventsRoundTripTest do use ExUnit.Case, async: true - test "EventList round-trips between wire and struct" do + test "EventSchema round-trips between wire and struct" do data = %{ - "object" => "list", - "data" => [ - %{ - "object" => "event", - "id" => "id", - "event" => "event", - "data" => %{}, - "created_at" => "2024-01-01T00:00:00.000Z", - "context" => %{} - } - ], - "list_metadata" => %{"after" => "after"} + "object" => "event", + "id" => "id", + "event" => "event", + "data" => %{}, + "created_at" => "2024-01-01T00:00:00.000Z", + "context" => %{} } - serialized = data |> WorkOS.EventList.from_map() |> WorkOS.EventList.to_map() + serialized = data |> WorkOS.EventSchema.from_map() |> WorkOS.EventSchema.to_map() assert serialized == data - assert serialized |> WorkOS.EventList.from_map() |> WorkOS.EventList.to_map() == serialized + assert serialized |> WorkOS.EventSchema.from_map() |> WorkOS.EventSchema.to_map() == + serialized end end diff --git a/test/workos/events_test.exs b/test/workos/events_test.exs index aef5a26..5b68b53 100644 --- a/test/workos/events_test.exs +++ b/test/workos/events_test.exs @@ -20,7 +20,7 @@ defmodule WorkOS.EventsTest do Req.Test.json(conn, WorkOS.TestFixtures.fixture("events/list_events")) end) - assert {:ok, %WorkOS.Page{data: [%WorkOS.EventList{object: "list"} | _]}} = + assert {:ok, %WorkOS.Page{data: [%WorkOS.EventSchema{object: "event", id: "id"} | _]}} = WorkOS.Events.list_events(client) end diff --git a/test/workos/feature_flags_round_trip_test.exs b/test/workos/feature_flags_round_trip_test.exs index 9e9c7ac..379f8c3 100644 --- a/test/workos/feature_flags_round_trip_test.exs +++ b/test/workos/feature_flags_round_trip_test.exs @@ -45,35 +45,4 @@ defmodule WorkOS.FeatureFlagsRoundTripTest do assert serialized |> WorkOS.Flag.from_map() |> WorkOS.Flag.to_map() == serialized end - - test "FlagList round-trips between wire and struct" do - data = %{ - "object" => "list", - "data" => [ - %{ - "object" => "feature_flag", - "id" => "id", - "slug" => "slug", - "name" => "name", - "description" => "description", - "owner" => %{ - "email" => "email", - "first_name" => "first_name", - "last_name" => "last_name" - }, - "tags" => ["tags"], - "enabled" => true, - "default_value" => true, - "created_at" => "2024-01-01T00:00:00.000Z", - "updated_at" => "2024-01-01T00:00:00.000Z" - } - ], - "list_metadata" => %{"before" => "before", "after" => "after"} - } - - serialized = data |> WorkOS.FlagList.from_map() |> WorkOS.FlagList.to_map() - assert serialized == data - - assert serialized |> WorkOS.FlagList.from_map() |> WorkOS.FlagList.to_map() == serialized - end end diff --git a/test/workos/feature_flags_test.exs b/test/workos/feature_flags_test.exs index e4e167d..4d5c4c2 100644 --- a/test/workos/feature_flags_test.exs +++ b/test/workos/feature_flags_test.exs @@ -20,7 +20,7 @@ defmodule WorkOS.FeatureFlagsTest do Req.Test.json(conn, WorkOS.TestFixtures.fixture("feature_flags/list_feature_flags")) end) - assert {:ok, %WorkOS.Page{data: [%WorkOS.FlagList{object: "list"} | _]}} = + assert {:ok, %WorkOS.Page{data: [%WorkOS.Flag{object: "feature_flag", id: "id"} | _]}} = WorkOS.FeatureFlags.list_feature_flags(client) end @@ -99,7 +99,7 @@ defmodule WorkOS.FeatureFlagsTest do ) end) - assert {:ok, %WorkOS.Page{data: [%WorkOS.FlagList{object: "list"} | _]}} = + assert {:ok, %WorkOS.Page{data: [%WorkOS.Flag{object: "feature_flag", id: "id"} | _]}} = WorkOS.FeatureFlags.list_organization_feature_flags(client, "test_organization_id") end @@ -122,7 +122,7 @@ defmodule WorkOS.FeatureFlagsTest do Req.Test.json(conn, WorkOS.TestFixtures.fixture("feature_flags/list_user_feature_flags")) end) - assert {:ok, %WorkOS.Page{data: [%WorkOS.FlagList{object: "list"} | _]}} = + assert {:ok, %WorkOS.Page{data: [%WorkOS.Flag{object: "feature_flag", id: "id"} | _]}} = WorkOS.FeatureFlags.list_user_feature_flags(client, "test_user_id") end diff --git a/test/workos/groups_round_trip_test.exs b/test/workos/groups_round_trip_test.exs index 2082d90..f198d33 100644 --- a/test/workos/groups_round_trip_test.exs +++ b/test/workos/groups_round_trip_test.exs @@ -20,74 +20,45 @@ defmodule WorkOS.GroupsRoundTripTest do assert serialized |> WorkOS.Group.from_map() |> WorkOS.Group.to_map() == serialized end - test "GroupList round-trips between wire and struct" do + test "UserOrganizationMembershipBaseListData round-trips between wire and struct" do data = %{ - "object" => "list", - "data" => [ - %{ - "object" => "group", - "id" => "id", - "organization_id" => "organization_id", - "name" => "name", - "description" => "description", - "created_at" => "2024-01-01T00:00:00.000Z", - "updated_at" => "2024-01-01T00:00:00.000Z" - } - ], - "list_metadata" => %{"before" => "before", "after" => "after"} - } - - serialized = data |> WorkOS.GroupList.from_map() |> WorkOS.GroupList.to_map() - assert serialized == data - - assert serialized |> WorkOS.GroupList.from_map() |> WorkOS.GroupList.to_map() == serialized - end - - test "UserOrganizationMembershipBaseList round-trips between wire and struct" do - data = %{ - "object" => "list", - "data" => [ - %{ - "object" => "organization_membership", - "id" => "id", - "user_id" => "user_id", - "organization_id" => "organization_id", - "status" => "active", - "directory_managed" => true, - "organization_name" => "organization_name", - "custom_attributes" => %{}, - "created_at" => "2024-01-01T00:00:00.000Z", - "updated_at" => "2024-01-01T00:00:00.000Z", - "user" => %{ - "object" => "user", - "id" => "id", - "first_name" => "first_name", - "last_name" => "last_name", - "name" => "name", - "profile_picture_url" => "profile_picture_url", - "email" => "email", - "email_verified" => true, - "external_id" => "external_id", - "metadata" => %{}, - "last_sign_in_at" => "2024-01-01T00:00:00.000Z", - "locale" => "locale", - "created_at" => "2024-01-01T00:00:00.000Z", - "updated_at" => "2024-01-01T00:00:00.000Z" - } - } - ], - "list_metadata" => %{"before" => "before", "after" => "after"} + "object" => "organization_membership", + "id" => "id", + "user_id" => "user_id", + "organization_id" => "organization_id", + "status" => "active", + "directory_managed" => true, + "organization_name" => "organization_name", + "custom_attributes" => %{}, + "created_at" => "2024-01-01T00:00:00.000Z", + "updated_at" => "2024-01-01T00:00:00.000Z", + "user" => %{ + "object" => "user", + "id" => "id", + "first_name" => "first_name", + "last_name" => "last_name", + "name" => "name", + "profile_picture_url" => "profile_picture_url", + "email" => "email", + "email_verified" => true, + "external_id" => "external_id", + "metadata" => %{}, + "last_sign_in_at" => "2024-01-01T00:00:00.000Z", + "locale" => "locale", + "created_at" => "2024-01-01T00:00:00.000Z", + "updated_at" => "2024-01-01T00:00:00.000Z" + } } serialized = data - |> WorkOS.UserOrganizationMembershipBaseList.from_map() - |> WorkOS.UserOrganizationMembershipBaseList.to_map() + |> WorkOS.UserOrganizationMembershipBaseListData.from_map() + |> WorkOS.UserOrganizationMembershipBaseListData.to_map() assert serialized == data assert serialized - |> WorkOS.UserOrganizationMembershipBaseList.from_map() - |> WorkOS.UserOrganizationMembershipBaseList.to_map() == serialized + |> WorkOS.UserOrganizationMembershipBaseListData.from_map() + |> WorkOS.UserOrganizationMembershipBaseListData.to_map() == serialized end end diff --git a/test/workos/groups_test.exs b/test/workos/groups_test.exs index c41be4c..de53092 100644 --- a/test/workos/groups_test.exs +++ b/test/workos/groups_test.exs @@ -20,7 +20,7 @@ defmodule WorkOS.GroupsTest do Req.Test.json(conn, WorkOS.TestFixtures.fixture("groups/list_organization_groups")) end) - assert {:ok, %WorkOS.Page{data: [%WorkOS.GroupList{object: "list"} | _]}} = + assert {:ok, %WorkOS.Page{data: [%WorkOS.Group{object: "group", id: "id"} | _]}} = WorkOS.Groups.list_organization_groups(client, "test_organization_id") end @@ -102,7 +102,15 @@ defmodule WorkOS.GroupsTest do end) assert {:ok, - %WorkOS.Page{data: [%WorkOS.UserOrganizationMembershipBaseList{object: "list"} | _]}} = + %WorkOS.Page{ + data: [ + %WorkOS.UserOrganizationMembershipBaseListData{ + object: "organization_membership", + id: "id" + } + | _ + ] + }} = WorkOS.Groups.list_group_organization_memberships( client, "test_organization_id", diff --git a/test/workos/multi_factor_auth_round_trip_test.exs b/test/workos/multi_factor_auth_round_trip_test.exs index f96a840..c77727c 100644 --- a/test/workos/multi_factor_auth_round_trip_test.exs +++ b/test/workos/multi_factor_auth_round_trip_test.exs @@ -142,34 +142,4 @@ defmodule WorkOS.MultiFactorAuthRoundTripTest do |> WorkOS.UserAuthenticationFactorEnrollResponse.from_map() |> WorkOS.UserAuthenticationFactorEnrollResponse.to_map() == serialized end - - test "UserAuthenticationFactorList round-trips between wire and struct" do - data = %{ - "object" => "list", - "data" => [ - %{ - "object" => "authentication_factor", - "id" => "id", - "type" => "generic_otp", - "user_id" => "user_id", - "sms" => %{"phone_number" => "phone_number"}, - "totp" => %{"issuer" => "issuer", "user" => "user"}, - "created_at" => "2024-01-01T00:00:00.000Z", - "updated_at" => "2024-01-01T00:00:00.000Z" - } - ], - "list_metadata" => %{"before" => "before", "after" => "after"} - } - - serialized = - data - |> WorkOS.UserAuthenticationFactorList.from_map() - |> WorkOS.UserAuthenticationFactorList.to_map() - - assert serialized == data - - assert serialized - |> WorkOS.UserAuthenticationFactorList.from_map() - |> WorkOS.UserAuthenticationFactorList.to_map() == serialized - end end diff --git a/test/workos/multi_factor_auth_test.exs b/test/workos/multi_factor_auth_test.exs index 8c0db65..27f2b6a 100644 --- a/test/workos/multi_factor_auth_test.exs +++ b/test/workos/multi_factor_auth_test.exs @@ -74,8 +74,10 @@ defmodule WorkOS.MultiFactorAuthTest do Req.Test.json(conn, WorkOS.TestFixtures.fixture("multi_factor_auth/list_user_auth_factors")) end) - assert {:ok, %WorkOS.Page{data: [%WorkOS.UserAuthenticationFactorList{object: "list"} | _]}} = - WorkOS.MultiFactorAuth.list_user_auth_factors(client, "test_userland_user_id") + assert {:ok, + %WorkOS.Page{ + data: [%WorkOS.AuthenticationFactor{object: "authentication_factor", id: "id"} | _] + }} = WorkOS.MultiFactorAuth.list_user_auth_factors(client, "test_userland_user_id") end test "list_user_auth_factors handles an empty page", %{client: client} do diff --git a/test/workos/organization_membership_service_round_trip_test.exs b/test/workos/organization_membership_service_round_trip_test.exs index 7485470..0f3d861 100644 --- a/test/workos/organization_membership_service_round_trip_test.exs +++ b/test/workos/organization_membership_service_round_trip_test.exs @@ -3,27 +3,21 @@ defmodule WorkOS.OrganizationMembershipServiceRoundTripTest do use ExUnit.Case, async: true - test "GroupList round-trips between wire and struct" do + test "Group round-trips between wire and struct" do data = %{ - "object" => "list", - "data" => [ - %{ - "object" => "group", - "id" => "id", - "organization_id" => "organization_id", - "name" => "name", - "description" => "description", - "created_at" => "2024-01-01T00:00:00.000Z", - "updated_at" => "2024-01-01T00:00:00.000Z" - } - ], - "list_metadata" => %{"before" => "before", "after" => "after"} + "object" => "group", + "id" => "id", + "organization_id" => "organization_id", + "name" => "name", + "description" => "description", + "created_at" => "2024-01-01T00:00:00.000Z", + "updated_at" => "2024-01-01T00:00:00.000Z" } - serialized = data |> WorkOS.GroupList.from_map() |> WorkOS.GroupList.to_map() + serialized = data |> WorkOS.Group.from_map() |> WorkOS.Group.to_map() assert serialized == data - assert serialized |> WorkOS.GroupList.from_map() |> WorkOS.GroupList.to_map() == serialized + assert serialized |> WorkOS.Group.from_map() |> WorkOS.Group.to_map() == serialized end test "OrganizationMembership round-trips between wire and struct" do @@ -111,54 +105,4 @@ defmodule WorkOS.OrganizationMembershipServiceRoundTripTest do |> WorkOS.UserOrganizationMembership.from_map() |> WorkOS.UserOrganizationMembership.to_map() == serialized end - - test "UserOrganizationMembershipList round-trips between wire and struct" do - data = %{ - "object" => "list", - "data" => [ - %{ - "object" => "organization_membership", - "id" => "id", - "user_id" => "user_id", - "organization_id" => "organization_id", - "status" => "active", - "directory_managed" => true, - "organization_name" => "organization_name", - "custom_attributes" => %{}, - "created_at" => "2024-01-01T00:00:00.000Z", - "updated_at" => "2024-01-01T00:00:00.000Z", - "role" => %{"slug" => "slug"}, - "roles" => [%{}], - "user" => %{ - "object" => "user", - "id" => "id", - "first_name" => "first_name", - "last_name" => "last_name", - "name" => "name", - "profile_picture_url" => "profile_picture_url", - "email" => "email", - "email_verified" => true, - "external_id" => "external_id", - "metadata" => %{}, - "last_sign_in_at" => "2024-01-01T00:00:00.000Z", - "locale" => "locale", - "created_at" => "2024-01-01T00:00:00.000Z", - "updated_at" => "2024-01-01T00:00:00.000Z" - } - } - ], - "list_metadata" => %{"before" => "before", "after" => "after"} - } - - serialized = - data - |> WorkOS.UserOrganizationMembershipList.from_map() - |> WorkOS.UserOrganizationMembershipList.to_map() - - assert serialized == data - - assert serialized - |> WorkOS.UserOrganizationMembershipList.from_map() - |> WorkOS.UserOrganizationMembershipList.to_map() == serialized - end end diff --git a/test/workos/organization_membership_service_test.exs b/test/workos/organization_membership_service_test.exs index 59ac880..0199611 100644 --- a/test/workos/organization_membership_service_test.exs +++ b/test/workos/organization_membership_service_test.exs @@ -24,8 +24,13 @@ defmodule WorkOS.OrganizationMembershipServiceTest do ) end) - assert {:ok, %WorkOS.Page{data: [%WorkOS.UserOrganizationMembershipList{object: "list"} | _]}} = - WorkOS.OrganizationMembershipService.list_organization_memberships(client) + assert {:ok, + %WorkOS.Page{ + data: [ + %WorkOS.UserOrganizationMembership{object: "organization_membership", id: "id"} + | _ + ] + }} = WorkOS.OrganizationMembershipService.list_organization_memberships(client) end test "list_organization_memberships handles an empty page", %{client: client} do @@ -149,7 +154,7 @@ defmodule WorkOS.OrganizationMembershipServiceTest do ) end) - assert {:ok, %WorkOS.Page{data: [%WorkOS.GroupList{object: "list"} | _]}} = + assert {:ok, %WorkOS.Page{data: [%WorkOS.Group{object: "group", id: "id"} | _]}} = WorkOS.OrganizationMembershipService.list_organization_membership_groups( client, "test_om_id" diff --git a/test/workos/organizations_round_trip_test.exs b/test/workos/organizations_round_trip_test.exs index b6142f6..bfe7d97 100644 --- a/test/workos/organizations_round_trip_test.exs +++ b/test/workos/organizations_round_trip_test.exs @@ -61,67 +61,34 @@ defmodule WorkOS.OrganizationsRoundTripTest do serialized end - test "OrganizationAuthorizedConnectApplicationList round-trips between wire and struct" do + test "OrganizationAuthorizedConnectApplicationListData round-trips between wire and struct" do data = %{ - "object" => "list", - "data" => [ - %{ - "object" => "authorized_connect_application", - "id" => "id", - "granted_scopes" => ["granted_scopes"], - "oauth_resource" => "oauth_resource", - "application" => %{ - "object" => "connect_application", - "id" => "id", - "client_id" => "client_id", - "description" => "description", - "name" => "name", - "scopes" => [], - "created_at" => "2024-01-01T00:00:00.000Z", - "updated_at" => "2024-01-01T00:00:00.000Z" - }, - "user_id" => "user_id" - } - ], - "list_metadata" => %{"before" => "before", "after" => "after"} + "object" => "authorized_connect_application", + "id" => "id", + "granted_scopes" => ["granted_scopes"], + "oauth_resource" => "oauth_resource", + "application" => %{ + "object" => "connect_application", + "id" => "id", + "client_id" => "client_id", + "description" => "description", + "name" => "name", + "scopes" => ["scopes"], + "created_at" => "2024-01-01T00:00:00.000Z", + "updated_at" => "2024-01-01T00:00:00.000Z" + }, + "user_id" => "user_id" } serialized = data - |> WorkOS.OrganizationAuthorizedConnectApplicationList.from_map() - |> WorkOS.OrganizationAuthorizedConnectApplicationList.to_map() + |> WorkOS.OrganizationAuthorizedConnectApplicationListData.from_map() + |> WorkOS.OrganizationAuthorizedConnectApplicationListData.to_map() assert serialized == data assert serialized - |> WorkOS.OrganizationAuthorizedConnectApplicationList.from_map() - |> WorkOS.OrganizationAuthorizedConnectApplicationList.to_map() == serialized - end - - test "OrganizationList round-trips between wire and struct" do - data = %{ - "object" => "list", - "data" => [ - %{ - "object" => "organization", - "id" => "id", - "name" => "name", - "domains" => [%{}], - "metadata" => %{}, - "external_id" => "external_id", - "stripe_customer_id" => "stripe_customer_id", - "created_at" => "2024-01-01T00:00:00.000Z", - "updated_at" => "2024-01-01T00:00:00.000Z", - "allow_profiles_outside_organization" => true - } - ], - "list_metadata" => %{"before" => "before", "after" => "after"} - } - - serialized = data |> WorkOS.OrganizationList.from_map() |> WorkOS.OrganizationList.to_map() - assert serialized == data - - assert serialized |> WorkOS.OrganizationList.from_map() |> WorkOS.OrganizationList.to_map() == - serialized + |> WorkOS.OrganizationAuthorizedConnectApplicationListData.from_map() + |> WorkOS.OrganizationAuthorizedConnectApplicationListData.to_map() == serialized end end diff --git a/test/workos/organizations_test.exs b/test/workos/organizations_test.exs index 043e57c..0b8d955 100644 --- a/test/workos/organizations_test.exs +++ b/test/workos/organizations_test.exs @@ -20,7 +20,7 @@ defmodule WorkOS.OrganizationsTest do Req.Test.json(conn, WorkOS.TestFixtures.fixture("organizations/list_organizations")) end) - assert {:ok, %WorkOS.Page{data: [%WorkOS.OrganizationList{object: "list"} | _]}} = + assert {:ok, %WorkOS.Page{data: [%WorkOS.Organization{object: "organization", id: "id"} | _]}} = WorkOS.Organizations.list_organizations(client) end @@ -123,7 +123,13 @@ defmodule WorkOS.OrganizationsTest do assert {:ok, %WorkOS.Page{ - data: [%WorkOS.OrganizationAuthorizedConnectApplicationList{object: "list"} | _] + data: [ + %WorkOS.OrganizationAuthorizedConnectApplicationListData{ + object: "authorized_connect_application", + id: "id" + } + | _ + ] }} = WorkOS.Organizations.list_authorized_applications(client, "test_organization_id") end diff --git a/test/workos/pipes_round_trip_test.exs b/test/workos/pipes_round_trip_test.exs index fb06898..dfc656c 100644 --- a/test/workos/pipes_round_trip_test.exs +++ b/test/workos/pipes_round_trip_test.exs @@ -138,63 +138,6 @@ defmodule WorkOS.PipesRoundTripTest do |> WorkOS.DataIntegrationCredentialsResponse.to_map() == serialized end - test "DataIntegrationList round-trips between wire and struct" do - data = %{ - "object" => "list", - "data" => [ - %{ - "object" => "data_integration", - "id" => "id", - "slug" => "slug", - "integration_type" => "integration_type", - "description" => "description", - "enabled" => true, - "state" => "valid", - "scopes" => ["scopes"], - "redirect_uri" => "redirect_uri", - "auth_methods" => ["oauth"], - "credentials" => %{ - "type" => "custom", - "client_id" => "client_id", - "redacted_client_secret" => "redacted_client_secret" - }, - "installation" => %{ - "id" => "id", - "user_id" => "user_id", - "organization_id" => "organization_id", - "api_key_last_4" => "api_key_last_4" - }, - "config" => %{}, - "custom_provider" => %{ - "name" => "name", - "authorization_url" => "authorization_url", - "token_url" => "token_url", - "refresh_token_url" => "refresh_token_url", - "pkce_enabled" => true, - "request_scope_separator" => "request_scope_separator", - "scopes_required" => true, - "client_secret_required" => true, - "additional_authorization_parameters" => %{}, - "token_body_content_type" => "token_body_content_type", - "authenticate_via" => "request_body" - }, - "created_at" => "2024-01-01T00:00:00.000Z", - "updated_at" => "2024-01-01T00:00:00.000Z" - } - ], - "list_metadata" => %{"before" => "before", "after" => "after"} - } - - serialized = - data |> WorkOS.DataIntegrationList.from_map() |> WorkOS.DataIntegrationList.to_map() - - assert serialized == data - - assert serialized - |> WorkOS.DataIntegrationList.from_map() - |> WorkOS.DataIntegrationList.to_map() == serialized - end - test "DataIntegrationsListResponse round-trips between wire and struct" do data = %{ "object" => "list", diff --git a/test/workos/pipes_test.exs b/test/workos/pipes_test.exs index 049efbd..2468010 100644 --- a/test/workos/pipes_test.exs +++ b/test/workos/pipes_test.exs @@ -20,8 +20,10 @@ defmodule WorkOS.PipesTest do Req.Test.json(conn, WorkOS.TestFixtures.fixture("pipes/list_data_integrations")) end) - assert {:ok, %WorkOS.Page{data: [%WorkOS.DataIntegrationList{object: "list"} | _]}} = - WorkOS.Pipes.list_data_integrations(client) + assert {:ok, + %WorkOS.Page{ + data: [%WorkOS.DataIntegration{object: "data_integration", id: "id"} | _] + }} = WorkOS.Pipes.list_data_integrations(client) end test "list_data_integrations handles an empty page", %{client: client} do diff --git a/test/workos/sso_round_trip_test.exs b/test/workos/sso_round_trip_test.exs index 028dd05..90530b6 100644 --- a/test/workos/sso_round_trip_test.exs +++ b/test/workos/sso_round_trip_test.exs @@ -23,33 +23,6 @@ defmodule WorkOS.SSORoundTripTest do assert serialized |> WorkOS.Connection.from_map() |> WorkOS.Connection.to_map() == serialized end - test "ConnectionList round-trips between wire and struct" do - data = %{ - "object" => "list", - "data" => [ - %{ - "object" => "connection", - "id" => "id", - "organization_id" => "organization_id", - "connection_type" => "Pending", - "name" => "name", - "state" => "requires_type", - "status" => "linked", - "domains" => [%{}], - "created_at" => "2024-01-01T00:00:00.000Z", - "updated_at" => "2024-01-01T00:00:00.000Z" - } - ], - "list_metadata" => %{"before" => "before", "after" => "after"} - } - - serialized = data |> WorkOS.ConnectionList.from_map() |> WorkOS.ConnectionList.to_map() - assert serialized == data - - assert serialized |> WorkOS.ConnectionList.from_map() |> WorkOS.ConnectionList.to_map() == - serialized - end - test "Profile round-trips between wire and struct" do data = %{ "object" => "profile", diff --git a/test/workos/sso_test.exs b/test/workos/sso_test.exs index c061174..14772fe 100644 --- a/test/workos/sso_test.exs +++ b/test/workos/sso_test.exs @@ -20,7 +20,7 @@ defmodule WorkOS.SSOTest do Req.Test.json(conn, WorkOS.TestFixtures.fixture("sso/list_connections")) end) - assert {:ok, %WorkOS.Page{data: [%WorkOS.ConnectionList{object: "list"} | _]}} = + assert {:ok, %WorkOS.Page{data: [%WorkOS.Connection{object: "connection", id: "id"} | _]}} = WorkOS.SSO.list_connections(client) end diff --git a/test/workos/user_management_round_trip_test.exs b/test/workos/user_management_round_trip_test.exs index 2d55675..756713b 100644 --- a/test/workos/user_management_round_trip_test.exs +++ b/test/workos/user_management_round_trip_test.exs @@ -46,40 +46,34 @@ defmodule WorkOS.UserManagementRoundTripTest do |> WorkOS.AuthenticateResponse.to_map() == serialized end - test "AuthorizedConnectApplicationList round-trips between wire and struct" do + test "AuthorizedConnectApplicationListData round-trips between wire and struct" do data = %{ - "object" => "list", - "data" => [ - %{ - "object" => "authorized_connect_application", - "id" => "id", - "granted_scopes" => ["granted_scopes"], - "oauth_resource" => "oauth_resource", - "application" => %{ - "object" => "connect_application", - "id" => "id", - "client_id" => "client_id", - "description" => "description", - "name" => "name", - "scopes" => [], - "created_at" => "2024-01-01T00:00:00.000Z", - "updated_at" => "2024-01-01T00:00:00.000Z" - } - } - ], - "list_metadata" => %{"before" => "before", "after" => "after"} + "object" => "authorized_connect_application", + "id" => "id", + "granted_scopes" => ["granted_scopes"], + "oauth_resource" => "oauth_resource", + "application" => %{ + "object" => "connect_application", + "id" => "id", + "client_id" => "client_id", + "description" => "description", + "name" => "name", + "scopes" => ["scopes"], + "created_at" => "2024-01-01T00:00:00.000Z", + "updated_at" => "2024-01-01T00:00:00.000Z" + } } serialized = data - |> WorkOS.AuthorizedConnectApplicationList.from_map() - |> WorkOS.AuthorizedConnectApplicationList.to_map() + |> WorkOS.AuthorizedConnectApplicationListData.from_map() + |> WorkOS.AuthorizedConnectApplicationListData.to_map() assert serialized == data assert serialized - |> WorkOS.AuthorizedConnectApplicationList.from_map() - |> WorkOS.AuthorizedConnectApplicationList.to_map() == serialized + |> WorkOS.AuthorizedConnectApplicationListData.from_map() + |> WorkOS.AuthorizedConnectApplicationListData.to_map() == serialized end test "CORSOriginResponse round-trips between wire and struct" do @@ -470,31 +464,24 @@ defmodule WorkOS.UserManagementRoundTripTest do assert serialized |> WorkOS.User.from_map() |> WorkOS.User.to_map() == serialized end - test "UserApiKeyList round-trips between wire and struct" do + test "UserApiKey round-trips between wire and struct" do data = %{ - "object" => "list", - "data" => [ - %{ - "object" => "api_key", - "id" => "id", - "owner" => %{"type" => "user", "id" => "id", "organization_id" => "organization_id"}, - "name" => "name", - "obfuscated_value" => "obfuscated_value", - "last_used_at" => "2024-01-01T00:00:00.000Z", - "expires_at" => "2024-01-01T00:00:00.000Z", - "permissions" => ["permissions"], - "created_at" => "2024-01-01T00:00:00.000Z", - "updated_at" => "2024-01-01T00:00:00.000Z" - } - ], - "list_metadata" => %{"before" => "before", "after" => "after"} + "object" => "api_key", + "id" => "id", + "owner" => %{"type" => "user", "id" => "id", "organization_id" => "organization_id"}, + "name" => "name", + "obfuscated_value" => "obfuscated_value", + "last_used_at" => "2024-01-01T00:00:00.000Z", + "expires_at" => "2024-01-01T00:00:00.000Z", + "permissions" => ["permissions"], + "created_at" => "2024-01-01T00:00:00.000Z", + "updated_at" => "2024-01-01T00:00:00.000Z" } - serialized = data |> WorkOS.UserApiKeyList.from_map() |> WorkOS.UserApiKeyList.to_map() + serialized = data |> WorkOS.UserApiKey.from_map() |> WorkOS.UserApiKey.to_map() assert serialized == data - assert serialized |> WorkOS.UserApiKeyList.from_map() |> WorkOS.UserApiKeyList.to_map() == - serialized + assert serialized |> WorkOS.UserApiKey.from_map() |> WorkOS.UserApiKey.to_map() == serialized end test "UserApiKeyWithValue round-trips between wire and struct" do @@ -589,68 +576,6 @@ defmodule WorkOS.UserManagementRoundTripTest do assert serialized |> WorkOS.UserInvite.from_map() |> WorkOS.UserInvite.to_map() == serialized end - test "UserInviteList round-trips between wire and struct" do - data = %{ - "object" => "list", - "data" => [ - %{ - "object" => "invitation", - "id" => "id", - "email" => "email", - "state" => "pending", - "accepted_at" => "2024-01-01T00:00:00.000Z", - "revoked_at" => "2024-01-01T00:00:00.000Z", - "expires_at" => "2024-01-01T00:00:00.000Z", - "organization_id" => "organization_id", - "inviter_user_id" => "inviter_user_id", - "accepted_user_id" => "accepted_user_id", - "role_slug" => "role_slug", - "created_at" => "2024-01-01T00:00:00.000Z", - "updated_at" => "2024-01-01T00:00:00.000Z", - "token" => "token", - "accept_invitation_url" => "accept_invitation_url" - } - ], - "list_metadata" => %{"before" => "before", "after" => "after"} - } - - serialized = data |> WorkOS.UserInviteList.from_map() |> WorkOS.UserInviteList.to_map() - assert serialized == data - - assert serialized |> WorkOS.UserInviteList.from_map() |> WorkOS.UserInviteList.to_map() == - serialized - end - - test "UserList round-trips between wire and struct" do - data = %{ - "object" => "list", - "data" => [ - %{ - "object" => "user", - "id" => "id", - "first_name" => "first_name", - "last_name" => "last_name", - "name" => "name", - "profile_picture_url" => "profile_picture_url", - "email" => "email", - "email_verified" => true, - "external_id" => "external_id", - "metadata" => %{}, - "last_sign_in_at" => "2024-01-01T00:00:00.000Z", - "locale" => "locale", - "created_at" => "2024-01-01T00:00:00.000Z", - "updated_at" => "2024-01-01T00:00:00.000Z" - } - ], - "list_metadata" => %{"before" => "before", "after" => "after"} - } - - serialized = data |> WorkOS.UserList.from_map() |> WorkOS.UserList.to_map() - assert serialized == data - - assert serialized |> WorkOS.UserList.from_map() |> WorkOS.UserList.to_map() == serialized - end - test "UserSessionsListItem round-trips between wire and struct" do data = %{ "object" => "session", diff --git a/test/workos/user_management_test.exs b/test/workos/user_management_test.exs index 46709e0..0e60213 100644 --- a/test/workos/user_management_test.exs +++ b/test/workos/user_management_test.exs @@ -397,7 +397,7 @@ defmodule WorkOS.UserManagementTest do Req.Test.json(conn, WorkOS.TestFixtures.fixture("user_management/list_users")) end) - assert {:ok, %WorkOS.Page{data: [%WorkOS.UserList{object: "list"} | _]}} = + assert {:ok, %WorkOS.Page{data: [%WorkOS.User{object: "user", id: "id"} | _]}} = WorkOS.UserManagement.list_users(client) end @@ -551,7 +551,7 @@ defmodule WorkOS.UserManagementTest do Req.Test.json(conn, WorkOS.TestFixtures.fixture("user_management/list_invitations")) end) - assert {:ok, %WorkOS.Page{data: [%WorkOS.UserInviteList{object: "list"} | _]}} = + assert {:ok, %WorkOS.Page{data: [%WorkOS.UserInvite{object: "invitation", id: "id"} | _]}} = WorkOS.UserManagement.list_invitations(client) end @@ -730,8 +730,15 @@ defmodule WorkOS.UserManagementTest do end) assert {:ok, - %WorkOS.Page{data: [%WorkOS.AuthorizedConnectApplicationList{object: "list"} | _]}} = - WorkOS.UserManagement.list_user_authorized_applications(client, "test_user_id") + %WorkOS.Page{ + data: [ + %WorkOS.AuthorizedConnectApplicationListData{ + object: "authorized_connect_application", + id: "id" + } + | _ + ] + }} = WorkOS.UserManagement.list_user_authorized_applications(client, "test_user_id") end test "list_user_authorized_applications handles an empty page", %{client: client} do @@ -771,7 +778,7 @@ defmodule WorkOS.UserManagementTest do Req.Test.json(conn, WorkOS.TestFixtures.fixture("user_management/list_user_api_keys")) end) - assert {:ok, %WorkOS.Page{data: [%WorkOS.UserApiKeyList{object: "list"} | _]}} = + assert {:ok, %WorkOS.Page{data: [%WorkOS.UserApiKey{object: "api_key", id: "id"} | _]}} = WorkOS.UserManagement.list_user_api_keys(client, "test_user_id") end diff --git a/test/workos/vault_round_trip_test.exs b/test/workos/vault_round_trip_test.exs index 7323467..b35fffc 100644 --- a/test/workos/vault_round_trip_test.exs +++ b/test/workos/vault_round_trip_test.exs @@ -44,22 +44,6 @@ defmodule WorkOS.VaultRoundTripTest do |> WorkOS.DeleteObjectResponse.to_map() == serialized end - test "ObjectListResponse round-trips between wire and struct" do - data = %{ - "data" => [%{"id" => "id", "name" => "name", "updated_at" => "2024-01-01T00:00:00.000Z"}], - "list_metadata" => %{"after" => "after", "before" => "before"} - } - - serialized = - data |> WorkOS.ObjectListResponse.from_map() |> WorkOS.ObjectListResponse.to_map() - - assert serialized == data - - assert serialized - |> WorkOS.ObjectListResponse.from_map() - |> WorkOS.ObjectListResponse.to_map() == serialized - end - test "ObjectMetadata round-trips between wire and struct" do data = %{ "context" => %{}, @@ -78,6 +62,16 @@ defmodule WorkOS.VaultRoundTripTest do serialized end + test "ObjectSummary round-trips between wire and struct" do + data = %{"id" => "id", "name" => "name", "updated_at" => "2024-01-01T00:00:00.000Z"} + + serialized = data |> WorkOS.ObjectSummary.from_map() |> WorkOS.ObjectSummary.to_map() + assert serialized == data + + assert serialized |> WorkOS.ObjectSummary.from_map() |> WorkOS.ObjectSummary.to_map() == + serialized + end + test "ObjectWithoutValue round-trips between wire and struct" do data = %{ "id" => "id", diff --git a/test/workos/vault_test.exs b/test/workos/vault_test.exs index e3dedd6..7f44a9e 100644 --- a/test/workos/vault_test.exs +++ b/test/workos/vault_test.exs @@ -55,7 +55,7 @@ defmodule WorkOS.VaultTest do Req.Test.json(conn, WorkOS.TestFixtures.fixture("vault/list_kv")) end) - assert {:ok, %WorkOS.Page{data: [%WorkOS.ObjectListResponse{} | _]}} = + assert {:ok, %WorkOS.Page{data: [%WorkOS.ObjectSummary{id: "id", name: "name"} | _]}} = WorkOS.Vault.list_kv(client) end diff --git a/test/workos/webhooks_round_trip_test.exs b/test/workos/webhooks_round_trip_test.exs index ccf83cf..8833da2 100644 --- a/test/workos/webhooks_round_trip_test.exs +++ b/test/workos/webhooks_round_trip_test.exs @@ -21,32 +21,4 @@ defmodule WorkOS.WebhooksRoundTripTest do assert serialized |> WorkOS.WebhookEndpoint.from_map() |> WorkOS.WebhookEndpoint.to_map() == serialized end - - test "WebhookEndpointList round-trips between wire and struct" do - data = %{ - "object" => "list", - "data" => [ - %{ - "object" => "webhook_endpoint", - "id" => "id", - "endpoint_url" => "endpoint_url", - "secret" => "secret", - "status" => "enabled", - "events" => ["events"], - "created_at" => "2024-01-01T00:00:00.000Z", - "updated_at" => "2024-01-01T00:00:00.000Z" - } - ], - "list_metadata" => %{"before" => "before", "after" => "after"} - } - - serialized = - data |> WorkOS.WebhookEndpointList.from_map() |> WorkOS.WebhookEndpointList.to_map() - - assert serialized == data - - assert serialized - |> WorkOS.WebhookEndpointList.from_map() - |> WorkOS.WebhookEndpointList.to_map() == serialized - end end diff --git a/test/workos/webhooks_test.exs b/test/workos/webhooks_test.exs index 0183b34..c3c1555 100644 --- a/test/workos/webhooks_test.exs +++ b/test/workos/webhooks_test.exs @@ -20,8 +20,10 @@ defmodule WorkOS.WebhooksTest do Req.Test.json(conn, WorkOS.TestFixtures.fixture("webhooks/list_webhook_endpoints")) end) - assert {:ok, %WorkOS.Page{data: [%WorkOS.WebhookEndpointList{object: "list"} | _]}} = - WorkOS.Webhooks.list_webhook_endpoints(client) + assert {:ok, + %WorkOS.Page{ + data: [%WorkOS.WebhookEndpoint{object: "webhook_endpoint", id: "id"} | _] + }} = WorkOS.Webhooks.list_webhook_endpoints(client) end test "list_webhook_endpoints handles an empty page", %{client: client} do From e9b4d35f11b4add90a17b7b65512ebb017018948 Mon Sep 17 00:00:00 2001 From: "Garen J. Torikian" Date: Wed, 5 Aug 2026 15:37:17 -0400 Subject: [PATCH 2/2] feat: Add agent.registration.refreshed webhook event Spec drift the regeneration for #112 picked up, unrelated to that fix. Kept separate so the pagination fix can be reviewed, released, or reverted on its own. --- lib/workos/agent_registration_refreshed.ex | 52 +++++++++++++++++++ .../agent_registration_refreshed_data.ex | 31 +++++++++++ lib/workos/create_webhook_endpoint_events.ex | 4 ++ lib/workos/update_webhook_endpoint_events.ex | 4 ++ 4 files changed, 91 insertions(+) create mode 100644 lib/workos/agent_registration_refreshed.ex create mode 100644 lib/workos/agent_registration_refreshed_data.ex diff --git a/lib/workos/agent_registration_refreshed.ex b/lib/workos/agent_registration_refreshed.ex new file mode 100644 index 0000000..7aa35c8 --- /dev/null +++ b/lib/workos/agent_registration_refreshed.ex @@ -0,0 +1,52 @@ +# This file is auto-generated by oagen. Do not edit. + +defmodule WorkOS.AgentRegistrationRefreshed do + @moduledoc """ + AgentRegistrationRefreshed model. + """ + + defstruct [ + :object, + :id, + :event, + :data, + :created_at, + :context + ] + + @type t :: %__MODULE__{ + object: String.t(), + id: String.t(), + event: String.t(), + data: WorkOS.AgentRegistrationRefreshedData.t(), + created_at: String.t(), + context: WorkOS.EventContext.t() | nil + } + + @doc false + @spec from_map(map()) :: t() + def from_map(map) when is_map(map) do + %__MODULE__{ + object: map["object"], + id: map["id"], + event: map["event"], + data: WorkOS.Cast.nested(map["data"], &WorkOS.AgentRegistrationRefreshedData.from_map/1), + created_at: map["created_at"], + context: WorkOS.Cast.nested(map["context"], &WorkOS.EventContext.from_map/1) + } + end + + @doc false + @spec to_map(t()) :: map() + def to_map(%__MODULE__{} = struct) do + WorkOS.Cast.drop_nils(%{ + "object" => struct.object, + "id" => struct.id, + "event" => struct.event, + "data" => + WorkOS.Cast.dump_struct(struct.data, &WorkOS.AgentRegistrationRefreshedData.to_map/1), + "created_at" => struct.created_at, + "context" => WorkOS.Cast.dump_struct(struct.context, &WorkOS.EventContext.to_map/1) + }) + end +end diff --git a/lib/workos/agent_registration_refreshed_data.ex b/lib/workos/agent_registration_refreshed_data.ex new file mode 100644 index 0000000..38f98ed --- /dev/null +++ b/lib/workos/agent_registration_refreshed_data.ex @@ -0,0 +1,31 @@ +# This file is auto-generated by oagen. Do not edit. + +defmodule WorkOS.AgentRegistrationRefreshedData do + @moduledoc """ + The event payload. + """ + + defstruct [ + :agent_registration_id + ] + + @type t :: %__MODULE__{ + agent_registration_id: String.t() + } + + @doc false + @spec from_map(map()) :: t() + def from_map(map) when is_map(map) do + %__MODULE__{ + agent_registration_id: map["agent_registration_id"] + } + end + + @doc false + @spec to_map(t()) :: map() + def to_map(%__MODULE__{} = struct) do + WorkOS.Cast.drop_nils(%{ + "agent_registration_id" => struct.agent_registration_id + }) + end +end diff --git a/lib/workos/create_webhook_endpoint_events.ex b/lib/workos/create_webhook_endpoint_events.ex index 36176b6..e8251c1 100644 --- a/lib/workos/create_webhook_endpoint_events.ex +++ b/lib/workos/create_webhook_endpoint_events.ex @@ -11,6 +11,7 @@ defmodule WorkOS.CreateWebhookEndpointEvents do | :agent_registration_claim_completed | :agent_registration_credential_issued | :agent_registration_deleted + | :agent_registration_refreshed | :agent_registration_expired | :agent_registration_organization_switched | :agent_registration_revoked @@ -108,6 +109,7 @@ defmodule WorkOS.CreateWebhookEndpointEvents do :agent_registration_claim_completed, :agent_registration_credential_issued, :agent_registration_deleted, + :agent_registration_refreshed, :agent_registration_expired, :agent_registration_organization_switched, :agent_registration_revoked, @@ -207,6 +209,7 @@ defmodule WorkOS.CreateWebhookEndpointEvents do def cast("agent.registration.claim.completed"), do: :agent_registration_claim_completed def cast("agent.registration.credential.issued"), do: :agent_registration_credential_issued def cast("agent.registration.deleted"), do: :agent_registration_deleted + def cast("agent.registration.refreshed"), do: :agent_registration_refreshed def cast("agent.registration.expired"), do: :agent_registration_expired def cast("agent.registration.organization.switched"), @@ -327,6 +330,7 @@ defmodule WorkOS.CreateWebhookEndpointEvents do def dump(:agent_registration_claim_completed), do: "agent.registration.claim.completed" def dump(:agent_registration_credential_issued), do: "agent.registration.credential.issued" def dump(:agent_registration_deleted), do: "agent.registration.deleted" + def dump(:agent_registration_refreshed), do: "agent.registration.refreshed" def dump(:agent_registration_expired), do: "agent.registration.expired" def dump(:agent_registration_organization_switched), diff --git a/lib/workos/update_webhook_endpoint_events.ex b/lib/workos/update_webhook_endpoint_events.ex index ad46498..fc29aa6 100644 --- a/lib/workos/update_webhook_endpoint_events.ex +++ b/lib/workos/update_webhook_endpoint_events.ex @@ -11,6 +11,7 @@ defmodule WorkOS.UpdateWebhookEndpointEvents do | :agent_registration_claim_completed | :agent_registration_credential_issued | :agent_registration_deleted + | :agent_registration_refreshed | :agent_registration_expired | :agent_registration_organization_switched | :agent_registration_revoked @@ -108,6 +109,7 @@ defmodule WorkOS.UpdateWebhookEndpointEvents do :agent_registration_claim_completed, :agent_registration_credential_issued, :agent_registration_deleted, + :agent_registration_refreshed, :agent_registration_expired, :agent_registration_organization_switched, :agent_registration_revoked, @@ -207,6 +209,7 @@ defmodule WorkOS.UpdateWebhookEndpointEvents do def cast("agent.registration.claim.completed"), do: :agent_registration_claim_completed def cast("agent.registration.credential.issued"), do: :agent_registration_credential_issued def cast("agent.registration.deleted"), do: :agent_registration_deleted + def cast("agent.registration.refreshed"), do: :agent_registration_refreshed def cast("agent.registration.expired"), do: :agent_registration_expired def cast("agent.registration.organization.switched"), @@ -327,6 +330,7 @@ defmodule WorkOS.UpdateWebhookEndpointEvents do def dump(:agent_registration_claim_completed), do: "agent.registration.claim.completed" def dump(:agent_registration_credential_issued), do: "agent.registration.credential.issued" def dump(:agent_registration_deleted), do: "agent.registration.deleted" + def dump(:agent_registration_refreshed), do: "agent.registration.refreshed" def dump(:agent_registration_expired), do: "agent.registration.expired" def dump(:agent_registration_organization_switched),