"use strict";
/* tslint:disable */
/* eslint-disable */
/**
 * authentik
 * Making authentication simple.
 *
 * The version of the OpenAPI document: 2026.2.2-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.
 */
Object.defineProperty(exports, "__esModule", { value: true });
exports.instanceOfDataExport = instanceOfDataExport;
exports.DataExportFromJSON = DataExportFromJSON;
exports.DataExportFromJSONTyped = DataExportFromJSONTyped;
exports.DataExportToJSON = DataExportToJSON;
exports.DataExportToJSONTyped = DataExportToJSONTyped;
const PartialUser_1 = require("./PartialUser");
const ContentType_1 = require("./ContentType");
/**
 * Check if a given object implements the DataExport interface.
 */
function instanceOfDataExport(value) {
    if (!('id' in value) || value['id'] === undefined)
        return false;
    if (!('requestedBy' in value) || value['requestedBy'] === undefined)
        return false;
    if (!('requestedOn' in value) || value['requestedOn'] === undefined)
        return false;
    if (!('contentType' in value) || value['contentType'] === undefined)
        return false;
    if (!('queryParams' in value) || value['queryParams'] === undefined)
        return false;
    if (!('fileUrl' in value) || value['fileUrl'] === undefined)
        return false;
    if (!('completed' in value) || value['completed'] === undefined)
        return false;
    return true;
}
function DataExportFromJSON(json) {
    return DataExportFromJSONTyped(json, false);
}
function DataExportFromJSONTyped(json, ignoreDiscriminator) {
    if (json == null) {
        return json;
    }
    return {
        'id': json['id'],
        'requestedBy': (0, PartialUser_1.PartialUserFromJSON)(json['requested_by']),
        'requestedOn': (new Date(json['requested_on'])),
        'contentType': (0, ContentType_1.ContentTypeFromJSON)(json['content_type']),
        'queryParams': json['query_params'],
        'fileUrl': json['file_url'],
        'completed': json['completed'],
    };
}
function DataExportToJSON(json) {
    return DataExportToJSONTyped(json, false);
}
function DataExportToJSONTyped(value, ignoreDiscriminator = false) {
    if (value == null) {
        return value;
    }
    return {
        'query_params': value['queryParams'],
    };
}
//# sourceMappingURL=DataExport.js.map