"use strict";
/* tslint:disable */
/* eslint-disable */
/**
 * authentik
 * Making authentication simple.
 *
 * The version of the OpenAPI document: 2025.12.0-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.instanceOfCurrentBrand = instanceOfCurrentBrand;
exports.CurrentBrandFromJSON = CurrentBrandFromJSON;
exports.CurrentBrandFromJSONTyped = CurrentBrandFromJSONTyped;
exports.CurrentBrandToJSON = CurrentBrandToJSON;
exports.CurrentBrandToJSONTyped = CurrentBrandToJSONTyped;
const CurrentBrandFlags_1 = require("./CurrentBrandFlags");
const UiThemeEnum_1 = require("./UiThemeEnum");
const FooterLink_1 = require("./FooterLink");
/**
 * Check if a given object implements the CurrentBrand interface.
 */
function instanceOfCurrentBrand(value) {
    if (!('matchedDomain' in value) || value['matchedDomain'] === undefined)
        return false;
    if (!('brandingTitle' in value) || value['brandingTitle'] === undefined)
        return false;
    if (!('brandingLogo' in value) || value['brandingLogo'] === undefined)
        return false;
    if (!('brandingFavicon' in value) || value['brandingFavicon'] === undefined)
        return false;
    if (!('brandingCustomCss' in value) || value['brandingCustomCss'] === undefined)
        return false;
    if (!('uiFooterLinks' in value) || value['uiFooterLinks'] === undefined)
        return false;
    if (!('uiTheme' in value) || value['uiTheme'] === undefined)
        return false;
    if (!('defaultLocale' in value) || value['defaultLocale'] === undefined)
        return false;
    if (!('flags' in value) || value['flags'] === undefined)
        return false;
    return true;
}
function CurrentBrandFromJSON(json) {
    return CurrentBrandFromJSONTyped(json, false);
}
function CurrentBrandFromJSONTyped(json, ignoreDiscriminator) {
    if (json == null) {
        return json;
    }
    return {
        'matchedDomain': json['matched_domain'],
        'brandingTitle': json['branding_title'],
        'brandingLogo': json['branding_logo'],
        'brandingFavicon': json['branding_favicon'],
        'brandingCustomCss': json['branding_custom_css'],
        'uiFooterLinks': (json['ui_footer_links'].map(FooterLink_1.FooterLinkFromJSON)),
        'uiTheme': (0, UiThemeEnum_1.UiThemeEnumFromJSON)(json['ui_theme']),
        'flowAuthentication': json['flow_authentication'] == null ? undefined : json['flow_authentication'],
        'flowInvalidation': json['flow_invalidation'] == null ? undefined : json['flow_invalidation'],
        'flowRecovery': json['flow_recovery'] == null ? undefined : json['flow_recovery'],
        'flowUnenrollment': json['flow_unenrollment'] == null ? undefined : json['flow_unenrollment'],
        'flowUserSettings': json['flow_user_settings'] == null ? undefined : json['flow_user_settings'],
        'flowDeviceCode': json['flow_device_code'] == null ? undefined : json['flow_device_code'],
        'defaultLocale': json['default_locale'],
        'flags': (0, CurrentBrandFlags_1.CurrentBrandFlagsFromJSON)(json['flags']),
    };
}
function CurrentBrandToJSON(json) {
    return CurrentBrandToJSONTyped(json, false);
}
function CurrentBrandToJSONTyped(value, ignoreDiscriminator = false) {
    if (value == null) {
        return value;
    }
    return {
        'matched_domain': value['matchedDomain'],
        'branding_title': value['brandingTitle'],
        'branding_logo': value['brandingLogo'],
        'branding_favicon': value['brandingFavicon'],
        'branding_custom_css': value['brandingCustomCss'],
        'flow_authentication': value['flowAuthentication'],
        'flow_invalidation': value['flowInvalidation'],
        'flow_recovery': value['flowRecovery'],
        'flow_unenrollment': value['flowUnenrollment'],
        'flow_user_settings': value['flowUserSettings'],
        'flow_device_code': value['flowDeviceCode'],
        'flags': (0, CurrentBrandFlags_1.CurrentBrandFlagsToJSON)(value['flags']),
    };
}
//# sourceMappingURL=CurrentBrand.js.map