-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathtemplate.js
41 lines (34 loc) · 1.33 KB
/
template.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
const setCookie = require('setCookie');
const getCookieValues = require('getCookieValues');
if (data.cookies && data.cookies.length > 0) {
data.cookies.forEach(function (cookieObject) {
let cookies = getCookieValues(cookieObject.name, true);
if (cookies && cookies.length > 0) {
cookies.forEach(function (cookieValue) {
updateCookie(cookieObject.name, cookieValue, cookieObject.lifetime);
if (data.createBackup) {
updateCookie(cookieObject.name+'_backup', cookieValue, cookieObject.lifetime);
}
});
} else if (data.createBackup) {
let backupCookies = getCookieValues(cookieObject.name+'_backup', true);
if (backupCookies && backupCookies.length > 0) {
backupCookies.forEach(function (cookieValue) {
updateCookie(cookieObject.name, cookieValue, cookieObject.lifetime);
updateCookie(cookieObject.name+'_backup', cookieValue, cookieObject.lifetime);
});
}
}
});
}
data.gtmOnSuccess();
function updateCookie(name, value, lifetime) {
setCookie(name, value, {
domain: 'auto',
path: '/',
samesite: 'Lax',
secure: true,
'max-age': lifetime,
httpOnly: false
}, true);
}