/* 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 { ReferenceFromJSON, ReferenceToJSON, } from './Reference';
import { CsvTableDescriptorFromJSON, CsvTableDescriptorToJSON, } from './CsvTableDescriptor';
import { EntityRefFromJSON, EntityRefToJSON, } from './EntityRef';
/**
 * @export
 */
export const NodeNodeTypeEnum = {
    project: 'project',
    folder: 'folder',
    file: 'file',
    table: 'table',
    link: 'link',
    entityview: 'entityview',
    dockerrepo: 'dockerrepo',
    submissionview: 'submissionview',
    dataset: 'dataset',
    datasetcollection: 'datasetcollection',
    materializedview: 'materializedview',
    virtualtable: 'virtualtable',
    recordset: 'recordset',
    searchindex: 'searchindex'
};
/**
 * Check if a given object implements the Node interface.
 */
export function instanceOfNode(value) {
    return true;
}
export function NodeFromJSON(json) {
    return NodeFromJSONTyped(json, false);
}
export function NodeFromJSONTyped(json, ignoreDiscriminator) {
    if (json == null) {
        return json;
    }
    return {
        'id': json['id'] == null ? undefined : json['id'],
        'name': json['name'] == null ? undefined : json['name'],
        'description': json['description'] == null ? undefined : json['description'],
        'parentId': json['parentId'] == null ? undefined : json['parentId'],
        'createdByPrincipalId': json['createdByPrincipalId'] == null ? undefined : json['createdByPrincipalId'],
        'createdOn': json['createdOn'] == null ? undefined : json['createdOn'],
        'modifiedByPrincipalId': json['modifiedByPrincipalId'] == null ? undefined : json['modifiedByPrincipalId'],
        'modifiedOn': json['modifiedOn'] == null ? undefined : json['modifiedOn'],
        'nodeType': json['nodeType'] == null ? undefined : json['nodeType'],
        'eTag': json['eTag'] == null ? undefined : json['eTag'],
        'versionNumber': json['versionNumber'] == null ? undefined : json['versionNumber'],
        'versionComment': json['versionComment'] == null ? undefined : json['versionComment'],
        'versionLabel': json['versionLabel'] == null ? undefined : json['versionLabel'],
        'isLatestVersion': json['isLatestVersion'] == null ? undefined : json['isLatestVersion'],
        'activityId': json['activityId'] == null ? undefined : json['activityId'],
        'fileHandleId': json['fileHandleId'] == null ? undefined : json['fileHandleId'],
        'columnModelIds': json['columnModelIds'] == null ? undefined : json['columnModelIds'],
        'scopeIds': json['scopeIds'] == null ? undefined : json['scopeIds'],
        'items': json['items'] == null ? undefined : (json['items'].map(EntityRefFromJSON)),
        'upsertKey': json['upsertKey'] == null ? undefined : json['upsertKey'],
        'csvDescriptor': json['csvDescriptor'] == null ? undefined : CsvTableDescriptorFromJSON(json['csvDescriptor']),
        'reference': json['reference'] == null ? undefined : ReferenceFromJSON(json['reference']),
        'alias': json['alias'] == null ? undefined : json['alias'],
        'isSearchEnabled': json['isSearchEnabled'] == null ? undefined : json['isSearchEnabled'],
        'definingSQL': json['definingSQL'] == null ? undefined : json['definingSQL'],
        'validationResultFileHandleId': json['validationResultFileHandleId'] == null ? undefined : json['validationResultFileHandleId'],
    };
}
export function NodeToJSON(json) {
    return NodeToJSONTyped(json, false);
}
export function NodeToJSONTyped(value, ignoreDiscriminator = false) {
    if (value == null) {
        return value;
    }
    return {
        'id': value['id'],
        'name': value['name'],
        'description': value['description'],
        'parentId': value['parentId'],
        'createdByPrincipalId': value['createdByPrincipalId'],
        'createdOn': value['createdOn'],
        'modifiedByPrincipalId': value['modifiedByPrincipalId'],
        'modifiedOn': value['modifiedOn'],
        'nodeType': value['nodeType'],
        'eTag': value['eTag'],
        'versionNumber': value['versionNumber'],
        'versionComment': value['versionComment'],
        'versionLabel': value['versionLabel'],
        'isLatestVersion': value['isLatestVersion'],
        'activityId': value['activityId'],
        'fileHandleId': value['fileHandleId'],
        'columnModelIds': value['columnModelIds'],
        'scopeIds': value['scopeIds'],
        'items': value['items'] == null ? undefined : (value['items'].map(EntityRefToJSON)),
        'upsertKey': value['upsertKey'],
        'csvDescriptor': CsvTableDescriptorToJSON(value['csvDescriptor']),
        'reference': ReferenceToJSON(value['reference']),
        'alias': value['alias'],
        'isSearchEnabled': value['isSearchEnabled'],
        'definingSQL': value['definingSQL'],
        'validationResultFileHandleId': value['validationResultFileHandleId'],
    };
}
//# sourceMappingURL=Node.js.map