@cubicweb/client 3.0.0-alpha.11 → 3.0.0-alpha.14
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/README.md +11 -20
- package/lib/api/Api.d.ts +29 -21
- package/lib/api/Api.d.ts.map +1 -1
- package/lib/api/Api.js +30 -16
- package/lib/api/Api.js.map +1 -1
- package/lib/api/Client.d.ts +19 -7
- package/lib/api/Client.d.ts.map +1 -1
- package/lib/api/Client.js +20 -9
- package/lib/api/Client.js.map +1 -1
- package/lib/api/ResultSet.d.ts +25 -0
- package/lib/api/ResultSet.d.ts.map +1 -0
- package/lib/api/ResultSet.js +12 -0
- package/lib/api/ResultSet.js.map +1 -0
- package/lib/api/binary/RQLBinary.d.ts +6 -0
- package/lib/api/binary/RQLBinary.d.ts.map +1 -0
- package/lib/api/binary/RQLBinary.js +10 -0
- package/lib/api/binary/RQLBinary.js.map +1 -0
- package/lib/api/query/RQLQuery.d.ts +40 -0
- package/lib/api/query/RQLQuery.d.ts.map +1 -0
- package/lib/api/query/RQLQuery.js +48 -0
- package/lib/api/query/RQLQuery.js.map +1 -0
- package/lib/api/query/references.d.ts +41 -0
- package/lib/api/query/references.d.ts.map +1 -0
- package/lib/api/query/references.js +50 -0
- package/lib/api/query/references.js.map +1 -0
- package/lib/api/transaction/Transaction.d.ts +25 -0
- package/lib/api/transaction/Transaction.d.ts.map +1 -0
- package/lib/api/transaction/Transaction.js +28 -0
- package/lib/api/transaction/Transaction.js.map +1 -0
- package/lib/api/transaction/TransactionResult.d.ts +32 -0
- package/lib/api/transaction/TransactionResult.d.ts.map +1 -0
- package/lib/api/transaction/TransactionResult.js +41 -0
- package/lib/api/transaction/TransactionResult.js.map +1 -0
- package/lib/{Errors.d.ts → errors.d.ts} +7 -4
- package/lib/errors.d.ts.map +1 -0
- package/lib/{Errors.js → errors.js} +7 -7
- package/lib/errors.js.map +1 -0
- package/lib/index.d.ts +8 -3
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +7 -3
- package/lib/index.js.map +1 -1
- package/lib/schema/classes/RelationDefinitionSchema.js +1 -1
- package/lib/schema/classes/RelationDefinitionSchema.js.map +1 -1
- package/lib/schema/classes/Schema.js.map +1 -1
- package/lib/schema/classes/Utils.d.ts.map +1 -1
- package/lib/schema/classes/Utils.js.map +1 -1
- package/lib/schema/raw/Constraints.d.ts +27 -0
- package/lib/schema/raw/Constraints.d.ts.map +1 -1
- package/lib/utils.d.ts +39 -0
- package/lib/utils.d.ts.map +1 -0
- package/lib/utils.js +58 -0
- package/lib/utils.js.map +1 -0
- package/package.json +7 -1
- package/src/api/Api.ts +60 -43
- package/src/api/Client.ts +23 -18
- package/src/api/ResultSet.ts +29 -0
- package/src/api/binary/RQLBinary.ts +9 -0
- package/src/api/query/RQLQuery.ts +51 -0
- package/src/api/query/references.ts +43 -0
- package/src/api/transaction/Transaction.ts +31 -0
- package/src/api/transaction/TransactionResult.ts +46 -0
- package/src/{Errors.ts → errors.ts} +6 -7
- package/src/index.ts +11 -7
- package/src/schema/classes/RelationDefinitionSchema.ts +1 -1
- package/src/schema/raw/Constraints.ts +28 -0
- package/src/utils.ts +91 -0
- package/lib/Errors.d.ts.map +0 -1
- package/lib/Errors.js.map +0 -1
- package/lib/api/Transaction.d.ts +0 -46
- package/lib/api/Transaction.d.ts.map +0 -1
- package/lib/api/Transaction.js +0 -72
- package/lib/api/Transaction.js.map +0 -1
- package/src/api/Transaction.ts +0 -94
package/README.md
CHANGED
|
@@ -7,7 +7,7 @@ library.
|
|
|
7
7
|
|
|
8
8
|
The full documentation is available [here](https://cubicweb.pages.logilab.fr/cubicwebjs/client).
|
|
9
9
|
|
|
10
|
-
**Compatible with [API cube](https://forge.extranet.logilab.fr/cubicweb/cubes/api) version 0.
|
|
10
|
+
**Compatible with [API cube](https://forge.extranet.logilab.fr/cubicweb/cubes/api) version 0.14 only.**
|
|
11
11
|
|
|
12
12
|
## Installation
|
|
13
13
|
|
|
@@ -78,23 +78,18 @@ client
|
|
|
78
78
|
|
|
79
79
|
// Execute a series of request in a transaction
|
|
80
80
|
const transaction = new Transaction()
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
row: 0,
|
|
90
|
-
column: 0,
|
|
91
|
-
}
|
|
92
|
-
}
|
|
93
|
-
})
|
|
81
|
+
const insertQuery = new RQLQuery(`INSERT Person X: X name "test"`)
|
|
82
|
+
transaction.push(insertQuery)
|
|
83
|
+
transaction.push(
|
|
84
|
+
new RQLQuery(
|
|
85
|
+
`INSERT Person X: X name "test"`,
|
|
86
|
+
{ created_eid: insertQuery.cellRef(0, 0) }
|
|
87
|
+
)
|
|
88
|
+
)
|
|
94
89
|
client
|
|
95
90
|
.executeTransaction(transaction)
|
|
96
91
|
.then((callbackResult) => {
|
|
97
|
-
console.log("Transaction was
|
|
92
|
+
console.log("Transaction was successful and the callback returned:");
|
|
98
93
|
console.log(callbackResult);
|
|
99
94
|
})
|
|
100
95
|
.catch((e) => {
|
|
@@ -122,11 +117,7 @@ you must authorize the URL the client is running on as well as the `Content-Type
|
|
|
122
117
|
|
|
123
118
|
## Authentication
|
|
124
119
|
|
|
125
|
-
The API cube uses cookie authentication
|
|
126
|
-
A `CW_JWT` [HTTP Only](https://developer.mozilla.org/en-US/docs/Web/HTTP/Cookies#security) cookie
|
|
127
|
-
will be automatically created by the browser when executing the login request.
|
|
128
|
-
This cookie cannot be accessed by the JavaScript so you will have to implement your own
|
|
129
|
-
logic to save the login state.
|
|
120
|
+
The API cube uses a cookie authentication method by default. When you call the login route, the cookie will be automatically created by the browser.
|
|
130
121
|
|
|
131
122
|
If the client is running on a different server from your CubicWeb instance,
|
|
132
123
|
make sure you setup CORS as described above.
|
package/lib/api/Api.d.ts
CHANGED
|
@@ -1,32 +1,26 @@
|
|
|
1
1
|
import { RawSchema } from "../schema/raw/Schema.js";
|
|
2
|
-
import {
|
|
2
|
+
import { RQLBinary } from "./binary/RQLBinary.js";
|
|
3
|
+
import { RQLQueryCellRef } from "./query/references.js";
|
|
4
|
+
import { Transaction } from "./transaction/Transaction.js";
|
|
5
|
+
import { TransactionResult } from "./transaction/TransactionResult.js";
|
|
3
6
|
/**
|
|
4
|
-
* Type representing
|
|
7
|
+
* Type representing valid final values to use as parameters in a RQL query.
|
|
8
|
+
*
|
|
9
|
+
* For references to requests/binaries, see {@link RQLQueryCellRef} and {@link RQLQueryBinaryRef}
|
|
5
10
|
*
|
|
6
11
|
* @category Api
|
|
7
12
|
*/
|
|
8
|
-
export type
|
|
9
|
-
export type RQLParamValue = string | number | boolean | null;
|
|
13
|
+
export type RQLQueryParamValue = string | number | boolean | null;
|
|
10
14
|
/**
|
|
11
15
|
* Type representing RQL parameters to send along a request.
|
|
12
16
|
*
|
|
13
|
-
*
|
|
14
|
-
*/
|
|
15
|
-
export type RQLParams = Record<string, RQLParamValue | TransactionQueryScalarRef | TransactionQueryBinaryRef>;
|
|
16
|
-
/**
|
|
17
|
-
* Type representing a row returned in a result set.
|
|
17
|
+
* Each key must be referenced in the RQL query.
|
|
18
18
|
*
|
|
19
19
|
* @category Api
|
|
20
20
|
*/
|
|
21
|
-
export type
|
|
21
|
+
export type RQLQueryParams = Record<string, RQLQueryParamValue | RQLQueryCellRef | RQLBinary>;
|
|
22
22
|
/**
|
|
23
|
-
* Type representing
|
|
24
|
-
*
|
|
25
|
-
* @category Api
|
|
26
|
-
*/
|
|
27
|
-
export type ResultSet = Array<RqlRow>;
|
|
28
|
-
/**
|
|
29
|
-
* Type representing the currently logged user's data
|
|
23
|
+
* Type representing the currently logged user's data as returned by the `/current-user` route
|
|
30
24
|
*
|
|
31
25
|
* @category Api
|
|
32
26
|
*/
|
|
@@ -48,6 +42,9 @@ type ApiError = {
|
|
|
48
42
|
/**
|
|
49
43
|
* Type representing the error data sent to clients when retrieving an API error.
|
|
50
44
|
*
|
|
45
|
+
* It simply adds the HTTP status code in a `status` key to the regular CubicWeb api error,
|
|
46
|
+
* so users can handle HTTP status codes in their code.
|
|
47
|
+
*
|
|
51
48
|
* @category Api
|
|
52
49
|
*/
|
|
53
50
|
export type ApiErrorResponse = {
|
|
@@ -57,7 +54,7 @@ export type ApiErrorResponse = {
|
|
|
57
54
|
* Class used to handle requests to the CubicWeb API.
|
|
58
55
|
*
|
|
59
56
|
* You should never have to create this object yourself.
|
|
60
|
-
* Instead, retrieve this object from the methods in the
|
|
57
|
+
* Instead, retrieve this object from the methods in the {@link Client} class.
|
|
61
58
|
*
|
|
62
59
|
* @internal
|
|
63
60
|
*/
|
|
@@ -74,7 +71,7 @@ export default class Api {
|
|
|
74
71
|
* Class used to handle requests to the CubicWeb API.
|
|
75
72
|
*
|
|
76
73
|
* You should never have to create this object yourself.
|
|
77
|
-
* Instead, retrieve this object from the methods in the
|
|
74
|
+
* Instead, retrieve this object from the methods in the {@link Client} class.
|
|
78
75
|
*
|
|
79
76
|
* @param apiUrl The API url. It should not include the API version as it will be automatically added.
|
|
80
77
|
* Example: if you can retrieve the schema with https://example.com/api/v1/schema,
|
|
@@ -93,7 +90,7 @@ export default class Api {
|
|
|
93
90
|
* Tries to log in the user on the configured CubicWeb instance with the given credentials.
|
|
94
91
|
*
|
|
95
92
|
* @param login The user login
|
|
96
|
-
* @param password
|
|
93
|
+
* @param password The user password
|
|
97
94
|
* @returns A promise returning true if the login was successful, false otherwise
|
|
98
95
|
*/
|
|
99
96
|
login(login: string, password: string): Promise<boolean>;
|
|
@@ -112,9 +109,20 @@ export default class Api {
|
|
|
112
109
|
/**
|
|
113
110
|
* Get the binary for the given entity attribute
|
|
114
111
|
*
|
|
115
|
-
* @
|
|
112
|
+
* @param eid Entity eid to fetch the binary from
|
|
113
|
+
* @param attribute Attribute on the entity in which the binary is stored
|
|
114
|
+
* @returns A promise resolving to the binary as a Blob
|
|
116
115
|
*/
|
|
117
116
|
binary(eid: number, attribute: string): Promise<Blob>;
|
|
117
|
+
/**
|
|
118
|
+
* Executes the given transaction.
|
|
119
|
+
*
|
|
120
|
+
* If the {@link Transaction} object contains binaries, the request is automatically
|
|
121
|
+
* sent using `multipart/form-data` to allow uploading binaries.
|
|
122
|
+
*
|
|
123
|
+
* @param transaction Transaction to execute
|
|
124
|
+
* @returns A promise returning the transaction result on success
|
|
125
|
+
*/
|
|
118
126
|
rql(transaction: Transaction): Promise<TransactionResult>;
|
|
119
127
|
private getTransactionParams;
|
|
120
128
|
private multipartTransaction;
|
package/lib/api/Api.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Api.d.ts","sourceRoot":"","sources":["../../src/api/Api.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"Api.d.ts","sourceRoot":"","sources":["../../src/api/Api.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAGpD,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAC3D,OAAO,EAAE,iBAAiB,EAAE,MAAM,oCAAoC,CAAC;AAEvE;;;;;;GAMG;AACH,MAAM,MAAM,kBAAkB,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,CAAC;AAElE;;;;;;GAMG;AACH,MAAM,MAAM,cAAc,GAAG,MAAM,CACjC,MAAM,EACN,kBAAkB,GAAG,eAAe,GAAG,SAAS,CACjD,CAAC;AAEF;;;;GAIG;AACH,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;;;GAIG;AACH,KAAK,QAAQ,GAAG;IACd,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAChC,CAAC;AAEF;;;;;;;GAOG;AACH,MAAM,MAAM,gBAAgB,GAAG;IAC7B,MAAM,EAAE,MAAM,CAAC;CAChB,GAAG,QAAQ,CAAC;AAMb;;;;;;;GAOG;AACH,MAAM,CAAC,OAAO,OAAO,GAAG;IACtB,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,QAAQ,CAAQ;IACxB,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,aAAa,CAAS;IAC9B,OAAO,CAAC,YAAY,CAAS;IAC7B,OAAO,CAAC,aAAa,CAAS;IAC9B,OAAO,CAAC,kBAAkB,CAAS;IACnC,OAAO,CAAC,aAAa,CAAS;IAE9B;;;;;;;;;OASG;gBACS,MAAM,EAAE,MAAM;IAU1B,IAAI,MAAM,WAET;IAED,OAAO,CAAC,WAAW;IAInB;;;;OAIG;IACG,MAAM,IAAI,OAAO,CAAC,SAAS,CAAC;IAOlC;;;;;;OAMG;IACG,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAgB9D;;;;OAIG;IACG,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IAO7B;;;;OAIG;IACG,WAAW,IAAI,OAAO,CAAC,WAAW,CAAC;IAOzC;;;;;;OAMG;IACG,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAW3D;;;;;;;;OAQG;IACG,GAAG,CAAC,WAAW,EAAE,WAAW,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAa/D,OAAO,CAAC,oBAAoB;YAOd,oBAAoB;YAyBpB,eAAe;IAe7B,OAAO,CAAC,gBAAgB;CAgBzB"}
|
package/lib/api/Api.js
CHANGED
|
@@ -1,10 +1,12 @@
|
|
|
1
|
-
import { ValidationError } from "../
|
|
2
|
-
import {
|
|
1
|
+
import { ValidationError } from "../errors.js";
|
|
2
|
+
import { getBinariesFromTransaction, serializeQueryParams } from "../utils.js";
|
|
3
|
+
import { ResultSet } from "./ResultSet.js";
|
|
4
|
+
import { TransactionResult } from "./transaction/TransactionResult.js";
|
|
3
5
|
/**
|
|
4
6
|
* Class used to handle requests to the CubicWeb API.
|
|
5
7
|
*
|
|
6
8
|
* You should never have to create this object yourself.
|
|
7
|
-
* Instead, retrieve this object from the methods in the
|
|
9
|
+
* Instead, retrieve this object from the methods in the {@link Client} class.
|
|
8
10
|
*
|
|
9
11
|
* @internal
|
|
10
12
|
*/
|
|
@@ -21,7 +23,7 @@ export default class Api {
|
|
|
21
23
|
* Class used to handle requests to the CubicWeb API.
|
|
22
24
|
*
|
|
23
25
|
* You should never have to create this object yourself.
|
|
24
|
-
* Instead, retrieve this object from the methods in the
|
|
26
|
+
* Instead, retrieve this object from the methods in the {@link Client} class.
|
|
25
27
|
*
|
|
26
28
|
* @param apiUrl The API url. It should not include the API version as it will be automatically added.
|
|
27
29
|
* Example: if you can retrieve the schema with https://example.com/api/v1/schema,
|
|
@@ -57,7 +59,7 @@ export default class Api {
|
|
|
57
59
|
* Tries to log in the user on the configured CubicWeb instance with the given credentials.
|
|
58
60
|
*
|
|
59
61
|
* @param login The user login
|
|
60
|
-
* @param password
|
|
62
|
+
* @param password The user password
|
|
61
63
|
* @returns A promise returning true if the login was successful, false otherwise
|
|
62
64
|
*/
|
|
63
65
|
async login(login, password) {
|
|
@@ -101,7 +103,9 @@ export default class Api {
|
|
|
101
103
|
/**
|
|
102
104
|
* Get the binary for the given entity attribute
|
|
103
105
|
*
|
|
104
|
-
* @
|
|
106
|
+
* @param eid Entity eid to fetch the binary from
|
|
107
|
+
* @param attribute Attribute on the entity in which the binary is stored
|
|
108
|
+
* @returns A promise resolving to the binary as a Blob
|
|
105
109
|
*/
|
|
106
110
|
async binary(eid, attribute) {
|
|
107
111
|
const params = new URLSearchParams({
|
|
@@ -113,10 +117,20 @@ export default class Api {
|
|
|
113
117
|
credentials: "include",
|
|
114
118
|
});
|
|
115
119
|
}
|
|
120
|
+
/**
|
|
121
|
+
* Executes the given transaction.
|
|
122
|
+
*
|
|
123
|
+
* If the {@link Transaction} object contains binaries, the request is automatically
|
|
124
|
+
* sent using `multipart/form-data` to allow uploading binaries.
|
|
125
|
+
*
|
|
126
|
+
* @param transaction Transaction to execute
|
|
127
|
+
* @returns A promise returning the transaction result on success
|
|
128
|
+
*/
|
|
116
129
|
async rql(transaction) {
|
|
130
|
+
const binaries = getBinariesFromTransaction(transaction);
|
|
117
131
|
try {
|
|
118
|
-
if (
|
|
119
|
-
return await this.multipartTransaction(transaction);
|
|
132
|
+
if (binaries.length > 0) {
|
|
133
|
+
return await this.multipartTransaction(transaction, binaries);
|
|
120
134
|
}
|
|
121
135
|
else {
|
|
122
136
|
return await this.jsonTransaction(transaction);
|
|
@@ -127,24 +141,24 @@ export default class Api {
|
|
|
127
141
|
}
|
|
128
142
|
}
|
|
129
143
|
getTransactionParams(transaction) {
|
|
130
|
-
return transaction.queries.map((
|
|
131
|
-
query:
|
|
132
|
-
params:
|
|
144
|
+
return transaction.queries.map((rqlQuery) => ({
|
|
145
|
+
query: rqlQuery.rql,
|
|
146
|
+
params: serializeQueryParams(transaction, rqlQuery.params),
|
|
133
147
|
}));
|
|
134
148
|
}
|
|
135
|
-
async multipartTransaction(transaction) {
|
|
149
|
+
async multipartTransaction(transaction, binaries) {
|
|
136
150
|
const jsonParams = this.getTransactionParams(transaction);
|
|
137
151
|
const formData = new FormData();
|
|
138
152
|
formData.append("queries", JSON.stringify(jsonParams));
|
|
139
|
-
|
|
140
|
-
formData.append(
|
|
153
|
+
binaries.forEach((binary) => {
|
|
154
|
+
formData.append(binary.uuid, binary.blob);
|
|
141
155
|
});
|
|
142
156
|
const resultSets = await nonNullFetchApi(this._rqlApiUrl, {
|
|
143
157
|
method: "POST",
|
|
144
158
|
credentials: "include",
|
|
145
159
|
body: formData,
|
|
146
160
|
});
|
|
147
|
-
return new TransactionResult(resultSets);
|
|
161
|
+
return new TransactionResult(transaction, resultSets.map((r) => new ResultSet(r)));
|
|
148
162
|
}
|
|
149
163
|
async jsonTransaction(transaction) {
|
|
150
164
|
const resultSets = await nonNullFetchApi(this._rqlApiUrl, {
|
|
@@ -152,7 +166,7 @@ export default class Api {
|
|
|
152
166
|
credentials: "include",
|
|
153
167
|
body: JSON.stringify(this.getTransactionParams(transaction)),
|
|
154
168
|
});
|
|
155
|
-
return new TransactionResult(resultSets);
|
|
169
|
+
return new TransactionResult(transaction, resultSets.map((r) => new ResultSet(r)));
|
|
156
170
|
}
|
|
157
171
|
handleUserErrors(error) {
|
|
158
172
|
if (typeof error === "object" &&
|
package/lib/api/Api.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Api.js","sourceRoot":"","sources":["../../src/api/Api.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAE/C,OAAO,
|
|
1
|
+
{"version":3,"file":"Api.js","sourceRoot":"","sources":["../../src/api/Api.ts"],"names":[],"mappings":"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"}
|
package/lib/api/Client.d.ts
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import { Schema } from "../schema/classes/Schema.js";
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
2
|
+
import { RQLQueryParams, CurrentUser } from "./Api.js";
|
|
3
|
+
import { ResultSet } from "./ResultSet.js";
|
|
4
|
+
import { Transaction } from "./transaction/Transaction.js";
|
|
5
|
+
import { TransactionResult } from "./transaction/TransactionResult.js";
|
|
4
6
|
/**
|
|
5
7
|
* Class used to communicate with a CubicWeb instance's API.
|
|
6
8
|
*
|
|
@@ -20,11 +22,14 @@ export default class Client {
|
|
|
20
22
|
/**
|
|
21
23
|
* Executes the given query and waits for the response.
|
|
22
24
|
*
|
|
23
|
-
*
|
|
25
|
+
* If binaries are given, the request is automatically
|
|
26
|
+
* sent using `multipart/form-data` to allow uploading binaries.
|
|
27
|
+
*
|
|
28
|
+
* @param rql The RQL query to send
|
|
24
29
|
* @param params The additional parameters for the request
|
|
25
30
|
* @returns A promise with the request's result set
|
|
26
31
|
*/
|
|
27
|
-
execute(
|
|
32
|
+
execute(rql: string, params?: RQLQueryParams): Promise<ResultSet>;
|
|
28
33
|
/**
|
|
29
34
|
* Retrieves the CubicWeb instance's JSON schema.
|
|
30
35
|
*
|
|
@@ -35,7 +40,7 @@ export default class Client {
|
|
|
35
40
|
* Tries to log in the user on the configured CubicWeb instance with the given credentials.
|
|
36
41
|
*
|
|
37
42
|
* @param login The user login
|
|
38
|
-
* @param password
|
|
43
|
+
* @param password The user password
|
|
39
44
|
* @returns A promise returning true if the login was successful, false otherwise
|
|
40
45
|
*/
|
|
41
46
|
login(login: string, password: string): Promise<boolean>;
|
|
@@ -52,14 +57,21 @@ export default class Client {
|
|
|
52
57
|
*/
|
|
53
58
|
currentUser(): Promise<CurrentUser>;
|
|
54
59
|
/**
|
|
60
|
+
* Executes the given transaction.
|
|
61
|
+
*
|
|
62
|
+
* If the {@link Transaction} object contains binaries, the request is automatically
|
|
63
|
+
* sent using `multipart/form-data` to allow uploading binaries.
|
|
64
|
+
*
|
|
55
65
|
* @param transaction Transaction to execute
|
|
56
|
-
* @returns A promise
|
|
66
|
+
* @returns A promise returning the transaction result on success
|
|
57
67
|
*/
|
|
58
68
|
executeTransaction(transaction: Transaction): Promise<TransactionResult>;
|
|
59
69
|
/**
|
|
60
70
|
* Get the binary for the given entity attribute
|
|
61
71
|
*
|
|
62
|
-
* @
|
|
72
|
+
* @param eid Entity eid to fetch the binary from
|
|
73
|
+
* @param attribute Attribute on the entity in which the binary is stored
|
|
74
|
+
* @returns A promise resolving to the binary as a Blob
|
|
63
75
|
*/
|
|
64
76
|
getBinary(eid: number, attribute: string): Promise<Blob>;
|
|
65
77
|
}
|
package/lib/api/Client.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Client.d.ts","sourceRoot":"","sources":["../../src/api/Client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,6BAA6B,CAAC;AACrD,OAAY,EAAE,
|
|
1
|
+
{"version":3,"file":"Client.d.ts","sourceRoot":"","sources":["../../src/api/Client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,6BAA6B,CAAC;AACrD,OAAY,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAC5D,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAE3C,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAC3D,OAAO,EAAE,iBAAiB,EAAE,MAAM,oCAAoC,CAAC;AAEvE;;;;GAIG;AACH,MAAM,CAAC,OAAO,OAAO,MAAM;IACzB,OAAO,CAAC,GAAG,CAAM;IAEjB;;;;;;OAMG;gBACS,MAAM,EAAE,MAAM;IAI1B,IAAI,MAAM,WAET;IAED;;;;;;;;;OASG;IACG,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,GAAE,cAAmB,GAAG,OAAO,CAAC,SAAS,CAAC;IAQ3E;;;;OAIG;IACG,MAAM;IAKZ;;;;;;OAMG;IACG,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM;IAI3C;;;;OAIG;IACG,MAAM;IAIZ;;;;OAIG;IACG,WAAW,IAAI,OAAO,CAAC,WAAW,CAAC;IAIzC;;;;;;;;OAQG;IACG,kBAAkB,CACtB,WAAW,EAAE,WAAW,GACvB,OAAO,CAAC,iBAAiB,CAAC;IAI7B;;;;;;OAMG;IACG,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM;CAG/C"}
|
package/lib/api/Client.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { Schema } from "../schema/classes/Schema.js";
|
|
2
2
|
import Api from "./Api.js";
|
|
3
|
-
import {
|
|
3
|
+
import { RQLQuery } from "./query/RQLQuery.js";
|
|
4
|
+
import { Transaction } from "./transaction/Transaction.js";
|
|
4
5
|
/**
|
|
5
6
|
* Class used to communicate with a CubicWeb instance's API.
|
|
6
7
|
*
|
|
@@ -24,16 +25,19 @@ export default class Client {
|
|
|
24
25
|
/**
|
|
25
26
|
* Executes the given query and waits for the response.
|
|
26
27
|
*
|
|
27
|
-
*
|
|
28
|
+
* If binaries are given, the request is automatically
|
|
29
|
+
* sent using `multipart/form-data` to allow uploading binaries.
|
|
30
|
+
*
|
|
31
|
+
* @param rql The RQL query to send
|
|
28
32
|
* @param params The additional parameters for the request
|
|
29
33
|
* @returns A promise with the request's result set
|
|
30
34
|
*/
|
|
31
|
-
async execute(
|
|
35
|
+
async execute(rql, params = {}) {
|
|
32
36
|
const transaction = new Transaction();
|
|
33
|
-
const
|
|
34
|
-
transaction.
|
|
37
|
+
const query = new RQLQuery(rql, params);
|
|
38
|
+
transaction.push(query);
|
|
35
39
|
const result = await this.executeTransaction(transaction);
|
|
36
|
-
return result.
|
|
40
|
+
return result.getResultSet(query);
|
|
37
41
|
}
|
|
38
42
|
/**
|
|
39
43
|
* Retrieves the CubicWeb instance's JSON schema.
|
|
@@ -48,7 +52,7 @@ export default class Client {
|
|
|
48
52
|
* Tries to log in the user on the configured CubicWeb instance with the given credentials.
|
|
49
53
|
*
|
|
50
54
|
* @param login The user login
|
|
51
|
-
* @param password
|
|
55
|
+
* @param password The user password
|
|
52
56
|
* @returns A promise returning true if the login was successful, false otherwise
|
|
53
57
|
*/
|
|
54
58
|
async login(login, password) {
|
|
@@ -71,8 +75,13 @@ export default class Client {
|
|
|
71
75
|
return await this.api.currentUser();
|
|
72
76
|
}
|
|
73
77
|
/**
|
|
78
|
+
* Executes the given transaction.
|
|
79
|
+
*
|
|
80
|
+
* If the {@link Transaction} object contains binaries, the request is automatically
|
|
81
|
+
* sent using `multipart/form-data` to allow uploading binaries.
|
|
82
|
+
*
|
|
74
83
|
* @param transaction Transaction to execute
|
|
75
|
-
* @returns A promise
|
|
84
|
+
* @returns A promise returning the transaction result on success
|
|
76
85
|
*/
|
|
77
86
|
async executeTransaction(transaction) {
|
|
78
87
|
return await this.api.rql(transaction);
|
|
@@ -80,7 +89,9 @@ export default class Client {
|
|
|
80
89
|
/**
|
|
81
90
|
* Get the binary for the given entity attribute
|
|
82
91
|
*
|
|
83
|
-
* @
|
|
92
|
+
* @param eid Entity eid to fetch the binary from
|
|
93
|
+
* @param attribute Attribute on the entity in which the binary is stored
|
|
94
|
+
* @returns A promise resolving to the binary as a Blob
|
|
84
95
|
*/
|
|
85
96
|
async getBinary(eid, attribute) {
|
|
86
97
|
return await this.api.binary(eid, attribute);
|
package/lib/api/Client.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Client.js","sourceRoot":"","sources":["../../src/api/Client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,6BAA6B,CAAC;AACrD,OAAO,
|
|
1
|
+
{"version":3,"file":"Client.js","sourceRoot":"","sources":["../../src/api/Client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,6BAA6B,CAAC;AACrD,OAAO,GAAoC,MAAM,UAAU,CAAC;AAE5D,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAG3D;;;;GAIG;AACH,MAAM,CAAC,OAAO,OAAO,MAAM;IACjB,GAAG,CAAM;IAEjB;;;;;;OAMG;IACH,YAAY,MAAc;QACxB,IAAI,CAAC,GAAG,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC;IAC7B,CAAC;IAED,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC;IACzB,CAAC;IAED;;;;;;;;;OASG;IACH,KAAK,CAAC,OAAO,CAAC,GAAW,EAAE,SAAyB,EAAE;QACpD,MAAM,WAAW,GAAG,IAAI,WAAW,EAAE,CAAC;QACtC,MAAM,KAAK,GAAG,IAAI,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;QACxC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACxB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC,CAAC;QAC1D,OAAO,MAAM,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;IACpC,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,MAAM;QACV,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC;QACvC,OAAO,IAAI,MAAM,CAAC,MAAM,CAAC,CAAC;IAC5B,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,KAAK,CAAC,KAAa,EAAE,QAAgB;QACzC,OAAO,MAAM,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;IAC/C,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,MAAM;QACV,OAAO,MAAM,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC;IACjC,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,WAAW;QACf,OAAO,MAAM,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC;IACtC,CAAC;IAED;;;;;;;;OAQG;IACH,KAAK,CAAC,kBAAkB,CACtB,WAAwB;QAExB,OAAO,MAAM,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;IACzC,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,SAAS,CAAC,GAAW,EAAE,SAAiB;QAC5C,OAAO,MAAM,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;IAC/C,CAAC;CACF"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Type representing a final value in a result set.
|
|
3
|
+
*
|
|
4
|
+
* Please not this type may not be accurate if you use entity methods,
|
|
5
|
+
* as those methods may return any data structure.
|
|
6
|
+
*
|
|
7
|
+
* @category Api
|
|
8
|
+
*/
|
|
9
|
+
export type ResultSetCell = string | number | boolean | null;
|
|
10
|
+
/**
|
|
11
|
+
* Type representing a row returned in a result set.
|
|
12
|
+
*
|
|
13
|
+
* @category Api
|
|
14
|
+
*/
|
|
15
|
+
export type ResultSetRow<T extends ReadonlyArray<ResultSetCell> = ReadonlyArray<ResultSetCell>> = T;
|
|
16
|
+
/**
|
|
17
|
+
* Class representing a RQL request result.
|
|
18
|
+
*
|
|
19
|
+
* @category Api
|
|
20
|
+
*/
|
|
21
|
+
export declare class ResultSet<T extends ReadonlyArray<ResultSetCell> = ReadonlyArray<ResultSetCell>> {
|
|
22
|
+
readonly rows: ReadonlyArray<T>;
|
|
23
|
+
constructor(rows: ReadonlyArray<T>);
|
|
24
|
+
}
|
|
25
|
+
//# sourceMappingURL=ResultSet.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ResultSet.d.ts","sourceRoot":"","sources":["../../src/api/ResultSet.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,MAAM,MAAM,aAAa,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,CAAC;AAE7D;;;;GAIG;AACH,MAAM,MAAM,YAAY,CACtB,CAAC,SAAS,aAAa,CAAC,aAAa,CAAC,GAAG,aAAa,CAAC,aAAa,CAAC,IACnE,CAAC,CAAC;AAEN;;;;GAIG;AACH,qBAAa,SAAS,CACpB,CAAC,SAAS,aAAa,CAAC,aAAa,CAAC,GAAG,aAAa,CAAC,aAAa,CAAC;aAEzC,IAAI,EAAE,aAAa,CAAC,CAAC,CAAC;gBAAtB,IAAI,EAAE,aAAa,CAAC,CAAC,CAAC;CACnD"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ResultSet.js","sourceRoot":"","sources":["../../src/api/ResultSet.ts"],"names":[],"mappings":"AAmBA;;;;GAIG;AACH,MAAM,OAAO,SAAS;IAGQ;IAA5B,YAA4B,IAAsB;QAAtB,SAAI,GAAJ,IAAI,CAAkB;IAAG,CAAC;CACvD"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RQLBinary.d.ts","sourceRoot":"","sources":["../../../src/api/binary/RQLBinary.ts"],"names":[],"mappings":"AAEA,qBAAa,SAAS;aAGQ,IAAI,EAAE,IAAI;IAFtC,SAAgB,IAAI,EAAE,MAAM,CAAC;gBAED,IAAI,EAAE,IAAI;CAGvC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RQLBinary.js","sourceRoot":"","sources":["../../../src/api/binary/RQLBinary.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,IAAI,MAAM,EAAE,MAAM,MAAM,CAAC;AAEpC,MAAM,OAAO,SAAS;IAGQ;IAFZ,IAAI,CAAS;IAE7B,YAA4B,IAAU;QAAV,SAAI,GAAJ,IAAI,CAAM;QACpC,IAAI,CAAC,IAAI,GAAG,MAAM,EAAE,CAAC;IACvB,CAAC;CACF"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { RQLQueryCellRef, RQLQueryRowRef } from "./references.js";
|
|
2
|
+
import { RQLQueryParams } from "../Api.js";
|
|
3
|
+
/**
|
|
4
|
+
* Class representing a RQL query to be sent to the API.
|
|
5
|
+
*
|
|
6
|
+
* Queries are identified by a uuid and are independent from transactions.
|
|
7
|
+
*
|
|
8
|
+
* If a query has been used in a transaction, RQLQuery objects can easily retrieve
|
|
9
|
+
* a reference to the query for later resolving the values in a {@link TransactionResult}.
|
|
10
|
+
*
|
|
11
|
+
* @category Api
|
|
12
|
+
*/
|
|
13
|
+
export declare class RQLQuery {
|
|
14
|
+
readonly rql: string;
|
|
15
|
+
readonly params: RQLQueryParams;
|
|
16
|
+
readonly queryUUID: string;
|
|
17
|
+
/**
|
|
18
|
+
* Class representing a RQL query to be sent to the API.
|
|
19
|
+
*
|
|
20
|
+
* Queries are identified by a uuid and are independent from transactions.
|
|
21
|
+
*
|
|
22
|
+
* If a query has been used in a transaction, RQLQuery objects can easily retrieve
|
|
23
|
+
* a reference to the query for later resolving the values in a {@link TransactionResult}.
|
|
24
|
+
*
|
|
25
|
+
* @param rql The rql query
|
|
26
|
+
* @param params The parameters for the rql query
|
|
27
|
+
*
|
|
28
|
+
* @category Api
|
|
29
|
+
*/
|
|
30
|
+
constructor(rql: string, params?: RQLQueryParams);
|
|
31
|
+
/**
|
|
32
|
+
* @returns A reference to a {@link ResultSetRow} in the result of this query.
|
|
33
|
+
*/
|
|
34
|
+
rowRef(row: number): RQLQueryRowRef;
|
|
35
|
+
/**
|
|
36
|
+
* @returns A reference to a {@link ResultSetCell} in the result of this query.
|
|
37
|
+
*/
|
|
38
|
+
cellRef(row: number, column: number): RQLQueryCellRef;
|
|
39
|
+
}
|
|
40
|
+
//# sourceMappingURL=RQLQuery.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RQLQuery.d.ts","sourceRoot":"","sources":["../../../src/api/query/RQLQuery.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAClE,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAE3C;;;;;;;;;GASG;AACH,qBAAa,QAAQ;aAiBD,GAAG,EAAE,MAAM;aACX,MAAM,EAAE,cAAc;IAjBxC,SAAgB,SAAS,EAAE,MAAM,CAAC;IAElC;;;;;;;;;;;;OAYG;gBAEe,GAAG,EAAE,MAAM,EACX,MAAM,GAAE,cAAmB;IAK7C;;OAEG;IACH,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,cAAc;IAInC;;OAEG;IACH,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,eAAe;CAGtD"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { v4 as uuidv4 } from "uuid";
|
|
2
|
+
import { RQLQueryCellRef, RQLQueryRowRef } from "./references.js";
|
|
3
|
+
/**
|
|
4
|
+
* Class representing a RQL query to be sent to the API.
|
|
5
|
+
*
|
|
6
|
+
* Queries are identified by a uuid and are independent from transactions.
|
|
7
|
+
*
|
|
8
|
+
* If a query has been used in a transaction, RQLQuery objects can easily retrieve
|
|
9
|
+
* a reference to the query for later resolving the values in a {@link TransactionResult}.
|
|
10
|
+
*
|
|
11
|
+
* @category Api
|
|
12
|
+
*/
|
|
13
|
+
export class RQLQuery {
|
|
14
|
+
rql;
|
|
15
|
+
params;
|
|
16
|
+
queryUUID;
|
|
17
|
+
/**
|
|
18
|
+
* Class representing a RQL query to be sent to the API.
|
|
19
|
+
*
|
|
20
|
+
* Queries are identified by a uuid and are independent from transactions.
|
|
21
|
+
*
|
|
22
|
+
* If a query has been used in a transaction, RQLQuery objects can easily retrieve
|
|
23
|
+
* a reference to the query for later resolving the values in a {@link TransactionResult}.
|
|
24
|
+
*
|
|
25
|
+
* @param rql The rql query
|
|
26
|
+
* @param params The parameters for the rql query
|
|
27
|
+
*
|
|
28
|
+
* @category Api
|
|
29
|
+
*/
|
|
30
|
+
constructor(rql, params = {}) {
|
|
31
|
+
this.rql = rql;
|
|
32
|
+
this.params = params;
|
|
33
|
+
this.queryUUID = uuidv4();
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* @returns A reference to a {@link ResultSetRow} in the result of this query.
|
|
37
|
+
*/
|
|
38
|
+
rowRef(row) {
|
|
39
|
+
return new RQLQueryRowRef(this.queryUUID, row);
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* @returns A reference to a {@link ResultSetCell} in the result of this query.
|
|
43
|
+
*/
|
|
44
|
+
cellRef(row, column) {
|
|
45
|
+
return new RQLQueryCellRef(this.queryUUID, row, column);
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
//# sourceMappingURL=RQLQuery.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RQLQuery.js","sourceRoot":"","sources":["../../../src/api/query/RQLQuery.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,IAAI,MAAM,EAAE,MAAM,MAAM,CAAC;AACpC,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAGlE;;;;;;;;;GASG;AACH,MAAM,OAAO,QAAQ;IAiBD;IACA;IAjBF,SAAS,CAAS;IAElC;;;;;;;;;;;;OAYG;IACH,YACkB,GAAW,EACX,SAAyB,EAAE;QAD3B,QAAG,GAAH,GAAG,CAAQ;QACX,WAAM,GAAN,MAAM,CAAqB;QAE3C,IAAI,CAAC,SAAS,GAAG,MAAM,EAAE,CAAC;IAC5B,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,GAAW;QAChB,OAAO,IAAI,cAAc,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;IACjD,CAAC;IAED;;OAEG;IACH,OAAO,CAAC,GAAW,EAAE,MAAc;QACjC,OAAO,IAAI,eAAe,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC;IAC1D,CAAC;CACF"}
|