@finos/legend-graph
Version:
Legend graph and graph manager
153 lines • 6.05 kB
JavaScript
/**
* Copyright (c) 2020-present, Goldman Sachs
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
import { SerializationFactory, UnsupportedOperationError, optionalCustom, usingConstantValueSchema, usingModelSchema, } from '@finos/legend-shared';
import { createModelSchema, deserialize, list, optional, primitive, raw, serialize, } from 'serializr';
import { V1_stereotypePtrModelSchema, V1_taggedValueModelSchema, } from '../../transformation/pureProtocol/serializationHelpers/V1_CoreSerializationHelper.js';
export class V1_QueryParameterValue {
name;
content;
static serialization = new SerializationFactory(createModelSchema(V1_QueryParameterValue, {
name: primitive(),
content: primitive(),
}), {
deserializeNullAsUndefined: true,
});
}
export class V1_QueryExecutionContext {
}
export var V1_QueryExecutionContextType;
(function (V1_QueryExecutionContextType) {
V1_QueryExecutionContextType["QUERY_EXPLICIT_EXECUTION_CONTEXT"] = "explicitExecutionContext";
V1_QueryExecutionContextType["QUERY_DATASAPCE_EXECUTION_CONTEXT"] = "dataSpaceExecutionContext";
})(V1_QueryExecutionContextType || (V1_QueryExecutionContextType = {}));
export class V1_QueryExplicitExecutionContext extends V1_QueryExecutionContext {
mapping;
runtime;
static serialization = new SerializationFactory(createModelSchema(V1_QueryExplicitExecutionContext, {
_type: usingConstantValueSchema(V1_QueryExecutionContextType.QUERY_EXPLICIT_EXECUTION_CONTEXT),
mapping: primitive(),
runtime: primitive(),
}), {
deserializeNullAsUndefined: true,
});
}
export class V1_QueryDataSpaceExecutionContext extends V1_QueryExecutionContext {
dataSpacePath;
executionKey;
static serialization = new SerializationFactory(createModelSchema(V1_QueryDataSpaceExecutionContext, {
_type: usingConstantValueSchema(V1_QueryExecutionContextType.QUERY_DATASAPCE_EXECUTION_CONTEXT),
dataSpacePath: primitive(),
executionKey: optional(primitive()),
}), {
deserializeNullAsUndefined: true,
});
}
export const V1_deserializeQueryExecutionContext = (json) => {
switch (json._type) {
case V1_QueryExecutionContextType.QUERY_EXPLICIT_EXECUTION_CONTEXT:
return deserialize(V1_QueryExplicitExecutionContext.serialization.schema, json);
case V1_QueryExecutionContextType.QUERY_DATASAPCE_EXECUTION_CONTEXT:
return deserialize(V1_QueryDataSpaceExecutionContext.serialization.schema, json);
default: {
throw new UnsupportedOperationError(`Can't deserialize authentication strategy of type '${json._type}': no compatible deserializer available from plugins`);
}
}
};
export const V1_serializeQueryExecutionContext = (protocol) => {
if (protocol instanceof V1_QueryExplicitExecutionContext) {
return serialize(V1_QueryExplicitExecutionContext.serialization.schema, protocol);
}
else if (protocol instanceof V1_QueryDataSpaceExecutionContext) {
return serialize(V1_QueryDataSpaceExecutionContext.serialization.schema, protocol);
}
throw new UnsupportedOperationError(`Can't serialize authentication strategy: no compatible serializer available from plugins`, protocol);
};
export class V1_Query {
name;
id;
groupId;
artifactId;
versionId;
originalVersionId;
content;
owner;
taggedValues;
stereotypes;
defaultParameterValues;
lastUpdatedAt;
createdAt;
lastOpenAt;
gridConfig;
executionContext;
/**
* mapping, runtime have been deprecated in favor of `V1_QueryExecutionContext`
* @deprecated
*/
mapping;
/**
* @deprecated
*/
runtime;
static serialization = new SerializationFactory(createModelSchema(V1_Query, {
artifactId: primitive(),
content: primitive(),
id: primitive(),
defaultParameterValues: optional(list(usingModelSchema(V1_QueryParameterValue.serialization.schema))),
groupId: primitive(),
lastUpdatedAt: optional(primitive()),
createdAt: optional(primitive()),
lastOpenAt: optional(primitive()),
mapping: optional(primitive()),
name: primitive(),
owner: optional(primitive()),
runtime: optional(primitive()),
stereotypes: optional(list(usingModelSchema(V1_stereotypePtrModelSchema))),
executionContext: optionalCustom((val) => V1_serializeQueryExecutionContext(val), (val) => V1_deserializeQueryExecutionContext(val)),
taggedValues: optional(list(usingModelSchema(V1_taggedValueModelSchema))),
versionId: primitive(),
originalVersionId: optional(primitive()),
gridConfig: optional(raw()),
}), {
deserializeNullAsUndefined: true,
});
}
export class V1_LightQuery {
name;
id;
groupId;
owner;
artifactId;
versionId;
originalVersionId;
lastUpdatedAt;
createdAt;
lastOpenAt;
static serialization = new SerializationFactory(createModelSchema(V1_Query, {
artifactId: primitive(),
id: primitive(),
groupId: primitive(),
lastUpdatedAt: optional(primitive()),
createdAt: optional(primitive()),
lastOpenAt: optional(primitive()),
name: primitive(),
owner: optional(primitive()),
versionId: primitive(),
originalVersionId: optional(primitive()),
}), {
deserializeNullAsUndefined: true,
});
}
//# sourceMappingURL=V1_Query.js.map