/* tslint:disable */ /* eslint-disable */ /** * authentik * Making authentication simple. * * The version of the OpenAPI document: 2025.6.3 * Contact: hello@goauthentik.io * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). * https://openapi-generator.tech * Do not edit the class manually. */ import { mapValues } from '../runtime'; import type { WebAuthnDeviceType } from './WebAuthnDeviceType'; import { WebAuthnDeviceTypeFromJSON, WebAuthnDeviceTypeFromJSONTyped, WebAuthnDeviceTypeToJSON, WebAuthnDeviceTypeToJSONTyped, } from './WebAuthnDeviceType'; import type { UserVerificationEnum } from './UserVerificationEnum'; import { UserVerificationEnumFromJSON, UserVerificationEnumFromJSONTyped, UserVerificationEnumToJSON, UserVerificationEnumToJSONTyped, } from './UserVerificationEnum'; import type { NotConfiguredActionEnum } from './NotConfiguredActionEnum'; import { NotConfiguredActionEnumFromJSON, NotConfiguredActionEnumFromJSONTyped, NotConfiguredActionEnumToJSON, NotConfiguredActionEnumToJSONTyped, } from './NotConfiguredActionEnum'; import type { FlowSet } from './FlowSet'; import { FlowSetFromJSON, FlowSetFromJSONTyped, FlowSetToJSON, FlowSetToJSONTyped, } from './FlowSet'; import type { DeviceClassesEnum } from './DeviceClassesEnum'; import { DeviceClassesEnumFromJSON, DeviceClassesEnumFromJSONTyped, DeviceClassesEnumToJSON, DeviceClassesEnumToJSONTyped, } from './DeviceClassesEnum'; /** * AuthenticatorValidateStage Serializer * @export * @interface AuthenticatorValidateStage */ export interface AuthenticatorValidateStage { /** * * @type {string} * @memberof AuthenticatorValidateStage */ readonly pk: string; /** * * @type {string} * @memberof AuthenticatorValidateStage */ name: string; /** * Get object type so that we know how to edit the object * @type {string} * @memberof AuthenticatorValidateStage */ readonly component: string; /** * Return object's verbose_name * @type {string} * @memberof AuthenticatorValidateStage */ readonly verboseName: string; /** * Return object's plural verbose_name * @type {string} * @memberof AuthenticatorValidateStage */ readonly verboseNamePlural: string; /** * Return internal model name * @type {string} * @memberof AuthenticatorValidateStage */ readonly metaModelName: string; /** * * @type {Array} * @memberof AuthenticatorValidateStage */ flowSet?: Array; /** * * @type {NotConfiguredActionEnum} * @memberof AuthenticatorValidateStage */ notConfiguredAction?: NotConfiguredActionEnum; /** * Device classes which can be used to authenticate * @type {Array} * @memberof AuthenticatorValidateStage */ deviceClasses?: Array; /** * Stages used to configure Authenticator when user doesn't have any compatible devices. After this configuration Stage passes, the user is not prompted again. * @type {Array} * @memberof AuthenticatorValidateStage */ configurationStages?: Array; /** * If any of the user's device has been used within this threshold, this stage will be skipped * @type {string} * @memberof AuthenticatorValidateStage */ lastAuthThreshold?: string; /** * Enforce user verification for WebAuthn devices. * @type {UserVerificationEnum} * @memberof AuthenticatorValidateStage */ webauthnUserVerification?: UserVerificationEnum; /** * * @type {Array} * @memberof AuthenticatorValidateStage */ webauthnAllowedDeviceTypes?: Array; /** * * @type {Array} * @memberof AuthenticatorValidateStage */ readonly webauthnAllowedDeviceTypesObj: Array; } /** * Check if a given object implements the AuthenticatorValidateStage interface. */ export function instanceOfAuthenticatorValidateStage(value: object): value is AuthenticatorValidateStage { if (!('pk' in value) || value['pk'] === undefined) return false; if (!('name' in value) || value['name'] === undefined) return false; if (!('component' in value) || value['component'] === undefined) return false; if (!('verboseName' in value) || value['verboseName'] === undefined) return false; if (!('verboseNamePlural' in value) || value['verboseNamePlural'] === undefined) return false; if (!('metaModelName' in value) || value['metaModelName'] === undefined) return false; if (!('webauthnAllowedDeviceTypesObj' in value) || value['webauthnAllowedDeviceTypesObj'] === undefined) return false; return true; } export function AuthenticatorValidateStageFromJSON(json: any): AuthenticatorValidateStage { return AuthenticatorValidateStageFromJSONTyped(json, false); } export function AuthenticatorValidateStageFromJSONTyped(json: any, ignoreDiscriminator: boolean): AuthenticatorValidateStage { if (json == null) { return json; } return { 'pk': json['pk'], 'name': json['name'], 'component': json['component'], 'verboseName': json['verbose_name'], 'verboseNamePlural': json['verbose_name_plural'], 'metaModelName': json['meta_model_name'], 'flowSet': json['flow_set'] == null ? undefined : ((json['flow_set'] as Array).map(FlowSetFromJSON)), 'notConfiguredAction': json['not_configured_action'] == null ? undefined : NotConfiguredActionEnumFromJSON(json['not_configured_action']), 'deviceClasses': json['device_classes'] == null ? undefined : ((json['device_classes'] as Array).map(DeviceClassesEnumFromJSON)), 'configurationStages': json['configuration_stages'] == null ? undefined : json['configuration_stages'], 'lastAuthThreshold': json['last_auth_threshold'] == null ? undefined : json['last_auth_threshold'], 'webauthnUserVerification': json['webauthn_user_verification'] == null ? undefined : UserVerificationEnumFromJSON(json['webauthn_user_verification']), 'webauthnAllowedDeviceTypes': json['webauthn_allowed_device_types'] == null ? undefined : json['webauthn_allowed_device_types'], 'webauthnAllowedDeviceTypesObj': ((json['webauthn_allowed_device_types_obj'] as Array).map(WebAuthnDeviceTypeFromJSON)), }; } export function AuthenticatorValidateStageToJSON(json: any): AuthenticatorValidateStage { return AuthenticatorValidateStageToJSONTyped(json, false); } export function AuthenticatorValidateStageToJSONTyped(value?: Omit | null, ignoreDiscriminator: boolean = false): any { if (value == null) { return value; } return { 'name': value['name'], 'flow_set': value['flowSet'] == null ? undefined : ((value['flowSet'] as Array).map(FlowSetToJSON)), 'not_configured_action': NotConfiguredActionEnumToJSON(value['notConfiguredAction']), 'device_classes': value['deviceClasses'] == null ? undefined : ((value['deviceClasses'] as Array).map(DeviceClassesEnumToJSON)), 'configuration_stages': value['configurationStages'], 'last_auth_threshold': value['lastAuthThreshold'], 'webauthn_user_verification': UserVerificationEnumToJSON(value['webauthnUserVerification']), 'webauthn_allowed_device_types': value['webauthnAllowedDeviceTypes'], }; }