/* 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'; import type { PartialUser } from './PartialUser'; import { PartialUserFromJSON, PartialUserFromJSONTyped, PartialUserToJSON, PartialUserToJSONTyped, } from './PartialUser'; import type { OffboardingStatusEnum } from './OffboardingStatusEnum'; import { OffboardingStatusEnumFromJSON, OffboardingStatusEnumFromJSONTyped, OffboardingStatusEnumToJSON, OffboardingStatusEnumToJSONTyped, } from './OffboardingStatusEnum'; /** * Mixin to validate that a valid enterprise license * exists before allowing to save the object * @export * @interface UserOffboarding */ export interface UserOffboarding { /** * * @type {string} * @memberof UserOffboarding */ readonly id: string; /** * * @type {number} * @memberof UserOffboarding */ user: number; /** * * @type {PartialUser} * @memberof UserOffboarding */ readonly userObj: PartialUser; /** * Absolute time at which the offboarding action is executed. * @type {Date} * @memberof UserOffboarding */ scheduledAt: Date; /** * * @type {OffboardingActionEnum} * @memberof UserOffboarding */ action?: OffboardingActionEnum; /** * Revoke all of the user's sessions when offboarding. * @type {boolean} * @memberof UserOffboarding */ revokeSessions?: boolean; /** * Revoke all of the user's tokens when offboarding. * @type {boolean} * @memberof UserOffboarding */ revokeTokens?: boolean; /** * * @type {OffboardingStatusEnum} * @memberof UserOffboarding */ readonly status: OffboardingStatusEnum; /** * * @type {PartialUser} * @memberof UserOffboarding */ readonly createdByObj: PartialUser; /** * * @type {Date} * @memberof UserOffboarding */ readonly createdAt: Date; /** * * @type {Date} * @memberof UserOffboarding */ readonly executedAt: Date | null; } /** * Check if a given object implements the UserOffboarding interface. */ export function instanceOfUserOffboarding(value: object): value is UserOffboarding { if (!('id' in value) || value['id'] === undefined) return false; if (!('user' in value) || value['user'] === undefined) return false; if (!('userObj' in value) || value['userObj'] === undefined) return false; if (!('scheduledAt' in value) || value['scheduledAt'] === undefined) return false; if (!('status' in value) || value['status'] === undefined) return false; if (!('createdByObj' in value) || value['createdByObj'] === undefined) return false; if (!('createdAt' in value) || value['createdAt'] === undefined) return false; if (!('executedAt' in value) || value['executedAt'] === undefined) return false; return true; } export function UserOffboardingFromJSON(json: any): UserOffboarding { return UserOffboardingFromJSONTyped(json, false); } export function UserOffboardingFromJSONTyped(json: any, ignoreDiscriminator: boolean): UserOffboarding { if (json == null) { return json; } return { 'id': json['id'], 'user': json['user'], 'userObj': PartialUserFromJSON(json['user_obj']), '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'], 'status': OffboardingStatusEnumFromJSON(json['status']), 'createdByObj': PartialUserFromJSON(json['created_by_obj']), 'createdAt': (new Date(json['created_at'])), 'executedAt': (json['executed_at'] == null ? null : new Date(json['executed_at'])), }; } export function UserOffboardingToJSON(json: any): UserOffboarding { return UserOffboardingToJSONTyped(json, false); } export function UserOffboardingToJSONTyped(value?: Omit | 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'], }; }