@aglyn/plugins-marketing 1.0.0-beta.183 → 1.0.0-beta.185
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
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aglyn/plugins-marketing",
|
|
3
|
-
"version": "1.0.0-beta.
|
|
3
|
+
"version": "1.0.0-beta.185",
|
|
4
4
|
"license": "Apache-2.0",
|
|
5
5
|
"homepage": "https://aglyn.com",
|
|
6
6
|
"repository": {
|
|
@@ -25,20 +25,20 @@
|
|
|
25
25
|
"./package.json": "./package.json"
|
|
26
26
|
},
|
|
27
27
|
"dependencies": {
|
|
28
|
-
"@aglyn/aglyn": "1.0.0-beta.
|
|
29
|
-
"@aglyn/shared-data-enums": "1.0.0-beta.
|
|
30
|
-
"@aglyn/shared-data-mdi": "1.0.0-beta.
|
|
31
|
-
"@aglyn/shared-ui-email-campaigns": "1.0.0-beta.
|
|
32
|
-
"@aglyn/shared-ui-jsx": "1.0.0-beta.
|
|
33
|
-
"@aglyn/shared-ui-jsx-forms": "1.0.0-beta.
|
|
34
|
-
"@aglyn/shared-ui-next": "1.0.0-beta.
|
|
35
|
-
"@aglyn/shared-ui-snackstack": "1.0.0-beta.
|
|
36
|
-
"@aglyn/shared-util-email": "1.0.0-beta.
|
|
37
|
-
"@aglyn/shared-util-http": "1.0.0-beta.
|
|
38
|
-
"@aglyn/shared-util-timestamp": "1.0.0-beta.
|
|
39
|
-
"@aglyn/tenant-data-admin": "1.0.0-beta.
|
|
40
|
-
"@aglyn/tenant-feature-instance": "1.0.0-beta.
|
|
41
|
-
"@aglyn/tenant-runtime": "1.0.0-beta.
|
|
28
|
+
"@aglyn/aglyn": "1.0.0-beta.185",
|
|
29
|
+
"@aglyn/shared-data-enums": "1.0.0-beta.185",
|
|
30
|
+
"@aglyn/shared-data-mdi": "1.0.0-beta.185",
|
|
31
|
+
"@aglyn/shared-ui-email-campaigns": "1.0.0-beta.185",
|
|
32
|
+
"@aglyn/shared-ui-jsx": "1.0.0-beta.185",
|
|
33
|
+
"@aglyn/shared-ui-jsx-forms": "1.0.0-beta.185",
|
|
34
|
+
"@aglyn/shared-ui-next": "1.0.0-beta.185",
|
|
35
|
+
"@aglyn/shared-ui-snackstack": "1.0.0-beta.185",
|
|
36
|
+
"@aglyn/shared-util-email": "1.0.0-beta.185",
|
|
37
|
+
"@aglyn/shared-util-http": "1.0.0-beta.185",
|
|
38
|
+
"@aglyn/shared-util-timestamp": "1.0.0-beta.185",
|
|
39
|
+
"@aglyn/tenant-data-admin": "1.0.0-beta.185",
|
|
40
|
+
"@aglyn/tenant-feature-instance": "1.0.0-beta.185",
|
|
41
|
+
"@aglyn/tenant-runtime": "1.0.0-beta.185",
|
|
42
42
|
"@swc/helpers": "0.5.23"
|
|
43
43
|
},
|
|
44
44
|
"peerDependencies": {
|
|
@@ -1094,7 +1094,12 @@ export async function performCampaignSend(options) {
|
|
|
1094
1094
|
* is a keyed lookup per address, so its cost is the size of what is being
|
|
1095
1095
|
* mailed, and asking about people this send will not reach would buy a
|
|
1096
1096
|
* larger read for a number nobody acts on.
|
|
1097
|
-
|
|
1097
|
+
*
|
|
1098
|
+
* All three per-site filters below read across `consentGroup` — the same
|
|
1099
|
+
* controller the consent join above was read for. A person who left one
|
|
1100
|
+
* site of a declared group left the sender, and the send is the sender's.
|
|
1101
|
+
* A group of one reads exactly what the site alone always read.
|
|
1102
|
+
*/ const notSuppressed = await filterSendableForHost(hostId, recipients, firestore, consentGroup);
|
|
1098
1103
|
/*
|
|
1099
1104
|
* The THIRD list, and the narrowest: who has left THIS stream.
|
|
1100
1105
|
*
|
|
@@ -1103,7 +1108,7 @@ export async function performCampaignSend(options) {
|
|
|
1103
1108
|
* person who unticked "Promotions and offers" is still a subscriber; a
|
|
1104
1109
|
* person on either suppression list is not, and asking about their topic
|
|
1105
1110
|
* preferences would be a read taken on a question already answered.
|
|
1106
|
-
*/ const onTopic = await filterTopicSendable(hostId, topicId, notSuppressed, firestore);
|
|
1111
|
+
*/ const onTopic = await filterTopicSendable(hostId, topicId, notSuppressed, firestore, consentGroup);
|
|
1107
1112
|
/*
|
|
1108
1113
|
* THE FOURTH FILTER: how often the recipient asked to hear from this site.
|
|
1109
1114
|
*
|
|
@@ -1128,7 +1133,8 @@ export async function performCampaignSend(options) {
|
|
|
1128
1133
|
* pace is not a stop, and the two suppression lists above have already
|
|
1129
1134
|
* removed everybody who asked us to stop entirely.
|
|
1130
1135
|
*/ const sendable = await filterCadenceSendable(hostId, onTopic, {
|
|
1131
|
-
firestore
|
|
1136
|
+
firestore,
|
|
1137
|
+
group: consentGroup
|
|
1132
1138
|
});
|
|
1133
1139
|
/*
|
|
1134
1140
|
* NOBODY IN THIS BATCH, BUT SOMEBODY AFTER IT.
|