@opra/sqb 1.19.5 → 1.20.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/cjs/sqb-adapter.js +14 -15
- package/cjs/sqb-entity-service.js +1 -1
- package/esm/sqb-adapter.js +14 -15
- package/esm/sqb-entity-service.js +1 -1
- package/package.json +4 -4
package/cjs/sqb-adapter.js
CHANGED
|
@@ -12,19 +12,19 @@ var SQBAdapter;
|
|
|
12
12
|
SQBAdapter.parseFilter = prepare_filter_js_1.default;
|
|
13
13
|
SQBAdapter.prepareFilter = prepare_filter_js_1.default;
|
|
14
14
|
async function parseRequest(context) {
|
|
15
|
-
if (context.
|
|
15
|
+
if (context.transport !== 'http') {
|
|
16
16
|
throw new TypeError('SQBAdapter can parse only HttpContext');
|
|
17
17
|
}
|
|
18
18
|
const ctx = context;
|
|
19
|
-
const {
|
|
20
|
-
if (
|
|
21
|
-
|
|
22
|
-
const dataType = ctx.
|
|
19
|
+
const { __oprDef } = ctx;
|
|
20
|
+
if (__oprDef?.composition?.startsWith('Entity.') &&
|
|
21
|
+
__oprDef.compositionOptions?.type) {
|
|
22
|
+
const dataType = ctx.__docNode.getComplexType(__oprDef.compositionOptions?.type);
|
|
23
23
|
const entityMetadata = connect_1.EntityMetadata.get(dataType.ctor);
|
|
24
24
|
if (!entityMetadata)
|
|
25
25
|
throw new Error(`Type class "${dataType.ctor}" is not an SQB entity`);
|
|
26
|
-
const controller =
|
|
27
|
-
switch (
|
|
26
|
+
const controller = __oprDef.owner;
|
|
27
|
+
switch (__oprDef.composition) {
|
|
28
28
|
case 'Entity.Create': {
|
|
29
29
|
const data = await ctx.getBody();
|
|
30
30
|
const options = {
|
|
@@ -37,7 +37,7 @@ var SQBAdapter;
|
|
|
37
37
|
};
|
|
38
38
|
}
|
|
39
39
|
case 'Entity.Delete': {
|
|
40
|
-
const keyParam =
|
|
40
|
+
const keyParam = __oprDef.parameters.find(p => p.keyParam) ||
|
|
41
41
|
controller.parameters.find(p => p.keyParam);
|
|
42
42
|
const key = keyParam && ctx.pathParams[String(keyParam.name)];
|
|
43
43
|
const options = {
|
|
@@ -60,16 +60,15 @@ var SQBAdapter;
|
|
|
60
60
|
count: ctx.queryParams.count,
|
|
61
61
|
filter: SQBAdapter.parseFilter(ctx.queryParams.filter),
|
|
62
62
|
projection: ctx.queryParams.projection ||
|
|
63
|
-
|
|
64
|
-
limit: ctx.queryParams.limit ||
|
|
65
|
-
operation.compositionOptions.defaultLimit,
|
|
63
|
+
__oprDef.compositionOptions.defaultProjection,
|
|
64
|
+
limit: ctx.queryParams.limit || __oprDef.compositionOptions.defaultLimit,
|
|
66
65
|
skip: ctx.queryParams.skip,
|
|
67
|
-
sort: ctx.queryParams.sort ||
|
|
66
|
+
sort: ctx.queryParams.sort || __oprDef.compositionOptions.defaultSort,
|
|
68
67
|
};
|
|
69
68
|
return { method: 'findMany', options };
|
|
70
69
|
}
|
|
71
70
|
case 'Entity.Get': {
|
|
72
|
-
const keyParam =
|
|
71
|
+
const keyParam = __oprDef.parameters.find(p => p.keyParam) ||
|
|
73
72
|
controller.parameters.find(p => p.keyParam);
|
|
74
73
|
const key = keyParam && ctx.pathParams[String(keyParam.name)];
|
|
75
74
|
const options = {
|
|
@@ -80,7 +79,7 @@ var SQBAdapter;
|
|
|
80
79
|
}
|
|
81
80
|
case 'Entity.Replace': {
|
|
82
81
|
const data = await ctx.getBody();
|
|
83
|
-
const keyParam =
|
|
82
|
+
const keyParam = __oprDef.parameters.find(p => p.keyParam) ||
|
|
84
83
|
controller.parameters.find(p => p.keyParam);
|
|
85
84
|
const key = keyParam && ctx.pathParams[String(keyParam.name)];
|
|
86
85
|
const options = {
|
|
@@ -96,7 +95,7 @@ var SQBAdapter;
|
|
|
96
95
|
}
|
|
97
96
|
case 'Entity.Update': {
|
|
98
97
|
const data = await ctx.getBody();
|
|
99
|
-
const keyParam =
|
|
98
|
+
const keyParam = __oprDef.parameters.find(p => p.keyParam) ||
|
|
100
99
|
controller.parameters.find(p => p.keyParam);
|
|
101
100
|
const key = keyParam && ctx.pathParams[String(keyParam.name)];
|
|
102
101
|
const options = {
|
|
@@ -37,7 +37,7 @@ class SqbEntityService extends sqb_service_base_js_1.SqbServiceBase {
|
|
|
37
37
|
if (this._dataType && this._dataTypeScope !== this.scope)
|
|
38
38
|
this._dataType = undefined;
|
|
39
39
|
if (!this._dataType)
|
|
40
|
-
this._dataType = this.context.
|
|
40
|
+
this._dataType = this.context.__docNode.getComplexType(this._dataType_);
|
|
41
41
|
this._dataTypeScope = this.scope;
|
|
42
42
|
return this._dataType;
|
|
43
43
|
}
|
package/esm/sqb-adapter.js
CHANGED
|
@@ -8,19 +8,19 @@ export var SQBAdapter;
|
|
|
8
8
|
SQBAdapter.parseFilter = _prepareFilter;
|
|
9
9
|
SQBAdapter.prepareFilter = _prepareFilter;
|
|
10
10
|
async function parseRequest(context) {
|
|
11
|
-
if (context.
|
|
11
|
+
if (context.transport !== 'http') {
|
|
12
12
|
throw new TypeError('SQBAdapter can parse only HttpContext');
|
|
13
13
|
}
|
|
14
14
|
const ctx = context;
|
|
15
|
-
const {
|
|
16
|
-
if (
|
|
17
|
-
|
|
18
|
-
const dataType = ctx.
|
|
15
|
+
const { __oprDef } = ctx;
|
|
16
|
+
if (__oprDef?.composition?.startsWith('Entity.') &&
|
|
17
|
+
__oprDef.compositionOptions?.type) {
|
|
18
|
+
const dataType = ctx.__docNode.getComplexType(__oprDef.compositionOptions?.type);
|
|
19
19
|
const entityMetadata = EntityMetadata.get(dataType.ctor);
|
|
20
20
|
if (!entityMetadata)
|
|
21
21
|
throw new Error(`Type class "${dataType.ctor}" is not an SQB entity`);
|
|
22
|
-
const controller =
|
|
23
|
-
switch (
|
|
22
|
+
const controller = __oprDef.owner;
|
|
23
|
+
switch (__oprDef.composition) {
|
|
24
24
|
case 'Entity.Create': {
|
|
25
25
|
const data = await ctx.getBody();
|
|
26
26
|
const options = {
|
|
@@ -33,7 +33,7 @@ export var SQBAdapter;
|
|
|
33
33
|
};
|
|
34
34
|
}
|
|
35
35
|
case 'Entity.Delete': {
|
|
36
|
-
const keyParam =
|
|
36
|
+
const keyParam = __oprDef.parameters.find(p => p.keyParam) ||
|
|
37
37
|
controller.parameters.find(p => p.keyParam);
|
|
38
38
|
const key = keyParam && ctx.pathParams[String(keyParam.name)];
|
|
39
39
|
const options = {
|
|
@@ -56,16 +56,15 @@ export var SQBAdapter;
|
|
|
56
56
|
count: ctx.queryParams.count,
|
|
57
57
|
filter: SQBAdapter.parseFilter(ctx.queryParams.filter),
|
|
58
58
|
projection: ctx.queryParams.projection ||
|
|
59
|
-
|
|
60
|
-
limit: ctx.queryParams.limit ||
|
|
61
|
-
operation.compositionOptions.defaultLimit,
|
|
59
|
+
__oprDef.compositionOptions.defaultProjection,
|
|
60
|
+
limit: ctx.queryParams.limit || __oprDef.compositionOptions.defaultLimit,
|
|
62
61
|
skip: ctx.queryParams.skip,
|
|
63
|
-
sort: ctx.queryParams.sort ||
|
|
62
|
+
sort: ctx.queryParams.sort || __oprDef.compositionOptions.defaultSort,
|
|
64
63
|
};
|
|
65
64
|
return { method: 'findMany', options };
|
|
66
65
|
}
|
|
67
66
|
case 'Entity.Get': {
|
|
68
|
-
const keyParam =
|
|
67
|
+
const keyParam = __oprDef.parameters.find(p => p.keyParam) ||
|
|
69
68
|
controller.parameters.find(p => p.keyParam);
|
|
70
69
|
const key = keyParam && ctx.pathParams[String(keyParam.name)];
|
|
71
70
|
const options = {
|
|
@@ -76,7 +75,7 @@ export var SQBAdapter;
|
|
|
76
75
|
}
|
|
77
76
|
case 'Entity.Replace': {
|
|
78
77
|
const data = await ctx.getBody();
|
|
79
|
-
const keyParam =
|
|
78
|
+
const keyParam = __oprDef.parameters.find(p => p.keyParam) ||
|
|
80
79
|
controller.parameters.find(p => p.keyParam);
|
|
81
80
|
const key = keyParam && ctx.pathParams[String(keyParam.name)];
|
|
82
81
|
const options = {
|
|
@@ -92,7 +91,7 @@ export var SQBAdapter;
|
|
|
92
91
|
}
|
|
93
92
|
case 'Entity.Update': {
|
|
94
93
|
const data = await ctx.getBody();
|
|
95
|
-
const keyParam =
|
|
94
|
+
const keyParam = __oprDef.parameters.find(p => p.keyParam) ||
|
|
96
95
|
controller.parameters.find(p => p.keyParam);
|
|
97
96
|
const key = keyParam && ctx.pathParams[String(keyParam.name)];
|
|
98
97
|
const options = {
|
|
@@ -34,7 +34,7 @@ export class SqbEntityService extends SqbServiceBase {
|
|
|
34
34
|
if (this._dataType && this._dataTypeScope !== this.scope)
|
|
35
35
|
this._dataType = undefined;
|
|
36
36
|
if (!this._dataType)
|
|
37
|
-
this._dataType = this.context.
|
|
37
|
+
this._dataType = this.context.__docNode.getComplexType(this._dataType_);
|
|
38
38
|
this._dataTypeScope = this.scope;
|
|
39
39
|
return this._dataType;
|
|
40
40
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@opra/sqb",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.20.0",
|
|
4
4
|
"description": "Opra SQB adapter package",
|
|
5
5
|
"author": "Panates",
|
|
6
6
|
"license": "MIT",
|
|
@@ -10,9 +10,9 @@
|
|
|
10
10
|
"valgen": "^5.18.2"
|
|
11
11
|
},
|
|
12
12
|
"peerDependencies": {
|
|
13
|
-
"@opra/core": "^1.
|
|
14
|
-
"@opra/http": "^1.
|
|
15
|
-
"@sqb/connect": "^4.20.
|
|
13
|
+
"@opra/core": "^1.20.0",
|
|
14
|
+
"@opra/http": "^1.20.0",
|
|
15
|
+
"@sqb/connect": "^4.20.4"
|
|
16
16
|
},
|
|
17
17
|
"type": "module",
|
|
18
18
|
"exports": {
|