/* tslint:disable */ /* eslint-disable */ /** * authentik * Making authentication simple. * * The version of the OpenAPI document: 2026.2.3-rc1 * 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 { OperatingSystem } from './OperatingSystem'; import { OperatingSystemFromJSON, OperatingSystemFromJSONTyped, OperatingSystemToJSON, OperatingSystemToJSONTyped, } from './OperatingSystem'; import type { DeviceUser } from './DeviceUser'; import { DeviceUserFromJSON, DeviceUserFromJSONTyped, DeviceUserToJSON, DeviceUserToJSONTyped, } from './DeviceUser'; import type { Network } from './Network'; import { NetworkFromJSON, NetworkFromJSONTyped, NetworkToJSON, NetworkToJSONTyped, } from './Network'; import type { DeviceGroup } from './DeviceGroup'; import { DeviceGroupFromJSON, DeviceGroupFromJSONTyped, DeviceGroupToJSON, DeviceGroupToJSONTyped, } from './DeviceGroup'; import type { Hardware } from './Hardware'; import { HardwareFromJSON, HardwareFromJSONTyped, HardwareToJSON, HardwareToJSONTyped, } from './Hardware'; import type { Process } from './Process'; import { ProcessFromJSON, ProcessFromJSONTyped, ProcessToJSON, ProcessToJSONTyped, } from './Process'; import type { Software } from './Software'; import { SoftwareFromJSON, SoftwareFromJSONTyped, SoftwareToJSON, SoftwareToJSONTyped, } from './Software'; import type { Disk } from './Disk'; import { DiskFromJSON, DiskFromJSONTyped, DiskToJSON, DiskToJSONTyped, } from './Disk'; /** * * @export * @interface DeviceFacts */ export interface DeviceFacts { /** * * @type {OperatingSystem} * @memberof DeviceFacts */ os?: OperatingSystem | null; /** * * @type {Array} * @memberof DeviceFacts */ disks?: Array | null; /** * * @type {Network} * @memberof DeviceFacts */ network?: Network | null; /** * * @type {Hardware} * @memberof DeviceFacts */ hardware?: Hardware | null; /** * * @type {Array} * @memberof DeviceFacts */ software?: Array | null; /** * * @type {Array} * @memberof DeviceFacts */ processes?: Array | null; /** * * @type {Array} * @memberof DeviceFacts */ users?: Array | null; /** * * @type {Array} * @memberof DeviceFacts */ groups?: Array | null; /** * * @type {{ [key: string]: any; }} * @memberof DeviceFacts */ vendor?: { [key: string]: any; }; } /** * Check if a given object implements the DeviceFacts interface. */ export function instanceOfDeviceFacts(value: object): value is DeviceFacts { return true; } export function DeviceFactsFromJSON(json: any): DeviceFacts { return DeviceFactsFromJSONTyped(json, false); } export function DeviceFactsFromJSONTyped(json: any, ignoreDiscriminator: boolean): DeviceFacts { if (json == null) { return json; } return { 'os': json['os'] == null ? undefined : OperatingSystemFromJSON(json['os']), 'disks': json['disks'] == null ? undefined : ((json['disks'] as Array).map(DiskFromJSON)), 'network': json['network'] == null ? undefined : NetworkFromJSON(json['network']), 'hardware': json['hardware'] == null ? undefined : HardwareFromJSON(json['hardware']), 'software': json['software'] == null ? undefined : ((json['software'] as Array).map(SoftwareFromJSON)), 'processes': json['processes'] == null ? undefined : ((json['processes'] as Array).map(ProcessFromJSON)), 'users': json['users'] == null ? undefined : ((json['users'] as Array).map(DeviceUserFromJSON)), 'groups': json['groups'] == null ? undefined : ((json['groups'] as Array).map(DeviceGroupFromJSON)), 'vendor': json['vendor'] == null ? undefined : json['vendor'], }; } export function DeviceFactsToJSON(json: any): DeviceFacts { return DeviceFactsToJSONTyped(json, false); } export function DeviceFactsToJSONTyped(value?: DeviceFacts | null, ignoreDiscriminator: boolean = false): any { if (value == null) { return value; } return { 'os': OperatingSystemToJSON(value['os']), 'disks': value['disks'] == null ? undefined : ((value['disks'] as Array).map(DiskToJSON)), 'network': NetworkToJSON(value['network']), 'hardware': HardwareToJSON(value['hardware']), 'software': value['software'] == null ? undefined : ((value['software'] as Array).map(SoftwareToJSON)), 'processes': value['processes'] == null ? undefined : ((value['processes'] as Array).map(ProcessToJSON)), 'users': value['users'] == null ? undefined : ((value['users'] as Array).map(DeviceUserToJSON)), 'groups': value['groups'] == null ? undefined : ((value['groups'] as Array).map(DeviceGroupToJSON)), 'vendor': value['vendor'], }; }