@magda/typescript-common 2.0.0-alpha.1 → 2.0.0-alpha.4
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/BaseApiClient.d.ts +41 -0
- package/dist/BaseApiClient.js +63 -0
- package/dist/BaseApiClient.js.map +1 -0
- package/dist/IndexerApiClient.d.ts +16 -0
- package/dist/IndexerApiClient.js +39 -0
- package/dist/IndexerApiClient.js.map +1 -0
- package/dist/JsonTransformer.js +1 -2
- package/dist/JsonTransformer.js.map +1 -1
- package/dist/SQLUtils.d.ts +2 -2
- package/dist/SQLUtils.js.map +1 -1
- package/dist/Try.d.ts +17 -0
- package/dist/Try.js +68 -0
- package/dist/Try.js.map +1 -0
- package/dist/authorization-api/ApiClient.d.ts +10 -13
- package/dist/authorization-api/ApiClient.js +118 -32
- package/dist/authorization-api/ApiClient.js.map +1 -1
- package/dist/authorization-api/authMiddleware.d.ts +0 -1
- package/dist/authorization-api/authMiddleware.js +37 -15
- package/dist/authorization-api/authMiddleware.js.map +1 -1
- package/dist/authorization-api/constants.d.ts +1 -0
- package/dist/authorization-api/constants.js +2 -1
- package/dist/authorization-api/constants.js.map +1 -1
- package/dist/authorization-api/model.d.ts +60 -22
- package/dist/createNoCacheFetchOptions.d.ts +15 -0
- package/dist/createNoCacheFetchOptions.js +20 -0
- package/dist/createNoCacheFetchOptions.js.map +1 -0
- package/dist/fetchRequest.d.ts +11 -0
- package/dist/fetchRequest.js +62 -0
- package/dist/fetchRequest.js.map +1 -0
- package/dist/generated/registry/api.d.ts +1 -5
- package/dist/generated/registry/api.js.map +1 -1
- package/dist/getAbsoluteUrl.d.ts +7 -7
- package/dist/getAbsoluteUrl.js +22 -19
- package/dist/getAbsoluteUrl.js.map +1 -1
- package/dist/getRequest.d.ts +1 -0
- package/dist/getRequest.js +28 -0
- package/dist/getRequest.js.map +1 -0
- package/dist/getRequestNoCache.d.ts +1 -0
- package/dist/getRequestNoCache.js +23 -0
- package/dist/getRequestNoCache.js.map +1 -0
- package/dist/registry/AuthorizedRegistryClient.d.ts +7 -11
- package/dist/registry/AuthorizedRegistryClient.js +56 -21
- package/dist/registry/AuthorizedRegistryClient.js.map +1 -1
- package/dist/registry/RegistryClient.d.ts +4 -7
- package/dist/registry/RegistryClient.js +21 -16
- package/dist/registry/RegistryClient.js.map +1 -1
- package/dist/registry/model.d.ts +5 -0
- package/dist/registry/model.js +3 -0
- package/dist/registry/model.js.map +1 -0
- package/dist/test/arbitraries.js +2 -4
- package/dist/test/arbitraries.js.map +1 -1
- package/dist/test/buildApiClient.spec.js +34 -55
- package/dist/test/buildApiClient.spec.js.map +1 -1
- package/dist/test/db/getTestDBConfig.js +1 -1
- package/dist/test/db/getTestDBConfig.js.map +1 -1
- package/dist/test/mockAuthApiHost.js +2 -26
- package/dist/test/mockAuthApiHost.js.map +1 -1
- package/dist/test/mockAuthorization.js +2 -2
- package/dist/test/mockAuthorization.js.map +1 -1
- package/dist/test/registry/buildAuthorizedClient.spec.js +9 -7
- package/dist/test/registry/buildAuthorizedClient.spec.js.map +1 -1
- package/package.json +7 -10
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import urijs from "urijs";
|
|
2
|
+
interface ApiClientBaseConfig {
|
|
3
|
+
baseApiUrl?: string;
|
|
4
|
+
}
|
|
5
|
+
interface JWTBasedConfigOptions extends ApiClientBaseConfig {
|
|
6
|
+
jwtSecret?: string;
|
|
7
|
+
userId?: string;
|
|
8
|
+
}
|
|
9
|
+
interface ApiKeyBasedConfigOptions extends ApiClientBaseConfig {
|
|
10
|
+
apiKeyId?: string;
|
|
11
|
+
apiKey?: string;
|
|
12
|
+
}
|
|
13
|
+
export declare type BaseApiClientConfig = JWTBasedConfigOptions & ApiKeyBasedConfigOptions;
|
|
14
|
+
export default abstract class BaseApiClient {
|
|
15
|
+
readonly authMode: "jwtToken" | "apiKey" | "noAuth";
|
|
16
|
+
protected baseApiUrl: string;
|
|
17
|
+
private readonly baseApiUri;
|
|
18
|
+
protected jwtSecret: string;
|
|
19
|
+
readonly apiKeyId: string;
|
|
20
|
+
protected apiKey: string;
|
|
21
|
+
readonly userId: string;
|
|
22
|
+
constructor(options: BaseApiClientConfig);
|
|
23
|
+
protected getBaseApiUri(): urijs;
|
|
24
|
+
protected setHeader(headers: HeadersInit | undefined | null, headerName: string, headerValue: string): HeadersInit;
|
|
25
|
+
protected addAuthHeader(config?: RequestInit): {
|
|
26
|
+
body?: BodyInit;
|
|
27
|
+
cache?: RequestCache;
|
|
28
|
+
credentials?: RequestCredentials;
|
|
29
|
+
headers?: HeadersInit;
|
|
30
|
+
integrity?: string;
|
|
31
|
+
keepalive?: boolean;
|
|
32
|
+
method?: string;
|
|
33
|
+
mode?: RequestMode;
|
|
34
|
+
redirect?: RequestRedirect;
|
|
35
|
+
referrer?: string;
|
|
36
|
+
referrerPolicy?: ReferrerPolicy;
|
|
37
|
+
signal?: AbortSignal;
|
|
38
|
+
window?: any;
|
|
39
|
+
};
|
|
40
|
+
}
|
|
41
|
+
export {};
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
const urijs_1 = __importDefault(require("urijs"));
|
|
7
|
+
const buildJwt_1 = __importDefault(require("./session/buildJwt"));
|
|
8
|
+
class BaseApiClient {
|
|
9
|
+
constructor(options) {
|
|
10
|
+
this.baseApiUrl = options.baseApiUrl
|
|
11
|
+
? options.baseApiUrl
|
|
12
|
+
: "http://localhost:6103/v0";
|
|
13
|
+
if (!this.baseApiUrl) {
|
|
14
|
+
throw new Error("IndexerApiClient: baseApiUrl cannot be empty!");
|
|
15
|
+
}
|
|
16
|
+
this.baseApiUri = urijs_1.default(this.baseApiUrl);
|
|
17
|
+
this.apiKey = options.apiKey;
|
|
18
|
+
this.apiKeyId = options.apiKeyId;
|
|
19
|
+
this.jwtSecret = options.jwtSecret;
|
|
20
|
+
this.userId = options.userId;
|
|
21
|
+
if (this.apiKey && this.apiKeyId) {
|
|
22
|
+
this.authMode = "apiKey";
|
|
23
|
+
}
|
|
24
|
+
else if (this.jwtSecret && this.userId) {
|
|
25
|
+
this.authMode = "jwtToken";
|
|
26
|
+
}
|
|
27
|
+
else {
|
|
28
|
+
this.authMode = "noAuth";
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
getBaseApiUri() {
|
|
32
|
+
return this.baseApiUri.clone();
|
|
33
|
+
}
|
|
34
|
+
setHeader(headers, headerName, headerValue) {
|
|
35
|
+
if (!headers) {
|
|
36
|
+
headers = {};
|
|
37
|
+
}
|
|
38
|
+
if (headers instanceof Headers) {
|
|
39
|
+
headers.set(headerName, headerValue);
|
|
40
|
+
return headers;
|
|
41
|
+
}
|
|
42
|
+
else {
|
|
43
|
+
headers[headerName] = headerValue;
|
|
44
|
+
return headers;
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
addAuthHeader(config) {
|
|
48
|
+
config = config ? config : {};
|
|
49
|
+
switch (this.authMode) {
|
|
50
|
+
case "apiKey":
|
|
51
|
+
let headers = config.headers;
|
|
52
|
+
headers = this.setHeader(headers, "X-Magda-API-Key-Id", this.apiKeyId);
|
|
53
|
+
headers = this.setHeader(headers, "X-Magda-API-Key", this.apiKey);
|
|
54
|
+
return Object.assign(Object.assign({}, config), { headers });
|
|
55
|
+
case "jwtToken":
|
|
56
|
+
return Object.assign(Object.assign({}, config), { headers: this.setHeader(config.headers, "X-Magda-Session", buildJwt_1.default(this.jwtSecret, this.userId)) });
|
|
57
|
+
case "noAuth":
|
|
58
|
+
return Object.assign({}, config);
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
exports.default = BaseApiClient;
|
|
63
|
+
//# sourceMappingURL=BaseApiClient.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BaseApiClient.js","sourceRoot":"","sources":["../src/BaseApiClient.ts"],"names":[],"mappings":";;;;;AAAA,kDAA0B;AAC1B,kEAA0C;AAmB1C,MAA8B,aAAa;IAUvC,YAAY,OAA4B;QACpC,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU;YAChC,CAAC,CAAC,OAAO,CAAC,UAAU;YACpB,CAAC,CAAC,0BAA0B,CAAC;QACjC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE;YAClB,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC;SACpE;QACD,IAAI,CAAC,UAAU,GAAG,eAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAEzC,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;QAC7B,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;QACjC,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;QACnC,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;QAE7B,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,QAAQ,EAAE;YAC9B,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;SAC5B;aAAM,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,MAAM,EAAE;YACtC,IAAI,CAAC,QAAQ,GAAG,UAAU,CAAC;SAC9B;aAAM;YACH,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;SAC5B;IACL,CAAC;IAES,aAAa;QACnB,OAAO,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;IACnC,CAAC;IAES,SAAS,CACf,OAAuC,EACvC,UAAkB,EAClB,WAAmB;QAEnB,IAAI,CAAC,OAAO,EAAE;YACV,OAAO,GAAG,EAAE,CAAC;SAChB;QACD,IAAI,OAAO,YAAY,OAAO,EAAE;YAC5B,OAAO,CAAC,GAAG,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;YACrC,OAAO,OAAO,CAAC;SAClB;aAAM;YACF,OAAe,CAAC,UAAU,CAAC,GAAG,WAAW,CAAC;YAC3C,OAAO,OAAO,CAAC;SAClB;IACL,CAAC;IAES,aAAa,CAAC,MAAoB;QACxC,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;QAC9B,QAAQ,IAAI,CAAC,QAAQ,EAAE;YACnB,KAAK,QAAQ;gBACT,IAAI,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;gBAC7B,OAAO,GAAG,IAAI,CAAC,SAAS,CACpB,OAAO,EACP,oBAAoB,EACpB,IAAI,CAAC,QAAQ,CAChB,CAAC;gBACF,OAAO,GAAG,IAAI,CAAC,SAAS,CACpB,OAAO,EACP,iBAAiB,EACjB,IAAI,CAAC,MAAM,CACd,CAAC;gBACF,uCACO,MAAM,KACT,OAAO,IACT;YACN,KAAK,UAAU;gBACX,uCACO,MAAM,KACT,OAAO,EAAE,IAAI,CAAC,SAAS,CACnB,MAAM,CAAC,OAAO,EACd,iBAAiB,EACjB,kBAAQ,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,CACxC,IACH;YACN,KAAK,QAAQ;gBACT,yBAAY,MAAM,EAAG;SAC5B;IACL,CAAC;CACJ;AAtFD,gCAsFC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import BaseApiClient, { BaseApiClientConfig } from "./BaseApiClient";
|
|
2
|
+
export interface IndexResult {
|
|
3
|
+
successes: number;
|
|
4
|
+
failures: number;
|
|
5
|
+
warns: number;
|
|
6
|
+
failureReasons: string[];
|
|
7
|
+
warnReasons: string[];
|
|
8
|
+
}
|
|
9
|
+
export interface DeleteResult {
|
|
10
|
+
deleted: boolean;
|
|
11
|
+
}
|
|
12
|
+
export default class IndexerApiClient extends BaseApiClient {
|
|
13
|
+
constructor(options: BaseApiClientConfig);
|
|
14
|
+
indexDataset(datasetId: string): Promise<IndexResult>;
|
|
15
|
+
deleteDataset(datasetId: string): Promise<DeleteResult>;
|
|
16
|
+
}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
12
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
13
|
+
};
|
|
14
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
+
const fetchRequest_1 = __importDefault(require("./fetchRequest"));
|
|
16
|
+
const BaseApiClient_1 = __importDefault(require("./BaseApiClient"));
|
|
17
|
+
class IndexerApiClient extends BaseApiClient_1.default {
|
|
18
|
+
constructor(options) {
|
|
19
|
+
super(options);
|
|
20
|
+
}
|
|
21
|
+
indexDataset(datasetId) {
|
|
22
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
23
|
+
return yield fetchRequest_1.default("put", this.getBaseApiUri()
|
|
24
|
+
.segmentCoded("dataset")
|
|
25
|
+
.segmentCoded(datasetId)
|
|
26
|
+
.toString(), undefined, undefined, false, this.addAuthHeader());
|
|
27
|
+
});
|
|
28
|
+
}
|
|
29
|
+
deleteDataset(datasetId) {
|
|
30
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
31
|
+
return yield fetchRequest_1.default("delete", this.getBaseApiUri()
|
|
32
|
+
.segmentCoded("dataset")
|
|
33
|
+
.segmentCoded(datasetId)
|
|
34
|
+
.toString(), undefined, undefined, false, this.addAuthHeader());
|
|
35
|
+
});
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
exports.default = IndexerApiClient;
|
|
39
|
+
//# sourceMappingURL=IndexerApiClient.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IndexerApiClient.js","sourceRoot":"","sources":["../src/IndexerApiClient.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,kEAA0C;AAC1C,oEAAqE;AAcrE,MAAqB,gBAAiB,SAAQ,uBAAa;IACvD,YAAY,OAA4B;QACpC,KAAK,CAAC,OAAO,CAAC,CAAC;IACnB,CAAC;IAEK,YAAY,CAAC,SAAiB;;YAChC,OAAO,MAAM,sBAAY,CACrB,KAAK,EACL,IAAI,CAAC,aAAa,EAAE;iBACf,YAAY,CAAC,SAAS,CAAC;iBACvB,YAAY,CAAC,SAAS,CAAC;iBACvB,QAAQ,EAAE,EACf,SAAS,EACT,SAAS,EACT,KAAK,EACL,IAAI,CAAC,aAAa,EAAE,CACvB,CAAC;QACN,CAAC;KAAA;IAEK,aAAa,CAAC,SAAiB;;YACjC,OAAO,MAAM,sBAAY,CACrB,QAAQ,EACR,IAAI,CAAC,aAAa,EAAE;iBACf,YAAY,CAAC,SAAS,CAAC;iBACvB,YAAY,CAAC,SAAS,CAAC;iBACvB,QAAQ,EAAE,EACf,SAAS,EACT,SAAS,EACT,KAAK,EACL,IAAI,CAAC,aAAa,EAAE,CACvB,CAAC;QACN,CAAC;KAAA;CACJ;AAhCD,mCAgCC"}
|
package/dist/JsonTransformer.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"JsonTransformer.js","sourceRoot":"","sources":["../src/JsonTransformer.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"JsonTransformer.js","sourceRoot":"","sources":["../src/JsonTransformer.ts"],"names":[],"mappings":"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"}
|
package/dist/SQLUtils.d.ts
CHANGED
|
@@ -43,10 +43,10 @@ export declare function getTableColumnName(columnName: String, tableRef?: String
|
|
|
43
43
|
* @param {{ [key: string]: Value }} data
|
|
44
44
|
* @return {*}
|
|
45
45
|
*/
|
|
46
|
-
export declare function createTableRecord(poolOrClient: pg.
|
|
46
|
+
export declare function createTableRecord(poolOrClient: pg.PoolClient | pg.Pool, table: string, data: {
|
|
47
47
|
[key: string]: RawValue;
|
|
48
48
|
}, allowFieldList?: string[], autoGenerateUuid?: boolean): Promise<any>;
|
|
49
|
-
export declare function updateTableRecord(poolOrClient: pg.
|
|
49
|
+
export declare function updateTableRecord(poolOrClient: pg.PoolClient | pg.Pool, table: string, id: string, data: {
|
|
50
50
|
[key: string]: Value;
|
|
51
51
|
}, allowFieldList?: string[]): Promise<any>;
|
|
52
52
|
export declare function deleteTableRecord(poolOrClient: pg.Client | pg.Pool, table: string, id: string): Promise<void>;
|
package/dist/SQLUtils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SQLUtils.js","sourceRoot":"","sources":["../src/SQLUtils.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,yDAA8D;AAE9D,qDAA6E;AAE7E,mCAA+C;AAC/C,gEAAwC;AAIxC;;;;;;;GAOG;AACH,SAAgB,mBAAmB,CAAC,KAAa;IAC7C,OAAO,GAAG,GAAG,KAAK,CAAC,OAAO,CAAC,eAAe,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,GAAG,GAAG,CAAC;AAC/E,CAAC;AAFD,kDAEC;AAED;;;;;;;;GAQG;AACH,SAAgB,gBAAgB,CAAC,EAAU;IACvC,MAAM,cAAc,GAAG,EAAE,CAAC,OAAO,CAAC,eAAe,EAAE,EAAE,CAAC,CAAC;IACvD,MAAM,KAAK,GAAG,cAAc,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACxC,MAAM,YAAY,GACd,KAAK,CAAC,MAAM,GAAG,CAAC;QACZ,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;QAC1D,CAAC,CAAC,mBAAmB,CAAC,cAAc,CAAC,CAAC;IAC9C,OAAO,oBAAS,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC;AAClD,CAAC;AARD,4CAQC;AAED;;;;;;;;GAQG;AACH,SAAgB,kBAAkB,CAC9B,UAAkB,EAClB,WAAmB,EAAE,EACrB,yBAAkC,KAAK;IAEvC,MAAM,EAAE,GAAG;QACP,QAAQ;QACR,sBAAsB,CAAC,CAAC,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,UAAU;KACjE;SACI,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC;SACtB,IAAI,CAAC,GAAG,CAAC,CAAC;IACf,OAAO,gBAAgB,CAAC,EAAE,CAAC,CAAC;AAChC,CAAC;AAZD,gDAYC;AAED;;;;;;;;;;GAUG;AACH,SAAsB,iBAAiB,CACnC,
|
|
1
|
+
{"version":3,"file":"SQLUtils.js","sourceRoot":"","sources":["../src/SQLUtils.ts"],"names":[],"mappings":"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"}
|
package/dist/Try.d.ts
ADDED
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
export declare abstract class TryResult<T = any> {
|
|
2
|
+
readonly value: T;
|
|
3
|
+
readonly error: Error;
|
|
4
|
+
abstract isSuccessful: boolean;
|
|
5
|
+
constructor(v?: T, e?: Error);
|
|
6
|
+
get(): T;
|
|
7
|
+
getOr(v: T): T;
|
|
8
|
+
}
|
|
9
|
+
export declare class Success<T = any> extends TryResult<T> {
|
|
10
|
+
readonly isSuccessful = true;
|
|
11
|
+
constructor(v: T);
|
|
12
|
+
}
|
|
13
|
+
export declare class Failure<T = any> extends TryResult<T> {
|
|
14
|
+
readonly isSuccessful = false;
|
|
15
|
+
constructor(e: Error);
|
|
16
|
+
}
|
|
17
|
+
export default function Try<T>(func: (() => T) | Promise<T> | (() => Promise<T>)): Promise<TryResult<T>>;
|
package/dist/Try.js
ADDED
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.Failure = exports.Success = exports.TryResult = void 0;
|
|
13
|
+
class TryResult {
|
|
14
|
+
constructor(v, e) {
|
|
15
|
+
this.value = v;
|
|
16
|
+
this.error = e;
|
|
17
|
+
}
|
|
18
|
+
get() {
|
|
19
|
+
if (this.isSuccessful) {
|
|
20
|
+
return this.value;
|
|
21
|
+
}
|
|
22
|
+
else {
|
|
23
|
+
throw new Error("Cannot retrieve value from a Failure");
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
getOr(v) {
|
|
27
|
+
if (this.isSuccessful) {
|
|
28
|
+
return this.value;
|
|
29
|
+
}
|
|
30
|
+
else {
|
|
31
|
+
return v;
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
exports.TryResult = TryResult;
|
|
36
|
+
class Success extends TryResult {
|
|
37
|
+
constructor(v) {
|
|
38
|
+
super(v);
|
|
39
|
+
this.isSuccessful = true;
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
exports.Success = Success;
|
|
43
|
+
class Failure extends TryResult {
|
|
44
|
+
constructor(e) {
|
|
45
|
+
super(undefined, e);
|
|
46
|
+
this.isSuccessful = false;
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
exports.Failure = Failure;
|
|
50
|
+
function Try(func) {
|
|
51
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
52
|
+
try {
|
|
53
|
+
if (typeof func === "function") {
|
|
54
|
+
const r = yield func();
|
|
55
|
+
return new Success(r);
|
|
56
|
+
}
|
|
57
|
+
else {
|
|
58
|
+
const r = yield func;
|
|
59
|
+
return new Success(r);
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
catch (e) {
|
|
63
|
+
return new Failure(e);
|
|
64
|
+
}
|
|
65
|
+
});
|
|
66
|
+
}
|
|
67
|
+
exports.default = Try;
|
|
68
|
+
//# sourceMappingURL=Try.js.map
|
package/dist/Try.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Try.js","sourceRoot":"","sources":["../src/Try.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,MAAsB,SAAS;IAI3B,YAAY,CAAK,EAAE,CAAS;QACxB,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC;QACf,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC;IACnB,CAAC;IAED,GAAG;QACC,IAAI,IAAI,CAAC,YAAY,EAAE;YACnB,OAAO,IAAI,CAAC,KAAK,CAAC;SACrB;aAAM;YACH,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;SAC3D;IACL,CAAC;IACD,KAAK,CAAC,CAAI;QACN,IAAI,IAAI,CAAC,YAAY,EAAE;YACnB,OAAO,IAAI,CAAC,KAAK,CAAC;SACrB;aAAM;YACH,OAAO,CAAC,CAAC;SACZ;IACL,CAAC;CACJ;AAvBD,8BAuBC;AAED,MAAa,OAAiB,SAAQ,SAAY;IAE9C,YAAY,CAAI;QACZ,KAAK,CAAC,CAAC,CAAC,CAAC;QAFG,iBAAY,GAAG,IAAI,CAAC;IAGpC,CAAC;CACJ;AALD,0BAKC;AAED,MAAa,OAAiB,SAAQ,SAAY;IAG9C,YAAY,CAAQ;QAChB,KAAK,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;QAHR,iBAAY,GAAG,KAAK,CAAC;IAIrC,CAAC;CACJ;AAND,0BAMC;AAED,SAA8B,GAAG,CAC7B,IAAiD;;QAEjD,IAAI;YACA,IAAI,OAAO,IAAI,KAAK,UAAU,EAAE;gBAC5B,MAAM,CAAC,GAAG,MAAM,IAAI,EAAE,CAAC;gBACvB,OAAO,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC;aACzB;iBAAM;gBACH,MAAM,CAAC,GAAG,MAAM,IAAI,CAAC;gBACrB,OAAO,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC;aACzB;SACJ;QAAC,OAAO,CAAC,EAAE;YACR,OAAO,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC;SACzB;IACL,CAAC;CAAA;AAdD,sBAcC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { User, Role, Permission, OrgUnit } from "./model";
|
|
1
|
+
import { User, CreateUserData, UserRecord, Role, Permission, OrgUnit, OrgUnitRecord, CreateRolePermissionInputData, PermissionRecord, OperationRecord, ResourceRecord } from "./model";
|
|
2
2
|
import { Maybe } from "tsmonad";
|
|
3
3
|
import { RequiredKeys } from "../utilityTypes";
|
|
4
4
|
export default class ApiClient {
|
|
@@ -16,15 +16,6 @@ export default class ApiClient {
|
|
|
16
16
|
* @memberof ApiClient
|
|
17
17
|
*/
|
|
18
18
|
getUser(userId: string): Promise<Maybe<RequiredKeys<User, "id">>>;
|
|
19
|
-
/**
|
|
20
|
-
* Get the data of a user.
|
|
21
|
-
* (Deprecated) This is the public facing API and will return less fields.
|
|
22
|
-
*
|
|
23
|
-
* @param {string} userId
|
|
24
|
-
* @returns {Promise<Maybe<User>>}
|
|
25
|
-
* @memberof ApiClient
|
|
26
|
-
*/
|
|
27
|
-
getUserPublic(userId: string): Promise<Maybe<RequiredKeys<User, "id">>>;
|
|
28
19
|
/**
|
|
29
20
|
* Lookup user by source (identity provider) & sourceId (identity ID)
|
|
30
21
|
*
|
|
@@ -37,11 +28,11 @@ export default class ApiClient {
|
|
|
37
28
|
/**
|
|
38
29
|
* create a user
|
|
39
30
|
*
|
|
40
|
-
* @param {
|
|
41
|
-
* @returns {Promise<
|
|
31
|
+
* @param {CreateUserData} user
|
|
32
|
+
* @returns {Promise<UserRecord>}
|
|
42
33
|
* @memberof ApiClient
|
|
43
34
|
*/
|
|
44
|
-
createUser(user:
|
|
35
|
+
createUser(user: CreateUserData): Promise<UserRecord>;
|
|
45
36
|
/**
|
|
46
37
|
* Add Roles to a user.
|
|
47
38
|
* Returns a list of current role ids of the user.
|
|
@@ -137,5 +128,11 @@ export default class ApiClient {
|
|
|
137
128
|
* @memberof ApiClient
|
|
138
129
|
*/
|
|
139
130
|
getAllOrgUnitChildren(nodeId: string): Promise<OrgUnit[]>;
|
|
131
|
+
createOrgNode(parentNodeId: string, node: Partial<Omit<OrgUnitRecord, "id" | "createBy" | "createTime" | "editBy" | "editTime" | "left" | "right">>): Promise<OrgUnit>;
|
|
132
|
+
createRole(name: string, desc?: string): Promise<Role>;
|
|
133
|
+
createRolePermission(roleId: string, permissionData: CreateRolePermissionInputData): Promise<PermissionRecord>;
|
|
134
|
+
createPermission(permissionData: CreateRolePermissionInputData): Promise<PermissionRecord>;
|
|
135
|
+
getOperationByUri(opUri: string): Promise<OperationRecord>;
|
|
136
|
+
getResourceByUri(resUri: string): Promise<ResourceRecord>;
|
|
140
137
|
private handleGetResult;
|
|
141
138
|
}
|
|
@@ -16,9 +16,10 @@ const isomorphic_fetch_1 = __importDefault(require("isomorphic-fetch"));
|
|
|
16
16
|
const tsmonad_1 = require("tsmonad");
|
|
17
17
|
const lodash_1 = __importDefault(require("lodash"));
|
|
18
18
|
const buildJwt_1 = __importDefault(require("../session/buildJwt"));
|
|
19
|
-
const GenericError_1 = __importDefault(require("./GenericError"));
|
|
20
19
|
const addTrailingSlash_1 = __importDefault(require("../addTrailingSlash"));
|
|
21
20
|
const urijs_1 = __importDefault(require("urijs"));
|
|
21
|
+
const ServerError_1 = __importDefault(require("../ServerError"));
|
|
22
|
+
const isUuid_1 = __importDefault(require("../util/isUuid"));
|
|
22
23
|
class ApiClient {
|
|
23
24
|
constructor(
|
|
24
25
|
// e.g. http://authorization-api/v0
|
|
@@ -30,14 +31,29 @@ class ApiClient {
|
|
|
30
31
|
if (jwtSecret && userId) {
|
|
31
32
|
this.jwt = buildJwt_1.default(jwtSecret, userId);
|
|
32
33
|
}
|
|
33
|
-
this.
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
34
|
+
if (this.jwt) {
|
|
35
|
+
this.requestInitOption = {
|
|
36
|
+
headers: {
|
|
37
|
+
"X-Magda-Session": this.jwt
|
|
38
|
+
}
|
|
39
|
+
};
|
|
40
|
+
}
|
|
38
41
|
}
|
|
39
42
|
getMergeRequestInitOption(extraOptions = null) {
|
|
40
|
-
|
|
43
|
+
let defaultContentTypeCfg = {};
|
|
44
|
+
if ((extraOptions === null || extraOptions === void 0 ? void 0 : extraOptions.body) &&
|
|
45
|
+
(!(extraOptions === null || extraOptions === void 0 ? void 0 : extraOptions.headers) ||
|
|
46
|
+
(typeof extraOptions.headers === "object" &&
|
|
47
|
+
Object.keys(extraOptions.headers)
|
|
48
|
+
.map((key) => key.toLowerCase())
|
|
49
|
+
.indexOf("content-type") == -1))) {
|
|
50
|
+
defaultContentTypeCfg = {
|
|
51
|
+
headers: {
|
|
52
|
+
"Content-Type": "application/json"
|
|
53
|
+
}
|
|
54
|
+
};
|
|
55
|
+
}
|
|
56
|
+
return lodash_1.default.merge({}, this.requestInitOption, extraOptions, defaultContentTypeCfg);
|
|
41
57
|
}
|
|
42
58
|
processJsonResponse(res) {
|
|
43
59
|
return __awaiter(this, void 0, void 0, function* () {
|
|
@@ -45,8 +61,8 @@ class ApiClient {
|
|
|
45
61
|
return (yield res.json());
|
|
46
62
|
}
|
|
47
63
|
else {
|
|
48
|
-
const responseText =
|
|
49
|
-
throw new
|
|
64
|
+
const responseText = yield res.text();
|
|
65
|
+
throw new ServerError_1.default(`Error: ${res.statusText}. ${responseText.replace(/<(.|\n)*?>/g, "")}`, res.status);
|
|
50
66
|
}
|
|
51
67
|
});
|
|
52
68
|
}
|
|
@@ -58,19 +74,6 @@ class ApiClient {
|
|
|
58
74
|
* @memberof ApiClient
|
|
59
75
|
*/
|
|
60
76
|
getUser(userId) {
|
|
61
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
62
|
-
return yield this.handleGetResult(isomorphic_fetch_1.default(`${this.baseUrl}private/users/${userId}`, this.getMergeRequestInitOption()));
|
|
63
|
-
});
|
|
64
|
-
}
|
|
65
|
-
/**
|
|
66
|
-
* Get the data of a user.
|
|
67
|
-
* (Deprecated) This is the public facing API and will return less fields.
|
|
68
|
-
*
|
|
69
|
-
* @param {string} userId
|
|
70
|
-
* @returns {Promise<Maybe<User>>}
|
|
71
|
-
* @memberof ApiClient
|
|
72
|
-
*/
|
|
73
|
-
getUserPublic(userId) {
|
|
74
77
|
return __awaiter(this, void 0, void 0, function* () {
|
|
75
78
|
return yield this.handleGetResult(isomorphic_fetch_1.default(`${this.baseUrl}public/users/${userId}`, this.getMergeRequestInitOption()));
|
|
76
79
|
});
|
|
@@ -85,20 +88,39 @@ class ApiClient {
|
|
|
85
88
|
*/
|
|
86
89
|
lookupUser(source, sourceId) {
|
|
87
90
|
return __awaiter(this, void 0, void 0, function* () {
|
|
88
|
-
|
|
91
|
+
if (!source) {
|
|
92
|
+
throw new ServerError_1.default("source cannot be empty!", 400);
|
|
93
|
+
}
|
|
94
|
+
if (!sourceId) {
|
|
95
|
+
throw new ServerError_1.default("sourceId cannot be empty!", 400);
|
|
96
|
+
}
|
|
97
|
+
const uri = urijs_1.default(`${this.baseUrl}public/users`).search({
|
|
98
|
+
source,
|
|
99
|
+
sourceId,
|
|
100
|
+
limit: 1
|
|
101
|
+
});
|
|
102
|
+
const res = yield isomorphic_fetch_1.default(uri.toString(), this.getMergeRequestInitOption());
|
|
103
|
+
if (!res.ok) {
|
|
104
|
+
throw new ServerError_1.default(yield res.text(), res.status);
|
|
105
|
+
}
|
|
106
|
+
const data = yield res.json();
|
|
107
|
+
if (!(data === null || data === void 0 ? void 0 : data.length)) {
|
|
108
|
+
return tsmonad_1.Maybe.nothing();
|
|
109
|
+
}
|
|
110
|
+
return tsmonad_1.Maybe.just(data[0]);
|
|
89
111
|
});
|
|
90
112
|
}
|
|
91
113
|
/**
|
|
92
114
|
* create a user
|
|
93
115
|
*
|
|
94
|
-
* @param {
|
|
95
|
-
* @returns {Promise<
|
|
116
|
+
* @param {CreateUserData} user
|
|
117
|
+
* @returns {Promise<UserRecord>}
|
|
96
118
|
* @memberof ApiClient
|
|
97
119
|
*/
|
|
98
120
|
createUser(user) {
|
|
99
121
|
return __awaiter(this, void 0, void 0, function* () {
|
|
100
122
|
try {
|
|
101
|
-
const res = yield isomorphic_fetch_1.default(`${this.baseUrl}
|
|
123
|
+
const res = yield isomorphic_fetch_1.default(`${this.baseUrl}public/users`, this.getMergeRequestInitOption({
|
|
102
124
|
method: "POST",
|
|
103
125
|
headers: {
|
|
104
126
|
"Content-Type": "application/json"
|
|
@@ -106,10 +128,10 @@ class ApiClient {
|
|
|
106
128
|
body: JSON.stringify(user)
|
|
107
129
|
}));
|
|
108
130
|
if (res.status >= 400) {
|
|
109
|
-
throw new Error(`Encountered error ${res.status} when
|
|
131
|
+
throw new Error(`Encountered error ${res.status}: ${yield res.text()} when creating new user to ${this.baseUrl}public/users`);
|
|
110
132
|
}
|
|
111
133
|
const resData = yield res.json();
|
|
112
|
-
return
|
|
134
|
+
return resData;
|
|
113
135
|
}
|
|
114
136
|
catch (e) {
|
|
115
137
|
console.error(e);
|
|
@@ -128,7 +150,7 @@ class ApiClient {
|
|
|
128
150
|
*/
|
|
129
151
|
addUserRoles(userId, roleIds) {
|
|
130
152
|
return __awaiter(this, void 0, void 0, function* () {
|
|
131
|
-
const res = yield isomorphic_fetch_1.default(`${this.baseUrl}public/
|
|
153
|
+
const res = yield isomorphic_fetch_1.default(`${this.baseUrl}public/users/${userId}/roles`, this.getMergeRequestInitOption({
|
|
132
154
|
method: "POST",
|
|
133
155
|
headers: {
|
|
134
156
|
"Content-Type": "application/json"
|
|
@@ -167,7 +189,7 @@ class ApiClient {
|
|
|
167
189
|
*/
|
|
168
190
|
getUserRoles(userId) {
|
|
169
191
|
return __awaiter(this, void 0, void 0, function* () {
|
|
170
|
-
const res = yield isomorphic_fetch_1.default(`${this.baseUrl}public/
|
|
192
|
+
const res = yield isomorphic_fetch_1.default(`${this.baseUrl}public/users/${userId}/roles`, this.getMergeRequestInitOption());
|
|
171
193
|
return yield this.processJsonResponse(res);
|
|
172
194
|
});
|
|
173
195
|
}
|
|
@@ -180,7 +202,7 @@ class ApiClient {
|
|
|
180
202
|
*/
|
|
181
203
|
getUserPermissions(userId) {
|
|
182
204
|
return __awaiter(this, void 0, void 0, function* () {
|
|
183
|
-
const res = yield isomorphic_fetch_1.default(`${this.baseUrl}public/
|
|
205
|
+
const res = yield isomorphic_fetch_1.default(`${this.baseUrl}public/users/${userId}/permissions`, this.getMergeRequestInitOption());
|
|
184
206
|
return yield this.processJsonResponse(res);
|
|
185
207
|
});
|
|
186
208
|
}
|
|
@@ -193,7 +215,7 @@ class ApiClient {
|
|
|
193
215
|
*/
|
|
194
216
|
getRolePermissions(roleId) {
|
|
195
217
|
return __awaiter(this, void 0, void 0, function* () {
|
|
196
|
-
const res = yield isomorphic_fetch_1.default(`${this.baseUrl}public/
|
|
218
|
+
const res = yield isomorphic_fetch_1.default(`${this.baseUrl}public/roles/${roleId}/permissions`, this.getMergeRequestInitOption());
|
|
197
219
|
return yield this.processJsonResponse(res);
|
|
198
220
|
});
|
|
199
221
|
}
|
|
@@ -303,6 +325,70 @@ class ApiClient {
|
|
|
303
325
|
return yield this.processJsonResponse(res);
|
|
304
326
|
});
|
|
305
327
|
}
|
|
328
|
+
createOrgNode(parentNodeId, node) {
|
|
329
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
330
|
+
const uri = urijs_1.default(`${this.baseUrl}public/orgunits`)
|
|
331
|
+
.segmentCoded(parentNodeId)
|
|
332
|
+
.segmentCoded("insert");
|
|
333
|
+
const res = yield isomorphic_fetch_1.default(uri.toString(), this.getMergeRequestInitOption({
|
|
334
|
+
method: "post",
|
|
335
|
+
body: JSON.stringify(node)
|
|
336
|
+
}));
|
|
337
|
+
return yield this.processJsonResponse(res);
|
|
338
|
+
});
|
|
339
|
+
}
|
|
340
|
+
createRole(name, desc) {
|
|
341
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
342
|
+
const uri = urijs_1.default(`${this.baseUrl}public/roles`);
|
|
343
|
+
const res = yield isomorphic_fetch_1.default(uri.toString(), this.getMergeRequestInitOption({
|
|
344
|
+
method: "post",
|
|
345
|
+
body: JSON.stringify({
|
|
346
|
+
name,
|
|
347
|
+
description: desc ? desc : ""
|
|
348
|
+
})
|
|
349
|
+
}));
|
|
350
|
+
return yield this.processJsonResponse(res);
|
|
351
|
+
});
|
|
352
|
+
}
|
|
353
|
+
createRolePermission(roleId, permissionData) {
|
|
354
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
355
|
+
if (!isUuid_1.default(roleId)) {
|
|
356
|
+
throw new ServerError_1.default(`roleId: ${roleId} is not a valid UUID.`);
|
|
357
|
+
}
|
|
358
|
+
const uri = urijs_1.default(`${this.baseUrl}public/roles`)
|
|
359
|
+
.segmentCoded(roleId)
|
|
360
|
+
.segmentCoded("permissions");
|
|
361
|
+
const res = yield isomorphic_fetch_1.default(uri.toString(), this.getMergeRequestInitOption({
|
|
362
|
+
method: "post",
|
|
363
|
+
body: JSON.stringify(permissionData)
|
|
364
|
+
}));
|
|
365
|
+
return yield this.processJsonResponse(res);
|
|
366
|
+
});
|
|
367
|
+
}
|
|
368
|
+
createPermission(permissionData) {
|
|
369
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
370
|
+
const uri = urijs_1.default(`${this.baseUrl}public/permissions`);
|
|
371
|
+
const res = yield isomorphic_fetch_1.default(uri.toString(), this.getMergeRequestInitOption({
|
|
372
|
+
method: "post",
|
|
373
|
+
body: JSON.stringify(permissionData)
|
|
374
|
+
}));
|
|
375
|
+
return yield this.processJsonResponse(res);
|
|
376
|
+
});
|
|
377
|
+
}
|
|
378
|
+
getOperationByUri(opUri) {
|
|
379
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
380
|
+
const uri = urijs_1.default(`${this.baseUrl}public/operations/byUri/${opUri}`);
|
|
381
|
+
const res = yield isomorphic_fetch_1.default(uri.toString(), this.getMergeRequestInitOption());
|
|
382
|
+
return yield this.processJsonResponse(res);
|
|
383
|
+
});
|
|
384
|
+
}
|
|
385
|
+
getResourceByUri(resUri) {
|
|
386
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
387
|
+
const uri = urijs_1.default(`${this.baseUrl}public/resources/byUri/${resUri}`);
|
|
388
|
+
const res = yield isomorphic_fetch_1.default(uri.toString(), this.getMergeRequestInitOption());
|
|
389
|
+
return yield this.processJsonResponse(res);
|
|
390
|
+
});
|
|
391
|
+
}
|
|
306
392
|
handleGetResult(promise) {
|
|
307
393
|
return __awaiter(this, void 0, void 0, function* () {
|
|
308
394
|
return promise
|