@saasquatch/program-boilerplate 3.10.1-3 → 3.10.1-5
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/dist/queries.d.ts +2 -2
- package/dist/queries.js +22 -2
- package/dist/transaction.d.ts +4 -2
- package/dist/transaction.js +11 -3
- package/dist/types/saasquatch.d.ts +8 -7
- package/package.json +1 -1
package/dist/queries.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
export declare const rewardEmailQuery = "\n query ($userId:String!, $accountId:String!, $rewardId:ID!, $programId:ID!, $referralId: ID!) {\n reward(id:$rewardId) {\n ...AllFlatRewardFields\n }\n user(id:$userId, accountId:$accountId) {\n firstName\n lastName\n customFields\n referralCode(programId:$programId)\n shareLink(programId:$programId,useCleanLink:true)\n facebook: messageLink(programId:$programId,shareMedium:FACEBOOK,engagementMedium:EMAIL)\n twitter: messageLink(programId:$programId,shareMedium:TWITTER,engagementMedium:EMAIL)\n email:messageLink(programId:$programId,shareMedium:EMAIL,engagementMedium:EMAIL)\n sms:messageLink(programId:$programId,shareMedium:SMS,engagementMedium:EMAIL)\n linkedin: messageLink(programId:$programId,shareMedium:LINKEDIN,engagementMedium:EMAIL)\n fbmessenger: messageLink(programId:$programId,shareMedium:FBMESSENGER,engagementMedium:EMAIL)\n }\n\n program(id: $programId) {\n sharing {\n redirectUrl {\n url\n }\n }\n }\n\n referral(id:$referralId) {\n referrerUser{\n firstName\n lastName\n email\n customFields\n }\n referredUser{\n firstName\n lastName\n email\n customFields\n }\n }\n\n tenant {\n emailAddress\n settings {\n companyName\n }\n }\n }\n\n fragment AllFlatRewardFields on FlatReward {\n type\n prettyValue\n value\n unit\n name\n dateGiven\n dateExpires\n dateCancelled\n rewardSource\n fuelTankCode\n fuelTankType\n currency\n programId\n programRewardKey\n }\n";
|
|
2
|
-
export declare const nonRewardEmailQueryForReferralPrograms = "query ($userId:String!, $accountId:String!,$programId:ID!, $referralId: ID!) {\n user(id:$userId, accountId:$accountId) {\n firstName\n lastName\n customFields\n referralCode(programId:$programId)\n shareLink(programId:$programId,useCleanLink:true)\n facebook: messageLink(programId:$programId,shareMedium:FACEBOOK)\n twitter: messageLink(programId:$programId,shareMedium:TWITTER)\n email:messageLink(programId:$programId,shareMedium:EMAIL)\n sms:messageLink(programId:$programId,shareMedium:SMS)\n linkedin: messageLink(programId:$programId,shareMedium:LINKEDIN)\n fbmessenger: messageLink(programId:$programId,shareMedium:FBMESSENGER)\n }\n\n referral(id:$referralId) {\n referrerUser{\n firstName\n lastName\n email\n customFields\n }\n referredUser{\n firstName\n lastName\n email\n customFields\n }\n }\n\n program(id: $programId) {\n sharing {\n redirectUrl {\n url\n }\n }\n }\n\n tenant {\n emailAddress\n settings {\n companyName\n }\n }\n}\n";
|
|
1
|
+
export declare const rewardEmailQuery = "\n query ($userId:String!, $accountId:String!, $rewardId:ID!, $programId:ID!, $referralId: ID!, $eventId: ID, $fetchEvent: Boolean!) {\n reward(id:$rewardId) {\n ...AllFlatRewardFields\n }\n user(id:$userId, accountId:$accountId) {\n firstName\n lastName\n customFields\n referralCode(programId:$programId)\n shareLink(programId:$programId,useCleanLink:true)\n facebook: messageLink(programId:$programId,shareMedium:FACEBOOK,engagementMedium:EMAIL)\n twitter: messageLink(programId:$programId,shareMedium:TWITTER,engagementMedium:EMAIL)\n email:messageLink(programId:$programId,shareMedium:EMAIL,engagementMedium:EMAIL)\n sms:messageLink(programId:$programId,shareMedium:SMS,engagementMedium:EMAIL)\n linkedin: messageLink(programId:$programId,shareMedium:LINKEDIN,engagementMedium:EMAIL)\n fbmessenger: messageLink(programId:$programId,shareMedium:FBMESSENGER,engagementMedium:EMAIL)\n }\n\n program(id: $programId) {\n sharing {\n redirectUrl {\n url\n }\n }\n }\n\n userEvents(filter: {id_eq: $eventId}) @include(if: $fetchEvent) {\n data {\n id\n dateReceived\n dateTriggered\n dateProcessed\n fields\n }\n }\n\n referral(id:$referralId) {\n referrerUser{\n firstName\n lastName\n email\n customFields\n }\n referredUser{\n firstName\n lastName\n email\n customFields\n }\n }\n\n tenant {\n emailAddress\n settings {\n companyName\n }\n }\n }\n\n fragment AllFlatRewardFields on FlatReward {\n type\n prettyValue\n value\n unit\n name\n dateGiven\n dateExpires\n dateCancelled\n rewardSource\n fuelTankCode\n fuelTankType\n currency\n programId\n programRewardKey\n }\n";
|
|
2
|
+
export declare const nonRewardEmailQueryForReferralPrograms = "query ($userId:String!, $accountId:String!,$programId:ID!, $referralId: ID!, $eventId: ID, $fetchEvent: Boolean!) {\n user(id:$userId, accountId:$accountId) {\n firstName\n lastName\n customFields\n referralCode(programId:$programId)\n shareLink(programId:$programId,useCleanLink:true)\n facebook: messageLink(programId:$programId,shareMedium:FACEBOOK)\n twitter: messageLink(programId:$programId,shareMedium:TWITTER)\n email:messageLink(programId:$programId,shareMedium:EMAIL)\n sms:messageLink(programId:$programId,shareMedium:SMS)\n linkedin: messageLink(programId:$programId,shareMedium:LINKEDIN)\n fbmessenger: messageLink(programId:$programId,shareMedium:FBMESSENGER)\n }\n\n userEvents(filter: {id_eq: $eventId}) @include(if: $fetchEvent) {\n data {\n id\n dateReceived\n dateTriggered\n dateProcessed\n fields\n }\n }\n\n referral(id:$referralId) {\n referrerUser{\n firstName\n lastName\n email\n customFields\n }\n referredUser{\n firstName\n lastName\n email\n customFields\n }\n }\n\n program(id: $programId) {\n sharing {\n redirectUrl {\n url\n }\n }\n }\n\n tenant {\n emailAddress\n settings {\n companyName\n }\n }\n}\n";
|
|
3
3
|
export declare const rewardEmailQueryForNonReferralPrograms = "\n query ($userId:String!, $accountId:String!, $rewardId:ID!, $programId:ID!) {\n reward(id:$rewardId) {\n ...AllFlatRewardFields\n }\n user(id:$userId, accountId:$accountId) {\n firstName\n lastName\n customFields\n email:messageLink(programId:$programId,shareMedium:EMAIL)\n }\n\n program(id: $programId) {\n sharing {\n redirectUrl {\n url\n }\n }\n }\n\n tenant {\n emailAddress\n settings {\n companyName\n }\n }\n }\n\n fragment AllFlatRewardFields on FlatReward {\n type\n prettyValue\n value\n unit\n name\n dateGiven\n dateExpires\n dateCancelled\n rewardSource\n fuelTankCode\n fuelTankType\n currency\n programId\n programRewardKey\n }\n";
|
|
4
4
|
export declare const nonRewardEmailQueryForNonReferralPrograms = "\n query ($userId:String!, $accountId:String!, $programId:ID!) {\n user(id:$userId, accountId:$accountId) {\n firstName\n lastName\n customFields\n email:messageLink(programId:$programId,shareMedium:EMAIL)\n }\n\n program(id: $programId) {\n sharing {\n redirectUrl {\n url\n }\n }\n }\n\n tenant {\n emailAddress\n settings {\n companyName\n }\n }\n }\n";
|
|
5
5
|
export declare const rewardScheduleQuery: (emailKey: string) => string;
|
package/dist/queries.js
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.rewardScheduleQuery = exports.nonRewardEmailQueryForNonReferralPrograms = exports.rewardEmailQueryForNonReferralPrograms = exports.nonRewardEmailQueryForReferralPrograms = exports.rewardEmailQuery = void 0;
|
|
4
4
|
exports.rewardEmailQuery = `
|
|
5
|
-
query ($userId:String!, $accountId:String!, $rewardId:ID!, $programId:ID!, $referralId: ID!) {
|
|
5
|
+
query ($userId:String!, $accountId:String!, $rewardId:ID!, $programId:ID!, $referralId: ID!, $eventId: ID, $fetchEvent: Boolean!) {
|
|
6
6
|
reward(id:$rewardId) {
|
|
7
7
|
...AllFlatRewardFields
|
|
8
8
|
}
|
|
@@ -28,6 +28,16 @@ exports.rewardEmailQuery = `
|
|
|
28
28
|
}
|
|
29
29
|
}
|
|
30
30
|
|
|
31
|
+
userEvents(filter: {id_eq: $eventId}) @include(if: $fetchEvent) {
|
|
32
|
+
data {
|
|
33
|
+
id
|
|
34
|
+
dateReceived
|
|
35
|
+
dateTriggered
|
|
36
|
+
dateProcessed
|
|
37
|
+
fields
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
|
|
31
41
|
referral(id:$referralId) {
|
|
32
42
|
referrerUser{
|
|
33
43
|
firstName
|
|
@@ -68,7 +78,7 @@ exports.rewardEmailQuery = `
|
|
|
68
78
|
programRewardKey
|
|
69
79
|
}
|
|
70
80
|
`;
|
|
71
|
-
exports.nonRewardEmailQueryForReferralPrograms = `query ($userId:String!, $accountId:String!,$programId:ID!, $referralId: ID!) {
|
|
81
|
+
exports.nonRewardEmailQueryForReferralPrograms = `query ($userId:String!, $accountId:String!,$programId:ID!, $referralId: ID!, $eventId: ID, $fetchEvent: Boolean!) {
|
|
72
82
|
user(id:$userId, accountId:$accountId) {
|
|
73
83
|
firstName
|
|
74
84
|
lastName
|
|
@@ -83,6 +93,16 @@ exports.nonRewardEmailQueryForReferralPrograms = `query ($userId:String!, $accou
|
|
|
83
93
|
fbmessenger: messageLink(programId:$programId,shareMedium:FBMESSENGER)
|
|
84
94
|
}
|
|
85
95
|
|
|
96
|
+
userEvents(filter: {id_eq: $eventId}) @include(if: $fetchEvent) {
|
|
97
|
+
data {
|
|
98
|
+
id
|
|
99
|
+
dateReceived
|
|
100
|
+
dateTriggered
|
|
101
|
+
dateProcessed
|
|
102
|
+
fields
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
|
|
86
106
|
referral(id:$referralId) {
|
|
87
107
|
referrerUser{
|
|
88
108
|
firstName
|
package/dist/transaction.d.ts
CHANGED
|
@@ -87,11 +87,12 @@ export default class Transaction {
|
|
|
87
87
|
user: User;
|
|
88
88
|
rewardId?: string;
|
|
89
89
|
}): void;
|
|
90
|
-
generateReferralEmail({ emailKey, user, referralId, rewardId, }: {
|
|
90
|
+
generateReferralEmail({ emailKey, user, referralId, rewardId, eventId, }: {
|
|
91
91
|
emailKey: string;
|
|
92
92
|
user: User;
|
|
93
93
|
referralId: string;
|
|
94
94
|
rewardId?: string;
|
|
95
|
+
eventId?: string;
|
|
95
96
|
}): void;
|
|
96
97
|
/**
|
|
97
98
|
* Generates both reward and email.
|
|
@@ -104,7 +105,7 @@ export default class Transaction {
|
|
|
104
105
|
/**
|
|
105
106
|
* Generates both reward and email for a referral.
|
|
106
107
|
*/
|
|
107
|
-
generateReferralRewardAndEmail({ emailKey, rewardKey, referralId, user, status, overrideProperties, dynamicProperties, }: {
|
|
108
|
+
generateReferralRewardAndEmail({ emailKey, rewardKey, referralId, user, status, overrideProperties, dynamicProperties, eventId, }: {
|
|
108
109
|
emailKey: string;
|
|
109
110
|
rewardKey: string;
|
|
110
111
|
referralId: string;
|
|
@@ -112,6 +113,7 @@ export default class Transaction {
|
|
|
112
113
|
status?: string;
|
|
113
114
|
overrideProperties?: any;
|
|
114
115
|
dynamicProperties?: any;
|
|
116
|
+
eventId?: string;
|
|
115
117
|
}): void;
|
|
116
118
|
generateRefunds(): void;
|
|
117
119
|
/**
|
package/dist/transaction.js
CHANGED
|
@@ -160,12 +160,14 @@ class Transaction {
|
|
|
160
160
|
};
|
|
161
161
|
this.mutations = [...this.mutations, newMutation];
|
|
162
162
|
}
|
|
163
|
-
generateReferralEmail({ emailKey, user, referralId, rewardId, }) {
|
|
163
|
+
generateReferralEmail({ emailKey, user, referralId, rewardId, eventId, }) {
|
|
164
164
|
const variables = {
|
|
165
165
|
userId: user.id,
|
|
166
166
|
accountId: user.accountId,
|
|
167
167
|
programId: this.context.body.program.id,
|
|
168
168
|
referralId: referralId,
|
|
169
|
+
eventId: eventId,
|
|
170
|
+
fetchEvent: !!eventId,
|
|
169
171
|
};
|
|
170
172
|
const queryVariables = rewardId ? Object.assign(Object.assign({}, variables), { rewardId }) : variables;
|
|
171
173
|
const newMutation = {
|
|
@@ -198,7 +200,7 @@ class Transaction {
|
|
|
198
200
|
/**
|
|
199
201
|
* Generates both reward and email for a referral.
|
|
200
202
|
*/
|
|
201
|
-
generateReferralRewardAndEmail({ emailKey, rewardKey, referralId, user, status, overrideProperties, dynamicProperties, }) {
|
|
203
|
+
generateReferralRewardAndEmail({ emailKey, rewardKey, referralId, user, status, overrideProperties, dynamicProperties, eventId, }) {
|
|
202
204
|
const { rewardId } = this.generateReferralReward({
|
|
203
205
|
rewardKey,
|
|
204
206
|
referralId,
|
|
@@ -209,7 +211,13 @@ class Transaction {
|
|
|
209
211
|
overrideProperties,
|
|
210
212
|
dynamicProperties,
|
|
211
213
|
});
|
|
212
|
-
this.generateReferralEmail({
|
|
214
|
+
this.generateReferralEmail({
|
|
215
|
+
emailKey,
|
|
216
|
+
user,
|
|
217
|
+
referralId,
|
|
218
|
+
rewardId,
|
|
219
|
+
eventId,
|
|
220
|
+
});
|
|
213
221
|
}
|
|
214
222
|
generateRefunds() {
|
|
215
223
|
const refundEvents = (this.events || []).filter((e) => e.key === "refund" &&
|
|
@@ -3,6 +3,13 @@
|
|
|
3
3
|
*/
|
|
4
4
|
export type ProgramType = "ACQUISITION" | "LOYALTY" | "RETENTION";
|
|
5
5
|
export type RSJsonNode = any;
|
|
6
|
+
export type ProgramGoal = {
|
|
7
|
+
goalId: string;
|
|
8
|
+
programId?: string;
|
|
9
|
+
count: number;
|
|
10
|
+
firstDate: number;
|
|
11
|
+
lastDate: number;
|
|
12
|
+
};
|
|
6
13
|
/**
|
|
7
14
|
* Defined in core under ProgramTriggerQuery.graphql
|
|
8
15
|
*/
|
|
@@ -12,13 +19,7 @@ export type User = {
|
|
|
12
19
|
firstName?: string;
|
|
13
20
|
lastName?: string;
|
|
14
21
|
referredByReferral?: Referral;
|
|
15
|
-
programGoals:
|
|
16
|
-
goalId: string;
|
|
17
|
-
programId?: string;
|
|
18
|
-
count: number;
|
|
19
|
-
firstDate: number;
|
|
20
|
-
lastDate: number;
|
|
21
|
-
}[];
|
|
22
|
+
programGoals: ProgramGoal[];
|
|
22
23
|
[key: string]: any;
|
|
23
24
|
};
|
|
24
25
|
/**
|