@webda/async 4.0.0-beta.2 → 4.0.0-beta.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/README.md +89 -4
- package/lib/{models.d.ts → asyncaction.model.d.ts} +75 -37
- package/lib/asyncaction.model.d.ts.map +1 -0
- package/lib/asyncaction.model.js +269 -0
- package/lib/asyncaction.model.js.map +1 -0
- package/lib/index.d.ts +6 -4
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +6 -4
- package/lib/index.js.map +1 -1
- package/lib/services/asyncevents.service.d.ts +154 -0
- package/lib/services/asyncevents.service.d.ts.map +1 -0
- package/lib/services/asyncevents.service.js +219 -0
- package/lib/services/asyncevents.service.js.map +1 -0
- package/lib/services/{asyncjobservice.d.ts → asyncjobservice.service.d.ts} +78 -61
- package/lib/services/asyncjobservice.service.d.ts.map +1 -0
- package/lib/services/asyncjobservice.service.js +584 -0
- package/lib/services/asyncjobservice.service.js.map +1 -0
- package/lib/services/{localrunner.d.ts → localrunner.service.d.ts} +24 -10
- package/lib/services/localrunner.service.d.ts.map +1 -0
- package/lib/services/localrunner.service.js +87 -0
- package/lib/services/localrunner.service.js.map +1 -0
- package/lib/services/{runner.d.ts → runner.service.d.ts} +17 -12
- package/lib/services/runner.service.d.ts.map +1 -0
- package/lib/services/{runner.js → runner.service.js} +16 -13
- package/lib/services/runner.service.js.map +1 -0
- package/lib/services/servicerunner.service.d.ts +105 -0
- package/lib/services/servicerunner.service.d.ts.map +1 -0
- package/lib/services/servicerunner.service.js +131 -0
- package/lib/services/servicerunner.service.js.map +1 -0
- package/package.json +32 -42
- package/webda.module.json +1925 -890
- package/lib/models.d.ts.map +0 -1
- package/lib/models.js +0 -179
- package/lib/models.js.map +0 -1
- package/lib/models.spec.d.ts +0 -7
- package/lib/models.spec.d.ts.map +0 -1
- package/lib/models.spec.js +0 -64
- package/lib/models.spec.js.map +0 -1
- package/lib/services/asyncjobservice.d.ts.map +0 -1
- package/lib/services/asyncjobservice.js +0 -469
- package/lib/services/asyncjobservice.js.map +0 -1
- package/lib/services/asyncjobservice.spec.d.ts +0 -2
- package/lib/services/asyncjobservice.spec.d.ts.map +0 -1
- package/lib/services/asyncjobservice.spec.js +0 -561
- package/lib/services/asyncjobservice.spec.js.map +0 -1
- package/lib/services/localrunner.d.ts.map +0 -1
- package/lib/services/localrunner.js +0 -70
- package/lib/services/localrunner.js.map +0 -1
- package/lib/services/localrunner.spec.d.ts +0 -2
- package/lib/services/localrunner.spec.d.ts.map +0 -1
- package/lib/services/localrunner.spec.js +0 -113
- package/lib/services/localrunner.spec.js.map +0 -1
- package/lib/services/runner.d.ts.map +0 -1
- package/lib/services/runner.js.map +0 -1
- package/lib/services/servicerunner.d.ts +0 -68
- package/lib/services/servicerunner.d.ts.map +0 -1
- package/lib/services/servicerunner.js +0 -97
- package/lib/services/servicerunner.js.map +0 -1
- package/lib/services/servicerunner.spec.d.ts +0 -2
- package/lib/services/servicerunner.spec.d.ts.map +0 -1
- package/lib/services/servicerunner.spec.js +0 -111
- package/lib/services/servicerunner.spec.js.map +0 -1
package/lib/models.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"models.d.ts","sourceRoot":"","sources":["../src/models.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,SAAS,EAAE,gBAAgB,EAAE,UAAU,EAAc,MAAM,aAAa,CAAC;AAChG,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAGhD;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IACb;;OAEG;IACH,WAAW,EAAE,MAAM,CAAC;IACpB;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;CACd;AAED;;;GAGG;AACH,MAAM,CAAC,OAAO,OAAO,WAAY,SAAQ,SAAS;IAChD;;OAEG;;IAMH;;;;;OAKG;IACH,UAAU,IAAI,OAAO;IAGrB;;OAEG;IACI,IAAI,EAAE,MAAM,CAAC;IACpB;;OAEG;IACI,MAAM,EAAE,SAAS,GAAG,SAAS,GAAG,OAAO,GAAG,QAAQ,GAAG,UAAU,GAAG,SAAS,GAAG,WAAW,CAAC;IAEjG;;OAEG;IACI,SAAS,CAAC,EAAE,MAAM,CAAC;IAE1B;;OAEG;IACI,YAAY,CAAC,EAAE,MAAM,CAAC;IAC7B;;OAEG;IACI,SAAS,CAAC,EAAE,MAAM,CAAC;IAC1B;;OAEG;IACI,GAAG,EAAE,GAAG,CAAC;IAEhB;;OAEG;IACI,cAAc,EAAE,MAAM,CAAC;IAC9B;;OAEG;IACI,OAAO,EAAE,GAAG,CAAC;IAEpB;;OAEG;IACI,aAAa,EAAE,GAAG,CAAC;IAE1B;;OAEG;IACI,IAAI,EAAE,MAAM,CAAC;IAEpB;;OAEG;IACI,SAAS,CAAC,EAAE,GAAG,EAAE,CAAC;IAEzB;;OAEG;IACI,IAAI,EAAE,MAAM,EAAE,CAAC;IAEtB;;OAEG;IACI,WAAW,EAAE,MAAM,CAAC;IAE3B;;;;OAIG;IACI,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAEhC,YAAY;IAIZ;;;OAGG;IAEU,YAAY,CAAC,OAAO,EAAE,gBAAgB;IAQnD;;;OAGG;IACI,UAAU,IAAI,MAAM;IAI3B;;;OAGG;IACU,MAAM,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,GAAE,MAAkB;IAwBvD;;;;OAIG;cACa,gBAAgB,CAAC,CAAC,SAAS,WAAW,GAAG,WAAW,EAAE,OAAO,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IAazG;;;;OAIG;IACH,OAAO,CAAC,OAAO,EAAE,MAAM;IAIvB;;;;;OAKG;IACU,QAAQ,CAAC,OAAO,EAAE,gBAAgB,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAuB1F;AAED;;;;GAIG;AACH,qBAAa,gBAAiB,SAAQ,WAAW;IAStC,WAAW,CAAC,EAAE,MAAM;IACpB,MAAM,CAAC,EAAE,MAAM;IATjB,QAAQ,EAAE,cAAc,CAAU;IACzC;;;;;OAKG;gBAEM,WAAW,CAAC,EAAE,MAAM,EACpB,MAAM,CAAC,EAAE,MAAM,EACtB,GAAG,IAAI,EAAE,GAAG,EAAE;IAMhB;;;OAGG;IACH,UAAU;CAGX;AAED;;;;GAIG;AACH,qBAAa,oBAAqB,SAAQ,WAAW;IAE1C,WAAW,EAAE,MAAM;IACnB,OAAO,EAAE,gBAAgB;IACzB,QAAQ,EAAE,cAAc;gBAFxB,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,gBAAgB,EACzB,QAAQ,GAAE,cAAuB;IAK1C;;;OAGG;IACH,UAAU;CAGX;AAED,OAAO,EAAE,WAAW,EAAE,CAAC"}
|
package/lib/models.js
DELETED
|
@@ -1,179 +0,0 @@
|
|
|
1
|
-
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
-
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
-
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4
|
-
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
|
-
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
-
};
|
|
7
|
-
import { Action, Core, CoreModel, WebContext, WebdaError } from "@webda/core";
|
|
8
|
-
import * as crypto from "crypto";
|
|
9
|
-
/**
|
|
10
|
-
* Define here a model that can be used along with Store service
|
|
11
|
-
* @WebdaModel
|
|
12
|
-
*/
|
|
13
|
-
export default class AsyncAction extends CoreModel {
|
|
14
|
-
/**
|
|
15
|
-
* Set type
|
|
16
|
-
*/
|
|
17
|
-
constructor() {
|
|
18
|
-
super();
|
|
19
|
-
this.type = this.constructor.name;
|
|
20
|
-
}
|
|
21
|
-
/**
|
|
22
|
-
* By default AsyncAction are not considered internal
|
|
23
|
-
*
|
|
24
|
-
* Internal: That execute a method or operation of Webda application framework
|
|
25
|
-
* @returns
|
|
26
|
-
*/
|
|
27
|
-
isInternal() {
|
|
28
|
-
return false;
|
|
29
|
-
}
|
|
30
|
-
getLogsLimit() {
|
|
31
|
-
return 1000;
|
|
32
|
-
}
|
|
33
|
-
/**
|
|
34
|
-
* Allow to report status for a job
|
|
35
|
-
* @param context
|
|
36
|
-
*/
|
|
37
|
-
async statusAction(context) {
|
|
38
|
-
if (!(context instanceof WebContext)) {
|
|
39
|
-
throw new Error("Only WebContext can call this action");
|
|
40
|
-
}
|
|
41
|
-
await this.update(await context.getRequestBody(), context.getHttpContext().getUniqueHeader("X-Job-Time"));
|
|
42
|
-
context.write({ ...this, logs: undefined, statusDetails: undefined });
|
|
43
|
-
}
|
|
44
|
-
/**
|
|
45
|
-
* Return the hook url if empty fallback to the service url
|
|
46
|
-
* @returns
|
|
47
|
-
*/
|
|
48
|
-
getHookUrl() {
|
|
49
|
-
return Core.get().getApiUrl(`${Core.get().getRouter().getModelUrl(this)}/${this.uuid}`);
|
|
50
|
-
}
|
|
51
|
-
/**
|
|
52
|
-
*
|
|
53
|
-
* @param body
|
|
54
|
-
*/
|
|
55
|
-
async update(body, time = undefined) {
|
|
56
|
-
if (body.logs && Array.isArray(body.logs)) {
|
|
57
|
-
this.logs ?? (this.logs = []);
|
|
58
|
-
this.logs.push(...body.logs);
|
|
59
|
-
// Prevent having too much logs
|
|
60
|
-
if (this.logs.length > this.getLogsLimit()) {
|
|
61
|
-
this.logs = this.logs.slice(-1 * this.getLogsLimit());
|
|
62
|
-
}
|
|
63
|
-
}
|
|
64
|
-
this._lastJobUpdate = Number.parseInt(time || "0") || 0;
|
|
65
|
-
if (Date.now() - this._lastJobUpdate > 60) {
|
|
66
|
-
this._lastJobUpdate = Date.now();
|
|
67
|
-
}
|
|
68
|
-
await this.patch({
|
|
69
|
-
_lastJobUpdate: this._lastJobUpdate,
|
|
70
|
-
logs: this.logs,
|
|
71
|
-
status: body.status || this.status,
|
|
72
|
-
errorMessage: body.errorMessage || this.errorMessage,
|
|
73
|
-
statusDetails: body.statusDetails || this.statusDetails,
|
|
74
|
-
results: body.results || this.results
|
|
75
|
-
});
|
|
76
|
-
return this;
|
|
77
|
-
}
|
|
78
|
-
/**
|
|
79
|
-
*
|
|
80
|
-
* @param context
|
|
81
|
-
* @param action
|
|
82
|
-
*/
|
|
83
|
-
async verifyJobRequest(context) {
|
|
84
|
-
const jobTime = context.getHttpContext().getUniqueHeader("X-Job-Time");
|
|
85
|
-
const jobHash = context.getHttpContext().getUniqueHeader("X-Job-Hash");
|
|
86
|
-
// Ensure hash mac is correct
|
|
87
|
-
if (jobHash !== this.getHmac(jobTime)) {
|
|
88
|
-
context.log("TRACE", "Invalid Job HMAC");
|
|
89
|
-
throw new WebdaError.Forbidden("Invalid Job HMAC");
|
|
90
|
-
}
|
|
91
|
-
// Set the context extension
|
|
92
|
-
context.setExtension("asyncJob", this);
|
|
93
|
-
}
|
|
94
|
-
/**
|
|
95
|
-
* Get the hmac for the job
|
|
96
|
-
* @param jobTime
|
|
97
|
-
* @returns
|
|
98
|
-
*/
|
|
99
|
-
getHmac(jobTime) {
|
|
100
|
-
return crypto.createHmac("sha256", this.__secretKey).update(jobTime).digest("hex");
|
|
101
|
-
}
|
|
102
|
-
/**
|
|
103
|
-
* Ensure action hook is ok
|
|
104
|
-
* @param context
|
|
105
|
-
* @param _action
|
|
106
|
-
* @returns
|
|
107
|
-
*/
|
|
108
|
-
async checkAct(context, action) {
|
|
109
|
-
// Only action runner can call status action
|
|
110
|
-
if ("status" === action) {
|
|
111
|
-
if (context instanceof WebContext) {
|
|
112
|
-
if (context.getHttpContext().getUniqueHeader("X-Job-Hash") &&
|
|
113
|
-
context.getHttpContext().getUniqueHeader("X-Job-Time")) {
|
|
114
|
-
return await this.verifyJobRequest(context);
|
|
115
|
-
}
|
|
116
|
-
}
|
|
117
|
-
throw new WebdaError.Forbidden("Only Job runner can call this action");
|
|
118
|
-
}
|
|
119
|
-
// Allow to retrieve/update binaries by action runner
|
|
120
|
-
if (["get_binary", "attach_binary", "update_binary_metadata"].includes(action) &&
|
|
121
|
-
context.getHttpContext()?.getUniqueHeader("X-Job-Hash") &&
|
|
122
|
-
context.getHttpContext()?.getUniqueHeader("X-Job-Time")) {
|
|
123
|
-
return await this.verifyJobRequest(context);
|
|
124
|
-
}
|
|
125
|
-
return super.checkAct(context, action);
|
|
126
|
-
}
|
|
127
|
-
}
|
|
128
|
-
__decorate([
|
|
129
|
-
Action({ name: "status", openapi: { hidden: true } })
|
|
130
|
-
], AsyncAction.prototype, "statusAction", null);
|
|
131
|
-
/**
|
|
132
|
-
* Define a Webda Async Action
|
|
133
|
-
*
|
|
134
|
-
* @WebdaModel
|
|
135
|
-
*/
|
|
136
|
-
export class AsyncWebdaAction extends AsyncAction {
|
|
137
|
-
/**
|
|
138
|
-
*
|
|
139
|
-
* @param serviceName service to call
|
|
140
|
-
* @param method method to call
|
|
141
|
-
* @param arguments to call with the method
|
|
142
|
-
*/
|
|
143
|
-
constructor(serviceName, method, ...args) {
|
|
144
|
-
super();
|
|
145
|
-
this.serviceName = serviceName;
|
|
146
|
-
this.method = method;
|
|
147
|
-
this.logLevel = "INFO";
|
|
148
|
-
this.arguments = args;
|
|
149
|
-
}
|
|
150
|
-
/**
|
|
151
|
-
* Execute a serviceName.method(...args) so this is internal
|
|
152
|
-
* @returns
|
|
153
|
-
*/
|
|
154
|
-
isInternal() {
|
|
155
|
-
return true;
|
|
156
|
-
}
|
|
157
|
-
}
|
|
158
|
-
/**
|
|
159
|
-
* Operation called asynchronously
|
|
160
|
-
*
|
|
161
|
-
* @WebdaModel
|
|
162
|
-
*/
|
|
163
|
-
export class AsyncOperationAction extends AsyncAction {
|
|
164
|
-
constructor(operationId, context, logLevel = "INFO") {
|
|
165
|
-
super();
|
|
166
|
-
this.operationId = operationId;
|
|
167
|
-
this.context = context;
|
|
168
|
-
this.logLevel = logLevel;
|
|
169
|
-
}
|
|
170
|
-
/**
|
|
171
|
-
* Execute a webda.callOperation(context ,id) so this is internal
|
|
172
|
-
* @returns
|
|
173
|
-
*/
|
|
174
|
-
isInternal() {
|
|
175
|
-
return true;
|
|
176
|
-
}
|
|
177
|
-
}
|
|
178
|
-
export { AsyncAction };
|
|
179
|
-
//# sourceMappingURL=models.js.map
|
package/lib/models.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"models.js","sourceRoot":"","sources":["../src/models.ts"],"names":[],"mappings":"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"}
|
package/lib/models.spec.d.ts
DELETED
package/lib/models.spec.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"models.spec.d.ts","sourceRoot":"","sources":["../src/models.spec.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAA2D,MAAM,aAAa,CAAC;AAGhG,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAEvC,qBAGa,iBAAkB,SAAQ,WAAW;IAChD,MAAM,EAAE,QAAQ,CAAC;IACX,GAAG;CAGV"}
|
package/lib/models.spec.js
DELETED
|
@@ -1,64 +0,0 @@
|
|
|
1
|
-
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
-
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
-
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4
|
-
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
|
-
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
-
};
|
|
7
|
-
import { suite, test } from "@testdeck/mocha";
|
|
8
|
-
import { Expose, FileBinary, OperationContext, RESTDomainService } from "@webda/core";
|
|
9
|
-
import { WebdaSimpleTest } from "@webda/core/lib/test.js";
|
|
10
|
-
import * as assert from "assert";
|
|
11
|
-
import { AsyncAction } from "./models.js";
|
|
12
|
-
let CustomAsyncAction = class CustomAsyncAction extends AsyncAction {
|
|
13
|
-
async run() {
|
|
14
|
-
return "ok";
|
|
15
|
-
}
|
|
16
|
-
};
|
|
17
|
-
CustomAsyncAction = __decorate([
|
|
18
|
-
Expose({
|
|
19
|
-
root: true
|
|
20
|
-
})
|
|
21
|
-
], CustomAsyncAction);
|
|
22
|
-
export { CustomAsyncAction };
|
|
23
|
-
let ModelTest = class ModelTest extends WebdaSimpleTest {
|
|
24
|
-
async before() {
|
|
25
|
-
await super.before();
|
|
26
|
-
this.registerModel(CustomAsyncAction, "Webda/CustomAsyncAction", {
|
|
27
|
-
binaries: [
|
|
28
|
-
{
|
|
29
|
-
attribute: "inputs",
|
|
30
|
-
cardinality: "MANY"
|
|
31
|
-
}
|
|
32
|
-
]
|
|
33
|
-
});
|
|
34
|
-
await this.registerService(new FileBinary(this.webda, "file", { folder: "/tmp", models: { "*": ["*"] } }))
|
|
35
|
-
.resolve()
|
|
36
|
-
.init();
|
|
37
|
-
await this.registerService(new RESTDomainService(this.webda, "rest")).resolve().init();
|
|
38
|
-
}
|
|
39
|
-
testRoutes() {
|
|
40
|
-
const routes = this.webda.getRouter().getRoutes();
|
|
41
|
-
assert.notStrictEqual(routes["/customAsyncActions/{uuid}/inputs"], undefined);
|
|
42
|
-
}
|
|
43
|
-
async testCanAct() {
|
|
44
|
-
const action = await AsyncAction.create({ __secretKey: "test" });
|
|
45
|
-
const context = await this.newContext();
|
|
46
|
-
await assert.rejects(() => action.checkAct(context, "get"), /This model does not support any action: override canAct/);
|
|
47
|
-
await assert.rejects(() => action.checkAct(context, "status"), /Only Job runner can call this action/);
|
|
48
|
-
await assert.rejects(() => action.checkAct(context, "get_binary"), /This model does not support any action: override canAct/);
|
|
49
|
-
context.getHttpContext().headers["x-job-hash"] = "hash";
|
|
50
|
-
context.getHttpContext().headers["x-job-time"] = "time";
|
|
51
|
-
await assert.rejects(() => action.checkAct(context, "get_binary"), /Invalid Job HMAC/);
|
|
52
|
-
await assert.rejects(() => action.statusAction(new OperationContext(this.webda)), /Only WebContext can call this action/);
|
|
53
|
-
}
|
|
54
|
-
};
|
|
55
|
-
__decorate([
|
|
56
|
-
test
|
|
57
|
-
], ModelTest.prototype, "testRoutes", null);
|
|
58
|
-
__decorate([
|
|
59
|
-
test
|
|
60
|
-
], ModelTest.prototype, "testCanAct", null);
|
|
61
|
-
ModelTest = __decorate([
|
|
62
|
-
suite
|
|
63
|
-
], ModelTest);
|
|
64
|
-
//# sourceMappingURL=models.spec.js.map
|
package/lib/models.spec.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"models.spec.js","sourceRoot":"","sources":["../src/models.spec.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"asyncjobservice.d.ts","sourceRoot":"","sources":["../../src/services/asyncjobservice.ts"],"names":[],"mappings":"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"}
|