backend-manager 2.5.27 → 2.5.28
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/package.json +1 -1
- package/src/manager/functions/core/actions/api/general/emails/general:download-app-link.js +57 -2
- package/src/manager/functions/core/actions/api/general/send-email.js +8 -8
- package/src/manager/functions/core/actions/api/user/oauth2/google.js +2 -0
- package/src/manager/functions/core/actions/api/user/oauth2.js +1 -1
package/package.json
CHANGED
|
@@ -1,5 +1,60 @@
|
|
|
1
|
-
module.exports = function () {
|
|
1
|
+
module.exports = function (payload, config) {
|
|
2
|
+
const subject = `Free ${config.brand.name} download link for ${payload.name || 'you'}!`;
|
|
3
|
+
const templateId = 'd-1d730ac8cc544b7cbccc8fa4a4b3f9ce';
|
|
4
|
+
const groupId = 16223;
|
|
5
|
+
|
|
2
6
|
return {
|
|
3
|
-
|
|
7
|
+
url: 'https://us-central1-itw-creative-works.cloudfunctions.net/wrapper',
|
|
8
|
+
method: 'post',
|
|
9
|
+
headers: { 'Content-Type': 'application/json' },
|
|
10
|
+
body: {
|
|
11
|
+
backendManagerKey: 'api_25eeec01-9099-4078-92e1-034ac49bcc96',
|
|
12
|
+
service: 'sendgrid',
|
|
13
|
+
command: 'v3/mail/send',
|
|
14
|
+
method: 'post',
|
|
15
|
+
delay: 1,
|
|
16
|
+
body: {
|
|
17
|
+
personalizations: [
|
|
18
|
+
{
|
|
19
|
+
to: [
|
|
20
|
+
{
|
|
21
|
+
name: payload.name || 'Valued member',
|
|
22
|
+
email: payload.email,
|
|
23
|
+
},
|
|
24
|
+
],
|
|
25
|
+
dynamic_template_data: {
|
|
26
|
+
subject: subject,
|
|
27
|
+
app: {
|
|
28
|
+
url: config.brand.url,
|
|
29
|
+
name: config.brand.name,
|
|
30
|
+
wordmark: config.brand.wordmark,
|
|
31
|
+
},
|
|
32
|
+
footer: {
|
|
33
|
+
name: 'ITW Creative Works',
|
|
34
|
+
address: '4001 Inglewood Ave 101-385',
|
|
35
|
+
city: 'Redondo Beach',
|
|
36
|
+
state: 'CA',
|
|
37
|
+
zip: '90278',
|
|
38
|
+
'unsubscribe-link': `https://itwcreativeworks.com/email-preferences/?email=${encodeURIComponent(payload.email)}&asmId=${encodeURIComponent(groupId)}&templateId=${encodeURIComponent(templateId)}&appName=${encodeURIComponent(config.brand.name)}`,
|
|
39
|
+
},
|
|
40
|
+
},
|
|
41
|
+
}
|
|
42
|
+
],
|
|
43
|
+
from: {
|
|
44
|
+
name: config.brand.name,
|
|
45
|
+
email: config.brand.email,
|
|
46
|
+
},
|
|
47
|
+
reply_to: {
|
|
48
|
+
name: config.brand.name,
|
|
49
|
+
email: config.brand.email,
|
|
50
|
+
},
|
|
51
|
+
subject: subject,
|
|
52
|
+
template_id: 'd-1d730ac8cc544b7cbccc8fa4a4b3f9ce',
|
|
53
|
+
asm: {
|
|
54
|
+
group_id: 16223,
|
|
55
|
+
},
|
|
56
|
+
categories: ['transactional', 'download', config.app.id],
|
|
57
|
+
}
|
|
58
|
+
}
|
|
4
59
|
}
|
|
5
60
|
}
|
|
@@ -14,14 +14,16 @@ Module.prototype.main = function () {
|
|
|
14
14
|
const payload = self.payload;
|
|
15
15
|
|
|
16
16
|
return new Promise(async function(resolve, reject) {
|
|
17
|
-
payload.data.payload.id = payload.data.payload.id
|
|
18
|
-
payload.data.payload.email = payload.data.payload.email
|
|
17
|
+
payload.data.payload.id = payload.data.payload.id;
|
|
18
|
+
payload.data.payload.email = payload.data.payload.email;
|
|
19
|
+
payload.data.payload.name = payload.data.payload.name || 'Friend';
|
|
19
20
|
|
|
20
21
|
const DEFAULT = {
|
|
21
22
|
spamFilter: {
|
|
22
23
|
ip: 3,
|
|
23
24
|
email: 3,
|
|
24
|
-
}
|
|
25
|
+
},
|
|
26
|
+
body: {},
|
|
25
27
|
}
|
|
26
28
|
|
|
27
29
|
if (!payload.data.payload.id) {
|
|
@@ -32,7 +34,7 @@ Module.prototype.main = function () {
|
|
|
32
34
|
|
|
33
35
|
let emailPayload
|
|
34
36
|
try {
|
|
35
|
-
emailPayload = merge({}, DEFAULT, require(path.join(__dirname, 'emails', `${payload.data.payload.id}.js`))());
|
|
37
|
+
emailPayload = merge({}, DEFAULT, require(path.join(__dirname, 'emails', `${payload.data.payload.id}.js`))(payload.data.payload, Manager.config));
|
|
36
38
|
} catch (e) {
|
|
37
39
|
return reject(assistant.errorManager(`${payload.data.payload.id} is not a valid email ID.`, {code: 400, sentry: false, send: false, log: false}).error)
|
|
38
40
|
}
|
|
@@ -71,11 +73,9 @@ Module.prototype.main = function () {
|
|
|
71
73
|
response: 'json',
|
|
72
74
|
body: {
|
|
73
75
|
service: 'sendgrid',
|
|
74
|
-
command:
|
|
76
|
+
command: `/v3/mail/send`,
|
|
75
77
|
method: 'post',
|
|
76
|
-
body:
|
|
77
|
-
purge_everything: true
|
|
78
|
-
},
|
|
78
|
+
body: emailPayload.body,
|
|
79
79
|
},
|
|
80
80
|
})
|
|
81
81
|
.then(result => {
|
|
@@ -23,6 +23,8 @@ OAuth2.prototype.buildUrl = function (state, url) {
|
|
|
23
23
|
return new Promise(async function(resolve, reject) {
|
|
24
24
|
if (state === 'authorize') {
|
|
25
25
|
// do something with url
|
|
26
|
+
// url.searchParams.set('prompt', typeof payload.data.payload.prompt === 'undefined' ? 'consent' : payload.data.payload.prompt)
|
|
27
|
+
// url.searchParams.set('prompt', 'consent')
|
|
26
28
|
return resolve()
|
|
27
29
|
} else {
|
|
28
30
|
return resolve()
|
|
@@ -102,7 +102,7 @@ Module.prototype.main = function () {
|
|
|
102
102
|
newUrl.searchParams.set('response_type', typeof payload.data.payload.response_type === 'undefined' ? 'code' : payload.data.payload.response_type)
|
|
103
103
|
}
|
|
104
104
|
|
|
105
|
-
assistant.log('OAuth2 newUrl', newUrl
|
|
105
|
+
assistant.log('OAuth2 newUrl', newUrl, {environment: 'production'});
|
|
106
106
|
|
|
107
107
|
await self.oauth2.buildUrl(payload.data.payload.state, newUrl)
|
|
108
108
|
.then(url => {
|