Class: WorkOS::Types::BaseModel

Inherits:
Object
  • Object
show all
Includes:
HashProvider
Defined in:
lib/workos/types/base_model.rb

Overview

Shared base class for all generated model classes.

Provides:

  • HashProvider mixin for to_h / to_json / inspect

  • normalize(input) for JSON-vs-hash / string-vs-symbol normalization

Subclasses declare HASH_ATTRS for serialization and implement their own initialize(json) using normalize to parse input.

Direct Known Subclasses

ActionAuthenticationDenied, ActionAuthenticationDeniedData, ActionUserRegistrationDenied, ActionUserRegistrationDeniedData, AddRolePermission, ApiKey, ApiKeyCreated, ApiKeyCreatedData, ApiKeyCreatedDataOwner, ApiKeyRevoked, ApiKeyValidationResponse, ApiKeyWithValue, ApplicationCredentialsListItem, AssignRole, AuditLogActionJson, AuditLogConfiguration, AuditLogConfigurationLogStream, AuditLogEvent, AuditLogEventActor, AuditLogEventContext, AuditLogEventCreateResponse, AuditLogEventIngestion, AuditLogExportCreation, AuditLogExportJson, AuditLogSchema, AuditLogSchemaActor, AuditLogSchemaJson, AuditLogSchemaJsonTarget, AuditLogsRetentionJson, AuthenticateResponse, AuthenticateResponseImpersonator, AuthenticateResponseOAuthToken, AuthenticationChallenge, AuthenticationChallengeVerifyResponse, AuthenticationChallengesVerifyRequest, AuthenticationEmailVerificationFailed, AuthenticationEmailVerificationFailedData, AuthenticationEmailVerificationFailedDataError, AuthenticationEmailVerificationSucceeded, AuthenticationEmailVerificationSucceededData, AuthenticationFactor, AuthenticationFactorEnrolled, AuthenticationFactorEnrolledSms, AuthenticationFactorEnrolledTotp, AuthenticationFactorTotp, AuthenticationFactorsCreateRequest, AuthenticationMFAFailed, AuthenticationMFAFailedData, AuthenticationMFASucceeded, AuthenticationMFASucceededData, AuthenticationMagicAuthFailed, AuthenticationMagicAuthFailedData, AuthenticationMagicAuthSucceeded, AuthenticationMagicAuthSucceededData, AuthenticationOAuthFailed, AuthenticationOAuthFailedData, AuthenticationOAuthSucceeded, AuthenticationOAuthSucceededData, AuthenticationPasskeyFailed, AuthenticationPasskeyFailedData, AuthenticationPasskeySucceeded, AuthenticationPasskeySucceededData, AuthenticationPasswordFailed, AuthenticationPasswordFailedData, AuthenticationPasswordSucceeded, AuthenticationPasswordSucceededData, AuthenticationRadarRiskDetected, AuthenticationRadarRiskDetectedData, AuthenticationSSOFailed, AuthenticationSSOFailedData, AuthenticationSSOFailedDataSSO, AuthenticationSSOStarted, AuthenticationSSOStartedData, AuthenticationSSOSucceeded, AuthenticationSSOSucceededData, AuthenticationSSOTimedOut, AuthenticationSSOTimedOutData, AuthorizationCheck, AuthorizationCodeSessionAuthenticateRequest, AuthorizationPermission, AuthorizationResource, AuthorizedConnectApplicationListData, CORSOriginResponse, ChallengeAuthenticationFactor, CheckAuthorization, ConnectApplication, ConnectedAccount, Connection, ConnectionActivated, ConnectionActivatedData, ConnectionActivatedDataDomain, ConnectionDeactivated, ConnectionDeactivatedData, ConnectionDeleted, ConnectionDeletedData, ConnectionOption, ConnectionSAMLCertificateRenewalRequired, ConnectionSAMLCertificateRenewalRequiredData, ConnectionSAMLCertificateRenewalRequiredDataCertificate, ConnectionSAMLCertificateRenewalRequiredDataConnection, ConnectionSAMLCertificateRenewed, ConnectionSAMLCertificateRenewedData, ConnectionSAMLCertificateRenewedDataCertificate, CreateApplicationSecret, CreateAuthorizationPermission, CreateAuthorizationResource, CreateCORSOrigin, CreateM2MApplication, CreateMagicCodeAndReturn, CreateOAuthApplication, CreateOrganizationApiKey, CreateOrganizationDomain, CreateOrganizationRole, CreatePasswordReset, CreatePasswordResetToken, CreateRedirectUri, CreateUser, CreateUserInviteOptions, CreateUserOrganizationMembership, CreateWebhookEndpoint, DataIntegrationAccessTokenResponse, DataIntegrationAccessTokenResponseAccessToken, DataIntegrationAuthorizeUrlResponse, DataIntegrationsGetDataIntegrationAuthorizeUrlRequest, DataIntegrationsGetUserTokenRequest, DataIntegrationsListResponse, DataIntegrationsListResponseData, DataIntegrationsListResponseDataConnectedAccount, DeviceAuthorizationResponse, DeviceCodeSessionAuthenticateRequest, Directory, DirectoryGroup, DirectoryMetadata, DirectoryMetadataUser, DirectoryUser, DirectoryUserEmail, DirectoryUserWithGroups, DsyncActivated, DsyncActivatedData, DsyncActivatedDataDomain, DsyncDeactivated, DsyncDeactivatedData, DsyncDeleted, DsyncDeletedData, DsyncGroupCreated, DsyncGroupDeleted, DsyncGroupUpdated, DsyncGroupUpdatedData, DsyncGroupUserAdded, DsyncGroupUserAddedData, DsyncGroupUserRemoved, DsyncUserCreated, DsyncUserDeleted, DsyncUserUpdated, DsyncUserUpdatedData, EmailChange, EmailChangeConfirmation, EmailChangeConfirmationUser, EmailVerification, EmailVerificationCodeSessionAuthenticateRequest, EmailVerificationCreated, EmailVerificationCreatedData, EnrollUserAuthenticationFactor, EventContext, EventContextActor, EventContextGoogleAnalyticsSession, EventListListMetadata, EventSchema, ExternalAuthCompleteResponse, FeatureFlag, FeatureFlagOwner, FlagCreated, FlagCreatedContext, FlagCreatedContextActor, FlagCreatedData, FlagDeleted, FlagDeletedContext, FlagDeletedContextActor, FlagRuleUpdated, FlagRuleUpdatedContext, FlagRuleUpdatedContextActor, FlagRuleUpdatedContextConfiguredTarget, FlagRuleUpdatedContextConfiguredTargetOrganization, FlagRuleUpdatedContextConfiguredTargetUser, FlagRuleUpdatedContextPreviousAttribute, FlagRuleUpdatedContextPreviousAttributeContext, FlagRuleUpdatedContextPreviousAttributeData, FlagUpdated, FlagUpdatedContext, FlagUpdatedContextActor, FlagUpdatedContextPreviousAttribute, FlagUpdatedContextPreviousAttributeData, GenerateLink, Group, GroupCreated, GroupDeleted, GroupMemberAdded, GroupMemberAddedData, GroupMemberRemoved, GroupUpdated, IntentOptions, Invitation, InvitationAccepted, InvitationAcceptedData, InvitationCreated, InvitationCreatedData, InvitationResent, InvitationResentData, InvitationRevoked, InvitationRevokedData, JWTTemplateResponse, JwksResponse, JwksResponseKeys, MFATotpSessionAuthenticateRequest, MagicAuth, MagicAuthCodeSessionAuthenticateRequest, MagicAuthCreated, MagicAuthCreatedData, NewConnectApplicationSecret, Organization, OrganizationCreated, OrganizationCreatedData, OrganizationCreatedDataDomain, OrganizationDeleted, OrganizationDeletedData, OrganizationDeletedDataDomain, OrganizationDomain, OrganizationDomainCreated, OrganizationDomainCreatedData, OrganizationDomainData, OrganizationDomainDeleted, OrganizationDomainDeletedData, OrganizationDomainStandAlone, OrganizationDomainUpdated, OrganizationDomainUpdatedData, OrganizationDomainVerificationFailed, OrganizationDomainVerificationFailedData, OrganizationDomainVerificationFailedDataOrganizationDomain, OrganizationDomainVerified, OrganizationDomainVerifiedData, OrganizationInput, OrganizationMembership, OrganizationMembershipCreated, OrganizationMembershipCreatedData, OrganizationMembershipDeleted, OrganizationMembershipDeletedData, OrganizationMembershipUpdated, OrganizationMembershipUpdatedData, OrganizationRoleCreated, OrganizationRoleCreatedData, OrganizationRoleDeleted, OrganizationRoleUpdated, OrganizationSelectionSessionAuthenticateRequest, OrganizationUpdated, OrganizationUpdatedData, OrganizationUpdatedDataDomain, PasswordReset, PasswordResetCreated, PasswordResetCreatedData, PasswordResetSucceeded, PasswordSessionAuthenticateRequest, PermissionCreated, PermissionCreatedData, PermissionDeleted, PermissionUpdated, PortalLinkResponse, Profile, RadarListEntryAlreadyPresentResponse, RadarStandaloneAssessRequest, RadarStandaloneDeleteRadarListEntryRequest, RadarStandaloneResponse, RadarStandaloneUpdateRadarAttemptRequest, RedirectUri, RedirectUriInput, RefreshTokenSessionAuthenticateRequest, ResendUserInviteOptions, ResetPasswordResponse, RevokeSession, Role, RoleAssignment, RoleAssignmentResource, RoleCreated, RoleCreatedData, RoleDeleted, RoleList, RoleUpdated, SSOAuthorizeUrlResponse, SSODeviceAuthorizationRequest, SSOIntentOptions, SSOLogoutAuthorizeRequest, SSOLogoutAuthorizeResponse, SSOTokenResponse, SendEmailChange, SessionCreated, SessionCreatedData, SessionRevoked, SessionRevokedData, SetRolePermissions, WorkOS::TokenQuery, UpdateAuditLogsRetention, UpdateAuthorizationPermission, UpdateAuthorizationResource, UpdateJWTTemplate, UpdateOAuthApplication, UpdateOrganization, UpdateUser, UpdateUserOrganizationMembership, UpdateWebhookEndpoint, UserAuthenticationFactorEnrollResponse, UserConsentOption, UserConsentOptionChoice, UserCreated, UserDeleted, UserIdentitiesGetItem, UserInvite, UserManagementLoginRequest, UserObject, UserOrganizationMembership, UserOrganizationMembershipBaseListData, UserSessionsListItem, UserUpdated, ValidateApiKey, VaultByokKeyVerificationCompleted, VaultByokKeyVerificationCompletedData, VaultDataCreated, VaultDataCreatedData, VaultDataDeleted, VaultDataDeletedData, VaultDataRead, VaultDataReadData, VaultDataUpdated, VaultDataUpdatedData, VaultDekDecrypted, VaultDekDecryptedData, VaultDekRead, VaultDekReadData, VaultKekCreated, VaultKekCreatedData, VaultMetadataRead, VaultMetadataReadData, VaultNamesListed, VaultNamesListedData, WebhookEndpointJson, WidgetSessionToken, WidgetSessionTokenResponse

Instance Attribute Summary collapse

Class Method Summary collapse

Methods included from HashProvider

#inspect, #to_h, #to_json

Instance Attribute Details

#last_responseWorkOS::Types::ApiResponse?

The raw HTTP response metadata for this object, if available. Populated automatically by service methods that return models.

Returns:



22
23
24
# File 'lib/workos/types/base_model.rb', line 22

def last_response
  @last_response
end

Class Method Details

.normalize(json) ⇒ Hash{Symbol => Object}

Normalize an input value (JSON string or Hash) into a Hash with symbolized keys. Safe for already-symbolized hashes (no-op).

Parameters:

  • json (String, Hash)

    JSON string or hash to normalize.

Returns:

  • (Hash{Symbol => Object})


29
30
31
32
# File 'lib/workos/types/base_model.rb', line 29

def self.normalize(json)
  hash = json.is_a?(Hash) ? json : JSON.parse(json, symbolize_names: true)
  hash.transform_keys(&:to_sym)
end