@webda/core 1.6.0-beta.3 → 2.0.0-beta.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/application.d.ts +317 -195
- package/lib/application.js +171 -679
- package/lib/application.js.map +1 -1
- package/lib/application.spec.js +97 -289
- package/lib/application.spec.js.map +1 -1
- package/lib/core.d.ts +102 -214
- package/lib/core.js +145 -68
- package/lib/core.js.map +1 -1
- package/lib/core.spec.js +78 -15
- package/lib/core.spec.js.map +1 -1
- package/lib/index.d.ts +3 -0
- package/lib/index.js +8 -1
- package/lib/index.js.map +1 -1
- package/lib/models/aclmodel.d.ts +3 -1
- package/lib/models/aclmodel.js +3 -1
- package/lib/models/aclmodel.js.map +1 -1
- package/lib/models/aclmodel.spec.js +4 -1
- package/lib/models/aclmodel.spec.js.map +1 -1
- package/lib/models/coremodel.d.ts +9 -17
- package/lib/models/coremodel.js +36 -36
- package/lib/models/coremodel.js.map +1 -1
- package/lib/models/ident.d.ts +3 -3
- package/lib/models/ident.js +2 -1
- package/lib/models/ident.js.map +1 -1
- package/lib/models/ownermodel.d.ts +8 -4
- package/lib/models/ownermodel.js +9 -4
- package/lib/models/ownermodel.js.map +1 -1
- package/lib/models/rolemodel.js.map +1 -1
- package/lib/models/rolemodel.spec.js +4 -1
- package/lib/models/rolemodel.spec.js.map +1 -1
- package/lib/models/user.d.ts +4 -3
- package/lib/models/user.js +2 -1
- package/lib/models/user.js.map +1 -1
- package/lib/queues/filequeue.d.ts +2 -7
- package/lib/queues/filequeue.js +2 -11
- package/lib/queues/filequeue.js.map +1 -1
- package/lib/queues/filequeue.spec.js +0 -1
- package/lib/queues/filequeue.spec.js.map +1 -1
- package/lib/queues/memoryqueue.d.ts +2 -7
- package/lib/queues/memoryqueue.js +1 -11
- package/lib/queues/memoryqueue.js.map +1 -1
- package/lib/queues/queue.spec.d.ts +1 -1
- package/lib/queues/queue.spec.js +11 -9
- package/lib/queues/queue.spec.js.map +1 -1
- package/lib/queues/queueservice.js +1 -1
- package/lib/queues/queueservice.js.map +1 -1
- package/lib/router.d.ts +46 -1
- package/lib/router.js +89 -51
- package/lib/router.js.map +1 -1
- package/lib/router.spec.js +18 -1
- package/lib/router.spec.js.map +1 -1
- package/lib/services/asyncevents.d.ts +1 -0
- package/lib/services/asyncevents.js +4 -3
- package/lib/services/asyncevents.js.map +1 -1
- package/lib/services/authentication.d.ts +12 -4
- package/lib/services/authentication.js +47 -36
- package/lib/services/authentication.js.map +1 -1
- package/lib/services/authentication.spec.js +1 -0
- package/lib/services/authentication.spec.js.map +1 -1
- package/lib/services/binary.d.ts +126 -64
- package/lib/services/binary.js +243 -92
- package/lib/services/binary.js.map +1 -1
- package/lib/services/binary.spec.d.ts +1 -0
- package/lib/services/binary.spec.js +96 -25
- package/lib/services/binary.spec.js.map +1 -1
- package/lib/services/cloudbinary.d.ts +67 -0
- package/lib/services/cloudbinary.js +178 -0
- package/lib/services/cloudbinary.js.map +1 -0
- package/lib/services/cloudbinary.spec.d.ts +13 -0
- package/lib/services/cloudbinary.spec.js +205 -0
- package/lib/services/cloudbinary.spec.js.map +1 -0
- package/lib/services/configuration.d.ts +7 -2
- package/lib/services/configuration.js +4 -3
- package/lib/services/configuration.js.map +1 -1
- package/lib/services/configuration.spec.js +1 -0
- package/lib/services/configuration.spec.js.map +1 -1
- package/lib/services/cron.d.ts +5 -6
- package/lib/services/cron.js +4 -11
- package/lib/services/cron.js.map +1 -1
- package/lib/services/cron.spec.js +0 -1
- package/lib/services/cron.spec.js.map +1 -1
- package/lib/services/debugmailer.d.ts +3 -5
- package/lib/services/debugmailer.js +3 -11
- package/lib/services/debugmailer.js.map +1 -1
- package/lib/services/echo.d.ts +2 -6
- package/lib/services/echo.js +1 -11
- package/lib/services/echo.js.map +1 -1
- package/lib/services/echo.spec.js +1 -0
- package/lib/services/echo.spec.js.map +1 -1
- package/lib/services/filebinary.d.ts +36 -12
- package/lib/services/filebinary.js +123 -38
- package/lib/services/filebinary.js.map +1 -1
- package/lib/services/filebinary.spec.d.ts +4 -2
- package/lib/services/filebinary.spec.js +48 -7
- package/lib/services/filebinary.spec.js.map +1 -1
- package/lib/services/fileconfiguration.d.ts +1 -5
- package/lib/services/fileconfiguration.js +1 -10
- package/lib/services/fileconfiguration.js.map +1 -1
- package/lib/services/invitationservice.d.ts +2 -0
- package/lib/services/invitationservice.js +3 -1
- package/lib/services/invitationservice.js.map +1 -1
- package/lib/services/invitationservice.spec.js +1 -0
- package/lib/services/invitationservice.spec.js.map +1 -1
- package/lib/services/kubernetesconfiguration.d.ts +3 -5
- package/lib/services/kubernetesconfiguration.js +5 -12
- package/lib/services/kubernetesconfiguration.js.map +1 -1
- package/lib/services/kubernetesconfiguration.spec.js +1 -1
- package/lib/services/kubernetesconfiguration.spec.js.map +1 -1
- package/lib/services/mailer.d.ts +1 -5
- package/lib/services/mailer.js +1 -10
- package/lib/services/mailer.js.map +1 -1
- package/lib/services/notificationservice.d.ts +2 -0
- package/lib/services/notificationservice.js +2 -0
- package/lib/services/notificationservice.js.map +1 -1
- package/lib/services/oauth.d.ts +6 -4
- package/lib/services/oauth.js +28 -11
- package/lib/services/oauth.js.map +1 -1
- package/lib/services/oauth.spec.js.map +1 -1
- package/lib/services/resource.d.ts +1 -5
- package/lib/services/resource.js +22 -17
- package/lib/services/resource.js.map +1 -1
- package/lib/services/resource.spec.js +0 -1
- package/lib/services/resource.spec.js.map +1 -1
- package/lib/services/service.d.ts +19 -22
- package/lib/services/service.js +16 -22
- package/lib/services/service.js.map +1 -1
- package/lib/services/version.d.ts +2 -5
- package/lib/services/version.js +1 -10
- package/lib/services/version.js.map +1 -1
- package/lib/stores/aggregator.d.ts +3 -5
- package/lib/stores/aggregator.js +3 -10
- package/lib/stores/aggregator.js.map +1 -1
- package/lib/stores/file.d.ts +7 -8
- package/lib/stores/file.js +18 -18
- package/lib/stores/file.js.map +1 -1
- package/lib/stores/file.spec.js +3 -2
- package/lib/stores/file.spec.js.map +1 -1
- package/lib/stores/mapper.d.ts +1 -5
- package/lib/stores/mapper.js +4 -13
- package/lib/stores/mapper.js.map +1 -1
- package/lib/stores/mapper.spec.js +1 -1
- package/lib/stores/mapper.spec.js.map +1 -1
- package/lib/stores/memory.d.ts +5 -9
- package/lib/stores/memory.js +5 -17
- package/lib/stores/memory.js.map +1 -1
- package/lib/stores/memory.spec.d.ts +1 -0
- package/lib/stores/memory.spec.js +32 -0
- package/lib/stores/memory.spec.js.map +1 -1
- package/lib/stores/store.d.ts +131 -26
- package/lib/stores/store.js +387 -70
- package/lib/stores/store.js.map +1 -1
- package/lib/stores/store.spec.d.ts +29 -2
- package/lib/stores/store.spec.js +204 -31
- package/lib/stores/store.spec.js.map +1 -1
- package/lib/stores/webdaql/WebdaQLLexer.d.ts +53 -0
- package/lib/stores/webdaql/WebdaQLLexer.js +290 -0
- package/lib/stores/webdaql/WebdaQLLexer.js.map +1 -0
- package/lib/stores/webdaql/WebdaQLParserLexer.d.ts +53 -0
- package/lib/stores/webdaql/WebdaQLParserLexer.js +290 -0
- package/lib/stores/webdaql/WebdaQLParserLexer.js.map +1 -0
- package/lib/stores/webdaql/WebdaQLParserListener.d.ts +308 -0
- package/lib/stores/webdaql/WebdaQLParserListener.js +4 -0
- package/lib/stores/webdaql/WebdaQLParserListener.js.map +1 -0
- package/lib/stores/webdaql/WebdaQLParserParser.d.ts +301 -0
- package/lib/stores/webdaql/WebdaQLParserParser.js +1781 -0
- package/lib/stores/webdaql/WebdaQLParserParser.js.map +1 -0
- package/lib/stores/webdaql/WebdaQLParserVisitor.d.ts +198 -0
- package/lib/stores/webdaql/WebdaQLParserVisitor.js +4 -0
- package/lib/stores/webdaql/WebdaQLParserVisitor.js.map +1 -0
- package/lib/stores/webdaql/query.d.ts +300 -0
- package/lib/stores/webdaql/query.js +471 -0
- package/lib/stores/webdaql/query.js.map +1 -0
- package/lib/stores/webdaql/query.spec.d.ts +1 -0
- package/lib/stores/webdaql/query.spec.js +136 -0
- package/lib/stores/webdaql/query.spec.js.map +1 -0
- package/lib/test.d.ts +48 -1
- package/lib/test.js +141 -14
- package/lib/test.js.map +1 -1
- package/lib/unpackedapplication.d.ts +66 -0
- package/lib/unpackedapplication.js +202 -0
- package/lib/unpackedapplication.js.map +1 -0
- package/lib/utils/context.d.ts +13 -12
- package/lib/utils/context.js +7 -6
- package/lib/utils/context.js.map +1 -1
- package/lib/utils/cookie.d.ts +6 -3
- package/lib/utils/cookie.js +5 -1
- package/lib/utils/cookie.js.map +1 -1
- package/lib/utils/logger.d.ts +16 -3
- package/lib/utils/logger.js +16 -3
- package/lib/utils/logger.js.map +1 -1
- package/lib/utils/logger.spec.js.map +1 -1
- package/lib/utils/serializers.js +5 -1
- package/lib/utils/serializers.js.map +1 -1
- package/lib/utils/waiter.d.ts +1 -1
- package/lib/utils/waiter.js.map +1 -1
- package/package.json +25 -18
- package/test/config-file-no-reload.json +2 -1
- package/test/config-file-reload.json +2 -1
- package/test/config-kube-reload.json +2 -1
- package/test/config-reload.json +1 -1
- package/test/config.json +6 -10
- package/test/config.old.json +1 -1
- package/test/moddas/annotatedservice.js +1 -3
- package/test/moddas/debugmailer.js +2 -7
- package/test/moddas/fakeservice.js +1 -1
- package/test/moddas/voidstore.js +2 -4
- package/test/models/ident.js +1 -1
- package/test/models/task.js +1 -5
- package/webda.module.json +1124 -0
- package/test/config.old-default.json +0 -151
|
@@ -1,16 +1,15 @@
|
|
|
1
1
|
/// <reference types="node" />
|
|
2
|
-
import { ModdaDefinition } from "../core";
|
|
3
2
|
import { Context } from "../utils/context";
|
|
4
|
-
import { Binary,
|
|
5
|
-
import {
|
|
6
|
-
import { CoreModel } from "..";
|
|
3
|
+
import { Binary, BinaryFile, BinaryMap } from "./binary";
|
|
4
|
+
import { ServiceParameters } from "./service";
|
|
5
|
+
import { CloudBinary, CloudBinaryParameters, CoreModel } from "..";
|
|
7
6
|
import { Readable } from "stream";
|
|
8
|
-
export declare class FileBinaryParameters extends
|
|
7
|
+
export declare class FileBinaryParameters extends CloudBinaryParameters {
|
|
9
8
|
/**
|
|
10
9
|
* Define the folder to store objects in
|
|
11
10
|
*/
|
|
12
11
|
folder: string;
|
|
13
|
-
constructor(params: any, service:
|
|
12
|
+
constructor(params: any, service: Binary);
|
|
14
13
|
}
|
|
15
14
|
/**
|
|
16
15
|
* FileBinary handles the storage of binary on a hard drive
|
|
@@ -25,8 +24,9 @@ export declare class FileBinaryParameters extends BinaryParameters {
|
|
|
25
24
|
*
|
|
26
25
|
* See Binary the general interface
|
|
27
26
|
* @category CoreServices
|
|
27
|
+
* @WebdaModda
|
|
28
28
|
*/
|
|
29
|
-
declare class FileBinary<T extends FileBinaryParameters = FileBinaryParameters> extends
|
|
29
|
+
export declare class FileBinary<T extends FileBinaryParameters = FileBinaryParameters> extends CloudBinary<T> {
|
|
30
30
|
/**
|
|
31
31
|
* Load parameters
|
|
32
32
|
*
|
|
@@ -37,13 +37,39 @@ declare class FileBinary<T extends FileBinaryParameters = FileBinaryParameters>
|
|
|
37
37
|
* Create the storage folder if needed
|
|
38
38
|
*/
|
|
39
39
|
computeParameters(): void;
|
|
40
|
-
_initRoutes():
|
|
40
|
+
_initRoutes(): void;
|
|
41
|
+
/**
|
|
42
|
+
* Download a binary with a challenge
|
|
43
|
+
*/
|
|
44
|
+
downloadBinaryLink(ctx: Context): Promise<void>;
|
|
41
45
|
/**
|
|
42
46
|
* @inheritdoc
|
|
43
47
|
*/
|
|
44
48
|
_get(info: BinaryMap): Promise<Readable>;
|
|
49
|
+
/**
|
|
50
|
+
* Get signed url to download an element
|
|
51
|
+
*/
|
|
52
|
+
getSignedUrlFromMap(map: BinaryMap, expires: number, context: Context): Promise<string>;
|
|
53
|
+
/**
|
|
54
|
+
* Get storage path for a hash
|
|
55
|
+
* @param hash
|
|
56
|
+
* @param postfix
|
|
57
|
+
* @returns
|
|
58
|
+
*/
|
|
45
59
|
_getPath(hash: string, postfix?: string): string;
|
|
46
60
|
_touch(path: any): void;
|
|
61
|
+
/**
|
|
62
|
+
* Get token for action
|
|
63
|
+
*
|
|
64
|
+
* @param ctx
|
|
65
|
+
* @param expiresIn
|
|
66
|
+
*/
|
|
67
|
+
getToken(hash: string, method: "PUT" | "GET", expiresIn?: number): any;
|
|
68
|
+
/**
|
|
69
|
+
* Get put URL
|
|
70
|
+
* @param ctx
|
|
71
|
+
* @returns
|
|
72
|
+
*/
|
|
47
73
|
getPutUrl(ctx: Context): string;
|
|
48
74
|
/**
|
|
49
75
|
* Will give you the redirect url
|
|
@@ -87,15 +113,13 @@ declare class FileBinary<T extends FileBinaryParameters = FileBinaryParameters>
|
|
|
87
113
|
* @inheritdoc
|
|
88
114
|
*/
|
|
89
115
|
cascadeDelete(info: BinaryMap, uuid: string): Promise<void>;
|
|
90
|
-
_store(file:
|
|
116
|
+
_store(file: BinaryFile, object: CoreModel): Promise<void>;
|
|
91
117
|
/**
|
|
92
118
|
* @inheritdoc
|
|
93
119
|
*/
|
|
94
|
-
store(object: CoreModel, property: string, file:
|
|
120
|
+
store(object: CoreModel, property: string, file: BinaryFile): Promise<any>;
|
|
95
121
|
/**
|
|
96
122
|
* Clean all data
|
|
97
123
|
*/
|
|
98
124
|
___cleanData(): Promise<void>;
|
|
99
|
-
static getModda(): ModdaDefinition;
|
|
100
125
|
}
|
|
101
|
-
export { FileBinary };
|
|
@@ -13,8 +13,9 @@ exports.FileBinary = exports.FileBinaryParameters = void 0;
|
|
|
13
13
|
const fs = require("fs");
|
|
14
14
|
const binary_1 = require("./binary");
|
|
15
15
|
const path_1 = require("path");
|
|
16
|
+
const __1 = require("..");
|
|
16
17
|
const jwt = require("jsonwebtoken");
|
|
17
|
-
class FileBinaryParameters extends
|
|
18
|
+
class FileBinaryParameters extends __1.CloudBinaryParameters {
|
|
18
19
|
constructor(params, service) {
|
|
19
20
|
super(params, service);
|
|
20
21
|
if (!this.folder.endsWith("/")) {
|
|
@@ -36,8 +37,9 @@ exports.FileBinaryParameters = FileBinaryParameters;
|
|
|
36
37
|
*
|
|
37
38
|
* See Binary the general interface
|
|
38
39
|
* @category CoreServices
|
|
40
|
+
* @WebdaModda
|
|
39
41
|
*/
|
|
40
|
-
class FileBinary extends
|
|
42
|
+
class FileBinary extends __1.CloudBinary {
|
|
41
43
|
/**
|
|
42
44
|
* Load parameters
|
|
43
45
|
*
|
|
@@ -56,28 +58,80 @@ class FileBinary extends binary_1.Binary {
|
|
|
56
58
|
}
|
|
57
59
|
}
|
|
58
60
|
_initRoutes() {
|
|
59
|
-
|
|
60
|
-
return false;
|
|
61
|
-
}
|
|
61
|
+
super._initRoutes();
|
|
62
62
|
// Will redirect to this URL for direct upload
|
|
63
|
-
let url = this.parameters.expose.url + "/
|
|
63
|
+
let url = this.parameters.expose.url + "/download/data/{hash}{?token,content-disposition,content-type}";
|
|
64
64
|
let name = this.getOperationName();
|
|
65
|
+
if (!this.parameters.expose.restrict.get) {
|
|
66
|
+
this.addRoute(url, ["GET"], this.downloadBinaryLink, {
|
|
67
|
+
put: {
|
|
68
|
+
operationId: `get${name}Binary`,
|
|
69
|
+
description: "Download a binary to an object after challenge",
|
|
70
|
+
summary: "Download a binary",
|
|
71
|
+
responses: {
|
|
72
|
+
"200": {
|
|
73
|
+
description: "Content of binary"
|
|
74
|
+
},
|
|
75
|
+
"403": {
|
|
76
|
+
description: "Wrong hash"
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
});
|
|
81
|
+
}
|
|
65
82
|
if (!this.parameters.expose.restrict.create) {
|
|
83
|
+
url = this.parameters.expose.url + "/upload/data/{hash}{?token}";
|
|
66
84
|
this.addRoute(url, ["PUT"], this.storeBinary, {
|
|
67
85
|
put: {
|
|
68
86
|
operationId: `put${name}Binary`,
|
|
69
87
|
description: "Upload a binary to an object after challenge",
|
|
70
88
|
summary: "Upload a binary",
|
|
71
89
|
responses: {
|
|
72
|
-
"204":
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
"
|
|
90
|
+
"204": {
|
|
91
|
+
description: ""
|
|
92
|
+
},
|
|
93
|
+
"400": {
|
|
94
|
+
description: "Wrong hash"
|
|
95
|
+
},
|
|
96
|
+
"404": {
|
|
97
|
+
description: "Object does not exist or attachment does not exist"
|
|
98
|
+
},
|
|
99
|
+
"412": {
|
|
100
|
+
description: "Provided hash does not match"
|
|
101
|
+
}
|
|
76
102
|
}
|
|
77
103
|
}
|
|
78
104
|
});
|
|
79
105
|
}
|
|
80
106
|
}
|
|
107
|
+
/**
|
|
108
|
+
* Download a binary with a challenge
|
|
109
|
+
*/
|
|
110
|
+
downloadBinaryLink(ctx) {
|
|
111
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
112
|
+
const { hash } = ctx.getPathParameters();
|
|
113
|
+
// Verify token
|
|
114
|
+
try {
|
|
115
|
+
let dt = jwt.verify(ctx.parameter("token"), this.getWebda().getSecret());
|
|
116
|
+
if (dt.hash !== hash) {
|
|
117
|
+
throw 403;
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
catch (err) {
|
|
121
|
+
throw 403;
|
|
122
|
+
}
|
|
123
|
+
ctx.writeHead(200, {
|
|
124
|
+
"content-disposition": ctx.parameter("content-disposition"),
|
|
125
|
+
"content-type": ctx.parameter("content-type")
|
|
126
|
+
});
|
|
127
|
+
// Fake a binary map for this case
|
|
128
|
+
return new Promise((resolve, reject) => __awaiter(this, void 0, void 0, function* () {
|
|
129
|
+
const stream = ctx.getStream();
|
|
130
|
+
stream.on("error", reject).on("finish", resolve);
|
|
131
|
+
(yield this.get({ hash })).pipe(stream);
|
|
132
|
+
}));
|
|
133
|
+
});
|
|
134
|
+
}
|
|
81
135
|
/**
|
|
82
136
|
* @inheritdoc
|
|
83
137
|
*/
|
|
@@ -90,6 +144,22 @@ class FileBinary extends binary_1.Binary {
|
|
|
90
144
|
return fs.createReadStream(path);
|
|
91
145
|
});
|
|
92
146
|
}
|
|
147
|
+
/**
|
|
148
|
+
* Get signed url to download an element
|
|
149
|
+
*/
|
|
150
|
+
getSignedUrlFromMap(map, expires, context) {
|
|
151
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
152
|
+
return `${context
|
|
153
|
+
.getHttpContext()
|
|
154
|
+
.getAbsoluteUrl(this.parameters.expose.url + "/download/data/" + map.hash)}?token=${this.getToken(map.hash, "GET", expires)}&content-type=${map.mimetype}&content-disposition=attachment`;
|
|
155
|
+
});
|
|
156
|
+
}
|
|
157
|
+
/**
|
|
158
|
+
* Get storage path for a hash
|
|
159
|
+
* @param hash
|
|
160
|
+
* @param postfix
|
|
161
|
+
* @returns
|
|
162
|
+
*/
|
|
93
163
|
_getPath(hash, postfix = undefined) {
|
|
94
164
|
if (postfix === undefined) {
|
|
95
165
|
return this.parameters.folder + hash;
|
|
@@ -101,12 +171,26 @@ class FileBinary extends binary_1.Binary {
|
|
|
101
171
|
fs.closeSync(fs.openSync(path, "w"));
|
|
102
172
|
}
|
|
103
173
|
}
|
|
174
|
+
/**
|
|
175
|
+
* Get token for action
|
|
176
|
+
*
|
|
177
|
+
* @param ctx
|
|
178
|
+
* @param expiresIn
|
|
179
|
+
*/
|
|
180
|
+
getToken(hash, method, expiresIn = 60) {
|
|
181
|
+
return jwt.sign({ hash, method }, this.getWebda().getSecret(), {
|
|
182
|
+
expiresIn
|
|
183
|
+
});
|
|
184
|
+
}
|
|
185
|
+
/**
|
|
186
|
+
* Get put URL
|
|
187
|
+
* @param ctx
|
|
188
|
+
* @returns
|
|
189
|
+
*/
|
|
104
190
|
getPutUrl(ctx) {
|
|
105
191
|
// Get a full URL, this method should be in a Route Object
|
|
106
192
|
// Add a JWT token for 60s
|
|
107
|
-
let token =
|
|
108
|
-
expiresIn: 60
|
|
109
|
-
});
|
|
193
|
+
let token = this.getToken(ctx.getRequestBody().hash, "PUT");
|
|
110
194
|
return ctx
|
|
111
195
|
.getHttpContext()
|
|
112
196
|
.getAbsoluteUrl(this.parameters.expose.url + "/upload/data/" + ctx.getRequestBody().hash + `?token=${token}`);
|
|
@@ -133,7 +217,7 @@ class FileBinary extends binary_1.Binary {
|
|
|
133
217
|
// Get the target object to add the mapping
|
|
134
218
|
let targetStore = this._verifyMapAndStore(ctx);
|
|
135
219
|
let object = yield targetStore.get(uid, ctx);
|
|
136
|
-
yield this.uploadSuccess(object, property, body
|
|
220
|
+
yield this.uploadSuccess(object, property, body);
|
|
137
221
|
// Need to store the usage of the file
|
|
138
222
|
if (!fs.existsSync(this._getPath(body.hash))) {
|
|
139
223
|
fs.mkdirSync(this._getPath(body.hash));
|
|
@@ -158,7 +242,11 @@ class FileBinary extends binary_1.Binary {
|
|
|
158
242
|
storeBinary(ctx) {
|
|
159
243
|
return __awaiter(this, void 0, void 0, function* () {
|
|
160
244
|
let body = ctx.getRequestBody();
|
|
161
|
-
var result =
|
|
245
|
+
var result = yield new binary_1.MemoryBinaryFile(Buffer.from(body), {
|
|
246
|
+
mimetype: ctx.getHttpContext().getHeader("content-type"),
|
|
247
|
+
name: "",
|
|
248
|
+
size: parseInt(ctx.getHttpContext().getHeader("content-length"))
|
|
249
|
+
}).getHashes();
|
|
162
250
|
if (ctx.parameter("hash") !== result.hash) {
|
|
163
251
|
throw 400;
|
|
164
252
|
}
|
|
@@ -255,29 +343,35 @@ class FileBinary extends binary_1.Binary {
|
|
|
255
343
|
});
|
|
256
344
|
}
|
|
257
345
|
_store(file, object) {
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
346
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
347
|
+
fs.mkdirSync(this._getPath(file.hash));
|
|
348
|
+
yield new Promise((resolve, reject) => __awaiter(this, void 0, void 0, function* () {
|
|
349
|
+
(yield file.get())
|
|
350
|
+
.pipe(fs.createWriteStream(this._getPath(file.hash, "data")))
|
|
351
|
+
.on("error", reject)
|
|
352
|
+
.on("finish", resolve);
|
|
353
|
+
}));
|
|
354
|
+
// Store the challenge
|
|
355
|
+
this._touch(this._getPath(file.hash, "_" + file.challenge));
|
|
356
|
+
this._touch(this._getPath(file.hash, object.getStore().getName() + "_" + object.getUuid()));
|
|
357
|
+
});
|
|
265
358
|
}
|
|
266
359
|
/**
|
|
267
360
|
* @inheritdoc
|
|
268
361
|
*/
|
|
269
|
-
store(object, property, file
|
|
362
|
+
store(object, property, file) {
|
|
270
363
|
return __awaiter(this, void 0, void 0, function* () {
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
364
|
+
yield file.getHashes();
|
|
365
|
+
const storeName = object.getStore().getName();
|
|
366
|
+
const fileInfo = file.toBinaryFileInfo();
|
|
367
|
+
this.checkMap(storeName, property);
|
|
274
368
|
if (fs.existsSync(this._getPath(file.hash))) {
|
|
275
369
|
this._touch(this._getPath(file.hash, `${storeName}_${object.getUuid()}`));
|
|
276
|
-
yield this.uploadSuccess(object, property,
|
|
370
|
+
yield this.uploadSuccess(object, property, fileInfo);
|
|
277
371
|
return;
|
|
278
372
|
}
|
|
279
|
-
this._store(file, object);
|
|
280
|
-
yield this.uploadSuccess(object, property,
|
|
373
|
+
yield this._store(file, object);
|
|
374
|
+
yield this.uploadSuccess(object, property, fileInfo);
|
|
281
375
|
});
|
|
282
376
|
}
|
|
283
377
|
/**
|
|
@@ -288,15 +382,6 @@ class FileBinary extends binary_1.Binary {
|
|
|
288
382
|
require("fs-extra").emptyDirSync(this.parameters.folder);
|
|
289
383
|
});
|
|
290
384
|
}
|
|
291
|
-
static getModda() {
|
|
292
|
-
return {
|
|
293
|
-
uuid: "Webda/FileBinary",
|
|
294
|
-
label: "File Storage",
|
|
295
|
-
description: "Implements storage of files on the server filesystem",
|
|
296
|
-
documentation: "https://raw.githubusercontent.com/loopingz/webda/master/readmes/Binary.md",
|
|
297
|
-
logo: "images/icons/filestorage.png"
|
|
298
|
-
};
|
|
299
|
-
}
|
|
300
385
|
}
|
|
301
386
|
exports.FileBinary = FileBinary;
|
|
302
387
|
//# sourceMappingURL=filebinary.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"filebinary.js","sourceRoot":"","sources":["../../src/services/filebinary.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,yBAAyB;
|
|
1
|
+
{"version":3,"file":"filebinary.js","sourceRoot":"","sources":["../../src/services/filebinary.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,12 +1,14 @@
|
|
|
1
|
-
import {
|
|
2
|
-
declare class FileBinaryTest extends
|
|
1
|
+
import { CloudBinaryTest } from "./cloudbinary.spec";
|
|
2
|
+
declare class FileBinaryTest extends CloudBinaryTest {
|
|
3
3
|
initMap(): void;
|
|
4
4
|
_getFile(): Promise<void>;
|
|
5
5
|
initRoutes(): void;
|
|
6
|
+
downloadSignedUrl(): Promise<void>;
|
|
6
7
|
verifyMapAndStore(): Promise<void>;
|
|
7
8
|
computeParameters(): void;
|
|
8
9
|
challenge(): Promise<void>;
|
|
9
10
|
badTokens(): Promise<void>;
|
|
10
11
|
cleanNonExisting(): void;
|
|
12
|
+
faultyBinary(): void;
|
|
11
13
|
}
|
|
12
14
|
export { FileBinaryTest };
|
|
@@ -16,13 +16,26 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
16
16
|
};
|
|
17
17
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
18
|
exports.FileBinaryTest = void 0;
|
|
19
|
-
const binary_spec_1 = require("./binary.spec");
|
|
20
19
|
const assert = require("assert");
|
|
21
20
|
const mocha_1 = require("@testdeck/mocha");
|
|
22
21
|
const fs_extra_1 = require("fs-extra");
|
|
23
22
|
const fs = require("fs");
|
|
24
23
|
const jwt = require("jsonwebtoken");
|
|
25
|
-
|
|
24
|
+
const binary_1 = require("./binary");
|
|
25
|
+
const stream_1 = require("stream");
|
|
26
|
+
const cloudbinary_spec_1 = require("./cloudbinary.spec");
|
|
27
|
+
class FaultyBinaryFile extends binary_1.BinaryFile {
|
|
28
|
+
get() {
|
|
29
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
30
|
+
const stream = new stream_1.Readable();
|
|
31
|
+
stream._read = () => {
|
|
32
|
+
stream.emit("error", new Error("Faulty stream"));
|
|
33
|
+
};
|
|
34
|
+
return stream;
|
|
35
|
+
});
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
let FileBinaryTest = class FileBinaryTest extends cloudbinary_spec_1.CloudBinaryTest {
|
|
26
39
|
initMap() {
|
|
27
40
|
let binary = this.getBinary();
|
|
28
41
|
binary.initMap(undefined);
|
|
@@ -43,12 +56,14 @@ let FileBinaryTest = class FileBinaryTest extends binary_spec_1.BinaryTest {
|
|
|
43
56
|
let ctx = yield this.newContext();
|
|
44
57
|
ctx.getHttpContext().setBody("plop");
|
|
45
58
|
ctx.getHttpContext().headers = { "content-type": "text/plain" };
|
|
46
|
-
assert.deepStrictEqual(binary._getFile(ctx), {
|
|
47
|
-
|
|
59
|
+
assert.deepStrictEqual(binary._getFile(ctx), new binary_1.MemoryBinaryFile(Buffer.from("plop"), {
|
|
60
|
+
challenge: undefined,
|
|
61
|
+
hash: undefined,
|
|
62
|
+
metadata: {},
|
|
48
63
|
mimetype: "text/plain",
|
|
49
|
-
|
|
64
|
+
name: "",
|
|
50
65
|
size: 4
|
|
51
|
-
});
|
|
66
|
+
}));
|
|
52
67
|
});
|
|
53
68
|
}
|
|
54
69
|
initRoutes() {
|
|
@@ -59,6 +74,18 @@ let FileBinaryTest = class FileBinaryTest extends binary_spec_1.BinaryTest {
|
|
|
59
74
|
binary._name = "Binary";
|
|
60
75
|
binary.initRoutes();
|
|
61
76
|
}
|
|
77
|
+
downloadSignedUrl() {
|
|
78
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
79
|
+
let binary = this.getBinary();
|
|
80
|
+
let { user1, ctx } = yield this.setupDefault(false);
|
|
81
|
+
let url = yield binary.getRedirectUrlFromObject(user1.images[0], ctx, 60);
|
|
82
|
+
assert.notStrictEqual(url, undefined);
|
|
83
|
+
yield this.execute(ctx, "test.webda.io", "GET", url.substring("http://test.webda.io".length));
|
|
84
|
+
// c59d?token -> d59d?token
|
|
85
|
+
yield assert.rejects(() => this.execute(ctx, "test.webda.io", "GET", url.substring("http://test.webda.io".length).replace("c59d?token", "d59d?token")), /403/);
|
|
86
|
+
yield assert.rejects(() => this.execute(ctx, "test.webda.io", "GET", url.substring("http://test.webda.io".length).replace("eyJhbG", "ezJhbG")), /403/);
|
|
87
|
+
});
|
|
88
|
+
}
|
|
62
89
|
verifyMapAndStore() {
|
|
63
90
|
return __awaiter(this, void 0, void 0, function* () {
|
|
64
91
|
let binary = this.getBinary();
|
|
@@ -88,7 +115,7 @@ let FileBinaryTest = class FileBinaryTest extends binary_spec_1.BinaryTest {
|
|
|
88
115
|
return __awaiter(this, void 0, void 0, function* () {
|
|
89
116
|
let binary = this.getBinary();
|
|
90
117
|
let ctx = yield this.newContext();
|
|
91
|
-
let { hash } =
|
|
118
|
+
let { hash } = yield new binary_1.MemoryBinaryFile(Buffer.from("PLOP"), {}).getHashes();
|
|
92
119
|
let token = "badt";
|
|
93
120
|
ctx.setPathParameters({
|
|
94
121
|
hash,
|
|
@@ -122,6 +149,14 @@ let FileBinaryTest = class FileBinaryTest extends binary_spec_1.BinaryTest {
|
|
|
122
149
|
binary._cleanHash("plop");
|
|
123
150
|
binary._cleanUsage("plop", "l");
|
|
124
151
|
}
|
|
152
|
+
faultyBinary() {
|
|
153
|
+
const file = new FaultyBinaryFile({
|
|
154
|
+
mimetype: "text/plain",
|
|
155
|
+
name: "test.txt",
|
|
156
|
+
size: 10
|
|
157
|
+
});
|
|
158
|
+
assert.rejects(() => file.getHashes(), /Faulty stream/);
|
|
159
|
+
}
|
|
125
160
|
};
|
|
126
161
|
__decorate([
|
|
127
162
|
mocha_1.test
|
|
@@ -132,6 +167,9 @@ __decorate([
|
|
|
132
167
|
__decorate([
|
|
133
168
|
mocha_1.test
|
|
134
169
|
], FileBinaryTest.prototype, "initRoutes", null);
|
|
170
|
+
__decorate([
|
|
171
|
+
mocha_1.test
|
|
172
|
+
], FileBinaryTest.prototype, "downloadSignedUrl", null);
|
|
135
173
|
__decorate([
|
|
136
174
|
mocha_1.test
|
|
137
175
|
], FileBinaryTest.prototype, "verifyMapAndStore", null);
|
|
@@ -147,6 +185,9 @@ __decorate([
|
|
|
147
185
|
__decorate([
|
|
148
186
|
mocha_1.test
|
|
149
187
|
], FileBinaryTest.prototype, "cleanNonExisting", null);
|
|
188
|
+
__decorate([
|
|
189
|
+
mocha_1.test
|
|
190
|
+
], FileBinaryTest.prototype, "faultyBinary", null);
|
|
150
191
|
FileBinaryTest = __decorate([
|
|
151
192
|
mocha_1.suite
|
|
152
193
|
], FileBinaryTest);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"filebinary.spec.js","sourceRoot":"","sources":["../../src/services/filebinary.spec.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAAA
|
|
1
|
+
{"version":3,"file":"filebinary.spec.js","sourceRoot":"","sources":["../../src/services/filebinary.spec.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAAA,iCAAiC;AAEjC,2CAA8C;AAC9C,uCAAsC;AACtC,yBAAyB;AACzB,oCAAoC;AACpC,qCAAwE;AACxE,mCAAkC;AAClC,yDAAqD;AAErD,MAAM,gBAAiB,SAAQ,mBAAU;IACjC,GAAG;;YACP,MAAM,MAAM,GAAG,IAAI,iBAAQ,EAAE,CAAC;YAC9B,MAAM,CAAC,KAAK,GAAG,GAAG,EAAE;gBAClB,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,KAAK,CAAC,eAAe,CAAC,CAAC,CAAC;YACnD,CAAC,CAAC;YACF,OAAO,MAAM,CAAC;QAChB,CAAC;KAAA;CACF;AAED,IAAM,cAAc,GAApB,MAAM,cAAe,SAAQ,kCAAe;IAE1C,OAAO;QACL,IAAI,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;QAC9B,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAC1B,MAAM,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QAChC,YAAY;QACZ,MAAM,CAAC,OAAO,CAAC;YACb,cAAc,EAAE,EAAE;YAClB,IAAI,EAAE,EAAE;YACR,YAAY,EAAE,QAAQ;SACvB,CAAC,CAAC;IACL,CAAC;IAGK,QAAQ;;YACZ,IAAI,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;YAC9B,MAAM,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC;YACnB,aAAa;YACb,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YACzD,IAAI,GAAG,GAAG,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC;YAClC,GAAG,CAAC,cAAc,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YACrC,GAAG,CAAC,cAAc,EAAE,CAAC,OAAO,GAAG,EAAE,cAAc,EAAE,YAAY,EAAE,CAAC;YAChE,MAAM,CAAC,eAAe,CACpB,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,EACpB,IAAI,yBAAgB,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE;gBACxC,SAAS,EAAE,SAAS;gBACpB,IAAI,EAAE,SAAS;gBACf,QAAQ,EAAE,EAAE;gBACZ,QAAQ,EAAE,YAAY;gBACtB,IAAI,EAAE,EAAE;gBACR,IAAI,EAAE,CAAC;aACR,CAAC,CACH,CAAC;QACJ,CAAC;KAAA;IAGD,UAAU;QACR,IAAI,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;QAC9B,MAAM,CAAC,aAAa,EAAE,CAAC,MAAM,GAAG,SAAS,CAAC;QAC1C,MAAM,CAAC,UAAU,EAAE,CAAC;QACpB,aAAa;QACb,MAAM,CAAC,KAAK,GAAG,QAAQ,CAAC;QACxB,MAAM,CAAC,UAAU,EAAE,CAAC;IACtB,CAAC;IAGK,iBAAiB;;YACrB,IAAI,MAAM,GAAe,IAAI,CAAC,SAAS,EAAgB,CAAC;YACxD,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;YAEpD,IAAI,GAAG,GAAG,MAAM,MAAM,CAAC,wBAAwB,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC;YAC1E,MAAM,CAAC,cAAc,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;YACtC,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,eAAe,EAAE,KAAK,EAAE,GAAG,CAAC,SAAS,CAAC,sBAAsB,CAAC,MAAM,CAAC,CAAC,CAAC;YAC9F,2BAA2B;YAC3B,MAAM,MAAM,CAAC,OAAO,CAClB,GAAG,EAAE,CACH,IAAI,CAAC,OAAO,CACV,GAAG,EACH,eAAe,EACf,KAAK,EACL,GAAG,CAAC,SAAS,CAAC,sBAAsB,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,YAAY,EAAE,YAAY,CAAC,CACjF,EACH,KAAK,CACN,CAAC;YACF,MAAM,MAAM,CAAC,OAAO,CAClB,GAAG,EAAE,CACH,IAAI,CAAC,OAAO,CACV,GAAG,EACH,eAAe,EACf,KAAK,EACL,GAAG,CAAC,SAAS,CAAC,sBAAsB,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,QAAQ,EAAE,QAAQ,CAAC,CACzE,EACH,KAAK,CACN,CAAC;QACJ,CAAC;KAAA;IAGK,iBAAiB;;YACrB,IAAI,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;YAC9B,IAAI,GAAG,GAAG,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC;YAClC,GAAG,CAAC,iBAAiB,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,CAAC;YAC9D,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,kBAAkB,CAAC,GAAG,CAAC,EAAE,KAAK,CAAC,CAAC;YAC3D,GAAG,CAAC,iBAAiB,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,CAAC;YAC9D,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,kBAAkB,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC;YAC7E,GAAG,CAAC,iBAAiB,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC,CAAC;YAC/D,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,kBAAkB,CAAC,GAAG,CAAC,EAAE,KAAK,CAAC,CAAC;YAC3D,GAAG,CAAC,iBAAiB,CAAC,EAAE,KAAK,EAAE,aAAa,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,CAAC;YACpE,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,kBAAkB,CAAC,GAAG,CAAC,EAAE,KAAK,CAAC,CAAC;QAC7D,CAAC;KAAA;IAGD,iBAAiB;QACf,IAAI,MAAM,GAAe,IAAI,CAAC,SAAS,EAAE,CAAC;QAC1C,IAAA,qBAAU,EAAC,MAAM,CAAC,aAAa,EAAE,CAAC,MAAM,CAAC,CAAC;QAC1C,MAAM,CAAC,iBAAiB,EAAE,CAAC;QAC3B,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,aAAa,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;IAC1D,CAAC;IAGK,SAAS;;YACb,MAAM,IAAI,CAAC,aAAa,EAAE,CAAC;QAC7B,CAAC;KAAA;IAGK,SAAS;;YACb,IAAI,MAAM,GAAe,IAAI,CAAC,SAAS,EAAE,CAAC;YAC1C,IAAI,GAAG,GAAG,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC;YAClC,IAAI,EAAE,IAAI,EAAE,GAAG,MAAM,IAAI,yBAAgB,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,EAA4B,EAAG,CAAC,CAAC,SAAS,EAAE,CAAC;YAC1G,IAAI,KAAK,GAAG,MAAM,CAAC;YACnB,GAAG,CAAC,iBAAiB,CAAC;gBACpB,IAAI;gBACJ,KAAK;aACN,CAAC,CAAC;YACH,GAAG,CAAC,cAAc,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YACrC,MAAM,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,KAAK,CAAC,CAAC;YAC3D,KAAK,GAAG,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC,CAAC;YAC5D,GAAG,CAAC,iBAAiB,CAAC;gBACpB,IAAI;gBACJ,KAAK;aACN,CAAC,CAAC;YACH,MAAM,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,KAAK,CAAC,CAAC;YAC3D,gBAAgB;YAChB,KAAK,GAAG,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC,CAAC;YACjG,GAAG,CAAC,iBAAiB,CAAC;gBACpB,IAAI;gBACJ,KAAK;aACN,CAAC,CAAC;YACH,MAAM,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,KAAK,CAAC,CAAC;YAC3D,KAAK,GAAG,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC,CAAC;YACnD,GAAG,CAAC,iBAAiB,CAAC;gBACpB,IAAI;gBACJ,KAAK;aACN,CAAC,CAAC;YACH,MAAM,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,KAAK,CAAC,CAAC;QAC7D,CAAC;KAAA;IAGD,gBAAgB;QACd,IAAI,MAAM,GAAe,IAAI,CAAC,SAAS,EAAE,CAAC;QAC1C,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;QAC1B,MAAM,CAAC,WAAW,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAClC,CAAC;IAGD,YAAY;QACV,MAAM,IAAI,GAAG,IAAI,gBAAgB,CAAC;YAChC,QAAQ,EAAE,YAAY;YACtB,IAAI,EAAE,UAAU;YAChB,IAAI,EAAE,EAAE;SACT,CAAC,CAAC;QACH,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,SAAS,EAAE,EAAE,eAAe,CAAC,CAAC;IAC1D,CAAC;CACF,CAAA;AAvJC;IADC,YAAI;6CAWJ;AAGD;IADC,YAAI;8CAoBJ;AAGD;IADC,YAAI;gDAQJ;AAGD;IADC,YAAI;uDA6BJ;AAGD;IADC,YAAI;uDAYJ;AAGD;IADC,YAAI;uDAMJ;AAGD;IADC,YAAI;+CAGJ;AAGD;IADC,YAAI;+CA+BJ;AAGD;IADC,YAAI;sDAKJ;AAGD;IADC,YAAI;kDAQJ;AAxJG,cAAc;IADnB,aAAK;GACA,cAAc,CAyJnB;AAEQ,wCAAc"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import ConfigurationService, { ConfigurationServiceParameters } from "./configuration";
|
|
2
|
-
import { ModdaDefinition } from "../core";
|
|
3
2
|
/**
|
|
4
3
|
* Allow for dynamic configuration from a file
|
|
4
|
+
* @WebdaModda Webda/FileConfiguration
|
|
5
5
|
*/
|
|
6
6
|
export declare class FileConfigurationService<T extends ConfigurationServiceParameters = ConfigurationServiceParameters> extends ConfigurationService<T> {
|
|
7
7
|
/** @ignore */
|
|
@@ -19,8 +19,4 @@ export declare class FileConfigurationService<T extends ConfigurationServicePara
|
|
|
19
19
|
initConfiguration(): Promise<{
|
|
20
20
|
[key: string]: any;
|
|
21
21
|
}>;
|
|
22
|
-
/**
|
|
23
|
-
* @inheritdoc
|
|
24
|
-
*/
|
|
25
|
-
static getModda(): ModdaDefinition;
|
|
26
22
|
}
|
|
@@ -16,6 +16,7 @@ const fs = require("fs");
|
|
|
16
16
|
const __1 = require("..");
|
|
17
17
|
/**
|
|
18
18
|
* Allow for dynamic configuration from a file
|
|
19
|
+
* @WebdaModda Webda/FileConfiguration
|
|
19
20
|
*/
|
|
20
21
|
class FileConfigurationService extends configuration_1.default {
|
|
21
22
|
/** @ignore */
|
|
@@ -54,16 +55,6 @@ class FileConfigurationService extends configuration_1.default {
|
|
|
54
55
|
return this.loadAndStoreConfiguration();
|
|
55
56
|
});
|
|
56
57
|
}
|
|
57
|
-
/**
|
|
58
|
-
* @inheritdoc
|
|
59
|
-
*/
|
|
60
|
-
static getModda() {
|
|
61
|
-
return {
|
|
62
|
-
uuid: "Webda/FileConfiguration",
|
|
63
|
-
label: "File Configuration",
|
|
64
|
-
description: "Read a file as configurator and reload if it is updated"
|
|
65
|
-
};
|
|
66
|
-
}
|
|
67
58
|
}
|
|
68
59
|
exports.FileConfigurationService = FileConfigurationService;
|
|
69
60
|
//# sourceMappingURL=fileconfiguration.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fileconfiguration.js","sourceRoot":"","sources":["../../src/services/fileconfiguration.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,mDAAuF;AACvF,
|
|
1
|
+
{"version":3,"file":"fileconfiguration.js","sourceRoot":"","sources":["../../src/services/fileconfiguration.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,mDAAuF;AACvF,kCAAqC;AACrC,yBAAyB;AACzB,0BAA+B;AAE/B;;;GAGG;AACH,MAAa,wBAEX,SAAQ,uBAAuB;IAC/B,cAAc;IACR,IAAI;;YACR,mCAAmC;YACnC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE;gBAC3B,MAAM,IAAI,iBAAU,CAAC,mCAAmC,EAAE,4CAA4C,CAAC,CAAC;aACzG;YAED,kCAAkC;YAClC,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;YACxE,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE;gBAC1C,MAAM,IAAI,iBAAU,CAAC,mCAAmC,EAAE,4CAA4C,CAAC,CAAC;aACzG;YAED,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;YAElE,iBAAiB;YACjB,IAAI,CAAC,KAAK,CAAC,kBAAkB,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;YAErE,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC;QAC3B,CAAC;KAAA;IAED;;;OAGG;IACa,iBAAiB;;YAC/B,OAAO,aAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;QACpD,CAAC;KAAA;IAED;;OAEG;IACG,iBAAiB;;YACrB,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;YACxE,OAAO,IAAI,CAAC,yBAAyB,EAAE,CAAC;QAC1C,CAAC;KAAA;CACF;AAvCD,4DAuCC"}
|
|
@@ -130,6 +130,8 @@ export declare class InvitationParameters extends ServiceParameters {
|
|
|
130
130
|
*
|
|
131
131
|
* Once you add a new ACE with a user, it will invite
|
|
132
132
|
* and act as Mapper
|
|
133
|
+
*
|
|
134
|
+
* @WebdaModda
|
|
133
135
|
*/
|
|
134
136
|
export default class InvitationService<T extends InvitationParameters = InvitationParameters> extends Service<T> {
|
|
135
137
|
authenticationService: Authentication;
|
|
@@ -49,6 +49,8 @@ exports.InvitationParameters = InvitationParameters;
|
|
|
49
49
|
*
|
|
50
50
|
* Once you add a new ACE with a user, it will invite
|
|
51
51
|
* and act as Mapper
|
|
52
|
+
*
|
|
53
|
+
* @WebdaModda
|
|
52
54
|
*/
|
|
53
55
|
class InvitationService extends service_1.Service {
|
|
54
56
|
/**
|
|
@@ -390,7 +392,7 @@ class InvitationService extends service_1.Service {
|
|
|
390
392
|
const infos = yield Promise.all(Object.keys(invitations)
|
|
391
393
|
.filter(k => k.startsWith("invit_"))
|
|
392
394
|
.map((k) => __awaiter(this, void 0, void 0, function* () {
|
|
393
|
-
return (Object.assign(Object.assign({}, invitations[k]), { model: yield this.modelStore.get(k.
|
|
395
|
+
return (Object.assign(Object.assign({}, invitations[k]), { model: yield this.modelStore.get(k.substring(6)) }));
|
|
394
396
|
})));
|
|
395
397
|
// autoAccept is on so move to __acls
|
|
396
398
|
const promises = [];
|