@cubicweb/client 3.0.0-alpha.6 → 3.0.0-alpha.8
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 +1 -1
- package/lib/api/Api.d.ts +9 -4
- package/lib/api/Api.d.ts.map +1 -1
- package/lib/api/Api.js +16 -11
- package/lib/api/Api.js.map +1 -1
- package/lib/api/Client.d.ts +6 -0
- package/lib/api/Client.d.ts.map +1 -1
- package/lib/api/Client.js +10 -0
- package/lib/api/Client.js.map +1 -1
- package/lib/api/Transaction.d.ts +9 -5
- package/lib/api/Transaction.d.ts.map +1 -1
- package/lib/api/Transaction.js +7 -8
- package/lib/api/Transaction.js.map +1 -1
- package/package.json +1 -1
- package/src/api/Api.ts +22 -17
- package/src/api/Client.ts +9 -0
- package/src/api/Transaction.ts +13 -20
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.13 only.**
|
|
11
11
|
|
|
12
12
|
## Installation
|
|
13
13
|
|
package/lib/api/Api.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { RawSchema } from "../schema/raw/Schema";
|
|
2
|
-
import { TransactionResult, Transaction } from "./Transaction";
|
|
2
|
+
import { TransactionResult, Transaction, TransactionQueryScalarRef, TransactionQueryBinaryRef } from "./Transaction";
|
|
3
3
|
/**
|
|
4
4
|
* Type representing an RQL request and its associated parameters.
|
|
5
5
|
*
|
|
@@ -12,9 +12,7 @@ export type RQLParamValue = string | number | boolean | null;
|
|
|
12
12
|
*
|
|
13
13
|
* @category Api
|
|
14
14
|
*/
|
|
15
|
-
export
|
|
16
|
-
[key: string]: RQLParamValue;
|
|
17
|
-
}
|
|
15
|
+
export type RQLParams = Record<string, RQLParamValue | TransactionQueryScalarRef | TransactionQueryBinaryRef>;
|
|
18
16
|
/**
|
|
19
17
|
* Type representing a row returned in a result set.
|
|
20
18
|
*
|
|
@@ -69,6 +67,7 @@ export default class Api {
|
|
|
69
67
|
private _rqlApiUrl;
|
|
70
68
|
private _schemaApiUrl;
|
|
71
69
|
private _loginApiUrl;
|
|
70
|
+
private _logoutApiUrl;
|
|
72
71
|
private _currentUserApiUrl;
|
|
73
72
|
private _binaryApiUrl;
|
|
74
73
|
/**
|
|
@@ -98,6 +97,12 @@ export default class Api {
|
|
|
98
97
|
* @returns A promise returning true if the login was successful, false otherwise
|
|
99
98
|
*/
|
|
100
99
|
login(login: string, password: string): Promise<boolean>;
|
|
100
|
+
/**
|
|
101
|
+
* Logs out the current user. Will invalidate any authentication cookie active.
|
|
102
|
+
*
|
|
103
|
+
* @returns A promise which will resolve when the user is properly logged out
|
|
104
|
+
*/
|
|
105
|
+
logout(): Promise<void>;
|
|
101
106
|
/**
|
|
102
107
|
* Get the current user associated to this client
|
|
103
108
|
*
|
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,sBAAsB,CAAC;AACjD,OAAO,EACL,iBAAiB,EACjB,WAAW,
|
|
1
|
+
{"version":3,"file":"Api.d.ts","sourceRoot":"","sources":["../../src/api/Api.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EACL,iBAAiB,EACjB,WAAW,EACX,yBAAyB,EACzB,yBAAyB,EAC1B,MAAM,eAAe,CAAC;AAEvB;;;;GAIG;AACH,MAAM,MAAM,QAAQ,GAAG,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;AAE3C,MAAM,MAAM,aAAa,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,CAAC;AAC7D;;;;GAIG;AACH,MAAM,MAAM,SAAS,GAAG,MAAM,CAC5B,MAAM,EACN,aAAa,GAAG,yBAAyB,GAAG,yBAAyB,CACtE,CAAC;AAEF;;;;GAIG;AACH,MAAM,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,CAAC,CAAC;AAE7D;;;;GAIG;AACH,MAAM,MAAM,SAAS,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;AAEtC;;;;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;;;;GAIG;AACH,MAAM,MAAM,gBAAgB,GAAG;IAC7B,MAAM,EAAE,MAAM,CAAC;CAChB,GAAG,QAAQ,CAAC;AAEb;;;;;;;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;;;;OAIG;IACG,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAWrD,GAAG,CAAC,WAAW,EAAE,WAAW,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAY/D,OAAO,CAAC,oBAAoB;YAOd,oBAAoB;YAmBpB,eAAe;IAY7B,OAAO,CAAC,gBAAgB;CAgBzB"}
|
package/lib/api/Api.js
CHANGED
|
@@ -36,6 +36,7 @@ class Api {
|
|
|
36
36
|
this._rqlApiUrl = this.getApiRoute("rql");
|
|
37
37
|
this._schemaApiUrl = this.getApiRoute("schema");
|
|
38
38
|
this._loginApiUrl = this.getApiRoute("login");
|
|
39
|
+
this._logoutApiUrl = this.getApiRoute("logout");
|
|
39
40
|
this._currentUserApiUrl = this.getApiRoute("current-user");
|
|
40
41
|
this._binaryApiUrl = this.getApiRoute("binary");
|
|
41
42
|
}
|
|
@@ -83,6 +84,19 @@ class Api {
|
|
|
83
84
|
}
|
|
84
85
|
});
|
|
85
86
|
}
|
|
87
|
+
/**
|
|
88
|
+
* Logs out the current user. Will invalidate any authentication cookie active.
|
|
89
|
+
*
|
|
90
|
+
* @returns A promise which will resolve when the user is properly logged out
|
|
91
|
+
*/
|
|
92
|
+
logout() {
|
|
93
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
94
|
+
yield fetchApi(this._logoutApiUrl, {
|
|
95
|
+
method: "POST",
|
|
96
|
+
credentials: "include",
|
|
97
|
+
});
|
|
98
|
+
});
|
|
99
|
+
}
|
|
86
100
|
/**
|
|
87
101
|
* Get the current user associated to this client
|
|
88
102
|
*
|
|
@@ -131,16 +145,7 @@ class Api {
|
|
|
131
145
|
getTransactionParams(transaction) {
|
|
132
146
|
return transaction.queries.map((transactionQuery) => ({
|
|
133
147
|
query: transactionQuery.query,
|
|
134
|
-
params:
|
|
135
|
-
key,
|
|
136
|
-
(0, Transaction_1.isTransactionQueryScalarRef)(value)
|
|
137
|
-
? {
|
|
138
|
-
queryIndex: value.queryIndex,
|
|
139
|
-
row: value.row,
|
|
140
|
-
column: value.column,
|
|
141
|
-
}
|
|
142
|
-
: value,
|
|
143
|
-
])),
|
|
148
|
+
params: transactionQuery.params,
|
|
144
149
|
}));
|
|
145
150
|
}
|
|
146
151
|
multipartTransaction(transaction) {
|
|
@@ -220,7 +225,7 @@ function nonNullFetchApi(input, init) {
|
|
|
220
225
|
function fetchApi(input, init) {
|
|
221
226
|
return __awaiter(this, void 0, void 0, function* () {
|
|
222
227
|
let headers = init === null || init === void 0 ? void 0 : init.headers;
|
|
223
|
-
if ((init === null || init === void 0 ? void 0 : init.method) && init.method !== "GET"
|
|
228
|
+
if ((init === null || init === void 0 ? void 0 : init.method) && init.method !== "GET") {
|
|
224
229
|
headers = Object.assign({ "Content-Type": "application/json;charset=UTF-8",
|
|
225
230
|
// CSRF custom header necessary for POST requests
|
|
226
231
|
"X-Client-Name": "XMLHttpRequest" }, init === null || init === void 0 ? void 0 : init.headers);
|
package/lib/api/Api.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Api.js","sourceRoot":"","sources":["../../src/api/Api.ts"],"names":[],"mappings":";;;;;;;;;;;AAAA,sCAA4C;AAE5C,+
|
|
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
|
@@ -39,6 +39,12 @@ export default class Client {
|
|
|
39
39
|
* @returns A promise returning true if the login was successful, false otherwise
|
|
40
40
|
*/
|
|
41
41
|
login(login: string, password: string): Promise<boolean>;
|
|
42
|
+
/**
|
|
43
|
+
* Logs out the current user. Will invalidate any authentication cookie active.
|
|
44
|
+
*
|
|
45
|
+
* @returns A promise which will resolve when the user is properly logged out
|
|
46
|
+
*/
|
|
47
|
+
logout(): Promise<void>;
|
|
42
48
|
/**
|
|
43
49
|
* Get the user associated to this client
|
|
44
50
|
*
|
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,0BAA0B,CAAC;AAClD,OAAY,EAAE,SAAS,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AAC/D,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAE9E;;;;GAIG;AACH,MAAM,CAAC,OAAO,OAAO,MAAM;IACzB,OAAO,CAAC,GAAG,CAAM;IAEjB;;;;;;OAMG;gBACS,MAAM,EAAE,MAAM;IAI1B,IAAI,MAAM,WAET;IAED;;;;;;OAMG;IACG,OAAO,CACX,KAAK,EAAE,MAAM,EACb,MAAM,GAAE,SAAc,EACtB,QAAQ,CAAC,EAAE,aAAa,GACvB,OAAO,CAAC,SAAS,CAAC;IAQrB;;;;OAIG;IACG,MAAM;IAKZ;;;;;;OAMG;IACG,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM;IAI3C;;;;OAIG;IACG,WAAW,IAAI,OAAO,CAAC,WAAW,CAAC;IAIzC;;;OAGG;IACG,kBAAkB,CACtB,WAAW,EAAE,WAAW,GACvB,OAAO,CAAC,iBAAiB,CAAC;IAI7B;;;;OAIG;IACG,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM;CAG/C"}
|
|
1
|
+
{"version":3,"file":"Client.d.ts","sourceRoot":"","sources":["../../src/api/Client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AAClD,OAAY,EAAE,SAAS,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AAC/D,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAE9E;;;;GAIG;AACH,MAAM,CAAC,OAAO,OAAO,MAAM;IACzB,OAAO,CAAC,GAAG,CAAM;IAEjB;;;;;;OAMG;gBACS,MAAM,EAAE,MAAM;IAI1B,IAAI,MAAM,WAET;IAED;;;;;;OAMG;IACG,OAAO,CACX,KAAK,EAAE,MAAM,EACb,MAAM,GAAE,SAAc,EACtB,QAAQ,CAAC,EAAE,aAAa,GACvB,OAAO,CAAC,SAAS,CAAC;IAQrB;;;;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;;;OAGG;IACG,kBAAkB,CACtB,WAAW,EAAE,WAAW,GACvB,OAAO,CAAC,iBAAiB,CAAC;IAI7B;;;;OAIG;IACG,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM;CAG/C"}
|
package/lib/api/Client.js
CHANGED
|
@@ -73,6 +73,16 @@ class Client {
|
|
|
73
73
|
return yield this.api.login(login, password);
|
|
74
74
|
});
|
|
75
75
|
}
|
|
76
|
+
/**
|
|
77
|
+
* Logs out the current user. Will invalidate any authentication cookie active.
|
|
78
|
+
*
|
|
79
|
+
* @returns A promise which will resolve when the user is properly logged out
|
|
80
|
+
*/
|
|
81
|
+
logout() {
|
|
82
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
83
|
+
return yield this.api.logout();
|
|
84
|
+
});
|
|
85
|
+
}
|
|
76
86
|
/**
|
|
77
87
|
* Get the user associated to this client
|
|
78
88
|
*
|
package/lib/api/Client.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Client.js","sourceRoot":"","sources":["../../src/api/Client.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,qDAAkD;AAClD,gDAA+D;AAC/D,+CAA8E;AAE9E;;;;GAIG;AACH,MAAqB,MAAM;IAGzB;;;;;;OAMG;IACH,YAAY,MAAc;QACxB,IAAI,CAAC,GAAG,GAAG,IAAI,aAAG,CAAC,MAAM,CAAC,CAAC;IAC7B,CAAC;IAED,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC;IACzB,CAAC;IAED;;;;;;OAMG;IACG,OAAO,CACX,KAAa,EACb,SAAoB,EAAE,EACtB,QAAwB;;YAExB,MAAM,WAAW,GAAG,IAAI,yBAAW,EAAE,CAAC;YACtC,MAAM,gBAAgB,GAAG,WAAW,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;YACzD,WAAW,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;YAClC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC,CAAC;YAC1D,OAAO,MAAM,CAAC,YAAY,CAAC,gBAAgB,CAAC,GAAG,EAAE,CAAC,CAAC;QACrD,CAAC;KAAA;IAED;;;;OAIG;IACG,MAAM;;YACV,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC;YACvC,OAAO,IAAI,eAAM,CAAC,MAAM,CAAC,CAAC;QAC5B,CAAC;KAAA;IAED;;;;;;OAMG;IACG,KAAK,CAAC,KAAa,EAAE,QAAgB;;YACzC,OAAO,MAAM,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;QAC/C,CAAC;KAAA;IAED;;;;OAIG;IACG,WAAW;;YACf,OAAO,MAAM,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC;QACtC,CAAC;KAAA;IAED;;;OAGG;IACG,kBAAkB,CACtB,WAAwB;;YAExB,OAAO,MAAM,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QACzC,CAAC;KAAA;IAED;;;;OAIG;IACG,SAAS,CAAC,GAAW,EAAE,SAAiB;;YAC5C,OAAO,MAAM,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;QAC/C,CAAC;KAAA;CACF;
|
|
1
|
+
{"version":3,"file":"Client.js","sourceRoot":"","sources":["../../src/api/Client.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,qDAAkD;AAClD,gDAA+D;AAC/D,+CAA8E;AAE9E;;;;GAIG;AACH,MAAqB,MAAM;IAGzB;;;;;;OAMG;IACH,YAAY,MAAc;QACxB,IAAI,CAAC,GAAG,GAAG,IAAI,aAAG,CAAC,MAAM,CAAC,CAAC;IAC7B,CAAC;IAED,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC;IACzB,CAAC;IAED;;;;;;OAMG;IACG,OAAO,CACX,KAAa,EACb,SAAoB,EAAE,EACtB,QAAwB;;YAExB,MAAM,WAAW,GAAG,IAAI,yBAAW,EAAE,CAAC;YACtC,MAAM,gBAAgB,GAAG,WAAW,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;YACzD,WAAW,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;YAClC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC,CAAC;YAC1D,OAAO,MAAM,CAAC,YAAY,CAAC,gBAAgB,CAAC,GAAG,EAAE,CAAC,CAAC;QACrD,CAAC;KAAA;IAED;;;;OAIG;IACG,MAAM;;YACV,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC;YACvC,OAAO,IAAI,eAAM,CAAC,MAAM,CAAC,CAAC;QAC5B,CAAC;KAAA;IAED;;;;;;OAMG;IACG,KAAK,CAAC,KAAa,EAAE,QAAgB;;YACzC,OAAO,MAAM,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;QAC/C,CAAC;KAAA;IAED;;;;OAIG;IACG,MAAM;;YACV,OAAO,MAAM,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC;QACjC,CAAC;KAAA;IAED;;;;OAIG;IACG,WAAW;;YACf,OAAO,MAAM,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC;QACtC,CAAC;KAAA;IAED;;;OAGG;IACG,kBAAkB,CACtB,WAAwB;;YAExB,OAAO,MAAM,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QACzC,CAAC;KAAA;IAED;;;;OAIG;IACG,SAAS,CAAC,GAAW,EAAE,SAAiB;;YAC5C,OAAO,MAAM,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;QAC/C,CAAC;KAAA;CACF;AA9FD,yBA8FC"}
|
package/lib/api/Transaction.d.ts
CHANGED
|
@@ -1,18 +1,18 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { RQLParams, ResultSet } from "./Api";
|
|
2
2
|
export type BinariesParam = Record<string, Blob>;
|
|
3
3
|
export declare class Transaction {
|
|
4
4
|
private _queries;
|
|
5
5
|
private _binaries;
|
|
6
|
-
push(query: string, params:
|
|
6
|
+
push(query: string, params: RQLParams): TransactionQuery;
|
|
7
7
|
setBinaries(binaries?: BinariesParam): void;
|
|
8
8
|
get binaries(): BinariesParam;
|
|
9
9
|
get queries(): ReadonlyArray<TransactionQuery>;
|
|
10
10
|
}
|
|
11
11
|
export declare class TransactionQuery {
|
|
12
12
|
readonly query: string;
|
|
13
|
-
readonly params:
|
|
13
|
+
readonly params: RQLParams;
|
|
14
14
|
readonly index: number;
|
|
15
|
-
constructor(query: string, params:
|
|
15
|
+
constructor(query: string, params: RQLParams, index: number);
|
|
16
16
|
ref(): TransactionQueryRef;
|
|
17
17
|
}
|
|
18
18
|
export declare class TransactionResult {
|
|
@@ -37,6 +37,10 @@ export interface TransactionQueryScalarRef {
|
|
|
37
37
|
readonly queryIndex: number;
|
|
38
38
|
readonly row: number;
|
|
39
39
|
readonly column: number;
|
|
40
|
+
readonly type: "query_reference";
|
|
41
|
+
}
|
|
42
|
+
export interface TransactionQueryBinaryRef {
|
|
43
|
+
readonly ref: string;
|
|
44
|
+
readonly type: "binary_reference";
|
|
40
45
|
}
|
|
41
|
-
export declare function isTransactionQueryScalarRef(value: RQLParamValue | TransactionQueryScalarRef): value is TransactionQueryScalarRef;
|
|
42
46
|
//# sourceMappingURL=Transaction.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Transaction.d.ts","sourceRoot":"","sources":["../../src/api/Transaction.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,
|
|
1
|
+
{"version":3,"file":"Transaction.d.ts","sourceRoot":"","sources":["../../src/api/Transaction.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAE7C,MAAM,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;AAEjD,qBAAa,WAAW;IACtB,OAAO,CAAC,QAAQ,CAA+B;IAC/C,OAAO,CAAC,SAAS,CAAqB;IAEtC,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,GAAG,gBAAgB;IAUxD,WAAW,CAAC,QAAQ,CAAC,EAAE,aAAa;IAIpC,IAAI,QAAQ,IAAI,aAAa,CAE5B;IAED,IAAI,OAAO,IAAI,aAAa,CAAC,gBAAgB,CAAC,CAE7C;CACF;AAED,qBAAa,gBAAgB;aAET,KAAK,EAAE,MAAM;aACb,MAAM,EAAE,SAAS;aACjB,KAAK,EAAE,MAAM;gBAFb,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,SAAS,EACjB,KAAK,EAAE,MAAM;IAG/B,GAAG,IAAI,mBAAmB;CAG3B;AAED,qBAAa,iBAAiB;IAChB,OAAO,CAAC,UAAU;gBAAV,UAAU,EAAE,aAAa,CAAC,SAAS,CAAC;IAExD,YAAY,CAAC,GAAG,EAAE,mBAAmB;IAIrC,UAAU,CAAC,GAAG,EAAE,sBAAsB;IAItC,aAAa,CAAC,GAAG,EAAE,yBAAyB;CAG7C;AAED,qBAAa,mBAAmB;aACF,UAAU,EAAE,MAAM;gBAAlB,UAAU,EAAE,MAAM;IAE9C,GAAG,CAAC,CAAC,EAAE,MAAM,GAAG,sBAAsB;CAGvC;AAED,qBAAa,sBAAsB;aAEf,UAAU,EAAE,MAAM;aAClB,GAAG,EAAE,MAAM;gBADX,UAAU,EAAE,MAAM,EAClB,GAAG,EAAE,MAAM;IAG7B,MAAM,CAAC,CAAC,EAAE,MAAM,GAAG,yBAAyB;CAQ7C;AAED,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,IAAI,EAAE,iBAAiB,CAAC;CAClC;AAED,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,IAAI,EAAE,kBAAkB,CAAC;CACnC"}
|
package/lib/api/Transaction.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.TransactionQueryRowRef = exports.TransactionQueryRef = exports.TransactionResult = exports.TransactionQuery = exports.Transaction = void 0;
|
|
4
4
|
class Transaction {
|
|
5
5
|
constructor() {
|
|
6
6
|
this._queries = [];
|
|
@@ -63,14 +63,13 @@ class TransactionQueryRowRef {
|
|
|
63
63
|
this.row = row;
|
|
64
64
|
}
|
|
65
65
|
column(c) {
|
|
66
|
-
return {
|
|
66
|
+
return {
|
|
67
|
+
type: "query_reference",
|
|
68
|
+
queryIndex: this.queryIndex,
|
|
69
|
+
row: this.row,
|
|
70
|
+
column: c,
|
|
71
|
+
};
|
|
67
72
|
}
|
|
68
73
|
}
|
|
69
74
|
exports.TransactionQueryRowRef = TransactionQueryRowRef;
|
|
70
|
-
function isTransactionQueryScalarRef(value) {
|
|
71
|
-
return (typeof value === "object" &&
|
|
72
|
-
value !== null &&
|
|
73
|
-
["queryIndex", "row", "column"].every((key) => Object.keys(value).includes(key)));
|
|
74
|
-
}
|
|
75
|
-
exports.isTransactionQueryScalarRef = isTransactionQueryScalarRef;
|
|
76
75
|
//# sourceMappingURL=Transaction.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Transaction.js","sourceRoot":"","sources":["../../src/api/Transaction.ts"],"names":[],"mappings":";;;AAIA,MAAa,WAAW;IAAxB;QACU,aAAQ,GAA4B,EAAE,CAAC;QACvC,cAAS,GAAkB,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"Transaction.js","sourceRoot":"","sources":["../../src/api/Transaction.ts"],"names":[],"mappings":";;;AAIA,MAAa,WAAW;IAAxB;QACU,aAAQ,GAA4B,EAAE,CAAC;QACvC,cAAS,GAAkB,EAAE,CAAC;IAuBxC,CAAC;IArBC,IAAI,CAAC,KAAa,EAAE,MAAiB;QACnC,MAAM,YAAY,GAAG,IAAI,gBAAgB,CACvC,KAAK,EACL,MAAM,EACN,IAAI,CAAC,QAAQ,CAAC,MAAM,CACrB,CAAC;QACF,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QACjC,OAAO,YAAY,CAAC;IACtB,CAAC;IAED,WAAW,CAAC,QAAwB;QAClC,IAAI,CAAC,SAAS,GAAG,QAAQ,aAAR,QAAQ,cAAR,QAAQ,GAAI,EAAE,CAAC;IAClC,CAAC;IAED,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;IAED,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;CACF;AAzBD,kCAyBC;AAED,MAAa,gBAAgB;IAC3B,YACkB,KAAa,EACb,MAAiB,EACjB,KAAa;QAFb,UAAK,GAAL,KAAK,CAAQ;QACb,WAAM,GAAN,MAAM,CAAW;QACjB,UAAK,GAAL,KAAK,CAAQ;IAC5B,CAAC;IAEJ,GAAG;QACD,OAAO,IAAI,mBAAmB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC7C,CAAC;CACF;AAVD,4CAUC;AAED,MAAa,iBAAiB;IAC5B,YAAoB,UAAoC;QAApC,eAAU,GAAV,UAAU,CAA0B;IAAG,CAAC;IAE5D,YAAY,CAAC,GAAwB;QACnC,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IACzC,CAAC;IAED,UAAU,CAAC,GAA2B;QACpC,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAClD,CAAC;IAED,aAAa,CAAC,GAA8B;QAC1C,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAC9D,CAAC;CACF;AAdD,8CAcC;AAED,MAAa,mBAAmB;IAC9B,YAA4B,UAAkB;QAAlB,eAAU,GAAV,UAAU,CAAQ;IAAG,CAAC;IAElD,GAAG,CAAC,CAAS;QACX,OAAO,IAAI,sBAAsB,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;IACxD,CAAC;CACF;AAND,kDAMC;AAED,MAAa,sBAAsB;IACjC,YACkB,UAAkB,EAClB,GAAW;QADX,eAAU,GAAV,UAAU,CAAQ;QAClB,QAAG,GAAH,GAAG,CAAQ;IAC1B,CAAC;IAEJ,MAAM,CAAC,CAAS;QACd,OAAO;YACL,IAAI,EAAE,iBAAiB;YACvB,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,GAAG,EAAE,IAAI,CAAC,GAAG;YACb,MAAM,EAAE,CAAC;SACV,CAAC;IACJ,CAAC;CACF;AAdD,wDAcC"}
|
package/package.json
CHANGED
package/src/api/Api.ts
CHANGED
|
@@ -3,7 +3,8 @@ import { RawSchema } from "../schema/raw/Schema";
|
|
|
3
3
|
import {
|
|
4
4
|
TransactionResult,
|
|
5
5
|
Transaction,
|
|
6
|
-
|
|
6
|
+
TransactionQueryScalarRef,
|
|
7
|
+
TransactionQueryBinaryRef,
|
|
7
8
|
} from "./Transaction";
|
|
8
9
|
|
|
9
10
|
/**
|
|
@@ -19,9 +20,10 @@ export type RQLParamValue = string | number | boolean | null;
|
|
|
19
20
|
*
|
|
20
21
|
* @category Api
|
|
21
22
|
*/
|
|
22
|
-
export
|
|
23
|
-
|
|
24
|
-
|
|
23
|
+
export type RQLParams = Record<
|
|
24
|
+
string,
|
|
25
|
+
RQLParamValue | TransactionQueryScalarRef | TransactionQueryBinaryRef
|
|
26
|
+
>;
|
|
25
27
|
|
|
26
28
|
/**
|
|
27
29
|
* Type representing a row returned in a result set.
|
|
@@ -82,6 +84,7 @@ export default class Api {
|
|
|
82
84
|
private _rqlApiUrl: string;
|
|
83
85
|
private _schemaApiUrl: string;
|
|
84
86
|
private _loginApiUrl: string;
|
|
87
|
+
private _logoutApiUrl: string;
|
|
85
88
|
private _currentUserApiUrl: string;
|
|
86
89
|
private _binaryApiUrl: string;
|
|
87
90
|
|
|
@@ -100,6 +103,7 @@ export default class Api {
|
|
|
100
103
|
this._rqlApiUrl = this.getApiRoute("rql");
|
|
101
104
|
this._schemaApiUrl = this.getApiRoute("schema");
|
|
102
105
|
this._loginApiUrl = this.getApiRoute("login");
|
|
106
|
+
this._logoutApiUrl = this.getApiRoute("logout");
|
|
103
107
|
this._currentUserApiUrl = this.getApiRoute("current-user");
|
|
104
108
|
this._binaryApiUrl = this.getApiRoute("binary");
|
|
105
109
|
}
|
|
@@ -147,6 +151,18 @@ export default class Api {
|
|
|
147
151
|
}
|
|
148
152
|
}
|
|
149
153
|
|
|
154
|
+
/**
|
|
155
|
+
* Logs out the current user. Will invalidate any authentication cookie active.
|
|
156
|
+
*
|
|
157
|
+
* @returns A promise which will resolve when the user is properly logged out
|
|
158
|
+
*/
|
|
159
|
+
async logout(): Promise<void> {
|
|
160
|
+
await fetchApi<null>(this._logoutApiUrl, {
|
|
161
|
+
method: "POST",
|
|
162
|
+
credentials: "include",
|
|
163
|
+
});
|
|
164
|
+
}
|
|
165
|
+
|
|
150
166
|
/**
|
|
151
167
|
* Get the current user associated to this client
|
|
152
168
|
*
|
|
@@ -190,18 +206,7 @@ export default class Api {
|
|
|
190
206
|
private getTransactionParams(transaction: Transaction) {
|
|
191
207
|
return transaction.queries.map((transactionQuery) => ({
|
|
192
208
|
query: transactionQuery.query,
|
|
193
|
-
params:
|
|
194
|
-
Object.entries(transactionQuery.params).map(([key, value]) => [
|
|
195
|
-
key,
|
|
196
|
-
isTransactionQueryScalarRef(value)
|
|
197
|
-
? {
|
|
198
|
-
queryIndex: value.queryIndex,
|
|
199
|
-
row: value.row,
|
|
200
|
-
column: value.column,
|
|
201
|
-
}
|
|
202
|
-
: value,
|
|
203
|
-
])
|
|
204
|
-
),
|
|
209
|
+
params: transactionQuery.params,
|
|
205
210
|
}));
|
|
206
211
|
}
|
|
207
212
|
|
|
@@ -293,7 +298,7 @@ async function fetchApi<R = unknown>(
|
|
|
293
298
|
init?: RequestInit
|
|
294
299
|
): Promise<R | null> {
|
|
295
300
|
let headers = init?.headers;
|
|
296
|
-
if (init?.method && init.method !== "GET"
|
|
301
|
+
if (init?.method && init.method !== "GET") {
|
|
297
302
|
headers = {
|
|
298
303
|
"Content-Type": "application/json;charset=UTF-8",
|
|
299
304
|
// CSRF custom header necessary for POST requests
|
package/src/api/Client.ts
CHANGED
|
@@ -65,6 +65,15 @@ export default class Client {
|
|
|
65
65
|
return await this.api.login(login, password);
|
|
66
66
|
}
|
|
67
67
|
|
|
68
|
+
/**
|
|
69
|
+
* Logs out the current user. Will invalidate any authentication cookie active.
|
|
70
|
+
*
|
|
71
|
+
* @returns A promise which will resolve when the user is properly logged out
|
|
72
|
+
*/
|
|
73
|
+
async logout() {
|
|
74
|
+
return await this.api.logout();
|
|
75
|
+
}
|
|
76
|
+
|
|
68
77
|
/**
|
|
69
78
|
* Get the user associated to this client
|
|
70
79
|
*
|
package/src/api/Transaction.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { RQLParams, ResultSet } from "./Api";
|
|
2
2
|
|
|
3
3
|
export type BinariesParam = Record<string, Blob>;
|
|
4
4
|
|
|
@@ -6,10 +6,7 @@ export class Transaction {
|
|
|
6
6
|
private _queries: Array<TransactionQuery> = [];
|
|
7
7
|
private _binaries: BinariesParam = {};
|
|
8
8
|
|
|
9
|
-
push(
|
|
10
|
-
query: string,
|
|
11
|
-
params: Record<string, RQLParamValue | TransactionQueryScalarRef>
|
|
12
|
-
): TransactionQuery {
|
|
9
|
+
push(query: string, params: RQLParams): TransactionQuery {
|
|
13
10
|
const stackedQuery = new TransactionQuery(
|
|
14
11
|
query,
|
|
15
12
|
params,
|
|
@@ -35,10 +32,7 @@ export class Transaction {
|
|
|
35
32
|
export class TransactionQuery {
|
|
36
33
|
constructor(
|
|
37
34
|
public readonly query: string,
|
|
38
|
-
public readonly params:
|
|
39
|
-
string,
|
|
40
|
-
RQLParamValue | TransactionQueryScalarRef
|
|
41
|
-
>,
|
|
35
|
+
public readonly params: RQLParams,
|
|
42
36
|
public readonly index: number
|
|
43
37
|
) {}
|
|
44
38
|
|
|
@@ -78,7 +72,12 @@ export class TransactionQueryRowRef {
|
|
|
78
72
|
) {}
|
|
79
73
|
|
|
80
74
|
column(c: number): TransactionQueryScalarRef {
|
|
81
|
-
return {
|
|
75
|
+
return {
|
|
76
|
+
type: "query_reference",
|
|
77
|
+
queryIndex: this.queryIndex,
|
|
78
|
+
row: this.row,
|
|
79
|
+
column: c,
|
|
80
|
+
};
|
|
82
81
|
}
|
|
83
82
|
}
|
|
84
83
|
|
|
@@ -86,16 +85,10 @@ export interface TransactionQueryScalarRef {
|
|
|
86
85
|
readonly queryIndex: number;
|
|
87
86
|
readonly row: number;
|
|
88
87
|
readonly column: number;
|
|
88
|
+
readonly type: "query_reference";
|
|
89
89
|
}
|
|
90
90
|
|
|
91
|
-
export
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
return (
|
|
95
|
-
typeof value === "object" &&
|
|
96
|
-
value !== null &&
|
|
97
|
-
["queryIndex", "row", "column"].every((key) =>
|
|
98
|
-
Object.keys(value).includes(key)
|
|
99
|
-
)
|
|
100
|
-
);
|
|
91
|
+
export interface TransactionQueryBinaryRef {
|
|
92
|
+
readonly ref: string;
|
|
93
|
+
readonly type: "binary_reference";
|
|
101
94
|
}
|