@superblocksteam/sdk-api 2.0.100 → 2.0.101-next.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/dist/integrations/couchbase/client.d.ts +8 -2
- package/dist/integrations/couchbase/client.d.ts.map +1 -1
- package/dist/integrations/couchbase/client.js +27 -33
- package/dist/integrations/couchbase/client.js.map +1 -1
- package/package.json +1 -1
- package/src/integrations/couchbase/client.ts +31 -44
|
@@ -1,9 +1,15 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Couchbase client implementation.
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
* Builds proto-style request objects for SQL++ queries, document insert,
|
|
4
|
+
* Builds proto JSON-style request objects for SQL++ queries, document insert,
|
|
6
5
|
* get, and remove operations against Couchbase buckets.
|
|
6
|
+
*
|
|
7
|
+
* IMPORTANT: Request objects use plain objects with flat proto JSON keys
|
|
8
|
+
* (e.g. `{runSql: {sqlBody}}`) rather than the protobuf-es `CouchbaseRequest`
|
|
9
|
+
* type. The protobuf-es type uses oneof wrappers (`{case: "runSql", value: {...}}`)
|
|
10
|
+
* which get lost during the JSON → Go proto → JSON roundtrip in the orchestrator,
|
|
11
|
+
* resulting in "invalid operation: undefined". The Go orchestrator expects the
|
|
12
|
+
* standard proto JSON format with flat field names, not the TS-specific wrapper.
|
|
7
13
|
*/
|
|
8
14
|
import type { z } from "zod";
|
|
9
15
|
import type { IntegrationConfig, IntegrationClientImpl } from "../types.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../src/integrations/couchbase/client.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../src/integrations/couchbase/client.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAC7B,OAAO,KAAK,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AAC5E,OAAO,KAAK,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAInE,OAAO,KAAK,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAEvE;;;;;;GAMG;AACH,qBAAa,mBACX,YAAW,eAAe,EAAE,qBAAqB;IAEjD,QAAQ,CAAC,MAAM,EAAE,iBAAiB,CAAC;IACnC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAgB;gBAEjC,MAAM,EAAE,iBAAiB,EAAE,YAAY,EAAE,aAAa;IAKlE,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED,IAAI,QAAQ,IAAI,MAAM,CAErB;IAEK,KAAK,CAAC,CAAC,EACX,MAAM,EAAE,MAAM,EACd,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EACtB,MAAM,CAAC,EAAE,OAAO,EAAE,EAClB,QAAQ,CAAC,EAAE,aAAa,GACvB,OAAO,CAAC,CAAC,EAAE,CAAC;IAyDT,MAAM,CACV,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,OAAO,EACd,UAAU,EAAE,mBAAmB,EAC/B,QAAQ,CAAC,EAAE,aAAa,GACvB,OAAO,CAAC,IAAI,CAAC;IA4BV,GAAG,CAAC,CAAC,EACT,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EACtB,UAAU,EAAE,mBAAmB,EAC/B,QAAQ,CAAC,EAAE,aAAa,GACvB,OAAO,CAAC,CAAC,CAAC;IA4CP,MAAM,CACV,GAAG,EAAE,MAAM,EACX,UAAU,EAAE,mBAAmB,EAC/B,QAAQ,CAAC,EAAE,aAAa,GACvB,OAAO,CAAC,IAAI,CAAC;CA0BjB"}
|
|
@@ -1,9 +1,15 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Couchbase client implementation.
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
* Builds proto-style request objects for SQL++ queries, document insert,
|
|
4
|
+
* Builds proto JSON-style request objects for SQL++ queries, document insert,
|
|
6
5
|
* get, and remove operations against Couchbase buckets.
|
|
6
|
+
*
|
|
7
|
+
* IMPORTANT: Request objects use plain objects with flat proto JSON keys
|
|
8
|
+
* (e.g. `{runSql: {sqlBody}}`) rather than the protobuf-es `CouchbaseRequest`
|
|
9
|
+
* type. The protobuf-es type uses oneof wrappers (`{case: "runSql", value: {...}}`)
|
|
10
|
+
* which get lost during the JSON → Go proto → JSON roundtrip in the orchestrator,
|
|
11
|
+
* resulting in "invalid operation: undefined". The Go orchestrator expects the
|
|
12
|
+
* standard proto JSON format with flat field names, not the TS-specific wrapper.
|
|
7
13
|
*/
|
|
8
14
|
import { QueryValidationError, RestApiValidationError } from "../../errors.js";
|
|
9
15
|
import { IntegrationError } from "../../runtime/errors.js";
|
|
@@ -32,12 +38,9 @@ export class CouchbaseClientImpl {
|
|
|
32
38
|
const hasParams = params && params.length > 0;
|
|
33
39
|
const request = {
|
|
34
40
|
bucketName: bucket,
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
sqlBody: sql,
|
|
39
|
-
parameters: hasParams ? JSON.stringify(params) : undefined,
|
|
40
|
-
},
|
|
41
|
+
runSql: {
|
|
42
|
+
sqlBody: sql,
|
|
43
|
+
parameters: hasParams ? JSON.stringify(params) : undefined,
|
|
41
44
|
},
|
|
42
45
|
};
|
|
43
46
|
try {
|
|
@@ -71,15 +74,12 @@ export class CouchbaseClientImpl {
|
|
|
71
74
|
async insert(key, value, identifier, metadata) {
|
|
72
75
|
const request = {
|
|
73
76
|
bucketName: identifier.bucket,
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
value:
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
scope: identifier.scope,
|
|
81
|
-
collection: identifier.collection,
|
|
82
|
-
},
|
|
77
|
+
insert: {
|
|
78
|
+
key,
|
|
79
|
+
value: typeof value === "string" ? value : JSON.stringify(value),
|
|
80
|
+
identifier: {
|
|
81
|
+
scope: identifier.scope,
|
|
82
|
+
collection: identifier.collection,
|
|
83
83
|
},
|
|
84
84
|
},
|
|
85
85
|
};
|
|
@@ -96,14 +96,11 @@ export class CouchbaseClientImpl {
|
|
|
96
96
|
async get(key, schema, identifier, metadata) {
|
|
97
97
|
const request = {
|
|
98
98
|
bucketName: identifier.bucket,
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
scope: identifier.scope,
|
|
105
|
-
collection: identifier.collection,
|
|
106
|
-
},
|
|
99
|
+
get: {
|
|
100
|
+
key,
|
|
101
|
+
identifier: {
|
|
102
|
+
scope: identifier.scope,
|
|
103
|
+
collection: identifier.collection,
|
|
107
104
|
},
|
|
108
105
|
},
|
|
109
106
|
};
|
|
@@ -129,14 +126,11 @@ export class CouchbaseClientImpl {
|
|
|
129
126
|
async remove(key, identifier, metadata) {
|
|
130
127
|
const request = {
|
|
131
128
|
bucketName: identifier.bucket,
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
scope: identifier.scope,
|
|
138
|
-
collection: identifier.collection,
|
|
139
|
-
},
|
|
129
|
+
remove: {
|
|
130
|
+
key,
|
|
131
|
+
identifier: {
|
|
132
|
+
scope: identifier.scope,
|
|
133
|
+
collection: identifier.collection,
|
|
140
134
|
},
|
|
141
135
|
},
|
|
142
136
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../../src/integrations/couchbase/client.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../../src/integrations/couchbase/client.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAKH,OAAO,EAAE,oBAAoB,EAAE,sBAAsB,EAAE,MAAM,iBAAiB,CAAC;AAC/E,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAG3C;;;;;;GAMG;AACH,MAAM,OAAO,mBAAmB;IAGrB,MAAM,CAAoB;IAClB,YAAY,CAAgB;IAE7C,YAAY,MAAyB,EAAE,YAA2B;QAChE,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;IACnC,CAAC;IAED,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;IAC1B,CAAC;IAED,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC;IAC9B,CAAC;IAED,KAAK,CAAC,KAAK,CACT,MAAc,EACd,GAAW,EACX,MAAsB,EACtB,MAAkB,EAClB,QAAwB;QAExB,MAAM,SAAS,GAAG,MAAM,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC;QAC9C,MAAM,OAAO,GAAG;YACd,UAAU,EAAE,MAAM;YAClB,MAAM,EAAE;gBACN,OAAO,EAAE,GAAG;gBACZ,UAAU,EAAE,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS;aAC3D;SACF,CAAC;QAEF,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,YAAY,CACpC,OAAkC,EAClC,SAAS,EACT,QAAQ,CACT,CAAC;YAEF,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;gBAC3B,MAAM,IAAI,gBAAgB,CACxB,IAAI,CAAC,MAAM,CAAC,IAAI,EAChB,OAAO,EACP,oDAAoD,YAAY,CAAC,MAAM,CAAC,EAAE,CAC3E,CAAC;YACJ,CAAC;YAED,MAAM,SAAS,GAAQ,EAAE,CAAC;YAC1B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBACvC,MAAM,GAAG,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;gBACtB,MAAM,WAAW,GAAG,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;gBAE1C,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC;oBACzB,MAAM,IAAI,oBAAoB,CAC5B,OAAO,CAAC,uBAAuB,WAAW,CAAC,KAAK,CAAC,OAAO,EAAE,EAC1D;wBACE,QAAQ,EAAE,CAAC;wBACX,MAAM,EAAE,WAAW,CAAC,KAAK,CAAC,MAAM;wBAChC,GAAG;qBACJ,CACF,CAAC;gBACJ,CAAC;gBAED,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;YACnC,CAAC;YAED,OAAO,SAAS,CAAC;QACnB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IACE,KAAK,YAAY,oBAAoB;gBACrC,KAAK,YAAY,gBAAgB,EACjC,CAAC;gBACD,MAAM,KAAK,CAAC;YACd,CAAC;YAED,MAAM,IAAI,gBAAgB,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;QAC/D,CAAC;IACH,CAAC;IAED,KAAK,CAAC,MAAM,CACV,GAAW,EACX,KAAc,EACd,UAA+B,EAC/B,QAAwB;QAExB,MAAM,OAAO,GAAG;YACd,UAAU,EAAE,UAAU,CAAC,MAAM;YAC7B,MAAM,EAAE;gBACN,GAAG;gBACH,KAAK,EAAE,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;gBAChE,UAAU,EAAE;oBACV,KAAK,EAAE,UAAU,CAAC,KAAK;oBACvB,UAAU,EAAE,UAAU,CAAC,UAAU;iBAClC;aACF;SACF,CAAC;QAEF,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,YAAY,CACrB,OAAkC,EAClC,SAAS,EACT,QAAQ,CACT,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,KAAK,YAAY,gBAAgB,EAAE,CAAC;gBACtC,MAAM,KAAK,CAAC;YACd,CAAC;YAED,MAAM,IAAI,gBAAgB,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;QAChE,CAAC;IACH,CAAC;IAED,KAAK,CAAC,GAAG,CACP,GAAW,EACX,MAAsB,EACtB,UAA+B,EAC/B,QAAwB;QAExB,MAAM,OAAO,GAAG;YACd,UAAU,EAAE,UAAU,CAAC,MAAM;YAC7B,GAAG,EAAE;gBACH,GAAG;gBACH,UAAU,EAAE;oBACV,KAAK,EAAE,UAAU,CAAC,KAAK;oBACvB,UAAU,EAAE,UAAU,CAAC,UAAU;iBAClC;aACF;SACF,CAAC;QAEF,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,YAAY,CACpC,OAAkC,EAClC,SAAS,EACT,QAAQ,CACT,CAAC;YAEF,MAAM,WAAW,GAAG,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;YAE7C,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC;gBACzB,MAAM,IAAI,sBAAsB,CAC9B,6BAA6B,WAAW,CAAC,KAAK,CAAC,OAAO,EAAE,EACxD;oBACE,QAAQ,EAAE,WAAW,CAAC,KAAK;oBAC3B,IAAI,EAAE,MAAM;iBACb,CACF,CAAC;YACJ,CAAC;YAED,OAAO,WAAW,CAAC,IAAI,CAAC;QAC1B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IACE,KAAK,YAAY,sBAAsB;gBACvC,KAAK,YAAY,gBAAgB,EACjC,CAAC;gBACD,MAAM,KAAK,CAAC;YACd,CAAC;YAED,MAAM,IAAI,gBAAgB,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;QAC7D,CAAC;IACH,CAAC;IAED,KAAK,CAAC,MAAM,CACV,GAAW,EACX,UAA+B,EAC/B,QAAwB;QAExB,MAAM,OAAO,GAAG;YACd,UAAU,EAAE,UAAU,CAAC,MAAM;YAC7B,MAAM,EAAE;gBACN,GAAG;gBACH,UAAU,EAAE;oBACV,KAAK,EAAE,UAAU,CAAC,KAAK;oBACvB,UAAU,EAAE,UAAU,CAAC,UAAU;iBAClC;aACF;SACF,CAAC;QAEF,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,YAAY,CACrB,OAAkC,EAClC,SAAS,EACT,QAAQ,CACT,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,KAAK,YAAY,gBAAgB,EAAE,CAAC;gBACtC,MAAM,KAAK,CAAC;YACd,CAAC;YAED,MAAM,IAAI,gBAAgB,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;QAChE,CAAC;IACH,CAAC;CACF"}
|
package/package.json
CHANGED
|
@@ -1,14 +1,18 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Couchbase client implementation.
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
* Builds proto-style request objects for SQL++ queries, document insert,
|
|
4
|
+
* Builds proto JSON-style request objects for SQL++ queries, document insert,
|
|
6
5
|
* get, and remove operations against Couchbase buckets.
|
|
6
|
+
*
|
|
7
|
+
* IMPORTANT: Request objects use plain objects with flat proto JSON keys
|
|
8
|
+
* (e.g. `{runSql: {sqlBody}}`) rather than the protobuf-es `CouchbaseRequest`
|
|
9
|
+
* type. The protobuf-es type uses oneof wrappers (`{case: "runSql", value: {...}}`)
|
|
10
|
+
* which get lost during the JSON → Go proto → JSON roundtrip in the orchestrator,
|
|
11
|
+
* resulting in "invalid operation: undefined". The Go orchestrator expects the
|
|
12
|
+
* standard proto JSON format with flat field names, not the TS-specific wrapper.
|
|
7
13
|
*/
|
|
8
14
|
|
|
9
15
|
import type { z } from "zod";
|
|
10
|
-
import type { PartialMessage } from "@bufbuild/protobuf";
|
|
11
|
-
import type { Plugin as CouchbasePlugin } from "@superblocksteam/types/dist/src/plugins/couchbase/v1/plugin_pb";
|
|
12
16
|
import type { IntegrationConfig, IntegrationClientImpl } from "../types.js";
|
|
13
17
|
import type { QueryExecutor, TraceMetadata } from "../registry.js";
|
|
14
18
|
import { QueryValidationError, RestApiValidationError } from "../../errors.js";
|
|
@@ -16,11 +20,6 @@ import { IntegrationError } from "../../runtime/errors.js";
|
|
|
16
20
|
import { describeType } from "../utils.js";
|
|
17
21
|
import type { CouchbaseClient, CouchbaseIdentifier } from "./types.js";
|
|
18
22
|
|
|
19
|
-
/**
|
|
20
|
-
* Couchbase request type derived from proto definition.
|
|
21
|
-
*/
|
|
22
|
-
type CouchbaseRequest = PartialMessage<CouchbasePlugin>;
|
|
23
|
-
|
|
24
23
|
/**
|
|
25
24
|
* Internal implementation of CouchbaseClient.
|
|
26
25
|
*
|
|
@@ -55,14 +54,11 @@ export class CouchbaseClientImpl
|
|
|
55
54
|
metadata?: TraceMetadata,
|
|
56
55
|
): Promise<T[]> {
|
|
57
56
|
const hasParams = params && params.length > 0;
|
|
58
|
-
const request
|
|
57
|
+
const request = {
|
|
59
58
|
bucketName: bucket,
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
sqlBody: sql,
|
|
64
|
-
parameters: hasParams ? JSON.stringify(params) : undefined,
|
|
65
|
-
},
|
|
59
|
+
runSql: {
|
|
60
|
+
sqlBody: sql,
|
|
61
|
+
parameters: hasParams ? JSON.stringify(params) : undefined,
|
|
66
62
|
},
|
|
67
63
|
};
|
|
68
64
|
|
|
@@ -119,17 +115,14 @@ export class CouchbaseClientImpl
|
|
|
119
115
|
identifier: CouchbaseIdentifier,
|
|
120
116
|
metadata?: TraceMetadata,
|
|
121
117
|
): Promise<void> {
|
|
122
|
-
const request
|
|
118
|
+
const request = {
|
|
123
119
|
bucketName: identifier.bucket,
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
value:
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
scope: identifier.scope,
|
|
131
|
-
collection: identifier.collection,
|
|
132
|
-
},
|
|
120
|
+
insert: {
|
|
121
|
+
key,
|
|
122
|
+
value: typeof value === "string" ? value : JSON.stringify(value),
|
|
123
|
+
identifier: {
|
|
124
|
+
scope: identifier.scope,
|
|
125
|
+
collection: identifier.collection,
|
|
133
126
|
},
|
|
134
127
|
},
|
|
135
128
|
};
|
|
@@ -155,16 +148,13 @@ export class CouchbaseClientImpl
|
|
|
155
148
|
identifier: CouchbaseIdentifier,
|
|
156
149
|
metadata?: TraceMetadata,
|
|
157
150
|
): Promise<T> {
|
|
158
|
-
const request
|
|
151
|
+
const request = {
|
|
159
152
|
bucketName: identifier.bucket,
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
scope: identifier.scope,
|
|
166
|
-
collection: identifier.collection,
|
|
167
|
-
},
|
|
153
|
+
get: {
|
|
154
|
+
key,
|
|
155
|
+
identifier: {
|
|
156
|
+
scope: identifier.scope,
|
|
157
|
+
collection: identifier.collection,
|
|
168
158
|
},
|
|
169
159
|
},
|
|
170
160
|
};
|
|
@@ -206,16 +196,13 @@ export class CouchbaseClientImpl
|
|
|
206
196
|
identifier: CouchbaseIdentifier,
|
|
207
197
|
metadata?: TraceMetadata,
|
|
208
198
|
): Promise<void> {
|
|
209
|
-
const request
|
|
199
|
+
const request = {
|
|
210
200
|
bucketName: identifier.bucket,
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
scope: identifier.scope,
|
|
217
|
-
collection: identifier.collection,
|
|
218
|
-
},
|
|
201
|
+
remove: {
|
|
202
|
+
key,
|
|
203
|
+
identifier: {
|
|
204
|
+
scope: identifier.scope,
|
|
205
|
+
collection: identifier.collection,
|
|
219
206
|
},
|
|
220
207
|
},
|
|
221
208
|
};
|