/* tslint:disable */
/* eslint-disable */
/**
 * Synapse REST API
 * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
 *
 * The version of the OpenAPI document: v1
 *
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */
import { FacetColumnSortConfigFromJSON, FacetColumnSortConfigToJSON, } from './FacetColumnSortConfig';
import { JsonSubColumnModelFromJSON, JsonSubColumnModelToJSON, } from './JsonSubColumnModel';
/**
 * @export
 */
export const ColumnModelColumnTypeEnum = {
    STRING: 'STRING',
    DOUBLE: 'DOUBLE',
    INTEGER: 'INTEGER',
    BOOLEAN: 'BOOLEAN',
    DATE: 'DATE',
    FILEHANDLEID: 'FILEHANDLEID',
    ENTITYID: 'ENTITYID',
    SUBMISSIONID: 'SUBMISSIONID',
    EVALUATIONID: 'EVALUATIONID',
    LINK: 'LINK',
    MEDIUMTEXT: 'MEDIUMTEXT',
    LARGETEXT: 'LARGETEXT',
    USERID: 'USERID',
    STRING_LIST: 'STRING_LIST',
    INTEGER_LIST: 'INTEGER_LIST',
    BOOLEAN_LIST: 'BOOLEAN_LIST',
    DATE_LIST: 'DATE_LIST',
    ENTITYID_LIST: 'ENTITYID_LIST',
    USERID_LIST: 'USERID_LIST',
    JSON: 'JSON'
};
/**
 * @export
 */
export const ColumnModelFacetTypeEnum = {
    enumeration: 'enumeration',
    range: 'range'
};
/**
 * Check if a given object implements the ColumnModel interface.
 */
export function instanceOfColumnModel(value) {
    return true;
}
export function ColumnModelFromJSON(json) {
    return ColumnModelFromJSONTyped(json, false);
}
export function ColumnModelFromJSONTyped(json, ignoreDiscriminator) {
    if (json == null) {
        return json;
    }
    return {
        'name': json['name'] == null ? undefined : json['name'],
        'columnType': json['columnType'] == null ? undefined : json['columnType'],
        'facetType': json['facetType'] == null ? undefined : json['facetType'],
        'facetSortConfig': json['facetSortConfig'] == null ? undefined : FacetColumnSortConfigFromJSON(json['facetSortConfig']),
        'id': json['id'] == null ? undefined : json['id'],
        'defaultValue': json['defaultValue'] == null ? undefined : json['defaultValue'],
        'maximumSize': json['maximumSize'] == null ? undefined : json['maximumSize'],
        'maximumListLength': json['maximumListLength'] == null ? undefined : json['maximumListLength'],
        'enumValues': json['enumValues'] == null ? undefined : json['enumValues'],
        'jsonSubColumns': json['jsonSubColumns'] == null ? undefined : (json['jsonSubColumns'].map(JsonSubColumnModelFromJSON)),
    };
}
export function ColumnModelToJSON(json) {
    return ColumnModelToJSONTyped(json, false);
}
export function ColumnModelToJSONTyped(value, ignoreDiscriminator = false) {
    if (value == null) {
        return value;
    }
    return {
        'name': value['name'],
        'columnType': value['columnType'],
        'facetType': value['facetType'],
        'facetSortConfig': FacetColumnSortConfigToJSON(value['facetSortConfig']),
        'id': value['id'],
        'defaultValue': value['defaultValue'],
        'maximumSize': value['maximumSize'],
        'maximumListLength': value['maximumListLength'],
        'enumValues': value['enumValues'],
        'jsonSubColumns': value['jsonSubColumns'] == null ? undefined : (value['jsonSubColumns'].map(JsonSubColumnModelToJSON)),
    };
}
//# sourceMappingURL=ColumnModel.js.map