backend-manager 2.5.26 → 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 -0
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()
|
|
@@ -97,6 +97,7 @@ Module.prototype.main = function () {
|
|
|
97
97
|
newUrl.searchParams.set('redirect_uri', self.ultimateJekyllOAuth2Url);
|
|
98
98
|
|
|
99
99
|
newUrl.searchParams.set('access_type', typeof payload.data.payload.access_type === 'undefined' ? 'offline' : payload.data.payload.access_type)
|
|
100
|
+
newUrl.searchParams.set('prompt', typeof payload.data.payload.prompt === 'undefined' ? 'consent' : payload.data.payload.prompt)
|
|
100
101
|
newUrl.searchParams.set('include_granted_scopes', typeof payload.data.payload.include_granted_scopes === 'undefined' ? 'true' : payload.data.payload.include_granted_scopes)
|
|
101
102
|
newUrl.searchParams.set('response_type', typeof payload.data.payload.response_type === 'undefined' ? 'code' : payload.data.payload.response_type)
|
|
102
103
|
}
|