"use strict";
/* tslint:disable */
/* eslint-disable */
/**
 * authentik
 * Making authentication simple.
 *
 * The version of the OpenAPI document: 2026.2.0-rc5
 * 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.
 */
Object.defineProperty(exports, "__esModule", { value: true });
exports.instanceOfDeviceFactsRequest = instanceOfDeviceFactsRequest;
exports.DeviceFactsRequestFromJSON = DeviceFactsRequestFromJSON;
exports.DeviceFactsRequestFromJSONTyped = DeviceFactsRequestFromJSONTyped;
exports.DeviceFactsRequestToJSON = DeviceFactsRequestToJSON;
exports.DeviceFactsRequestToJSONTyped = DeviceFactsRequestToJSONTyped;
const DiskRequest_1 = require("./DiskRequest");
const HardwareRequest_1 = require("./HardwareRequest");
const OperatingSystemRequest_1 = require("./OperatingSystemRequest");
const SoftwareRequest_1 = require("./SoftwareRequest");
const ProcessRequest_1 = require("./ProcessRequest");
const NetworkRequest_1 = require("./NetworkRequest");
const DeviceGroupRequest_1 = require("./DeviceGroupRequest");
const DeviceUserRequest_1 = require("./DeviceUserRequest");
/**
 * Check if a given object implements the DeviceFactsRequest interface.
 */
function instanceOfDeviceFactsRequest(value) {
    return true;
}
function DeviceFactsRequestFromJSON(json) {
    return DeviceFactsRequestFromJSONTyped(json, false);
}
function DeviceFactsRequestFromJSONTyped(json, ignoreDiscriminator) {
    if (json == null) {
        return json;
    }
    return {
        'os': json['os'] == null ? undefined : (0, OperatingSystemRequest_1.OperatingSystemRequestFromJSON)(json['os']),
        'disks': json['disks'] == null ? undefined : (json['disks'].map(DiskRequest_1.DiskRequestFromJSON)),
        'network': json['network'] == null ? undefined : (0, NetworkRequest_1.NetworkRequestFromJSON)(json['network']),
        'hardware': json['hardware'] == null ? undefined : (0, HardwareRequest_1.HardwareRequestFromJSON)(json['hardware']),
        'software': json['software'] == null ? undefined : (json['software'].map(SoftwareRequest_1.SoftwareRequestFromJSON)),
        'processes': json['processes'] == null ? undefined : (json['processes'].map(ProcessRequest_1.ProcessRequestFromJSON)),
        'users': json['users'] == null ? undefined : (json['users'].map(DeviceUserRequest_1.DeviceUserRequestFromJSON)),
        'groups': json['groups'] == null ? undefined : (json['groups'].map(DeviceGroupRequest_1.DeviceGroupRequestFromJSON)),
        'vendor': json['vendor'] == null ? undefined : json['vendor'],
    };
}
function DeviceFactsRequestToJSON(json) {
    return DeviceFactsRequestToJSONTyped(json, false);
}
function DeviceFactsRequestToJSONTyped(value, ignoreDiscriminator = false) {
    if (value == null) {
        return value;
    }
    return {
        'os': (0, OperatingSystemRequest_1.OperatingSystemRequestToJSON)(value['os']),
        'disks': value['disks'] == null ? undefined : (value['disks'].map(DiskRequest_1.DiskRequestToJSON)),
        'network': (0, NetworkRequest_1.NetworkRequestToJSON)(value['network']),
        'hardware': (0, HardwareRequest_1.HardwareRequestToJSON)(value['hardware']),
        'software': value['software'] == null ? undefined : (value['software'].map(SoftwareRequest_1.SoftwareRequestToJSON)),
        'processes': value['processes'] == null ? undefined : (value['processes'].map(ProcessRequest_1.ProcessRequestToJSON)),
        'users': value['users'] == null ? undefined : (value['users'].map(DeviceUserRequest_1.DeviceUserRequestToJSON)),
        'groups': value['groups'] == null ? undefined : (value['groups'].map(DeviceGroupRequest_1.DeviceGroupRequestToJSON)),
        'vendor': value['vendor'],
    };
}
//# sourceMappingURL=DeviceFactsRequest.js.map