/* 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 { UserVerificationEnum } from './UserVerificationEnum'; import { UserVerificationEnumFromJSON, UserVerificationEnumFromJSONTyped, UserVerificationEnumToJSON, UserVerificationEnumToJSONTyped, } from './UserVerificationEnum'; import type { NotConfiguredActionEnum } from './NotConfiguredActionEnum'; import { NotConfiguredActionEnumFromJSON, NotConfiguredActionEnumFromJSONTyped, NotConfiguredActionEnumToJSON, NotConfiguredActionEnumToJSONTyped, } from './NotConfiguredActionEnum'; import type { FlowSetRequest } from './FlowSetRequest'; import { FlowSetRequestFromJSON, FlowSetRequestFromJSONTyped, FlowSetRequestToJSON, FlowSetRequestToJSONTyped, } from './FlowSetRequest'; import type { DeviceClassesEnum } from './DeviceClassesEnum'; import { DeviceClassesEnumFromJSON, DeviceClassesEnumFromJSONTyped, DeviceClassesEnumToJSON, DeviceClassesEnumToJSONTyped, } from './DeviceClassesEnum'; /** * AuthenticatorValidateStage Serializer * @export * @interface AuthenticatorValidateStageRequest */ export interface AuthenticatorValidateStageRequest { /** * * @type {string} * @memberof AuthenticatorValidateStageRequest */ name: string; /** * * @type {Array} * @memberof AuthenticatorValidateStageRequest */ flowSet?: Array; /** * * @type {NotConfiguredActionEnum} * @memberof AuthenticatorValidateStageRequest */ notConfiguredAction?: NotConfiguredActionEnum; /** * Device classes which can be used to authenticate * @type {Array} * @memberof AuthenticatorValidateStageRequest */ 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 AuthenticatorValidateStageRequest */ configurationStages?: Array; /** * If any of the user's device has been used within this threshold, this stage will be skipped * @type {string} * @memberof AuthenticatorValidateStageRequest */ lastAuthThreshold?: string; /** * Enforce user verification for WebAuthn devices. * @type {UserVerificationEnum} * @memberof AuthenticatorValidateStageRequest */ webauthnUserVerification?: UserVerificationEnum; /** * * @type {Array} * @memberof AuthenticatorValidateStageRequest */ webauthnAllowedDeviceTypes?: Array; } /** * Check if a given object implements the AuthenticatorValidateStageRequest interface. */ export function instanceOfAuthenticatorValidateStageRequest(value: object): value is AuthenticatorValidateStageRequest { if (!('name' in value) || value['name'] === undefined) return false; return true; } export function AuthenticatorValidateStageRequestFromJSON(json: any): AuthenticatorValidateStageRequest { return AuthenticatorValidateStageRequestFromJSONTyped(json, false); } export function AuthenticatorValidateStageRequestFromJSONTyped(json: any, ignoreDiscriminator: boolean): AuthenticatorValidateStageRequest { if (json == null) { return json; } return { 'name': json['name'], 'flowSet': json['flow_set'] == null ? undefined : ((json['flow_set'] as Array).map(FlowSetRequestFromJSON)), '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'], }; } export function AuthenticatorValidateStageRequestToJSON(json: any): AuthenticatorValidateStageRequest { return AuthenticatorValidateStageRequestToJSONTyped(json, false); } export function AuthenticatorValidateStageRequestToJSONTyped(value?: AuthenticatorValidateStageRequest | 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(FlowSetRequestToJSON)), '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'], }; }