@varius.io/framework 10.0.9 → 11.0.1
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.
|
@@ -4,7 +4,7 @@ interface PointsUser {
|
|
|
4
4
|
channel: string;
|
|
5
5
|
points: number;
|
|
6
6
|
}
|
|
7
|
-
export declare function updateUserPoints(businessId: string, recipientUserRef: UserRef, campaignId: string, points: number, channel?: string, objectDefinitionIds?: string[]): Promise<{
|
|
7
|
+
export declare function updateUserPoints(token: string, businessId: string, recipientUserRef: UserRef, campaignId: string, points: number, channel?: string, objectDefinitionIds?: string[]): Promise<{
|
|
8
8
|
[channel: string]: number;
|
|
9
9
|
}>;
|
|
10
10
|
declare type RaffleWinner = {
|
|
@@ -12,20 +12,20 @@ declare type RaffleWinner = {
|
|
|
12
12
|
winningTicket: number;
|
|
13
13
|
winningUser: PointsUser;
|
|
14
14
|
};
|
|
15
|
-
export declare function selectRaffleWinner(businessId: string, campaignId: string, channel: string): Promise<RaffleWinner>;
|
|
16
|
-
export declare function setUserPoints(businessId: string, recipientUserRef: UserRef, campaignId: string, points: number, channel: string, updateVatoms?: boolean): Promise<{
|
|
15
|
+
export declare function selectRaffleWinner(token: string, businessId: string, campaignId: string, channel: string): Promise<RaffleWinner>;
|
|
16
|
+
export declare function setUserPoints(token: string, businessId: string, recipientUserRef: UserRef, campaignId: string, points: number, channel: string, updateVatoms?: boolean): Promise<{
|
|
17
17
|
[channel: string]: number;
|
|
18
18
|
}>;
|
|
19
|
-
export declare function getUserPoints(recipientUserRef: any, campaignId: string): Promise<{
|
|
19
|
+
export declare function getUserPoints(token: string, recipientUserRef: any, campaignId: string): Promise<{
|
|
20
20
|
[channel: string]: number;
|
|
21
21
|
}>;
|
|
22
|
-
export declare function updateCampaignPoints(businessId: string, campaignId: string, points: number, channel: string): Promise<{
|
|
22
|
+
export declare function updateCampaignPoints(token: string, businessId: string, campaignId: string, points: number, channel: string): Promise<{
|
|
23
23
|
[channel: string]: number;
|
|
24
24
|
}>;
|
|
25
|
-
export declare function getCampaignPoints(businessId: string, campaignId: string): Promise<{
|
|
25
|
+
export declare function getCampaignPoints(token: string, businessId: string, campaignId: string): Promise<{
|
|
26
26
|
[channel: string]: number;
|
|
27
27
|
}>;
|
|
28
|
-
export declare function listUsers(campaignId: string, limit: number, cursor?: string): Promise<PointsUser[]>;
|
|
29
|
-
export declare function getUser(userId: string, businessId: string, campaignId: string): Promise<PointsUser>;
|
|
28
|
+
export declare function listUsers(token: string, campaignId: string, limit: number, cursor?: string): Promise<PointsUser[]>;
|
|
29
|
+
export declare function getUser(token: string, userId: string, businessId: string, campaignId: string): Promise<PointsUser>;
|
|
30
30
|
export {};
|
|
31
31
|
//# sourceMappingURL=points.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"points.d.ts","sourceRoot":"","sources":["../../src/services/points.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,OAAO,EAAoB,MAAM,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"points.d.ts","sourceRoot":"","sources":["../../src/services/points.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,OAAO,EAAoB,MAAM,QAAQ,CAAC;AAuBnD,UAAU,UAAU;IACnB,EAAE,EAAE,MAAM,CAAC;IAKX,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;CACf;AAWD,wBAAsB,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,gBAAgB,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,EAAE,mBAAmB,CAAC,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC;IAAE,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAAA;CAAE,CAAC,CAgBjO;AAED,aAAK,YAAY,GAAG;IACnB,WAAW,EAAE,MAAM,CAAC;IACjB,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,UAAU,CAAC;CAC3B,CAAA;AAED,wBAAsB,kBAAkB,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,CAYtI;AAED,wBAAsB,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,gBAAgB,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,YAAY,UAAQ,GAAG,OAAO,CAAC;IAAE,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAAA;CAAE,CAAC,CAgBnN;AAED,wBAAsB,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,gBAAgB,EAAE,GAAG,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC;IAAE,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAAA;CAAE,CAAC,CAKpI;AAED,wBAAsB,oBAAoB,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC;IAAE,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAAA;CAAE,CAAC,CAezK;AAGD,wBAAsB,iBAAiB,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC;IAAE,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAAA;CAAE,CAAC,CAKrI;AAGD,wBAAsB,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC,CAiBxH;AAGD,wBAAsB,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,CAcxH"}
|
package/build/services/points.js
CHANGED
|
@@ -15,16 +15,12 @@ const __1 = require("..");
|
|
|
15
15
|
const assert = require("assert");
|
|
16
16
|
const user_1 = require("./user");
|
|
17
17
|
const axios_1 = require("axios");
|
|
18
|
-
const { POINTS_API_BASE
|
|
18
|
+
const { POINTS_API_BASE } = process.env;
|
|
19
19
|
const ax = axios_1.default.create({
|
|
20
20
|
baseURL: POINTS_API_BASE,
|
|
21
|
-
headers: {
|
|
22
|
-
"x-api-key": process.env.POINTS_API_KEY,
|
|
23
|
-
},
|
|
24
21
|
});
|
|
25
22
|
ax.interceptors.request.use((config) => {
|
|
26
23
|
assert.notStrictEqual(POINTS_API_BASE, undefined);
|
|
27
|
-
assert.notStrictEqual(POINTS_API_KEY, undefined);
|
|
28
24
|
return config;
|
|
29
25
|
});
|
|
30
26
|
// The purpose of this is to convert the dynamo result set to a standard one
|
|
@@ -35,12 +31,14 @@ function createPaginatedResultSet(data) {
|
|
|
35
31
|
cursor,
|
|
36
32
|
};
|
|
37
33
|
}
|
|
38
|
-
function updateUserPoints(businessId, recipientUserRef, campaignId, points, channel, objectDefinitionIds) {
|
|
34
|
+
function updateUserPoints(token, businessId, recipientUserRef, campaignId, points, channel, objectDefinitionIds) {
|
|
39
35
|
return __awaiter(this, void 0, void 0, function* () {
|
|
40
|
-
const { data, status } = yield ax.patch(`/
|
|
36
|
+
const { data, status } = yield ax.patch(`/b/${businessId}/campaign/${campaignId}/u/${recipientUserRef.id}/points`, {
|
|
41
37
|
points,
|
|
42
38
|
channel,
|
|
43
39
|
objectDefinitionIds
|
|
40
|
+
}, {
|
|
41
|
+
headers: { authorization: `Bearer ${token}` },
|
|
44
42
|
});
|
|
45
43
|
if (status !== 200) {
|
|
46
44
|
throw new Error(`Could not update user points for user ${recipientUserRef} and campaignId ${campaignId} res: ${JSON.stringify(data)}`);
|
|
@@ -49,9 +47,11 @@ function updateUserPoints(businessId, recipientUserRef, campaignId, points, chan
|
|
|
49
47
|
});
|
|
50
48
|
}
|
|
51
49
|
exports.updateUserPoints = updateUserPoints;
|
|
52
|
-
function selectRaffleWinner(businessId, campaignId, channel) {
|
|
50
|
+
function selectRaffleWinner(token, businessId, campaignId, channel) {
|
|
53
51
|
return __awaiter(this, void 0, void 0, function* () {
|
|
54
|
-
const { data, status } = yield ax.get(`/b/${businessId}/campaign/${campaignId}/channel/${channel}/raffle
|
|
52
|
+
const { data, status } = yield ax.get(`/b/${businessId}/campaign/${campaignId}/channel/${channel}/raffle`, {
|
|
53
|
+
headers: { authorization: `Bearer ${token}` },
|
|
54
|
+
});
|
|
55
55
|
if (status !== 200) {
|
|
56
56
|
throw new Error(`Could not select raffle winner campaignId ${campaignId} and channel ${channel} res: ${JSON.stringify(data)}`);
|
|
57
57
|
}
|
|
@@ -59,12 +59,14 @@ function selectRaffleWinner(businessId, campaignId, channel) {
|
|
|
59
59
|
});
|
|
60
60
|
}
|
|
61
61
|
exports.selectRaffleWinner = selectRaffleWinner;
|
|
62
|
-
function setUserPoints(businessId, recipientUserRef, campaignId, points, channel, updateVatoms = false) {
|
|
62
|
+
function setUserPoints(token, businessId, recipientUserRef, campaignId, points, channel, updateVatoms = false) {
|
|
63
63
|
return __awaiter(this, void 0, void 0, function* () {
|
|
64
|
-
const { data, status } = yield ax.post(`/
|
|
64
|
+
const { data, status } = yield ax.post(`/b/${businessId}/campaign/${campaignId}/u/${recipientUserRef.id}/points`, {
|
|
65
65
|
points,
|
|
66
66
|
channel,
|
|
67
67
|
updateVatoms,
|
|
68
|
+
}, {
|
|
69
|
+
headers: { authorization: `Bearer ${token}` },
|
|
68
70
|
});
|
|
69
71
|
if (status !== 200) {
|
|
70
72
|
throw new Error(`Could not set user points for user ${recipientUserRef} and campaignId ${campaignId} res: ${JSON.stringify(data)}`);
|
|
@@ -73,18 +75,22 @@ function setUserPoints(businessId, recipientUserRef, campaignId, points, channel
|
|
|
73
75
|
});
|
|
74
76
|
}
|
|
75
77
|
exports.setUserPoints = setUserPoints;
|
|
76
|
-
function getUserPoints(recipientUserRef, campaignId) {
|
|
78
|
+
function getUserPoints(token, recipientUserRef, campaignId) {
|
|
77
79
|
return __awaiter(this, void 0, void 0, function* () {
|
|
78
|
-
const { data, status } = yield ax.get(`/u/${recipientUserRef.id}/campaign/${campaignId}/points
|
|
80
|
+
const { data, status } = yield ax.get(`/u/${recipientUserRef.id}/campaign/${campaignId}/points`, {
|
|
81
|
+
headers: { authorization: `Bearer ${token}` },
|
|
82
|
+
});
|
|
79
83
|
return data;
|
|
80
84
|
});
|
|
81
85
|
}
|
|
82
86
|
exports.getUserPoints = getUserPoints;
|
|
83
|
-
function updateCampaignPoints(businessId, campaignId, points, channel) {
|
|
87
|
+
function updateCampaignPoints(token, businessId, campaignId, points, channel) {
|
|
84
88
|
return __awaiter(this, void 0, void 0, function* () {
|
|
85
89
|
const { data, status } = yield ax.patch(`/b/${businessId}/campaign/${campaignId}/points`, {
|
|
86
90
|
points,
|
|
87
91
|
channel
|
|
92
|
+
}, {
|
|
93
|
+
headers: { authorization: `Bearer ${token}` },
|
|
88
94
|
});
|
|
89
95
|
if (status !== 200) {
|
|
90
96
|
throw new Error(`Could not update campaign points campaignId ${campaignId} res: ${JSON.stringify(data)}`);
|
|
@@ -93,22 +99,26 @@ function updateCampaignPoints(businessId, campaignId, points, channel) {
|
|
|
93
99
|
});
|
|
94
100
|
}
|
|
95
101
|
exports.updateCampaignPoints = updateCampaignPoints;
|
|
96
|
-
function getCampaignPoints(businessId, campaignId) {
|
|
102
|
+
function getCampaignPoints(token, businessId, campaignId) {
|
|
97
103
|
return __awaiter(this, void 0, void 0, function* () {
|
|
98
|
-
const { data, status } = yield ax.get(`/b/${businessId}/campaign/${campaignId}/points
|
|
104
|
+
const { data, status } = yield ax.get(`/b/${businessId}/campaign/${campaignId}/points`, {
|
|
105
|
+
headers: { authorization: `Bearer ${token}` },
|
|
106
|
+
});
|
|
99
107
|
return data;
|
|
100
108
|
});
|
|
101
109
|
}
|
|
102
110
|
exports.getCampaignPoints = getCampaignPoints;
|
|
103
111
|
const userListCache = new NodeCache({ stdTTL: 30, checkperiod: 10 });
|
|
104
|
-
function listUsers(campaignId, limit, cursor) {
|
|
112
|
+
function listUsers(token, campaignId, limit, cursor) {
|
|
105
113
|
return __awaiter(this, void 0, void 0, function* () {
|
|
106
114
|
const cacheKey = `${campaignId}${cursor || ""}${limit}`;
|
|
107
115
|
__1.utils.logger.debug("cacheKey", cacheKey);
|
|
108
116
|
let users = userListCache.get(cacheKey);
|
|
109
117
|
__1.utils.logger.debug("users in cache", users);
|
|
110
118
|
if (!users) {
|
|
111
|
-
const { data, status } = yield ax.get(`/b/todo/campaign/${campaignId}/users
|
|
119
|
+
const { data, status } = yield ax.get(`/b/todo/campaign/${campaignId}/users`, {
|
|
120
|
+
headers: { authorization: `Bearer ${token}` },
|
|
121
|
+
});
|
|
112
122
|
__1.utils.logger.debug("adding users to cache", cacheKey, data);
|
|
113
123
|
userListCache.set(cacheKey, data);
|
|
114
124
|
return data;
|
|
@@ -118,14 +128,16 @@ function listUsers(campaignId, limit, cursor) {
|
|
|
118
128
|
}
|
|
119
129
|
exports.listUsers = listUsers;
|
|
120
130
|
const userCache = new NodeCache({ stdTTL: 30, checkperiod: 10 });
|
|
121
|
-
function getUser(userId, businessId, campaignId) {
|
|
131
|
+
function getUser(token, userId, businessId, campaignId) {
|
|
122
132
|
var _a, _b, _c, _d;
|
|
123
133
|
return __awaiter(this, void 0, void 0, function* () {
|
|
124
134
|
const cacheKey = `${campaignId}${userId}`;
|
|
125
135
|
let user = userCache.get(cacheKey);
|
|
126
136
|
if (user)
|
|
127
137
|
return user;
|
|
128
|
-
const { data, status } = yield ax.get(`/b/todo/campaign/${campaignId}/users/${userId}
|
|
138
|
+
const { data, status } = yield ax.get(`/b/todo/campaign/${campaignId}/users/${userId}`, {
|
|
139
|
+
headers: { authorization: `Bearer ${token}` },
|
|
140
|
+
});
|
|
129
141
|
const p = yield (0, user_1.getPublicProfile)(userId);
|
|
130
142
|
if (((_d = (_c = (_b = (_a = p === null || p === void 0 ? void 0 : p.name) === null || _a === void 0 ? void 0 : _a.trim) === null || _b === void 0 ? void 0 : _b.call(_a)) === null || _c === void 0 ? void 0 : _c.length) !== null && _d !== void 0 ? _d : 0) > 0)
|
|
131
143
|
data.name = p.name;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"points.js","sourceRoot":"","sources":["../../src/services/points.ts"],"names":[],"mappings":";;;;;;;;;;;;AACA,wCAAyC;AACzC,0BAA2B;AAC3B,iCAAiC;AACjC,iCAAmD;AACnD,iCAA0B;AAE1B,MAAM,EACL,eAAe,EACf,
|
|
1
|
+
{"version":3,"file":"points.js","sourceRoot":"","sources":["../../src/services/points.ts"],"names":[],"mappings":"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"}
|