@varius.io/framework 12.3.4 → 12.3.5
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/build/integrations/http/auth.js +8 -17
- package/build/integrations/http/auth.js.map +1 -1
- package/build/integrations/http/express.js +8 -18
- package/build/integrations/http/express.js.map +1 -1
- package/build/integrations/http/lambda.js +7 -16
- package/build/integrations/http/lambda.js.map +1 -1
- package/build/integrations/http/responses.d.ts +1 -0
- package/build/integrations/http/responses.d.ts.map +1 -1
- package/build/integrations/http/responses.js +16 -3
- package/build/integrations/http/responses.js.map +1 -1
- package/build/integrations/http/validate.js +59 -76
- package/build/integrations/http/validate.js.map +1 -1
- package/build/integrations/sqs/lambda.js +7 -18
- package/build/integrations/sqs/lambda.js.map +1 -1
- package/build/integrations/sqs/sqs-lambda.js +49 -62
- package/build/integrations/sqs/sqs-lambda.js.map +1 -1
- package/build/integrations/sqs/validate-param.js +22 -35
- package/build/integrations/sqs/validate-param.js.map +1 -1
- package/build/services/analytics.js +19 -34
- package/build/services/analytics.js.map +1 -1
- package/build/services/api.js +75 -90
- package/build/services/api.js.map +1 -1
- package/build/services/atomic-counter.js +68 -85
- package/build/services/atomic-counter.js.map +1 -1
- package/build/services/billing.js +50 -75
- package/build/services/billing.js.map +1 -1
- package/build/services/blockv/actions.js +26 -41
- package/build/services/blockv/actions.js.map +1 -1
- package/build/services/blockv/apps.js +5 -16
- package/build/services/blockv/apps.js.map +1 -1
- package/build/services/blockv/auth.js +14 -25
- package/build/services/blockv/auth.js.map +1 -1
- package/build/services/blockv/captcha.js +5 -16
- package/build/services/blockv/captcha.js.map +1 -1
- package/build/services/blockv/faces.js +13 -28
- package/build/services/blockv/faces.js.map +1 -1
- package/build/services/blockv/index.js +17 -28
- package/build/services/blockv/index.js.map +1 -1
- package/build/services/blockv/user.js +15 -30
- package/build/services/blockv/user.js.map +1 -1
- package/build/services/blockv/variations.js +9 -22
- package/build/services/blockv/variations.js.map +1 -1
- package/build/services/blockv/vatoms.js +239 -278
- package/build/services/blockv/vatoms.js.map +1 -1
- package/build/services/businesses.js +39 -62
- package/build/services/businesses.js.map +1 -1
- package/build/services/distribution.js +6 -19
- package/build/services/distribution.js.map +1 -1
- package/build/services/events.js +29 -35
- package/build/services/events.js.map +1 -1
- package/build/services/iot.js +31 -42
- package/build/services/iot.js.map +1 -1
- package/build/services/kinesis.js +8 -19
- package/build/services/kinesis.js.map +1 -1
- package/build/services/kong.js +159 -184
- package/build/services/kong.js.map +1 -1
- package/build/services/loyalty.js +14 -27
- package/build/services/loyalty.js.map +1 -1
- package/build/services/merchants.js +14 -26
- package/build/services/merchants.js.map +1 -1
- package/build/services/nonce.js +24 -39
- package/build/services/nonce.js.map +1 -1
- package/build/services/old_blockv.js +129 -166
- package/build/services/old_blockv.js.map +1 -1
- package/build/services/points.js +113 -147
- package/build/services/points.js.map +1 -1
- package/build/services/postgres.d.ts +1 -1
- package/build/services/postgres.d.ts.map +1 -1
- package/build/services/postgres.js +127 -161
- package/build/services/postgres.js.map +1 -1
- package/build/services/prizes.js +12 -27
- package/build/services/prizes.js.map +1 -1
- package/build/services/providers.js +33 -48
- package/build/services/providers.js.map +1 -1
- package/build/services/resources.js +21 -32
- package/build/services/resources.js.map +1 -1
- package/build/services/scheduler.js +14 -33
- package/build/services/scheduler.js.map +1 -1
- package/build/services/secret.js +12 -23
- package/build/services/secret.js.map +1 -1
- package/build/services/studio.js +95 -134
- package/build/services/studio.js.map +1 -1
- package/build/services/user.js +136 -156
- package/build/services/user.js.map +1 -1
- package/build/services/viewers.js +23 -36
- package/build/services/viewers.js.map +1 -1
- package/build/services/workers.js +54 -71
- package/build/services/workers.js.map +1 -1
- package/build/services/ws.js +8 -19
- package/build/services/ws.js.map +1 -1
- package/build/utils/analytics.js +15 -26
- package/build/utils/analytics.js.map +1 -1
- package/build/utils/emitter.js +9 -20
- package/build/utils/emitter.js.map +1 -1
- package/build/utils/logger.js +6 -7
- package/build/utils/logger.js.map +1 -1
- package/package.json +1 -1
|
@@ -1,13 +1,4 @@
|
|
|
1
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
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
3
|
exports.copy = void 0;
|
|
13
4
|
const AWS = require("aws-sdk");
|
|
@@ -22,29 +13,27 @@ function validate() {
|
|
|
22
13
|
throw Error("Environment variable 'RESOURCES_API_KEY' not defined");
|
|
23
14
|
}
|
|
24
15
|
}
|
|
25
|
-
function copy(sourceBusinessId, sourceFileName, targetBusinessId, targetFileName) {
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
return res.body;
|
|
47
|
-
});
|
|
16
|
+
async function copy(sourceBusinessId, sourceFileName, targetBusinessId, targetFileName) {
|
|
17
|
+
validate();
|
|
18
|
+
const payload = {
|
|
19
|
+
sourceBusinessId,
|
|
20
|
+
sourceFileName,
|
|
21
|
+
};
|
|
22
|
+
const options = {
|
|
23
|
+
apiBase,
|
|
24
|
+
apiKey,
|
|
25
|
+
method: "POST",
|
|
26
|
+
headers: {
|
|
27
|
+
"Content-Type": "application/json",
|
|
28
|
+
apikey: apiKey,
|
|
29
|
+
},
|
|
30
|
+
body: payload,
|
|
31
|
+
};
|
|
32
|
+
const res = await (0, api_1.apiFetch)(`/b/${targetBusinessId}/resources/${targetFileName}/copy`, options);
|
|
33
|
+
if (res.status !== 201) {
|
|
34
|
+
throw new Error(`Error in copying resrouce to business ${targetBusinessId} and filename ${targetFileName}, req: ${JSON.stringify(payload)}, res: ${JSON.stringify(res.body)}`);
|
|
35
|
+
}
|
|
36
|
+
return res.body;
|
|
48
37
|
}
|
|
49
38
|
exports.copy = copy;
|
|
50
39
|
//# sourceMappingURL=resources.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resources.js","sourceRoot":"","sources":["../../src/services/resources.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"resources.js","sourceRoot":"","sources":["../../src/services/resources.ts"],"names":[],"mappings":";;;AAAA,MAAM,GAAG,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;AAC/B,+BAAiC;AAEjC,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,kBAAmB,CAAC;AAChD,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,iBAAkB,CAAC;AAE9C,SAAS,QAAQ;IAChB,IAAI,CAAC,OAAO,EAAE;QACb,MAAM,KAAK,CAAC,uDAAuD,CAAC,CAAC;KACrE;IACD,IAAI,CAAC,MAAM,EAAE;QACZ,MAAM,KAAK,CAAC,sDAAsD,CAAC,CAAC;KACpE;AACF,CAAC;AAEM,KAAK,UAAU,IAAI,CAAC,gBAAwB,EAAE,cAAsB,EAAE,gBAAwB,EAAE,cAAsB;IAE5H,QAAQ,EAAE,CAAC;IACX,MAAM,OAAO,GAAG;QACf,gBAAgB;QAChB,cAAc;KACd,CAAC;IAEF,MAAM,OAAO,GAAG;QACf,OAAO;QACP,MAAM;QACN,MAAM,EAAE,MAAM;QACd,OAAO,EAAE;YACR,cAAc,EAAE,kBAAkB;YAClC,MAAM,EAAE,MAAM;SACd;QACD,IAAI,EAAE,OAAO;KACb,CAAC;IAEF,MAAM,GAAG,GAAG,MAAM,IAAA,cAAQ,EAAC,MAAM,gBAAgB,cAAc,cAAc,OAAO,EAAE,OAAO,CAAC,CAAC;IAC/F,IAAI,GAAG,CAAC,MAAM,KAAK,GAAG,EAAE;QACvB,MAAM,IAAI,KAAK,CAAC,yCAAyC,gBAAgB,iBAAiB,cAAc,UAAU,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,UAAU,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;KAC/K;IACD,OAAO,GAAG,CAAC,IAAI,CAAC;AACjB,CAAC;AAxBD,oBAwBC"}
|
|
@@ -1,13 +1,4 @@
|
|
|
1
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
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
3
|
exports.updateJob = exports.updateJobStatus = exports.deleteJob = exports.createJob = exports.getJob = exports.TriggerType = void 0;
|
|
13
4
|
const assert = require("assert");
|
|
@@ -31,38 +22,28 @@ ax.interceptors.request.use((config) => {
|
|
|
31
22
|
assert.notStrictEqual(apiKey, undefined);
|
|
32
23
|
return config;
|
|
33
24
|
});
|
|
34
|
-
function getJob(id) {
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
return data;
|
|
38
|
-
});
|
|
25
|
+
async function getJob(id) {
|
|
26
|
+
const { data } = await ax.get(`/jobs/${id}`);
|
|
27
|
+
return data;
|
|
39
28
|
}
|
|
40
29
|
exports.getJob = getJob;
|
|
41
|
-
function createJob(job) {
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
return data;
|
|
45
|
-
});
|
|
30
|
+
async function createJob(job) {
|
|
31
|
+
const { data } = await ax.post("/jobs", job);
|
|
32
|
+
return data;
|
|
46
33
|
}
|
|
47
34
|
exports.createJob = createJob;
|
|
48
|
-
function deleteJob(id) {
|
|
49
|
-
|
|
50
|
-
yield ax.delete(`/jobs/${id}`);
|
|
51
|
-
});
|
|
35
|
+
async function deleteJob(id) {
|
|
36
|
+
await ax.delete(`/jobs/${id}`);
|
|
52
37
|
}
|
|
53
38
|
exports.deleteJob = deleteJob;
|
|
54
|
-
function updateJobStatus(id, status) {
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
return data;
|
|
58
|
-
});
|
|
39
|
+
async function updateJobStatus(id, status) {
|
|
40
|
+
const { data } = await ax.patch(`/jobs/${id}`, { status });
|
|
41
|
+
return data;
|
|
59
42
|
}
|
|
60
43
|
exports.updateJobStatus = updateJobStatus;
|
|
61
|
-
function updateJob(id, status, event) {
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
return data;
|
|
65
|
-
});
|
|
44
|
+
async function updateJob(id, status, event) {
|
|
45
|
+
const { data } = await ax.patch(`/jobs/${id}`, { status, event });
|
|
46
|
+
return data;
|
|
66
47
|
}
|
|
67
48
|
exports.updateJob = updateJob;
|
|
68
49
|
//# sourceMappingURL=scheduler.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scheduler.js","sourceRoot":"","sources":["../../src/services/scheduler.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"scheduler.js","sourceRoot":"","sources":["../../src/services/scheduler.ts"],"names":[],"mappings":";;;AAAA,iCAAiC;AACjC,iCAA0B;AAE1B,IAAY,WAIX;AAJD,WAAY,WAAW;IACtB,4BAAa,CAAA;IACb,sCAAuB,CAAA;IACvB,oCAAqB,CAAA;AACtB,CAAC,EAJW,WAAW,GAAX,mBAAW,KAAX,mBAAW,QAItB;AAkCD,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC;AAC/C,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC;AAE7C,MAAM,EAAE,GAAG,eAAK,CAAC,MAAM,CAAC;IACvB,OAAO,EAAE,OAAO;IAChB,OAAO,EAAE;QACR,WAAW,EAAE,MAAM;KACnB;CACD,CAAC,CAAC;AAEH,EAAE,CAAC,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE;IACtC,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;IAC1C,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IACzC,OAAO,MAAM,CAAC;AACf,CAAC,CAAC,CAAC;AAEI,KAAK,UAAU,MAAM,CAAC,EAAU;IACtC,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,EAAE,CAAC,GAAG,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;IAC7C,OAAO,IAAI,CAAC;AACb,CAAC;AAHD,wBAGC;AAEM,KAAK,UAAU,SAAS,CAAC,GAAQ;IACvC,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,EAAE,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;IAC7C,OAAO,IAAI,CAAC;AACb,CAAC;AAHD,8BAGC;AAEM,KAAK,UAAU,SAAS,CAAC,EAAU;IACzC,MAAM,EAAE,CAAC,MAAM,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;AAChC,CAAC;AAFD,8BAEC;AAEM,KAAK,UAAU,eAAe,CAAC,EAAU,EAAE,MAAc;IAC/D,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,EAAE,CAAC,KAAK,CAAC,SAAS,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;IAC3D,OAAO,IAAI,CAAC;AACb,CAAC;AAHD,0CAGC;AAEM,KAAK,UAAU,SAAS,CAAC,EAAU,EAAE,MAAc,EAAE,KAAqB;IAChF,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,EAAE,CAAC,KAAK,CAAC,SAAS,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;IAClE,OAAO,IAAI,CAAC;AACb,CAAC;AAHD,8BAGC"}
|
package/build/services/secret.js
CHANGED
|
@@ -1,13 +1,4 @@
|
|
|
1
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
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
3
|
exports.getSecret = void 0;
|
|
13
4
|
const logger = require("../utils/logger");
|
|
@@ -24,21 +15,19 @@ function validate() {
|
|
|
24
15
|
}
|
|
25
16
|
}
|
|
26
17
|
const secretCache = new NodeCache({ stdTTL: 60, checkperiod: 10 });
|
|
27
|
-
function getSecret(secretId) {
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
method: "get",
|
|
36
|
-
});
|
|
37
|
-
if (res.status !== 200) {
|
|
38
|
-
throw new Error(`Could not get secret for secret id ${secretId} res: ${JSON.stringify(res.body)}`);
|
|
39
|
-
}
|
|
40
|
-
return res.body;
|
|
18
|
+
async function getSecret(secretId) {
|
|
19
|
+
logger.debug("getSecret", secretId);
|
|
20
|
+
validate();
|
|
21
|
+
const res = await (0, api_1.apiFetch)(`/secrets/${secretId}`, {
|
|
22
|
+
cache: secretCache,
|
|
23
|
+
apiBase,
|
|
24
|
+
apiKey,
|
|
25
|
+
method: "get",
|
|
41
26
|
});
|
|
27
|
+
if (res.status !== 200) {
|
|
28
|
+
throw new Error(`Could not get secret for secret id ${secretId} res: ${JSON.stringify(res.body)}`);
|
|
29
|
+
}
|
|
30
|
+
return res.body;
|
|
42
31
|
}
|
|
43
32
|
exports.getSecret = getSecret;
|
|
44
33
|
//# sourceMappingURL=secret.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"secret.js","sourceRoot":"","sources":["../../src/services/secret.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"secret.js","sourceRoot":"","sources":["../../src/services/secret.ts"],"names":[],"mappings":";;;AAAA,0CAA0C;AAC1C,+BAAiC;AAEjC,MAAM,SAAS,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;AAExC,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,gBAAiB,CAAC;AAC9C,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,eAAgB,CAAC;AAa5C,SAAS,QAAQ;IAChB,IAAI,CAAC,OAAO,EAAE;QACb,MAAM,KAAK,CAAC,qDAAqD,CAAC,CAAC;KACnE;IACD,IAAI,CAAC,MAAM,EAAE;QACZ,MAAM,KAAK,CAAC,oDAAoD,CAAC,CAAC;KAClE;AACF,CAAC;AAED,MAAM,WAAW,GAAG,IAAI,SAAS,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,WAAW,EAAE,EAAE,EAAE,CAAC,CAAC;AAC5D,KAAK,UAAU,SAAS,CAAC,QAAgB;IAC/C,MAAM,CAAC,KAAK,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;IACpC,QAAQ,EAAE,CAAC;IAEX,MAAM,GAAG,GAAG,MAAM,IAAA,cAAQ,EAAC,YAAY,QAAQ,EAAE,EAAE;QAClD,KAAK,EAAE,WAAW;QAClB,OAAO;QACP,MAAM;QACN,MAAM,EAAE,KAAK;KACb,CAAC,CAAC;IAEH,IAAI,GAAG,CAAC,MAAM,KAAK,GAAG,EAAE;QACvB,MAAM,IAAI,KAAK,CAAC,sCAAsC,QAAQ,SAAS,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;KACnG;IAED,OAAO,GAAG,CAAC,IAAI,CAAC;AACjB,CAAC;AAhBD,8BAgBC"}
|
package/build/services/studio.js
CHANGED
|
@@ -1,13 +1,4 @@
|
|
|
1
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
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
3
|
exports.addVatomsToPool = exports.getVatomFromPool = exports.searchRules = exports.getRules = exports.getLatestCampaignByGroupId = exports.getBusiness = exports.getBusinessProviderInfo = exports.getObjectDefinitionProviderInfo = exports.getCampaignObjectDefinitions = exports.getObjectDefinitionBehaviors = exports.getCampaignObjectProviderInfo = exports.getRuleSummary = exports.getObjectDefinition = exports.memo = void 0;
|
|
13
4
|
const axios_1 = require("axios");
|
|
@@ -18,179 +9,149 @@ const objectDefinitionCache = new NodeCache({ stdTTL: 600, checkperiod: 200 });
|
|
|
18
9
|
const ax = axios_1.default.create({
|
|
19
10
|
baseURL: process.env.STUDIO_API_BASE,
|
|
20
11
|
});
|
|
21
|
-
const memo = (cache, key, fn) =>
|
|
12
|
+
const memo = async (cache, key, fn) => {
|
|
22
13
|
const fromCache = cache.get(key);
|
|
23
14
|
if (fromCache)
|
|
24
15
|
return fromCache;
|
|
25
|
-
const data =
|
|
16
|
+
const data = await fn();
|
|
26
17
|
cache.set(key, data);
|
|
27
18
|
return data;
|
|
28
|
-
}
|
|
19
|
+
};
|
|
29
20
|
exports.memo = memo;
|
|
30
|
-
function getObjectDefinition(businessId, objectDefinitionId) {
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
})).data;
|
|
38
|
-
}));
|
|
21
|
+
async function getObjectDefinition(businessId, objectDefinitionId) {
|
|
22
|
+
const path = `/b/${businessId}/object-definitions/${objectDefinitionId}`;
|
|
23
|
+
return await (0, exports.memo)(objectDefinitionCache, path, async () => {
|
|
24
|
+
const { access_token } = await (0, user_1.getClientCredentialsToken)("profile");
|
|
25
|
+
return (await ax.get(path, {
|
|
26
|
+
headers: { authorization: `Bearer ${access_token}` },
|
|
27
|
+
})).data;
|
|
39
28
|
});
|
|
40
29
|
}
|
|
41
30
|
exports.getObjectDefinition = getObjectDefinition;
|
|
42
31
|
const ruleSummaryCache = new NodeCache({ stdTTL: 300, checkperiod: 20 });
|
|
43
|
-
function getRuleSummary(businessId, campaignId, objectDefinitionId, triggerId) {
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
})).data;
|
|
51
|
-
}));
|
|
32
|
+
async function getRuleSummary(businessId, campaignId, objectDefinitionId, triggerId) {
|
|
33
|
+
const path = `/b/${businessId}/campaigns/${campaignId}/object-definitions/${objectDefinitionId}/triggers/${triggerId}/rules`;
|
|
34
|
+
return await (0, exports.memo)(ruleSummaryCache, path, async () => {
|
|
35
|
+
const { access_token } = await (0, user_1.getClientCredentialsToken)("profile");
|
|
36
|
+
return (await ax.get(path, {
|
|
37
|
+
headers: { authorization: `Bearer ${access_token}` },
|
|
38
|
+
})).data;
|
|
52
39
|
});
|
|
53
40
|
}
|
|
54
41
|
exports.getRuleSummary = getRuleSummary;
|
|
55
42
|
const providerInfoCache = new NodeCache({ stdTTL: 300, checkperiod: 20 });
|
|
56
|
-
function getCampaignObjectProviderInfo(objectDefId, campaignId) {
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
})).data;
|
|
64
|
-
}));
|
|
43
|
+
async function getCampaignObjectProviderInfo(objectDefId, campaignId) {
|
|
44
|
+
const path = `/b/todo/campaigns/${campaignId}/object-definitions/${objectDefId}/provider-info`;
|
|
45
|
+
return await (0, exports.memo)(providerInfoCache, path, async () => {
|
|
46
|
+
const { access_token } = await (0, user_1.getClientCredentialsToken)("profile");
|
|
47
|
+
return (await ax.get(path, {
|
|
48
|
+
headers: { authorization: `Bearer ${access_token}` },
|
|
49
|
+
})).data;
|
|
65
50
|
});
|
|
66
51
|
}
|
|
67
52
|
exports.getCampaignObjectProviderInfo = getCampaignObjectProviderInfo;
|
|
68
53
|
const objectBehaviorCache = new NodeCache({ stdTTL: 300, checkperiod: 20 });
|
|
69
|
-
function getObjectDefinitionBehaviors(objectDefId, campaignId) {
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
})).data;
|
|
77
|
-
}));
|
|
54
|
+
async function getObjectDefinitionBehaviors(objectDefId, campaignId) {
|
|
55
|
+
const path = `/b/todo/campaigns/${campaignId}/object-definitions/${objectDefId}/behaviors`;
|
|
56
|
+
return await (0, exports.memo)(objectBehaviorCache, path, async () => {
|
|
57
|
+
const { access_token } = await (0, user_1.getClientCredentialsToken)("profile");
|
|
58
|
+
return (await ax.get(path, {
|
|
59
|
+
headers: { authorization: `Bearer ${access_token}` },
|
|
60
|
+
})).data;
|
|
78
61
|
});
|
|
79
62
|
}
|
|
80
63
|
exports.getObjectDefinitionBehaviors = getObjectDefinitionBehaviors;
|
|
81
64
|
const campaignObjectDefinitionCache = new NodeCache({ stdTTL: 300, checkperiod: 20 });
|
|
82
|
-
function getCampaignObjectDefinitions(campaignId, behaviorId, excludedBehaviorId) {
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
})).data;
|
|
95
|
-
}));
|
|
65
|
+
async function getCampaignObjectDefinitions(campaignId, behaviorId, excludedBehaviorId) {
|
|
66
|
+
const p = new URLSearchParams();
|
|
67
|
+
if (behaviorId)
|
|
68
|
+
p.set("behaviorId", behaviorId);
|
|
69
|
+
if (excludedBehaviorId)
|
|
70
|
+
p.set("excludedBehaviorId", excludedBehaviorId);
|
|
71
|
+
const path = `/b/todo/campaigns/${campaignId}/object-definitions?${p.toString()}`;
|
|
72
|
+
return await (0, exports.memo)(campaignObjectDefinitionCache, path, async () => {
|
|
73
|
+
const { access_token } = await (0, user_1.getClientCredentialsToken)("profile");
|
|
74
|
+
return (await ax.get(path, {
|
|
75
|
+
headers: { authorization: `Bearer ${access_token}` },
|
|
76
|
+
})).data;
|
|
96
77
|
});
|
|
97
78
|
}
|
|
98
79
|
exports.getCampaignObjectDefinitions = getCampaignObjectDefinitions;
|
|
99
80
|
const objectDefinitionProviderInfo = new NodeCache({ stdTTL: 300, checkperiod: 20 });
|
|
100
|
-
function getObjectDefinitionProviderInfo(campaignId, objectDefinitionId, businessId) {
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
})).data;
|
|
108
|
-
}));
|
|
81
|
+
async function getObjectDefinitionProviderInfo(campaignId, objectDefinitionId, businessId) {
|
|
82
|
+
const path = `/b/${businessId}/campaigns/${campaignId}/object-definitions/${objectDefinitionId}/provider-info`;
|
|
83
|
+
return await (0, exports.memo)(objectDefinitionProviderInfo, path, async () => {
|
|
84
|
+
const { access_token } = await (0, user_1.getClientCredentialsToken)("profile");
|
|
85
|
+
return (await ax.get(path, {
|
|
86
|
+
headers: { authorization: `Bearer ${access_token}` },
|
|
87
|
+
})).data;
|
|
109
88
|
});
|
|
110
89
|
}
|
|
111
90
|
exports.getObjectDefinitionProviderInfo = getObjectDefinitionProviderInfo;
|
|
112
|
-
function getBusinessProviderInfo(token, businessId) {
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
headers: { authorization: `Bearer ${token}` },
|
|
118
|
-
})).data;
|
|
119
|
-
}));
|
|
120
|
-
});
|
|
91
|
+
async function getBusinessProviderInfo(token, businessId) {
|
|
92
|
+
const path = `/b/${businessId}/provider-info`;
|
|
93
|
+
return await (0, exports.memo)(providerInfoCache, path, async () => (await ax.get(path, {
|
|
94
|
+
headers: { authorization: `Bearer ${token}` },
|
|
95
|
+
})).data);
|
|
121
96
|
}
|
|
122
97
|
exports.getBusinessProviderInfo = getBusinessProviderInfo;
|
|
123
98
|
const businessCache = new NodeCache({ stdTTL: 300, checkperiod: 20 });
|
|
124
|
-
function getBusiness(businessId) {
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
headers: { authorization: `Bearer ${access_token}` },
|
|
131
|
-
})).data;
|
|
132
|
-
}));
|
|
133
|
-
});
|
|
99
|
+
async function getBusiness(businessId) {
|
|
100
|
+
const path = `/b/${businessId}`;
|
|
101
|
+
const { access_token } = await (0, user_1.getClientCredentialsToken)("profile");
|
|
102
|
+
return await (0, exports.memo)(businessCache, path, async () => (await ax.get(path, {
|
|
103
|
+
headers: { authorization: `Bearer ${access_token}` },
|
|
104
|
+
})).data);
|
|
134
105
|
}
|
|
135
106
|
exports.getBusiness = getBusiness;
|
|
136
|
-
function getLatestCampaignByGroupId(token, campaignGroupId) {
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
headers: { authorization: `Bearer ${token}` },
|
|
141
|
-
});
|
|
142
|
-
return data;
|
|
107
|
+
async function getLatestCampaignByGroupId(token, campaignGroupId) {
|
|
108
|
+
const { data } = await ax.get(`/b/todo/campaign-groups/${campaignGroupId}`, {
|
|
109
|
+
timeout: 10000,
|
|
110
|
+
headers: { authorization: `Bearer ${token}` },
|
|
143
111
|
});
|
|
112
|
+
return data;
|
|
144
113
|
}
|
|
145
114
|
exports.getLatestCampaignByGroupId = getLatestCampaignByGroupId;
|
|
146
|
-
function getRules(token, businessId, typeId, serviceId) {
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
headers: { authorization: `Bearer ${token}` },
|
|
151
|
-
});
|
|
152
|
-
const rulesMap = {};
|
|
153
|
-
for (const rule of data.items) {
|
|
154
|
-
const uniqueId = rule.triggerConfig.campaignId + "-" + rule.triggerConfig.providerId + "-" + rule.triggerConfig.query;
|
|
155
|
-
rulesMap[uniqueId] = rule.triggerConfig;
|
|
156
|
-
}
|
|
157
|
-
logger.debug('Success - Rules config:', rulesMap);
|
|
158
|
-
return rulesMap;
|
|
115
|
+
async function getRules(token, businessId, typeId, serviceId) {
|
|
116
|
+
const { data } = await ax.get(`/b/${businessId}/providers/types/${typeId}/services/${serviceId}`, {
|
|
117
|
+
timeout: 10000,
|
|
118
|
+
headers: { authorization: `Bearer ${token}` },
|
|
159
119
|
});
|
|
120
|
+
const rulesMap = {};
|
|
121
|
+
for (const rule of data.items) {
|
|
122
|
+
const uniqueId = rule.triggerConfig.campaignId + "-" + rule.triggerConfig.providerId + "-" + rule.triggerConfig.query;
|
|
123
|
+
rulesMap[uniqueId] = rule.triggerConfig;
|
|
124
|
+
}
|
|
125
|
+
logger.debug('Success - Rules config:', rulesMap);
|
|
126
|
+
return rulesMap;
|
|
160
127
|
}
|
|
161
128
|
exports.getRules = getRules;
|
|
162
129
|
const ruleCache = new NodeCache({ stdTTL: 300, checkperiod: 20 });
|
|
163
|
-
function searchRules(token, businessId, campaignId, sourceId) {
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
return yield (0, exports.memo)(ruleCache, path, () => __awaiter(this, void 0, void 0, function* () { return (yield ax.get(path, { timeout: 10000, headers: { authorization: `Bearer ${token}` }, })).data.items; }));
|
|
167
|
-
});
|
|
130
|
+
async function searchRules(token, businessId, campaignId, sourceId) {
|
|
131
|
+
const path = `/b/${businessId}/campaigns/${campaignId}/rules/search?sourceId=${sourceId}`;
|
|
132
|
+
return await (0, exports.memo)(ruleCache, path, async () => (await ax.get(path, { timeout: 10000, headers: { authorization: `Bearer ${token}` }, })).data.items);
|
|
168
133
|
}
|
|
169
134
|
exports.searchRules = searchRules;
|
|
170
|
-
function getVatomFromPool(templateVariation, qty, leaseTtl) {
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
headers: { authorization: `Bearer ${access_token}` },
|
|
179
|
-
});
|
|
180
|
-
return data;
|
|
135
|
+
async function getVatomFromPool(templateVariation, qty, leaseTtl) {
|
|
136
|
+
const p = new URLSearchParams({ qty: qty.toString() });
|
|
137
|
+
if (leaseTtl)
|
|
138
|
+
p.set("leastTtl", leaseTtl.toString());
|
|
139
|
+
const path = `/b/todo/pool/${templateVariation}?${p.toString()}`;
|
|
140
|
+
const { access_token } = await (0, user_1.getClientCredentialsToken)("profile");
|
|
141
|
+
const { data } = await ax.get(path, {
|
|
142
|
+
headers: { authorization: `Bearer ${access_token}` },
|
|
181
143
|
});
|
|
144
|
+
return data;
|
|
182
145
|
}
|
|
183
146
|
exports.getVatomFromPool = getVatomFromPool;
|
|
184
147
|
// The ttl param is the time the DELETED (USED) vatom will stay in the pool, thus preventing it from be added back
|
|
185
|
-
function addVatomsToPool(businessId, vatoms, access_token) {
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
headers: { "Authorization": `Bearer ${access_token}` },
|
|
191
|
-
});
|
|
192
|
-
return response;
|
|
148
|
+
async function addVatomsToPool(businessId, vatoms, access_token) {
|
|
149
|
+
const path = `/b/${businessId}/pool`;
|
|
150
|
+
const response = await ax.patch(path, { vatoms }, {
|
|
151
|
+
baseURL: process.env.STUDIO_API_BASE,
|
|
152
|
+
headers: { "Authorization": `Bearer ${access_token}` },
|
|
193
153
|
});
|
|
154
|
+
return response;
|
|
194
155
|
}
|
|
195
156
|
exports.addVatomsToPool = addVatomsToPool;
|
|
196
157
|
//# sourceMappingURL=studio.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"studio.js","sourceRoot":"","sources":["../../src/services/studio.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"studio.js","sourceRoot":"","sources":["../../src/services/studio.ts"],"names":[],"mappings":"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"}
|