Comparing version 0.2.1-alpha.3 to 0.2.1
@@ -5,6 +5,8 @@ import { QueryStep, ApiQueryScope } from "../query/ApiQuery"; | ||
export declare enum ApiEdgeActionTrigger { | ||
Query = 2, | ||
Method = 4, | ||
Relation = 8, | ||
Any = 14, | ||
OutputQuery = 2, | ||
SubQuery = 4, | ||
Method = 8, | ||
Relation = 16, | ||
Query = 6, | ||
Any = 30, | ||
} | ||
@@ -11,0 +13,0 @@ export declare enum ApiEdgeActionTriggerKind { |
"use strict"; | ||
var ApiEdgeQueryType_1 = require("./ApiEdgeQueryType"); | ||
(function (ApiEdgeActionTrigger) { | ||
ApiEdgeActionTrigger[ApiEdgeActionTrigger["Query"] = 2] = "Query"; | ||
ApiEdgeActionTrigger[ApiEdgeActionTrigger["Method"] = 4] = "Method"; | ||
ApiEdgeActionTrigger[ApiEdgeActionTrigger["Relation"] = 8] = "Relation"; | ||
ApiEdgeActionTrigger[ApiEdgeActionTrigger["Any"] = 14] = "Any"; | ||
ApiEdgeActionTrigger[ApiEdgeActionTrigger["OutputQuery"] = 2] = "OutputQuery"; | ||
ApiEdgeActionTrigger[ApiEdgeActionTrigger["SubQuery"] = 4] = "SubQuery"; | ||
ApiEdgeActionTrigger[ApiEdgeActionTrigger["Method"] = 8] = "Method"; | ||
ApiEdgeActionTrigger[ApiEdgeActionTrigger["Relation"] = 16] = "Relation"; | ||
ApiEdgeActionTrigger[ApiEdgeActionTrigger["Query"] = 6] = "Query"; | ||
ApiEdgeActionTrigger[ApiEdgeActionTrigger["Any"] = 30] = "Any"; | ||
})(exports.ApiEdgeActionTrigger || (exports.ApiEdgeActionTrigger = {})); | ||
@@ -9,0 +11,0 @@ var ApiEdgeActionTrigger = exports.ApiEdgeActionTrigger; |
@@ -54,5 +54,5 @@ import { QueryStep, ApiQueryScope, ApiQuery } from "./ApiQuery"; | ||
constructor(api: Api); | ||
private addQueryActions(triggerKind, query, edgeQuery, relation); | ||
private addQueryActions(triggerKind, query, edgeQuery, relation, output?); | ||
private static addMethodCallStep(request, query, method); | ||
private addQueryStep(query, step, relation?); | ||
private addQueryStep(query, step, relation?, output?); | ||
private static buildProvideIdStep(query, currentSegment); | ||
@@ -59,0 +59,0 @@ private buildCheckStep(query, currentSegment); |
@@ -154,7 +154,7 @@ "use strict"; | ||
baseQuery = new ApiEdgeQuery_1.ApiEdgeQuery(lastSegment.edge, ApiEdgeQueryType_1.ApiEdgeQueryType.List); | ||
_this.addQueryStep(query, new QueryEdgeQueryStep(baseQuery)); | ||
_this.addQueryStep(query, new QueryEdgeQueryStep(baseQuery), null, true); | ||
} | ||
else if (lastSegment instanceof ApiRequest_1.RelatedFieldPathSegment) { | ||
baseQuery = new ApiEdgeQuery_1.ApiEdgeQuery(lastSegment.relation.to, ApiEdgeQueryType_1.ApiEdgeQueryType.Get); | ||
_this.addQueryStep(query, new QueryEdgeQueryStep(baseQuery), lastSegment.relation); | ||
_this.addQueryStep(query, new QueryEdgeQueryStep(baseQuery), lastSegment.relation, true); | ||
} | ||
@@ -167,3 +167,3 @@ else if (lastSegment instanceof ApiRequest_1.MethodPathSegment) { | ||
baseQuery = new ApiEdgeQuery_1.ApiEdgeQuery(lastSegment.edge, ApiEdgeQueryType_1.ApiEdgeQueryType.Get); | ||
_this.addQueryStep(query, new QueryEdgeQueryStep(baseQuery)); | ||
_this.addQueryStep(query, new QueryEdgeQueryStep(baseQuery), null, true); | ||
} | ||
@@ -203,7 +203,7 @@ query.unshift(new ExtendContextQueryStep(request.context)); | ||
request.body = (_a = {}, _a[lastSegment.relation.relationId] = request.body.id || request.body._id, _a); | ||
_this.addQueryStep(query, new QueryEdgeQueryStep(baseQuery)); | ||
_this.addQueryStep(query, new QueryEdgeQueryStep(baseQuery), null, true); | ||
} | ||
else if (request.type === ApiRequest_1.ApiRequestType.Patch) { | ||
baseQuery = new ApiEdgeQuery_1.ApiEdgeQuery(lastSegment.relation.to, ApiEdgeQueryType_1.ApiEdgeQueryType.Patch); | ||
_this.addQueryStep(query, new QueryEdgeQueryStep(baseQuery)); | ||
_this.addQueryStep(query, new QueryEdgeQueryStep(baseQuery), null, true); | ||
} | ||
@@ -222,11 +222,11 @@ else { | ||
baseQuery = new ApiEdgeQuery_1.ApiEdgeQuery(lastSegment.edge, ApiEdgeQueryType_1.ApiEdgeQueryType.Update); | ||
_this.addQueryStep(query, new QueryEdgeQueryStep(baseQuery)); | ||
_this.addQueryStep(query, new QueryEdgeQueryStep(baseQuery), null, true); | ||
} | ||
else if (request.type === ApiRequest_1.ApiRequestType.Patch) { | ||
baseQuery = new ApiEdgeQuery_1.ApiEdgeQuery(lastSegment.edge, ApiEdgeQueryType_1.ApiEdgeQueryType.Patch); | ||
_this.addQueryStep(query, new QueryEdgeQueryStep(baseQuery)); | ||
_this.addQueryStep(query, new QueryEdgeQueryStep(baseQuery), null, true); | ||
} | ||
else { | ||
baseQuery = new ApiEdgeQuery_1.ApiEdgeQuery(lastSegment.edge, ApiEdgeQueryType_1.ApiEdgeQueryType.Delete); | ||
_this.addQueryStep(query, new QueryEdgeQueryStep(baseQuery)); | ||
_this.addQueryStep(query, new QueryEdgeQueryStep(baseQuery), null, true); | ||
} | ||
@@ -294,4 +294,7 @@ } | ||
} | ||
ApiQueryBuilder.prototype.addQueryActions = function (triggerKind, query, edgeQuery, relation) { | ||
var edge = edgeQuery.edge, queryType = edgeQuery.type, trigger = relation ? ApiEdgeAction_1.ApiEdgeActionTrigger.Relation : ApiEdgeAction_1.ApiEdgeActionTrigger.Query; | ||
ApiQueryBuilder.prototype.addQueryActions = function (triggerKind, query, edgeQuery, relation, output) { | ||
if (output === void 0) { output = false; } | ||
var edge = edgeQuery.edge, queryType = edgeQuery.type, trigger = relation ? | ||
ApiEdgeAction_1.ApiEdgeActionTrigger.Relation : | ||
(output ? ApiEdgeAction_1.ApiEdgeActionTrigger.OutputQuery : ApiEdgeAction_1.ApiEdgeActionTrigger.SubQuery); | ||
var actions; | ||
@@ -323,7 +326,8 @@ if (relation) { | ||
}; | ||
ApiQueryBuilder.prototype.addQueryStep = function (query, step, relation) { | ||
ApiQueryBuilder.prototype.addQueryStep = function (query, step, relation, output) { | ||
if (relation === void 0) { relation = null; } | ||
this.addQueryActions(ApiEdgeAction_1.ApiEdgeActionTriggerKind.AfterEvent, query, step.query, relation); | ||
if (output === void 0) { output = false; } | ||
this.addQueryActions(ApiEdgeAction_1.ApiEdgeActionTriggerKind.AfterEvent, query, step.query, relation, output); | ||
query.unshift(step); | ||
this.addQueryActions(ApiEdgeAction_1.ApiEdgeActionTriggerKind.BeforeEvent, query, step.query, relation); | ||
this.addQueryActions(ApiEdgeAction_1.ApiEdgeActionTriggerKind.BeforeEvent, query, step.query, relation, output); | ||
}; | ||
@@ -330,0 +334,0 @@ ApiQueryBuilder.buildProvideIdStep = function (query, currentSegment) { |
{ | ||
"name": "api-core", | ||
"version": "0.2.1-alpha.3", | ||
"version": "0.2.1", | ||
"description": "Model-based dynamic multi-level APIs for any provider, plus multiple consumption channels", | ||
@@ -5,0 +5,0 @@ "main": "dist/index.js", |
@@ -7,7 +7,9 @@ import {QueryStep, ApiQueryScope} from "../query/ApiQuery"; | ||
Query = 1 << 1, | ||
Method = 1 << 2, | ||
Relation = 1 << 3, | ||
OutputQuery = 1 << 1, | ||
SubQuery = 1 << 2, | ||
Method = 1 << 3, | ||
Relation = 1 << 4, | ||
Any = Query | Method | Relation | ||
Query = OutputQuery | SubQuery, | ||
Any = OutputQuery | Query | Method | Relation | ||
@@ -14,0 +16,0 @@ } |
@@ -217,6 +217,9 @@ import {QueryStep, ApiQueryScope, ApiQuery} from "./ApiQuery"; | ||
edgeQuery: ApiEdgeQuery, | ||
relation: ApiEdgeRelation|null) { | ||
relation: ApiEdgeRelation|null, | ||
output: boolean = false) { | ||
const edge = edgeQuery.edge, | ||
queryType = edgeQuery.type, | ||
trigger = relation ? ApiEdgeActionTrigger.Relation : ApiEdgeActionTrigger.Query; | ||
trigger = relation ? | ||
ApiEdgeActionTrigger.Relation : | ||
(output ? ApiEdgeActionTrigger.OutputQuery : ApiEdgeActionTrigger.SubQuery); | ||
@@ -254,6 +257,7 @@ let actions: ApiEdgeAction[]; | ||
step: QueryEdgeQueryStep, | ||
relation: ApiEdgeRelation|null = null) { | ||
this.addQueryActions(ApiEdgeActionTriggerKind.AfterEvent, query, step.query, relation); | ||
relation: ApiEdgeRelation|null = null, | ||
output: boolean = false) { | ||
this.addQueryActions(ApiEdgeActionTriggerKind.AfterEvent, query, step.query, relation, output); | ||
query.unshift(step); | ||
this.addQueryActions(ApiEdgeActionTriggerKind.BeforeEvent, query, step.query, relation); | ||
this.addQueryActions(ApiEdgeActionTriggerKind.BeforeEvent, query, step.query, relation, output); | ||
} | ||
@@ -318,7 +322,7 @@ | ||
baseQuery = new ApiEdgeQuery(lastSegment.edge, ApiEdgeQueryType.List); | ||
this.addQueryStep(query, new QueryEdgeQueryStep(baseQuery)); | ||
this.addQueryStep(query, new QueryEdgeQueryStep(baseQuery), null, true); | ||
} | ||
else if(lastSegment instanceof RelatedFieldPathSegment) { | ||
baseQuery = new ApiEdgeQuery(lastSegment.relation.to, ApiEdgeQueryType.Get); | ||
this.addQueryStep(query, new QueryEdgeQueryStep(baseQuery), lastSegment.relation); | ||
this.addQueryStep(query, new QueryEdgeQueryStep(baseQuery), lastSegment.relation, true); | ||
@@ -332,3 +336,3 @@ } | ||
baseQuery = new ApiEdgeQuery(lastSegment.edge, ApiEdgeQueryType.Get); | ||
this.addQueryStep(query, new QueryEdgeQueryStep(baseQuery)); | ||
this.addQueryStep(query, new QueryEdgeQueryStep(baseQuery), null, true); | ||
} | ||
@@ -387,7 +391,7 @@ | ||
request.body = { [lastSegment.relation.relationId]: request.body.id||request.body._id }; | ||
this.addQueryStep(query, new QueryEdgeQueryStep(baseQuery)); | ||
this.addQueryStep(query, new QueryEdgeQueryStep(baseQuery), null, true); | ||
} | ||
else if(request.type === ApiRequestType.Patch) { | ||
baseQuery = new ApiEdgeQuery(lastSegment.relation.to, ApiEdgeQueryType.Patch); | ||
this.addQueryStep(query, new QueryEdgeQueryStep(baseQuery)); | ||
this.addQueryStep(query, new QueryEdgeQueryStep(baseQuery), null, true); | ||
} | ||
@@ -406,11 +410,11 @@ else { | ||
baseQuery = new ApiEdgeQuery(lastSegment.edge, ApiEdgeQueryType.Update); | ||
this.addQueryStep(query, new QueryEdgeQueryStep(baseQuery)); | ||
this.addQueryStep(query, new QueryEdgeQueryStep(baseQuery), null, true); | ||
} | ||
else if(request.type === ApiRequestType.Patch) { | ||
baseQuery = new ApiEdgeQuery(lastSegment.edge, ApiEdgeQueryType.Patch); | ||
this.addQueryStep(query, new QueryEdgeQueryStep(baseQuery)); | ||
this.addQueryStep(query, new QueryEdgeQueryStep(baseQuery), null, true); | ||
} | ||
else { | ||
baseQuery = new ApiEdgeQuery(lastSegment.edge, ApiEdgeQueryType.Delete); | ||
this.addQueryStep(query, new QueryEdgeQueryStep(baseQuery)); | ||
this.addQueryStep(query, new QueryEdgeQueryStep(baseQuery), null, true); | ||
} | ||
@@ -417,0 +421,0 @@ } |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
597384
7424