/* tslint:disable */ /* eslint-disable */ /** * authentik * Making authentication simple. * * The version of the OpenAPI document: 2026.8.0-rc7 * 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 { OffboardingActionEnum } from './OffboardingActionEnum'; import { OffboardingActionEnumFromJSON, OffboardingActionEnumFromJSONTyped, OffboardingActionEnumToJSON, OffboardingActionEnumToJSONTyped, } from './OffboardingActionEnum'; /** * Mixin to validate that a valid enterprise license * exists before allowing to save the object * @export * @interface UserOffboardingRequest */ export interface UserOffboardingRequest { /** * * @type {number} * @memberof UserOffboardingRequest */ user: number; /** * Absolute time at which the offboarding action is executed. * @type {Date} * @memberof UserOffboardingRequest */ scheduledAt: Date; /** * * @type {OffboardingActionEnum} * @memberof UserOffboardingRequest */ action?: OffboardingActionEnum; /** * Revoke all of the user's sessions when offboarding. * @type {boolean} * @memberof UserOffboardingRequest */ revokeSessions?: boolean; /** * Revoke all of the user's tokens when offboarding. * @type {boolean} * @memberof UserOffboardingRequest */ revokeTokens?: boolean; } /** * Check if a given object implements the UserOffboardingRequest interface. */ export function instanceOfUserOffboardingRequest(value: object): value is UserOffboardingRequest { if (!('user' in value) || value['user'] === undefined) return false; if (!('scheduledAt' in value) || value['scheduledAt'] === undefined) return false; return true; } export function UserOffboardingRequestFromJSON(json: any): UserOffboardingRequest { return UserOffboardingRequestFromJSONTyped(json, false); } export function UserOffboardingRequestFromJSONTyped(json: any, ignoreDiscriminator: boolean): UserOffboardingRequest { if (json == null) { return json; } return { 'user': json['user'], 'scheduledAt': (new Date(json['scheduled_at'])), 'action': json['action'] == null ? undefined : OffboardingActionEnumFromJSON(json['action']), 'revokeSessions': json['revoke_sessions'] == null ? undefined : json['revoke_sessions'], 'revokeTokens': json['revoke_tokens'] == null ? undefined : json['revoke_tokens'], }; } export function UserOffboardingRequestToJSON(json: any): UserOffboardingRequest { return UserOffboardingRequestToJSONTyped(json, false); } export function UserOffboardingRequestToJSONTyped(value?: UserOffboardingRequest | null, ignoreDiscriminator: boolean = false): any { if (value == null) { return value; } return { 'user': value['user'], 'scheduled_at': value['scheduledAt'].toISOString(), 'action': OffboardingActionEnumToJSON(value['action']), 'revoke_sessions': value['revokeSessions'], 'revoke_tokens': value['revokeTokens'], }; }