@vertikalx/vtx-backend-client 3.0.0-dev.32 → 3.0.0-dev.34
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/LICENSE.md +0 -0
- package/package.json +1 -1
- package/src/api/vtx-base-api.d.ts +80 -2
- package/src/api/vtx-base-api.js +1387 -25
- package/src/api/vtx-base-api.js.map +1 -1
- package/src/client/schema.d.ts +820 -32
- package/src/client/schema.js +171 -17
- package/src/client/schema.js.map +1 -1
- package/src/client/types.d.ts +449 -12
- package/src/client/types.js +1531 -386
- package/src/client/types.js.map +1 -1
- package/tsconfig.lib.tsbuildinfo +1 -1
package/src/api/vtx-base-api.js
CHANGED
|
@@ -2148,6 +2148,8 @@ class VTXBaseAPI {
|
|
|
2148
2148
|
trainerUrl: true,
|
|
2149
2149
|
aboutMe: true,
|
|
2150
2150
|
biography: true,
|
|
2151
|
+
onboardingComplete: true,
|
|
2152
|
+
onboardingStep: true,
|
|
2151
2153
|
followStats: {
|
|
2152
2154
|
followers: true,
|
|
2153
2155
|
followed: true,
|
|
@@ -2375,6 +2377,7 @@ class VTXBaseAPI {
|
|
|
2375
2377
|
},
|
|
2376
2378
|
currentCampaign: {
|
|
2377
2379
|
_id: true,
|
|
2380
|
+
slug: true,
|
|
2378
2381
|
budgetMode: true,
|
|
2379
2382
|
status: true,
|
|
2380
2383
|
title: true,
|
|
@@ -2383,12 +2386,22 @@ class VTXBaseAPI {
|
|
|
2383
2386
|
fundsRequired: true,
|
|
2384
2387
|
initialFundsObtained: true,
|
|
2385
2388
|
fundsObtained: true,
|
|
2389
|
+
vtxComissionPct: true,
|
|
2386
2390
|
video: {
|
|
2387
2391
|
_id: true,
|
|
2388
2392
|
source: true,
|
|
2389
2393
|
url: true,
|
|
2390
2394
|
sourceData: true
|
|
2391
2395
|
},
|
|
2396
|
+
coverImage: {
|
|
2397
|
+
_id: true,
|
|
2398
|
+
name: true,
|
|
2399
|
+
contentType: true,
|
|
2400
|
+
size: true,
|
|
2401
|
+
useType: true,
|
|
2402
|
+
url: true,
|
|
2403
|
+
key: true
|
|
2404
|
+
},
|
|
2392
2405
|
location: {
|
|
2393
2406
|
_id: true,
|
|
2394
2407
|
userProvidedLatitude: true,
|
|
@@ -5123,6 +5136,7 @@ class VTXBaseAPI {
|
|
|
5123
5136
|
},
|
|
5124
5137
|
currentCampaign: {
|
|
5125
5138
|
_id: true,
|
|
5139
|
+
slug: true,
|
|
5126
5140
|
budgetMode: true,
|
|
5127
5141
|
status: true,
|
|
5128
5142
|
title: true,
|
|
@@ -5137,6 +5151,15 @@ class VTXBaseAPI {
|
|
|
5137
5151
|
url: true,
|
|
5138
5152
|
sourceData: true
|
|
5139
5153
|
},
|
|
5154
|
+
coverImage: {
|
|
5155
|
+
_id: true,
|
|
5156
|
+
name: true,
|
|
5157
|
+
contentType: true,
|
|
5158
|
+
size: true,
|
|
5159
|
+
useType: true,
|
|
5160
|
+
url: true,
|
|
5161
|
+
key: true
|
|
5162
|
+
},
|
|
5140
5163
|
endingDate: true,
|
|
5141
5164
|
competitions: {
|
|
5142
5165
|
_id: true,
|
|
@@ -6101,6 +6124,7 @@ class VTXBaseAPI {
|
|
|
6101
6124
|
},
|
|
6102
6125
|
currentCampaign: {
|
|
6103
6126
|
_id: true,
|
|
6127
|
+
slug: true,
|
|
6104
6128
|
budgetMode: true,
|
|
6105
6129
|
status: true,
|
|
6106
6130
|
title: true,
|
|
@@ -6109,12 +6133,22 @@ class VTXBaseAPI {
|
|
|
6109
6133
|
fundsRequired: true,
|
|
6110
6134
|
initialFundsObtained: true,
|
|
6111
6135
|
fundsObtained: true,
|
|
6136
|
+
vtxComissionPct: true,
|
|
6112
6137
|
video: {
|
|
6113
6138
|
_id: true,
|
|
6114
6139
|
source: true,
|
|
6115
6140
|
url: true,
|
|
6116
6141
|
sourceData: true
|
|
6117
6142
|
},
|
|
6143
|
+
coverImage: {
|
|
6144
|
+
_id: true,
|
|
6145
|
+
name: true,
|
|
6146
|
+
contentType: true,
|
|
6147
|
+
size: true,
|
|
6148
|
+
useType: true,
|
|
6149
|
+
url: true,
|
|
6150
|
+
key: true
|
|
6151
|
+
},
|
|
6118
6152
|
location: {
|
|
6119
6153
|
_id: true,
|
|
6120
6154
|
userProvidedLatitude: true,
|
|
@@ -6914,8 +6948,7 @@ class VTXBaseAPI {
|
|
|
6914
6948
|
console.log('getAthleteAlbums Response:');
|
|
6915
6949
|
console.log(JSON.stringify(response, null, 2));
|
|
6916
6950
|
retValue = (0, response_builder_1.buildResponse)(response, 'getAthleteAlbums', (r) => {
|
|
6917
|
-
|
|
6918
|
-
return isResponseOk;
|
|
6951
|
+
return Array.isArray(response?.getAthleteAlbums);
|
|
6919
6952
|
});
|
|
6920
6953
|
}
|
|
6921
6954
|
catch (err1) {
|
|
@@ -7189,6 +7222,7 @@ class VTXBaseAPI {
|
|
|
7189
7222
|
},
|
|
7190
7223
|
currentCampaign: {
|
|
7191
7224
|
_id: true,
|
|
7225
|
+
slug: true,
|
|
7192
7226
|
budgetMode: true,
|
|
7193
7227
|
status: true,
|
|
7194
7228
|
title: true,
|
|
@@ -7197,12 +7231,22 @@ class VTXBaseAPI {
|
|
|
7197
7231
|
fundsRequired: true,
|
|
7198
7232
|
initialFundsObtained: true,
|
|
7199
7233
|
fundsObtained: true,
|
|
7234
|
+
vtxComissionPct: true,
|
|
7200
7235
|
video: {
|
|
7201
7236
|
_id: true,
|
|
7202
7237
|
source: true,
|
|
7203
7238
|
url: true,
|
|
7204
7239
|
sourceData: true
|
|
7205
7240
|
},
|
|
7241
|
+
coverImage: {
|
|
7242
|
+
_id: true,
|
|
7243
|
+
name: true,
|
|
7244
|
+
contentType: true,
|
|
7245
|
+
size: true,
|
|
7246
|
+
useType: true,
|
|
7247
|
+
url: true,
|
|
7248
|
+
key: true
|
|
7249
|
+
},
|
|
7206
7250
|
endingDate: true,
|
|
7207
7251
|
competitions: {
|
|
7208
7252
|
_id: true,
|
|
@@ -7770,6 +7814,136 @@ class VTXBaseAPI {
|
|
|
7770
7814
|
}
|
|
7771
7815
|
return retValue;
|
|
7772
7816
|
}
|
|
7817
|
+
async browseCampaigns(dto) {
|
|
7818
|
+
const client = (0, client_1.createClient)({
|
|
7819
|
+
url: this.backendUrl + '/graphql',
|
|
7820
|
+
headers: this.headers,
|
|
7821
|
+
});
|
|
7822
|
+
let retValue = {};
|
|
7823
|
+
const campaignFields = {
|
|
7824
|
+
_id: true,
|
|
7825
|
+
title: true,
|
|
7826
|
+
slug: true,
|
|
7827
|
+
motivation: true,
|
|
7828
|
+
fundsRequired: true,
|
|
7829
|
+
fundsObtained: true,
|
|
7830
|
+
website: true,
|
|
7831
|
+
status: true,
|
|
7832
|
+
createdDate: true,
|
|
7833
|
+
endingDate: true,
|
|
7834
|
+
video: {
|
|
7835
|
+
_id: true,
|
|
7836
|
+
url: true,
|
|
7837
|
+
},
|
|
7838
|
+
location: {
|
|
7839
|
+
_id: true,
|
|
7840
|
+
cityNameGeocode: true,
|
|
7841
|
+
stateNameGeocode: true,
|
|
7842
|
+
countryIso2CodeGeocode: true,
|
|
7843
|
+
city: {
|
|
7844
|
+
_id: true,
|
|
7845
|
+
name: true,
|
|
7846
|
+
state: {
|
|
7847
|
+
_id: true,
|
|
7848
|
+
name: true,
|
|
7849
|
+
country: {
|
|
7850
|
+
_id: true,
|
|
7851
|
+
name: true,
|
|
7852
|
+
},
|
|
7853
|
+
},
|
|
7854
|
+
},
|
|
7855
|
+
},
|
|
7856
|
+
coverImage: {
|
|
7857
|
+
_id: true,
|
|
7858
|
+
url: true,
|
|
7859
|
+
key: true,
|
|
7860
|
+
name: true,
|
|
7861
|
+
contentType: true,
|
|
7862
|
+
size: true,
|
|
7863
|
+
useType: true
|
|
7864
|
+
},
|
|
7865
|
+
budgetMode: true,
|
|
7866
|
+
budget: {
|
|
7867
|
+
_id: true,
|
|
7868
|
+
items: {
|
|
7869
|
+
_id: true,
|
|
7870
|
+
concept: true,
|
|
7871
|
+
quantity: true,
|
|
7872
|
+
itemCost: true,
|
|
7873
|
+
unit: true,
|
|
7874
|
+
},
|
|
7875
|
+
},
|
|
7876
|
+
competitions: {
|
|
7877
|
+
_id: true,
|
|
7878
|
+
event: {
|
|
7879
|
+
_id: true,
|
|
7880
|
+
name: true,
|
|
7881
|
+
},
|
|
7882
|
+
budget: {
|
|
7883
|
+
_id: true,
|
|
7884
|
+
items: {
|
|
7885
|
+
_id: true,
|
|
7886
|
+
concept: true,
|
|
7887
|
+
quantity: true,
|
|
7888
|
+
itemCost: true,
|
|
7889
|
+
unit: true,
|
|
7890
|
+
},
|
|
7891
|
+
},
|
|
7892
|
+
},
|
|
7893
|
+
athlete: {
|
|
7894
|
+
_id: true,
|
|
7895
|
+
firstName: true,
|
|
7896
|
+
lastName: true,
|
|
7897
|
+
screenName: true,
|
|
7898
|
+
scores: {
|
|
7899
|
+
vtxScore: true,
|
|
7900
|
+
},
|
|
7901
|
+
profilePicture: {
|
|
7902
|
+
_id: true,
|
|
7903
|
+
url: true,
|
|
7904
|
+
key: true
|
|
7905
|
+
},
|
|
7906
|
+
mainSport: {
|
|
7907
|
+
_id: true,
|
|
7908
|
+
name: true
|
|
7909
|
+
},
|
|
7910
|
+
mainSportLevel: {
|
|
7911
|
+
_id: true,
|
|
7912
|
+
label: true,
|
|
7913
|
+
index: true,
|
|
7914
|
+
},
|
|
7915
|
+
country: {
|
|
7916
|
+
_id: true,
|
|
7917
|
+
name: true,
|
|
7918
|
+
}
|
|
7919
|
+
}
|
|
7920
|
+
};
|
|
7921
|
+
try {
|
|
7922
|
+
const response = await client.query({
|
|
7923
|
+
browseCampaigns: {
|
|
7924
|
+
__args: { input: dto },
|
|
7925
|
+
campaigns: campaignFields,
|
|
7926
|
+
featuredPopular: campaignFields,
|
|
7927
|
+
featuredEndingSoon: campaignFields,
|
|
7928
|
+
total: true,
|
|
7929
|
+
page: true,
|
|
7930
|
+
limit: true,
|
|
7931
|
+
hasMore: true
|
|
7932
|
+
}
|
|
7933
|
+
});
|
|
7934
|
+
retValue = (0, response_builder_1.buildResponse)(response, 'browseCampaigns', (r) => {
|
|
7935
|
+
const isResponseOk = true &&
|
|
7936
|
+
Array.isArray(response?.browseCampaigns?.campaigns) &&
|
|
7937
|
+
Array.isArray(response?.browseCampaigns?.featuredPopular) &&
|
|
7938
|
+
Array.isArray(response?.browseCampaigns?.featuredEndingSoon);
|
|
7939
|
+
return isResponseOk;
|
|
7940
|
+
});
|
|
7941
|
+
}
|
|
7942
|
+
catch (err1) {
|
|
7943
|
+
retValue = (0, response_builder_1.buildErrorResponse)(err1);
|
|
7944
|
+
}
|
|
7945
|
+
return retValue;
|
|
7946
|
+
}
|
|
7773
7947
|
async updateAthleteIntegration(type) {
|
|
7774
7948
|
const client = (0, client_1.createClient)({
|
|
7775
7949
|
url: this.backendUrl + '/graphql',
|
|
@@ -7937,18 +8111,22 @@ class VTXBaseAPI {
|
|
|
7937
8111
|
}
|
|
7938
8112
|
return retValue;
|
|
7939
8113
|
}
|
|
7940
|
-
async forceRefreshAthleteScores(athleteIds) {
|
|
8114
|
+
async forceRefreshAthleteScores(athleteIds, options) {
|
|
7941
8115
|
const client = (0, client_1.createClient)({
|
|
7942
8116
|
url: this.backendUrl + '/graphql',
|
|
7943
8117
|
headers: this.headers,
|
|
7944
8118
|
});
|
|
7945
8119
|
let retValue = {};
|
|
8120
|
+
const rebuildHistorical = options?.rebuildHistorical ?? true;
|
|
8121
|
+
const historicalDays = options?.historicalDays ?? 365;
|
|
7946
8122
|
try {
|
|
7947
8123
|
const response = await client.mutation({
|
|
7948
8124
|
forceRefreshAthleteScores: {
|
|
7949
8125
|
__args: {
|
|
7950
8126
|
input: {
|
|
7951
8127
|
athleteIds,
|
|
8128
|
+
rebuildHistorical,
|
|
8129
|
+
historicalDays,
|
|
7952
8130
|
},
|
|
7953
8131
|
},
|
|
7954
8132
|
results: {
|
|
@@ -7968,6 +8146,14 @@ class VTXBaseAPI {
|
|
|
7968
8146
|
status: true,
|
|
7969
8147
|
message: true,
|
|
7970
8148
|
},
|
|
8149
|
+
diagnostics: {
|
|
8150
|
+
activitiesDeleted: true,
|
|
8151
|
+
activitiesFetched: true,
|
|
8152
|
+
activitiesDateRange: true,
|
|
8153
|
+
activityRefsSaved: true,
|
|
8154
|
+
historicalDatesProcessed: true,
|
|
8155
|
+
historicalRebuildStatus: true,
|
|
8156
|
+
},
|
|
7971
8157
|
},
|
|
7972
8158
|
successCount: true,
|
|
7973
8159
|
failureCount: true,
|
|
@@ -8950,6 +9136,97 @@ class VTXBaseAPI {
|
|
|
8950
9136
|
}
|
|
8951
9137
|
return retValue;
|
|
8952
9138
|
}
|
|
9139
|
+
async getDonationDatesForCalendar(campaignId) {
|
|
9140
|
+
const client = (0, client_1.createClient)({
|
|
9141
|
+
url: this.backendUrl + "/graphql",
|
|
9142
|
+
headers: this.headers,
|
|
9143
|
+
});
|
|
9144
|
+
const fields = {
|
|
9145
|
+
dates: true,
|
|
9146
|
+
totalDonations: true,
|
|
9147
|
+
};
|
|
9148
|
+
let retValue;
|
|
9149
|
+
try {
|
|
9150
|
+
const response = await client.query({
|
|
9151
|
+
getDonationDatesForCalendar: {
|
|
9152
|
+
__args: {
|
|
9153
|
+
campaignId: campaignId
|
|
9154
|
+
},
|
|
9155
|
+
...fields
|
|
9156
|
+
}
|
|
9157
|
+
});
|
|
9158
|
+
VTXBaseAPI.Logger.debug('getDonationDatesForCalendar Response:');
|
|
9159
|
+
VTXBaseAPI.Logger.debug(JSON.stringify(response, null, 2));
|
|
9160
|
+
retValue = (0, response_builder_1.buildResponse)(response, 'getDonationDatesForCalendar', (r) => {
|
|
9161
|
+
const isResponseOk = !!response?.getDonationDatesForCalendar &&
|
|
9162
|
+
Array.isArray(response.getDonationDatesForCalendar.dates);
|
|
9163
|
+
return isResponseOk;
|
|
9164
|
+
});
|
|
9165
|
+
}
|
|
9166
|
+
catch (err1) {
|
|
9167
|
+
VTXBaseAPI.Logger.error('getDonationDatesForCalendar err1:');
|
|
9168
|
+
VTXBaseAPI.Logger.error(err1);
|
|
9169
|
+
retValue = (0, response_builder_1.buildErrorResponse)(err1);
|
|
9170
|
+
}
|
|
9171
|
+
return retValue;
|
|
9172
|
+
}
|
|
9173
|
+
async getDonationsPaginated(query) {
|
|
9174
|
+
const client = (0, client_1.createClient)({
|
|
9175
|
+
url: this.backendUrl + "/graphql",
|
|
9176
|
+
headers: this.headers,
|
|
9177
|
+
});
|
|
9178
|
+
const donationFields = {
|
|
9179
|
+
checkoutSessionId: true,
|
|
9180
|
+
fundingCheckoutSessionDataId: true,
|
|
9181
|
+
donationMode: true,
|
|
9182
|
+
donorName: true,
|
|
9183
|
+
donorEmail: true,
|
|
9184
|
+
completed: true,
|
|
9185
|
+
confirmed: true,
|
|
9186
|
+
donationAmount: true,
|
|
9187
|
+
createdDate: true,
|
|
9188
|
+
completedDate: true,
|
|
9189
|
+
athleteId: true,
|
|
9190
|
+
athleteName: true,
|
|
9191
|
+
message: true,
|
|
9192
|
+
};
|
|
9193
|
+
const paginationFields = {
|
|
9194
|
+
currentPage: true,
|
|
9195
|
+
itemsPerPage: true,
|
|
9196
|
+
totalItems: true,
|
|
9197
|
+
totalPages: true,
|
|
9198
|
+
hasNextPage: true,
|
|
9199
|
+
hasPreviousPage: true,
|
|
9200
|
+
};
|
|
9201
|
+
const fields = {
|
|
9202
|
+
donations: donationFields,
|
|
9203
|
+
pagination: paginationFields,
|
|
9204
|
+
};
|
|
9205
|
+
let retValue;
|
|
9206
|
+
try {
|
|
9207
|
+
const response = await client.query({
|
|
9208
|
+
getDonationsPaginated: {
|
|
9209
|
+
__args: {
|
|
9210
|
+
query: query
|
|
9211
|
+
},
|
|
9212
|
+
...fields
|
|
9213
|
+
}
|
|
9214
|
+
});
|
|
9215
|
+
VTXBaseAPI.Logger.debug('getDonationsPaginated Response:');
|
|
9216
|
+
VTXBaseAPI.Logger.debug(JSON.stringify(response, null, 2));
|
|
9217
|
+
retValue = (0, response_builder_1.buildResponse)(response, 'getDonationsPaginated', (r) => {
|
|
9218
|
+
const isResponseOk = !!response?.getDonationsPaginated &&
|
|
9219
|
+
Array.isArray(response.getDonationsPaginated.donations);
|
|
9220
|
+
return isResponseOk;
|
|
9221
|
+
});
|
|
9222
|
+
}
|
|
9223
|
+
catch (err1) {
|
|
9224
|
+
VTXBaseAPI.Logger.error('getDonationsPaginated err1:');
|
|
9225
|
+
VTXBaseAPI.Logger.error(err1);
|
|
9226
|
+
retValue = (0, response_builder_1.buildErrorResponse)(err1);
|
|
9227
|
+
}
|
|
9228
|
+
return retValue;
|
|
9229
|
+
}
|
|
8953
9230
|
async getAthleteHistoricalScores(dto) {
|
|
8954
9231
|
const client = (0, client_1.createClient)({
|
|
8955
9232
|
url: this.backendUrl + "/graphql",
|
|
@@ -10208,54 +10485,192 @@ class VTXBaseAPI {
|
|
|
10208
10485
|
}
|
|
10209
10486
|
return retValue;
|
|
10210
10487
|
}
|
|
10211
|
-
async
|
|
10488
|
+
async claimOffer(offerId, athleteId) {
|
|
10212
10489
|
const client = (0, client_1.createClient)({
|
|
10213
10490
|
url: this.backendUrl + "/graphql",
|
|
10214
10491
|
headers: this.headers,
|
|
10215
10492
|
});
|
|
10493
|
+
const fields = {
|
|
10494
|
+
_id: true,
|
|
10495
|
+
claimedAt: true,
|
|
10496
|
+
code: true,
|
|
10497
|
+
offer: {
|
|
10498
|
+
_id: true,
|
|
10499
|
+
label: true,
|
|
10500
|
+
type: true,
|
|
10501
|
+
dateEnd: true,
|
|
10502
|
+
discountTypeData: true,
|
|
10503
|
+
offerImage: {
|
|
10504
|
+
url: true
|
|
10505
|
+
},
|
|
10506
|
+
brand: {
|
|
10507
|
+
_id: true,
|
|
10508
|
+
name: true,
|
|
10509
|
+
website: true,
|
|
10510
|
+
affiliateLink: true,
|
|
10511
|
+
logo: {
|
|
10512
|
+
url: true
|
|
10513
|
+
}
|
|
10514
|
+
}
|
|
10515
|
+
}
|
|
10516
|
+
};
|
|
10216
10517
|
let retValue = {};
|
|
10217
|
-
const fields = desiredFields ?? { _id: true };
|
|
10218
|
-
fields._id = true;
|
|
10219
10518
|
try {
|
|
10220
10519
|
const response = await client.mutation({
|
|
10221
|
-
|
|
10520
|
+
claimOffer: {
|
|
10222
10521
|
__args: {
|
|
10223
|
-
|
|
10224
|
-
|
|
10522
|
+
offerId: offerId,
|
|
10523
|
+
athleteId: athleteId
|
|
10225
10524
|
},
|
|
10226
10525
|
...fields
|
|
10227
10526
|
}
|
|
10228
10527
|
});
|
|
10229
|
-
VTXBaseAPI.Logger.debug('
|
|
10528
|
+
VTXBaseAPI.Logger.debug('claimOffer Response:');
|
|
10230
10529
|
VTXBaseAPI.Logger.debug(JSON.stringify(response, null, 2));
|
|
10231
|
-
retValue = (0, response_builder_1.buildResponse)(response, '
|
|
10232
|
-
const isResponseOk =
|
|
10530
|
+
retValue = (0, response_builder_1.buildResponse)(response, 'claimOffer', (r) => {
|
|
10531
|
+
const isResponseOk = response?.claimOffer?._id !== undefined;
|
|
10233
10532
|
return isResponseOk;
|
|
10234
10533
|
});
|
|
10235
10534
|
}
|
|
10236
10535
|
catch (err1) {
|
|
10237
|
-
VTXBaseAPI.Logger.error('
|
|
10536
|
+
VTXBaseAPI.Logger.error('claimOffer err1:');
|
|
10238
10537
|
VTXBaseAPI.Logger.error(err1);
|
|
10239
10538
|
retValue = (0, response_builder_1.buildErrorResponse)(err1);
|
|
10240
10539
|
}
|
|
10241
10540
|
return retValue;
|
|
10242
10541
|
}
|
|
10243
|
-
async
|
|
10542
|
+
async getMyOfferClaims(args) {
|
|
10244
10543
|
const client = (0, client_1.createClient)({
|
|
10245
10544
|
url: this.backendUrl + "/graphql",
|
|
10246
10545
|
headers: this.headers,
|
|
10247
10546
|
});
|
|
10248
|
-
|
|
10249
|
-
|
|
10250
|
-
|
|
10251
|
-
|
|
10252
|
-
|
|
10253
|
-
|
|
10254
|
-
|
|
10255
|
-
|
|
10256
|
-
|
|
10257
|
-
|
|
10258
|
-
|
|
10547
|
+
const fields = {
|
|
10548
|
+
_id: true,
|
|
10549
|
+
claimedAt: true,
|
|
10550
|
+
code: true,
|
|
10551
|
+
offer: {
|
|
10552
|
+
_id: true,
|
|
10553
|
+
label: true,
|
|
10554
|
+
type: true,
|
|
10555
|
+
dateEnd: true,
|
|
10556
|
+
discountTypeData: true,
|
|
10557
|
+
offerImage: {
|
|
10558
|
+
url: true
|
|
10559
|
+
},
|
|
10560
|
+
brand: {
|
|
10561
|
+
_id: true,
|
|
10562
|
+
name: true,
|
|
10563
|
+
website: true,
|
|
10564
|
+
affiliateLink: true,
|
|
10565
|
+
logo: {
|
|
10566
|
+
url: true
|
|
10567
|
+
}
|
|
10568
|
+
}
|
|
10569
|
+
}
|
|
10570
|
+
};
|
|
10571
|
+
let retValue = {};
|
|
10572
|
+
try {
|
|
10573
|
+
const response = await client.query({
|
|
10574
|
+
myOfferClaims: {
|
|
10575
|
+
__args: {
|
|
10576
|
+
athleteId: args.athleteId,
|
|
10577
|
+
query: args.query
|
|
10578
|
+
},
|
|
10579
|
+
...fields
|
|
10580
|
+
}
|
|
10581
|
+
});
|
|
10582
|
+
VTXBaseAPI.Logger.debug('getMyOfferClaims Response:');
|
|
10583
|
+
VTXBaseAPI.Logger.debug(JSON.stringify(response, null, 2));
|
|
10584
|
+
retValue = (0, response_builder_1.buildResponse)(response, 'myOfferClaims', (r) => {
|
|
10585
|
+
const isResponseOk = Array.isArray(response?.myOfferClaims);
|
|
10586
|
+
return isResponseOk;
|
|
10587
|
+
});
|
|
10588
|
+
}
|
|
10589
|
+
catch (err1) {
|
|
10590
|
+
VTXBaseAPI.Logger.error('getMyOfferClaims err1:');
|
|
10591
|
+
VTXBaseAPI.Logger.error(err1);
|
|
10592
|
+
retValue = (0, response_builder_1.buildErrorResponse)(err1);
|
|
10593
|
+
}
|
|
10594
|
+
return retValue;
|
|
10595
|
+
}
|
|
10596
|
+
async removeOfferClaim(claimId, athleteId) {
|
|
10597
|
+
const client = (0, client_1.createClient)({
|
|
10598
|
+
url: this.backendUrl + "/graphql",
|
|
10599
|
+
headers: this.headers,
|
|
10600
|
+
});
|
|
10601
|
+
let retValue = {};
|
|
10602
|
+
try {
|
|
10603
|
+
const response = await client.mutation({
|
|
10604
|
+
removeOfferClaim: {
|
|
10605
|
+
__args: {
|
|
10606
|
+
claimId: claimId,
|
|
10607
|
+
athleteId: athleteId
|
|
10608
|
+
},
|
|
10609
|
+
__scalar: true
|
|
10610
|
+
}
|
|
10611
|
+
});
|
|
10612
|
+
VTXBaseAPI.Logger.debug('removeOfferClaim Response:');
|
|
10613
|
+
VTXBaseAPI.Logger.debug(JSON.stringify(response, null, 2));
|
|
10614
|
+
retValue = (0, response_builder_1.buildResponse)(response, 'removeOfferClaim', (r) => {
|
|
10615
|
+
const isResponseOk = response?.removeOfferClaim === true;
|
|
10616
|
+
return isResponseOk;
|
|
10617
|
+
});
|
|
10618
|
+
}
|
|
10619
|
+
catch (err1) {
|
|
10620
|
+
VTXBaseAPI.Logger.error('removeOfferClaim err1:');
|
|
10621
|
+
VTXBaseAPI.Logger.error(err1);
|
|
10622
|
+
retValue = (0, response_builder_1.buildErrorResponse)(err1);
|
|
10623
|
+
}
|
|
10624
|
+
return retValue;
|
|
10625
|
+
}
|
|
10626
|
+
async updateBrand(id, dto, desiredFields) {
|
|
10627
|
+
const client = (0, client_1.createClient)({
|
|
10628
|
+
url: this.backendUrl + "/graphql",
|
|
10629
|
+
headers: this.headers,
|
|
10630
|
+
});
|
|
10631
|
+
let retValue = {};
|
|
10632
|
+
const fields = desiredFields ?? { _id: true };
|
|
10633
|
+
fields._id = true;
|
|
10634
|
+
try {
|
|
10635
|
+
const response = await client.mutation({
|
|
10636
|
+
updateBrand: {
|
|
10637
|
+
__args: {
|
|
10638
|
+
id: id,
|
|
10639
|
+
input: dto
|
|
10640
|
+
},
|
|
10641
|
+
...fields
|
|
10642
|
+
}
|
|
10643
|
+
});
|
|
10644
|
+
VTXBaseAPI.Logger.debug('updateBrand Response:');
|
|
10645
|
+
VTXBaseAPI.Logger.debug(JSON.stringify(response, null, 2));
|
|
10646
|
+
retValue = (0, response_builder_1.buildResponse)(response, 'updateBrand', (r) => {
|
|
10647
|
+
const isResponseOk = true && response?.updateBrand?._id;
|
|
10648
|
+
return isResponseOk;
|
|
10649
|
+
});
|
|
10650
|
+
}
|
|
10651
|
+
catch (err1) {
|
|
10652
|
+
VTXBaseAPI.Logger.error('updateBrand err1:');
|
|
10653
|
+
VTXBaseAPI.Logger.error(err1);
|
|
10654
|
+
retValue = (0, response_builder_1.buildErrorResponse)(err1);
|
|
10655
|
+
}
|
|
10656
|
+
return retValue;
|
|
10657
|
+
}
|
|
10658
|
+
async deleteBrand(id) {
|
|
10659
|
+
const client = (0, client_1.createClient)({
|
|
10660
|
+
url: this.backendUrl + "/graphql",
|
|
10661
|
+
headers: this.headers,
|
|
10662
|
+
});
|
|
10663
|
+
let retValue = {};
|
|
10664
|
+
try {
|
|
10665
|
+
const response = await client.mutation({
|
|
10666
|
+
deleteBrand: {
|
|
10667
|
+
__args: {
|
|
10668
|
+
id: id
|
|
10669
|
+
}
|
|
10670
|
+
}
|
|
10671
|
+
});
|
|
10672
|
+
VTXBaseAPI.Logger.debug('deleteBrand Response:');
|
|
10673
|
+
VTXBaseAPI.Logger.debug(JSON.stringify(response, null, 2));
|
|
10259
10674
|
retValue = (0, response_builder_1.buildResponse)(response, 'deleteBrand', (r) => {
|
|
10260
10675
|
const isResponseOk = response?.deleteBrand === true;
|
|
10261
10676
|
return isResponseOk;
|
|
@@ -10523,6 +10938,7 @@ class VTXBaseAPI {
|
|
|
10523
10938
|
profilePicture: true,
|
|
10524
10939
|
score: true,
|
|
10525
10940
|
countryCode: true,
|
|
10941
|
+
nationalityCode: true,
|
|
10526
10942
|
cityName: true,
|
|
10527
10943
|
countryRank: true,
|
|
10528
10944
|
sportId: true,
|
|
@@ -10868,6 +11284,8 @@ class VTXBaseAPI {
|
|
|
10868
11284
|
activityCount: true,
|
|
10869
11285
|
avgScorePerActivity: true,
|
|
10870
11286
|
topMetrics: topMetricFields,
|
|
11287
|
+
newMaxActivityIds: true,
|
|
11288
|
+
metricMaxes: true,
|
|
10871
11289
|
};
|
|
10872
11290
|
let retValue;
|
|
10873
11291
|
try {
|
|
@@ -11046,6 +11464,950 @@ class VTXBaseAPI {
|
|
|
11046
11464
|
}
|
|
11047
11465
|
return retValue;
|
|
11048
11466
|
}
|
|
11467
|
+
async getMyNotifications(options) {
|
|
11468
|
+
const client = (0, client_1.createClient)({
|
|
11469
|
+
url: this.backendUrl + "/graphql",
|
|
11470
|
+
headers: this.headers,
|
|
11471
|
+
});
|
|
11472
|
+
const notificationFields = {
|
|
11473
|
+
id: true,
|
|
11474
|
+
type: true,
|
|
11475
|
+
title: true,
|
|
11476
|
+
message: true,
|
|
11477
|
+
iconType: true,
|
|
11478
|
+
iconUrl: true,
|
|
11479
|
+
actionRoute: true,
|
|
11480
|
+
actionParams: true,
|
|
11481
|
+
actionLabel: true,
|
|
11482
|
+
read: true,
|
|
11483
|
+
dismissed: true,
|
|
11484
|
+
createdAt: true,
|
|
11485
|
+
};
|
|
11486
|
+
const fields = {
|
|
11487
|
+
notifications: notificationFields,
|
|
11488
|
+
total: true,
|
|
11489
|
+
hasMore: true,
|
|
11490
|
+
};
|
|
11491
|
+
let retValue;
|
|
11492
|
+
try {
|
|
11493
|
+
const response = await client.query({
|
|
11494
|
+
myNotifications: {
|
|
11495
|
+
__args: { input: options || {} },
|
|
11496
|
+
...fields
|
|
11497
|
+
}
|
|
11498
|
+
});
|
|
11499
|
+
VTXBaseAPI.Logger.debug('getMyNotifications Response:');
|
|
11500
|
+
VTXBaseAPI.Logger.debug(JSON.stringify(response, null, 2));
|
|
11501
|
+
retValue = (0, response_builder_1.buildResponse)(response, 'myNotifications', (r) => {
|
|
11502
|
+
const isResponseOk = response?.myNotifications?.notifications !== undefined;
|
|
11503
|
+
return isResponseOk;
|
|
11504
|
+
});
|
|
11505
|
+
}
|
|
11506
|
+
catch (err1) {
|
|
11507
|
+
VTXBaseAPI.Logger.error('getMyNotifications err1:');
|
|
11508
|
+
VTXBaseAPI.Logger.error(err1);
|
|
11509
|
+
retValue = (0, response_builder_1.buildErrorResponse)(err1);
|
|
11510
|
+
}
|
|
11511
|
+
return retValue;
|
|
11512
|
+
}
|
|
11513
|
+
async getNotificationUnreadCount() {
|
|
11514
|
+
const client = (0, client_1.createClient)({
|
|
11515
|
+
url: this.backendUrl + "/graphql",
|
|
11516
|
+
headers: this.headers,
|
|
11517
|
+
});
|
|
11518
|
+
const fields = {
|
|
11519
|
+
count: true,
|
|
11520
|
+
};
|
|
11521
|
+
let retValue;
|
|
11522
|
+
try {
|
|
11523
|
+
const response = await client.query({
|
|
11524
|
+
notificationUnreadCount: {
|
|
11525
|
+
...fields
|
|
11526
|
+
}
|
|
11527
|
+
});
|
|
11528
|
+
VTXBaseAPI.Logger.debug('getNotificationUnreadCount Response:');
|
|
11529
|
+
VTXBaseAPI.Logger.debug(JSON.stringify(response, null, 2));
|
|
11530
|
+
retValue = (0, response_builder_1.buildResponse)(response, 'notificationUnreadCount', (r) => {
|
|
11531
|
+
const isResponseOk = response?.notificationUnreadCount?.count !== undefined;
|
|
11532
|
+
return isResponseOk;
|
|
11533
|
+
});
|
|
11534
|
+
}
|
|
11535
|
+
catch (err1) {
|
|
11536
|
+
VTXBaseAPI.Logger.error('getNotificationUnreadCount err1:');
|
|
11537
|
+
VTXBaseAPI.Logger.error(err1);
|
|
11538
|
+
retValue = (0, response_builder_1.buildErrorResponse)(err1);
|
|
11539
|
+
}
|
|
11540
|
+
return retValue;
|
|
11541
|
+
}
|
|
11542
|
+
async getMyNotificationPreferences() {
|
|
11543
|
+
const client = (0, client_1.createClient)({
|
|
11544
|
+
url: this.backendUrl + "/graphql",
|
|
11545
|
+
headers: this.headers,
|
|
11546
|
+
});
|
|
11547
|
+
const fields = {
|
|
11548
|
+
id: true,
|
|
11549
|
+
emailEnabled: true,
|
|
11550
|
+
inAppEnabled: true,
|
|
11551
|
+
pushEnabled: true,
|
|
11552
|
+
mutedTypes: true,
|
|
11553
|
+
};
|
|
11554
|
+
let retValue;
|
|
11555
|
+
try {
|
|
11556
|
+
const response = await client.query({
|
|
11557
|
+
myNotificationPreferences: {
|
|
11558
|
+
...fields
|
|
11559
|
+
}
|
|
11560
|
+
});
|
|
11561
|
+
VTXBaseAPI.Logger.debug('getMyNotificationPreferences Response:');
|
|
11562
|
+
VTXBaseAPI.Logger.debug(JSON.stringify(response, null, 2));
|
|
11563
|
+
retValue = (0, response_builder_1.buildResponse)(response, 'myNotificationPreferences', (r) => {
|
|
11564
|
+
const isResponseOk = response?.myNotificationPreferences?.id !== undefined;
|
|
11565
|
+
return isResponseOk;
|
|
11566
|
+
});
|
|
11567
|
+
}
|
|
11568
|
+
catch (err1) {
|
|
11569
|
+
VTXBaseAPI.Logger.error('getMyNotificationPreferences err1:');
|
|
11570
|
+
VTXBaseAPI.Logger.error(err1);
|
|
11571
|
+
retValue = (0, response_builder_1.buildErrorResponse)(err1);
|
|
11572
|
+
}
|
|
11573
|
+
return retValue;
|
|
11574
|
+
}
|
|
11575
|
+
async markNotificationAsRead(notificationId) {
|
|
11576
|
+
const client = (0, client_1.createClient)({
|
|
11577
|
+
url: this.backendUrl + "/graphql",
|
|
11578
|
+
headers: this.headers,
|
|
11579
|
+
});
|
|
11580
|
+
const fields = {
|
|
11581
|
+
id: true,
|
|
11582
|
+
read: true,
|
|
11583
|
+
};
|
|
11584
|
+
let retValue;
|
|
11585
|
+
try {
|
|
11586
|
+
const response = await client.mutation({
|
|
11587
|
+
markNotificationAsRead: {
|
|
11588
|
+
__args: { input: { notificationId } },
|
|
11589
|
+
...fields
|
|
11590
|
+
}
|
|
11591
|
+
});
|
|
11592
|
+
VTXBaseAPI.Logger.debug('markNotificationAsRead Response:');
|
|
11593
|
+
VTXBaseAPI.Logger.debug(JSON.stringify(response, null, 2));
|
|
11594
|
+
retValue = (0, response_builder_1.buildResponse)(response, 'markNotificationAsRead', (r) => {
|
|
11595
|
+
const isResponseOk = response?.markNotificationAsRead?.id !== undefined;
|
|
11596
|
+
return isResponseOk;
|
|
11597
|
+
});
|
|
11598
|
+
}
|
|
11599
|
+
catch (err1) {
|
|
11600
|
+
VTXBaseAPI.Logger.error('markNotificationAsRead err1:');
|
|
11601
|
+
VTXBaseAPI.Logger.error(err1);
|
|
11602
|
+
retValue = (0, response_builder_1.buildErrorResponse)(err1);
|
|
11603
|
+
}
|
|
11604
|
+
return retValue;
|
|
11605
|
+
}
|
|
11606
|
+
async markAllNotificationsAsRead() {
|
|
11607
|
+
const client = (0, client_1.createClient)({
|
|
11608
|
+
url: this.backendUrl + "/graphql",
|
|
11609
|
+
headers: this.headers,
|
|
11610
|
+
});
|
|
11611
|
+
let retValue;
|
|
11612
|
+
try {
|
|
11613
|
+
const response = await client.mutation({
|
|
11614
|
+
markAllNotificationsAsRead: true
|
|
11615
|
+
});
|
|
11616
|
+
VTXBaseAPI.Logger.debug('markAllNotificationsAsRead Response:');
|
|
11617
|
+
VTXBaseAPI.Logger.debug(JSON.stringify(response, null, 2));
|
|
11618
|
+
retValue = (0, response_builder_1.buildResponse)(response, 'markAllNotificationsAsRead', (r) => {
|
|
11619
|
+
const isResponseOk = response?.markAllNotificationsAsRead !== undefined;
|
|
11620
|
+
return isResponseOk;
|
|
11621
|
+
});
|
|
11622
|
+
}
|
|
11623
|
+
catch (err1) {
|
|
11624
|
+
VTXBaseAPI.Logger.error('markAllNotificationsAsRead err1:');
|
|
11625
|
+
VTXBaseAPI.Logger.error(err1);
|
|
11626
|
+
retValue = (0, response_builder_1.buildErrorResponse)(err1);
|
|
11627
|
+
}
|
|
11628
|
+
return retValue;
|
|
11629
|
+
}
|
|
11630
|
+
async dismissNotification(notificationId) {
|
|
11631
|
+
const client = (0, client_1.createClient)({
|
|
11632
|
+
url: this.backendUrl + "/graphql",
|
|
11633
|
+
headers: this.headers,
|
|
11634
|
+
});
|
|
11635
|
+
let retValue;
|
|
11636
|
+
try {
|
|
11637
|
+
const response = await client.mutation({
|
|
11638
|
+
dismissNotification: {
|
|
11639
|
+
__args: { input: { notificationId } },
|
|
11640
|
+
}
|
|
11641
|
+
});
|
|
11642
|
+
VTXBaseAPI.Logger.debug('dismissNotification Response:');
|
|
11643
|
+
VTXBaseAPI.Logger.debug(JSON.stringify(response, null, 2));
|
|
11644
|
+
retValue = (0, response_builder_1.buildResponse)(response, 'dismissNotification', (r) => {
|
|
11645
|
+
const isResponseOk = response?.dismissNotification !== undefined;
|
|
11646
|
+
return isResponseOk;
|
|
11647
|
+
});
|
|
11648
|
+
}
|
|
11649
|
+
catch (err1) {
|
|
11650
|
+
VTXBaseAPI.Logger.error('dismissNotification err1:');
|
|
11651
|
+
VTXBaseAPI.Logger.error(err1);
|
|
11652
|
+
retValue = (0, response_builder_1.buildErrorResponse)(err1);
|
|
11653
|
+
}
|
|
11654
|
+
return retValue;
|
|
11655
|
+
}
|
|
11656
|
+
async registerDeviceToken(token, platform, deviceName) {
|
|
11657
|
+
const client = (0, client_1.createClient)({
|
|
11658
|
+
url: this.backendUrl + "/graphql",
|
|
11659
|
+
headers: this.headers,
|
|
11660
|
+
});
|
|
11661
|
+
const fields = {
|
|
11662
|
+
id: true,
|
|
11663
|
+
userId: true,
|
|
11664
|
+
token: true,
|
|
11665
|
+
platform: true,
|
|
11666
|
+
deviceName: true,
|
|
11667
|
+
active: true,
|
|
11668
|
+
};
|
|
11669
|
+
let retValue;
|
|
11670
|
+
try {
|
|
11671
|
+
const input = { token, platform, deviceName };
|
|
11672
|
+
const response = await client.mutation({
|
|
11673
|
+
registerDeviceToken: {
|
|
11674
|
+
__args: { input },
|
|
11675
|
+
...fields
|
|
11676
|
+
}
|
|
11677
|
+
});
|
|
11678
|
+
VTXBaseAPI.Logger.debug('registerDeviceToken Response:');
|
|
11679
|
+
VTXBaseAPI.Logger.debug(JSON.stringify(response, null, 2));
|
|
11680
|
+
retValue = (0, response_builder_1.buildResponse)(response, 'registerDeviceToken', (r) => {
|
|
11681
|
+
const isResponseOk = response?.registerDeviceToken?.id !== undefined;
|
|
11682
|
+
return isResponseOk;
|
|
11683
|
+
});
|
|
11684
|
+
}
|
|
11685
|
+
catch (err1) {
|
|
11686
|
+
VTXBaseAPI.Logger.error('registerDeviceToken err1:');
|
|
11687
|
+
VTXBaseAPI.Logger.error(err1);
|
|
11688
|
+
retValue = (0, response_builder_1.buildErrorResponse)(err1);
|
|
11689
|
+
}
|
|
11690
|
+
return retValue;
|
|
11691
|
+
}
|
|
11692
|
+
async unregisterDeviceToken(token) {
|
|
11693
|
+
const client = (0, client_1.createClient)({
|
|
11694
|
+
url: this.backendUrl + "/graphql",
|
|
11695
|
+
headers: this.headers,
|
|
11696
|
+
});
|
|
11697
|
+
let retValue;
|
|
11698
|
+
try {
|
|
11699
|
+
const input = { token };
|
|
11700
|
+
const response = await client.mutation({
|
|
11701
|
+
unregisterDeviceToken: {
|
|
11702
|
+
__args: { input },
|
|
11703
|
+
}
|
|
11704
|
+
});
|
|
11705
|
+
VTXBaseAPI.Logger.debug('unregisterDeviceToken Response:');
|
|
11706
|
+
VTXBaseAPI.Logger.debug(JSON.stringify(response, null, 2));
|
|
11707
|
+
retValue = (0, response_builder_1.buildResponse)(response, 'unregisterDeviceToken', (r) => {
|
|
11708
|
+
const isResponseOk = response?.unregisterDeviceToken !== undefined;
|
|
11709
|
+
return isResponseOk;
|
|
11710
|
+
});
|
|
11711
|
+
}
|
|
11712
|
+
catch (err1) {
|
|
11713
|
+
VTXBaseAPI.Logger.error('unregisterDeviceToken err1:');
|
|
11714
|
+
VTXBaseAPI.Logger.error(err1);
|
|
11715
|
+
retValue = (0, response_builder_1.buildErrorResponse)(err1);
|
|
11716
|
+
}
|
|
11717
|
+
return retValue;
|
|
11718
|
+
}
|
|
11719
|
+
async updateNotificationPreferences(input) {
|
|
11720
|
+
const client = (0, client_1.createClient)({
|
|
11721
|
+
url: this.backendUrl + "/graphql",
|
|
11722
|
+
headers: this.headers,
|
|
11723
|
+
});
|
|
11724
|
+
const fields = {
|
|
11725
|
+
id: true,
|
|
11726
|
+
emailEnabled: true,
|
|
11727
|
+
inAppEnabled: true,
|
|
11728
|
+
pushEnabled: true,
|
|
11729
|
+
mutedTypes: true,
|
|
11730
|
+
};
|
|
11731
|
+
let retValue;
|
|
11732
|
+
try {
|
|
11733
|
+
const response = await client.mutation({
|
|
11734
|
+
updateNotificationPreferences: {
|
|
11735
|
+
__args: { input },
|
|
11736
|
+
...fields
|
|
11737
|
+
}
|
|
11738
|
+
});
|
|
11739
|
+
VTXBaseAPI.Logger.debug('updateNotificationPreferences Response:');
|
|
11740
|
+
VTXBaseAPI.Logger.debug(JSON.stringify(response, null, 2));
|
|
11741
|
+
retValue = (0, response_builder_1.buildResponse)(response, 'updateNotificationPreferences', (r) => {
|
|
11742
|
+
const isResponseOk = response?.updateNotificationPreferences?.id !== undefined;
|
|
11743
|
+
return isResponseOk;
|
|
11744
|
+
});
|
|
11745
|
+
}
|
|
11746
|
+
catch (err1) {
|
|
11747
|
+
VTXBaseAPI.Logger.error('updateNotificationPreferences err1:');
|
|
11748
|
+
VTXBaseAPI.Logger.error(err1);
|
|
11749
|
+
retValue = (0, response_builder_1.buildErrorResponse)(err1);
|
|
11750
|
+
}
|
|
11751
|
+
return retValue;
|
|
11752
|
+
}
|
|
11753
|
+
async followAthlete(athleteId) {
|
|
11754
|
+
const client = (0, client_1.createClient)({
|
|
11755
|
+
url: this.backendUrl + "/graphql",
|
|
11756
|
+
headers: this.headers,
|
|
11757
|
+
});
|
|
11758
|
+
let retValue;
|
|
11759
|
+
try {
|
|
11760
|
+
const response = await client.mutation({
|
|
11761
|
+
followAthlete: {
|
|
11762
|
+
__args: { input: { athleteId } },
|
|
11763
|
+
}
|
|
11764
|
+
});
|
|
11765
|
+
VTXBaseAPI.Logger.debug('followAthlete Response:');
|
|
11766
|
+
VTXBaseAPI.Logger.debug(JSON.stringify(response, null, 2));
|
|
11767
|
+
retValue = (0, response_builder_1.buildResponse)(response, 'followAthlete', (r) => {
|
|
11768
|
+
const isResponseOk = response?.followAthlete !== undefined;
|
|
11769
|
+
return isResponseOk;
|
|
11770
|
+
});
|
|
11771
|
+
}
|
|
11772
|
+
catch (err1) {
|
|
11773
|
+
VTXBaseAPI.Logger.error('followAthlete err1:');
|
|
11774
|
+
VTXBaseAPI.Logger.error(err1);
|
|
11775
|
+
retValue = (0, response_builder_1.buildErrorResponse)(err1);
|
|
11776
|
+
}
|
|
11777
|
+
return retValue;
|
|
11778
|
+
}
|
|
11779
|
+
async unfollowAthlete(athleteId) {
|
|
11780
|
+
const client = (0, client_1.createClient)({
|
|
11781
|
+
url: this.backendUrl + "/graphql",
|
|
11782
|
+
headers: this.headers,
|
|
11783
|
+
});
|
|
11784
|
+
let retValue;
|
|
11785
|
+
try {
|
|
11786
|
+
const response = await client.mutation({
|
|
11787
|
+
unfollowAthlete: {
|
|
11788
|
+
__args: { input: { athleteId } },
|
|
11789
|
+
}
|
|
11790
|
+
});
|
|
11791
|
+
VTXBaseAPI.Logger.debug('unfollowAthlete Response:');
|
|
11792
|
+
VTXBaseAPI.Logger.debug(JSON.stringify(response, null, 2));
|
|
11793
|
+
retValue = (0, response_builder_1.buildResponse)(response, 'unfollowAthlete', (r) => {
|
|
11794
|
+
const isResponseOk = response?.unfollowAthlete !== undefined;
|
|
11795
|
+
return isResponseOk;
|
|
11796
|
+
});
|
|
11797
|
+
}
|
|
11798
|
+
catch (err1) {
|
|
11799
|
+
VTXBaseAPI.Logger.error('unfollowAthlete err1:');
|
|
11800
|
+
VTXBaseAPI.Logger.error(err1);
|
|
11801
|
+
retValue = (0, response_builder_1.buildErrorResponse)(err1);
|
|
11802
|
+
}
|
|
11803
|
+
return retValue;
|
|
11804
|
+
}
|
|
11805
|
+
async isFollowingAthlete(athleteId) {
|
|
11806
|
+
const client = (0, client_1.createClient)({
|
|
11807
|
+
url: this.backendUrl + "/graphql",
|
|
11808
|
+
headers: this.headers,
|
|
11809
|
+
});
|
|
11810
|
+
const fields = {
|
|
11811
|
+
isFollowing: true,
|
|
11812
|
+
};
|
|
11813
|
+
let retValue;
|
|
11814
|
+
try {
|
|
11815
|
+
const response = await client.query({
|
|
11816
|
+
isFollowingAthlete: {
|
|
11817
|
+
__args: { input: { athleteId } },
|
|
11818
|
+
...fields
|
|
11819
|
+
}
|
|
11820
|
+
});
|
|
11821
|
+
VTXBaseAPI.Logger.debug('isFollowingAthlete Response:');
|
|
11822
|
+
VTXBaseAPI.Logger.debug(JSON.stringify(response, null, 2));
|
|
11823
|
+
retValue = (0, response_builder_1.buildResponse)(response, 'isFollowingAthlete', (r) => {
|
|
11824
|
+
const isResponseOk = response?.isFollowingAthlete?.isFollowing !== undefined;
|
|
11825
|
+
return isResponseOk;
|
|
11826
|
+
});
|
|
11827
|
+
}
|
|
11828
|
+
catch (err1) {
|
|
11829
|
+
VTXBaseAPI.Logger.error('isFollowingAthlete err1:');
|
|
11830
|
+
VTXBaseAPI.Logger.error(err1);
|
|
11831
|
+
retValue = (0, response_builder_1.buildErrorResponse)(err1);
|
|
11832
|
+
}
|
|
11833
|
+
return retValue;
|
|
11834
|
+
}
|
|
11835
|
+
async getMyFollowedAthletes(options) {
|
|
11836
|
+
const client = (0, client_1.createClient)({
|
|
11837
|
+
url: this.backendUrl + "/graphql",
|
|
11838
|
+
headers: this.headers,
|
|
11839
|
+
});
|
|
11840
|
+
const athleteFields = {
|
|
11841
|
+
id: true,
|
|
11842
|
+
firstName: true,
|
|
11843
|
+
lastName: true,
|
|
11844
|
+
screenName: true,
|
|
11845
|
+
profilePicture: {
|
|
11846
|
+
_id: true,
|
|
11847
|
+
url: true,
|
|
11848
|
+
key: true,
|
|
11849
|
+
},
|
|
11850
|
+
sportName: true,
|
|
11851
|
+
vtxScore: true,
|
|
11852
|
+
};
|
|
11853
|
+
const fields = {
|
|
11854
|
+
athletes: athleteFields,
|
|
11855
|
+
total: true,
|
|
11856
|
+
hasMore: true,
|
|
11857
|
+
};
|
|
11858
|
+
let retValue;
|
|
11859
|
+
try {
|
|
11860
|
+
const response = await client.query({
|
|
11861
|
+
myFollowedAthletes: {
|
|
11862
|
+
__args: { input: options || null },
|
|
11863
|
+
...fields
|
|
11864
|
+
}
|
|
11865
|
+
});
|
|
11866
|
+
VTXBaseAPI.Logger.debug('getMyFollowedAthletes Response:');
|
|
11867
|
+
VTXBaseAPI.Logger.debug(JSON.stringify(response, null, 2));
|
|
11868
|
+
retValue = (0, response_builder_1.buildResponse)(response, 'myFollowedAthletes', (r) => {
|
|
11869
|
+
const isResponseOk = response?.myFollowedAthletes?.athletes !== undefined;
|
|
11870
|
+
return isResponseOk;
|
|
11871
|
+
});
|
|
11872
|
+
}
|
|
11873
|
+
catch (err1) {
|
|
11874
|
+
VTXBaseAPI.Logger.error('getMyFollowedAthletes err1:');
|
|
11875
|
+
VTXBaseAPI.Logger.error(err1);
|
|
11876
|
+
retValue = (0, response_builder_1.buildErrorResponse)(err1);
|
|
11877
|
+
}
|
|
11878
|
+
return retValue;
|
|
11879
|
+
}
|
|
11880
|
+
async deleteOnboardingAthlete() {
|
|
11881
|
+
const client = (0, client_1.createClient)({
|
|
11882
|
+
url: this.backendUrl + '/graphql',
|
|
11883
|
+
headers: this.headers,
|
|
11884
|
+
});
|
|
11885
|
+
let retValue = {};
|
|
11886
|
+
try {
|
|
11887
|
+
const response = await client.mutation({
|
|
11888
|
+
deleteOnboardingAthlete: {
|
|
11889
|
+
success: true,
|
|
11890
|
+
athleteId: true,
|
|
11891
|
+
error: true,
|
|
11892
|
+
},
|
|
11893
|
+
});
|
|
11894
|
+
VTXBaseAPI.Logger.debug('deleteOnboardingAthlete Response:');
|
|
11895
|
+
VTXBaseAPI.Logger.debug(JSON.stringify(response, null, 2));
|
|
11896
|
+
retValue = (0, response_builder_1.buildResponse)(response, 'deleteOnboardingAthlete', (r) => response?.deleteOnboardingAthlete?.success === true);
|
|
11897
|
+
}
|
|
11898
|
+
catch (err) {
|
|
11899
|
+
VTXBaseAPI.Logger.error('deleteOnboardingAthlete error:');
|
|
11900
|
+
VTXBaseAPI.Logger.error(err);
|
|
11901
|
+
retValue = (0, response_builder_1.buildErrorResponse)(err);
|
|
11902
|
+
}
|
|
11903
|
+
return retValue;
|
|
11904
|
+
}
|
|
11905
|
+
async updateOnboardingProgress(step, complete) {
|
|
11906
|
+
const client = (0, client_1.createClient)({
|
|
11907
|
+
url: this.backendUrl + '/graphql',
|
|
11908
|
+
headers: this.headers,
|
|
11909
|
+
});
|
|
11910
|
+
let retValue = {};
|
|
11911
|
+
try {
|
|
11912
|
+
const response = await client.mutation({
|
|
11913
|
+
updateOnboardingProgress: {
|
|
11914
|
+
__args: { input: { step, complete } },
|
|
11915
|
+
success: true,
|
|
11916
|
+
step: true,
|
|
11917
|
+
complete: true,
|
|
11918
|
+
error: true,
|
|
11919
|
+
},
|
|
11920
|
+
});
|
|
11921
|
+
VTXBaseAPI.Logger.debug('updateOnboardingProgress Response:');
|
|
11922
|
+
VTXBaseAPI.Logger.debug(JSON.stringify(response, null, 2));
|
|
11923
|
+
retValue = (0, response_builder_1.buildResponse)(response, 'updateOnboardingProgress', (r) => response?.updateOnboardingProgress?.success === true);
|
|
11924
|
+
}
|
|
11925
|
+
catch (err) {
|
|
11926
|
+
VTXBaseAPI.Logger.error('updateOnboardingProgress error:');
|
|
11927
|
+
VTXBaseAPI.Logger.error(err);
|
|
11928
|
+
retValue = (0, response_builder_1.buildErrorResponse)(err);
|
|
11929
|
+
}
|
|
11930
|
+
return retValue;
|
|
11931
|
+
}
|
|
11932
|
+
async getOnboardingProgress() {
|
|
11933
|
+
const client = (0, client_1.createClient)({
|
|
11934
|
+
url: this.backendUrl + '/graphql',
|
|
11935
|
+
headers: this.headers,
|
|
11936
|
+
});
|
|
11937
|
+
let retValue = {};
|
|
11938
|
+
try {
|
|
11939
|
+
const response = await client.query({
|
|
11940
|
+
getOnboardingProgress: {
|
|
11941
|
+
success: true,
|
|
11942
|
+
step: true,
|
|
11943
|
+
complete: true,
|
|
11944
|
+
athleteId: true,
|
|
11945
|
+
error: true,
|
|
11946
|
+
},
|
|
11947
|
+
});
|
|
11948
|
+
VTXBaseAPI.Logger.debug('getOnboardingProgress Response:');
|
|
11949
|
+
VTXBaseAPI.Logger.debug(JSON.stringify(response, null, 2));
|
|
11950
|
+
retValue = (0, response_builder_1.buildResponse)(response, 'getOnboardingProgress', (r) => response?.getOnboardingProgress?.success === true);
|
|
11951
|
+
}
|
|
11952
|
+
catch (err) {
|
|
11953
|
+
VTXBaseAPI.Logger.error('getOnboardingProgress error:');
|
|
11954
|
+
VTXBaseAPI.Logger.error(err);
|
|
11955
|
+
retValue = (0, response_builder_1.buildErrorResponse)(err);
|
|
11956
|
+
}
|
|
11957
|
+
return retValue;
|
|
11958
|
+
}
|
|
11959
|
+
async getPublicAthleteIntegrationStatus(athleteId) {
|
|
11960
|
+
const client = (0, client_1.createClient)({
|
|
11961
|
+
url: this.backendUrl + '/graphql',
|
|
11962
|
+
headers: this.headers,
|
|
11963
|
+
});
|
|
11964
|
+
let retValue = {};
|
|
11965
|
+
try {
|
|
11966
|
+
const response = await client.query({
|
|
11967
|
+
getPublicAthleteIntegrationStatus: {
|
|
11968
|
+
__args: { athleteId },
|
|
11969
|
+
hasStravaIntegration: true,
|
|
11970
|
+
stravaAthleteId: true,
|
|
11971
|
+
hasInstagramIntegration: true,
|
|
11972
|
+
instagramUsername: true,
|
|
11973
|
+
},
|
|
11974
|
+
});
|
|
11975
|
+
retValue = (0, response_builder_1.buildResponse)(response, 'getPublicAthleteIntegrationStatus', (r) => response?.getPublicAthleteIntegrationStatus != null);
|
|
11976
|
+
}
|
|
11977
|
+
catch (err) {
|
|
11978
|
+
retValue = (0, response_builder_1.buildErrorResponse)(err);
|
|
11979
|
+
}
|
|
11980
|
+
return retValue;
|
|
11981
|
+
}
|
|
11982
|
+
async getEmailCampaigns(args) {
|
|
11983
|
+
const client = (0, client_1.createClient)({
|
|
11984
|
+
url: this.backendUrl + '/graphql',
|
|
11985
|
+
headers: this.headers,
|
|
11986
|
+
});
|
|
11987
|
+
let retValue = {};
|
|
11988
|
+
try {
|
|
11989
|
+
const response = await client.query({
|
|
11990
|
+
getEmailCampaigns: {
|
|
11991
|
+
__args: { ...args },
|
|
11992
|
+
campaigns: {
|
|
11993
|
+
_id: true,
|
|
11994
|
+
subject: true,
|
|
11995
|
+
templateId: true,
|
|
11996
|
+
templateName: true,
|
|
11997
|
+
htmlContent: true,
|
|
11998
|
+
audienceFilters: true,
|
|
11999
|
+
segmentId: true,
|
|
12000
|
+
status: true,
|
|
12001
|
+
scheduledFor: true,
|
|
12002
|
+
sentAt: true,
|
|
12003
|
+
recipientCount: true,
|
|
12004
|
+
createdBy: true,
|
|
12005
|
+
createdAt: true,
|
|
12006
|
+
updatedAt: true,
|
|
12007
|
+
testSentAt: true,
|
|
12008
|
+
deliveryStats: {
|
|
12009
|
+
delivered: true,
|
|
12010
|
+
opens: true,
|
|
12011
|
+
uniqueOpens: true,
|
|
12012
|
+
clicks: true,
|
|
12013
|
+
uniqueClicks: true,
|
|
12014
|
+
bounces: true,
|
|
12015
|
+
spamReports: true,
|
|
12016
|
+
lastUpdated: true,
|
|
12017
|
+
},
|
|
12018
|
+
segment: {
|
|
12019
|
+
_id: true,
|
|
12020
|
+
name: true,
|
|
12021
|
+
filters: true,
|
|
12022
|
+
createdBy: true,
|
|
12023
|
+
createdAt: true,
|
|
12024
|
+
},
|
|
12025
|
+
},
|
|
12026
|
+
total: true,
|
|
12027
|
+
},
|
|
12028
|
+
});
|
|
12029
|
+
VTXBaseAPI.Logger.debug('getEmailCampaigns Response:');
|
|
12030
|
+
VTXBaseAPI.Logger.debug(JSON.stringify(response, null, 2));
|
|
12031
|
+
retValue = (0, response_builder_1.buildResponse)(response, 'getEmailCampaigns', (r) => response?.getEmailCampaigns?.campaigns != null);
|
|
12032
|
+
}
|
|
12033
|
+
catch (err1) {
|
|
12034
|
+
VTXBaseAPI.Logger.error('getEmailCampaigns err1:');
|
|
12035
|
+
VTXBaseAPI.Logger.error(err1);
|
|
12036
|
+
retValue = (0, response_builder_1.buildErrorResponse)(err1);
|
|
12037
|
+
}
|
|
12038
|
+
return retValue;
|
|
12039
|
+
}
|
|
12040
|
+
async createEmailCampaign(input) {
|
|
12041
|
+
const client = (0, client_1.createClient)({
|
|
12042
|
+
url: this.backendUrl + '/graphql',
|
|
12043
|
+
headers: this.headers,
|
|
12044
|
+
});
|
|
12045
|
+
let retValue = {};
|
|
12046
|
+
try {
|
|
12047
|
+
const response = await client.mutation({
|
|
12048
|
+
createEmailCampaign: {
|
|
12049
|
+
__args: { input },
|
|
12050
|
+
_id: true,
|
|
12051
|
+
subject: true,
|
|
12052
|
+
status: true,
|
|
12053
|
+
createdAt: true,
|
|
12054
|
+
updatedAt: true,
|
|
12055
|
+
},
|
|
12056
|
+
});
|
|
12057
|
+
VTXBaseAPI.Logger.debug('createEmailCampaign Response:');
|
|
12058
|
+
VTXBaseAPI.Logger.debug(JSON.stringify(response, null, 2));
|
|
12059
|
+
retValue = (0, response_builder_1.buildResponse)(response, 'createEmailCampaign', (r) => response?.createEmailCampaign?._id);
|
|
12060
|
+
}
|
|
12061
|
+
catch (err1) {
|
|
12062
|
+
VTXBaseAPI.Logger.error('createEmailCampaign err1:');
|
|
12063
|
+
VTXBaseAPI.Logger.error(err1);
|
|
12064
|
+
retValue = (0, response_builder_1.buildErrorResponse)(err1);
|
|
12065
|
+
}
|
|
12066
|
+
return retValue;
|
|
12067
|
+
}
|
|
12068
|
+
async updateEmailCampaign(id, input) {
|
|
12069
|
+
const client = (0, client_1.createClient)({
|
|
12070
|
+
url: this.backendUrl + '/graphql',
|
|
12071
|
+
headers: this.headers,
|
|
12072
|
+
});
|
|
12073
|
+
let retValue = {};
|
|
12074
|
+
try {
|
|
12075
|
+
const response = await client.mutation({
|
|
12076
|
+
updateEmailCampaign: {
|
|
12077
|
+
__args: { id, input },
|
|
12078
|
+
_id: true,
|
|
12079
|
+
subject: true,
|
|
12080
|
+
status: true,
|
|
12081
|
+
updatedAt: true,
|
|
12082
|
+
},
|
|
12083
|
+
});
|
|
12084
|
+
VTXBaseAPI.Logger.debug('updateEmailCampaign Response:');
|
|
12085
|
+
VTXBaseAPI.Logger.debug(JSON.stringify(response, null, 2));
|
|
12086
|
+
retValue = (0, response_builder_1.buildResponse)(response, 'updateEmailCampaign', (r) => response?.updateEmailCampaign?._id);
|
|
12087
|
+
}
|
|
12088
|
+
catch (err1) {
|
|
12089
|
+
VTXBaseAPI.Logger.error('updateEmailCampaign err1:');
|
|
12090
|
+
VTXBaseAPI.Logger.error(err1);
|
|
12091
|
+
retValue = (0, response_builder_1.buildErrorResponse)(err1);
|
|
12092
|
+
}
|
|
12093
|
+
return retValue;
|
|
12094
|
+
}
|
|
12095
|
+
async deleteEmailCampaign(id) {
|
|
12096
|
+
const client = (0, client_1.createClient)({
|
|
12097
|
+
url: this.backendUrl + '/graphql',
|
|
12098
|
+
headers: this.headers,
|
|
12099
|
+
});
|
|
12100
|
+
let retValue = {};
|
|
12101
|
+
try {
|
|
12102
|
+
const response = await client.mutation({
|
|
12103
|
+
deleteEmailCampaign: {
|
|
12104
|
+
__args: { id },
|
|
12105
|
+
__scalar: true,
|
|
12106
|
+
},
|
|
12107
|
+
});
|
|
12108
|
+
VTXBaseAPI.Logger.debug('deleteEmailCampaign Response:');
|
|
12109
|
+
VTXBaseAPI.Logger.debug(JSON.stringify(response, null, 2));
|
|
12110
|
+
retValue = (0, response_builder_1.buildResponse)(response, 'deleteEmailCampaign', (r) => response?.deleteEmailCampaign === true);
|
|
12111
|
+
}
|
|
12112
|
+
catch (err1) {
|
|
12113
|
+
VTXBaseAPI.Logger.error('deleteEmailCampaign err1:');
|
|
12114
|
+
VTXBaseAPI.Logger.error(err1);
|
|
12115
|
+
retValue = (0, response_builder_1.buildErrorResponse)(err1);
|
|
12116
|
+
}
|
|
12117
|
+
return retValue;
|
|
12118
|
+
}
|
|
12119
|
+
async cloneEmailCampaign(id) {
|
|
12120
|
+
const client = (0, client_1.createClient)({
|
|
12121
|
+
url: this.backendUrl + '/graphql',
|
|
12122
|
+
headers: this.headers,
|
|
12123
|
+
});
|
|
12124
|
+
let retValue = {};
|
|
12125
|
+
try {
|
|
12126
|
+
const response = await client.mutation({
|
|
12127
|
+
cloneEmailCampaign: {
|
|
12128
|
+
__args: { id },
|
|
12129
|
+
_id: true,
|
|
12130
|
+
subject: true,
|
|
12131
|
+
status: true,
|
|
12132
|
+
createdAt: true,
|
|
12133
|
+
},
|
|
12134
|
+
});
|
|
12135
|
+
VTXBaseAPI.Logger.debug('cloneEmailCampaign Response:');
|
|
12136
|
+
VTXBaseAPI.Logger.debug(JSON.stringify(response, null, 2));
|
|
12137
|
+
retValue = (0, response_builder_1.buildResponse)(response, 'cloneEmailCampaign', (r) => response?.cloneEmailCampaign?._id);
|
|
12138
|
+
}
|
|
12139
|
+
catch (err1) {
|
|
12140
|
+
VTXBaseAPI.Logger.error('cloneEmailCampaign err1:');
|
|
12141
|
+
VTXBaseAPI.Logger.error(err1);
|
|
12142
|
+
retValue = (0, response_builder_1.buildErrorResponse)(err1);
|
|
12143
|
+
}
|
|
12144
|
+
return retValue;
|
|
12145
|
+
}
|
|
12146
|
+
async sendTestEmail(campaignId, email) {
|
|
12147
|
+
const client = (0, client_1.createClient)({
|
|
12148
|
+
url: this.backendUrl + '/graphql',
|
|
12149
|
+
headers: this.headers,
|
|
12150
|
+
});
|
|
12151
|
+
let retValue = {};
|
|
12152
|
+
try {
|
|
12153
|
+
const response = await client.mutation({
|
|
12154
|
+
sendTestEmail: {
|
|
12155
|
+
__args: { campaignId, adminEmail: email },
|
|
12156
|
+
_id: true,
|
|
12157
|
+
testSentAt: true,
|
|
12158
|
+
},
|
|
12159
|
+
});
|
|
12160
|
+
VTXBaseAPI.Logger.debug('sendTestEmail Response:');
|
|
12161
|
+
VTXBaseAPI.Logger.debug(JSON.stringify(response, null, 2));
|
|
12162
|
+
retValue = (0, response_builder_1.buildResponse)(response, 'sendTestEmail', (r) => response?.sendTestEmail?._id);
|
|
12163
|
+
}
|
|
12164
|
+
catch (err1) {
|
|
12165
|
+
VTXBaseAPI.Logger.error('sendTestEmail err1:');
|
|
12166
|
+
VTXBaseAPI.Logger.error(err1);
|
|
12167
|
+
retValue = (0, response_builder_1.buildErrorResponse)(err1);
|
|
12168
|
+
}
|
|
12169
|
+
return retValue;
|
|
12170
|
+
}
|
|
12171
|
+
async sendBulkEmail(campaignId) {
|
|
12172
|
+
const client = (0, client_1.createClient)({
|
|
12173
|
+
url: this.backendUrl + '/graphql',
|
|
12174
|
+
headers: this.headers,
|
|
12175
|
+
});
|
|
12176
|
+
let retValue = {};
|
|
12177
|
+
try {
|
|
12178
|
+
const response = await client.mutation({
|
|
12179
|
+
sendBulkEmail: {
|
|
12180
|
+
__args: { campaignId },
|
|
12181
|
+
_id: true,
|
|
12182
|
+
status: true,
|
|
12183
|
+
sentAt: true,
|
|
12184
|
+
recipientCount: true,
|
|
12185
|
+
},
|
|
12186
|
+
});
|
|
12187
|
+
VTXBaseAPI.Logger.debug('sendBulkEmail Response:');
|
|
12188
|
+
VTXBaseAPI.Logger.debug(JSON.stringify(response, null, 2));
|
|
12189
|
+
retValue = (0, response_builder_1.buildResponse)(response, 'sendBulkEmail', (r) => response?.sendBulkEmail?._id);
|
|
12190
|
+
}
|
|
12191
|
+
catch (err1) {
|
|
12192
|
+
VTXBaseAPI.Logger.error('sendBulkEmail err1:');
|
|
12193
|
+
VTXBaseAPI.Logger.error(err1);
|
|
12194
|
+
retValue = (0, response_builder_1.buildErrorResponse)(err1);
|
|
12195
|
+
}
|
|
12196
|
+
return retValue;
|
|
12197
|
+
}
|
|
12198
|
+
async scheduleEmailCampaign(campaignId, scheduledFor) {
|
|
12199
|
+
const client = (0, client_1.createClient)({
|
|
12200
|
+
url: this.backendUrl + '/graphql',
|
|
12201
|
+
headers: this.headers,
|
|
12202
|
+
});
|
|
12203
|
+
let retValue = {};
|
|
12204
|
+
try {
|
|
12205
|
+
const response = await client.mutation({
|
|
12206
|
+
scheduleEmailCampaign: {
|
|
12207
|
+
__args: { campaignId, scheduledFor },
|
|
12208
|
+
_id: true,
|
|
12209
|
+
status: true,
|
|
12210
|
+
scheduledFor: true,
|
|
12211
|
+
},
|
|
12212
|
+
});
|
|
12213
|
+
VTXBaseAPI.Logger.debug('scheduleEmailCampaign Response:');
|
|
12214
|
+
VTXBaseAPI.Logger.debug(JSON.stringify(response, null, 2));
|
|
12215
|
+
retValue = (0, response_builder_1.buildResponse)(response, 'scheduleEmailCampaign', (r) => response?.scheduleEmailCampaign?._id);
|
|
12216
|
+
}
|
|
12217
|
+
catch (err1) {
|
|
12218
|
+
VTXBaseAPI.Logger.error('scheduleEmailCampaign err1:');
|
|
12219
|
+
VTXBaseAPI.Logger.error(err1);
|
|
12220
|
+
retValue = (0, response_builder_1.buildErrorResponse)(err1);
|
|
12221
|
+
}
|
|
12222
|
+
return retValue;
|
|
12223
|
+
}
|
|
12224
|
+
async cancelScheduledEmail(campaignId) {
|
|
12225
|
+
const client = (0, client_1.createClient)({
|
|
12226
|
+
url: this.backendUrl + '/graphql',
|
|
12227
|
+
headers: this.headers,
|
|
12228
|
+
});
|
|
12229
|
+
let retValue = {};
|
|
12230
|
+
try {
|
|
12231
|
+
const response = await client.mutation({
|
|
12232
|
+
cancelScheduledEmail: {
|
|
12233
|
+
__args: { campaignId },
|
|
12234
|
+
_id: true,
|
|
12235
|
+
status: true,
|
|
12236
|
+
},
|
|
12237
|
+
});
|
|
12238
|
+
VTXBaseAPI.Logger.debug('cancelScheduledEmail Response:');
|
|
12239
|
+
VTXBaseAPI.Logger.debug(JSON.stringify(response, null, 2));
|
|
12240
|
+
retValue = (0, response_builder_1.buildResponse)(response, 'cancelScheduledEmail', (r) => response?.cancelScheduledEmail?._id);
|
|
12241
|
+
}
|
|
12242
|
+
catch (err1) {
|
|
12243
|
+
VTXBaseAPI.Logger.error('cancelScheduledEmail err1:');
|
|
12244
|
+
VTXBaseAPI.Logger.error(err1);
|
|
12245
|
+
retValue = (0, response_builder_1.buildErrorResponse)(err1);
|
|
12246
|
+
}
|
|
12247
|
+
return retValue;
|
|
12248
|
+
}
|
|
12249
|
+
async getAudiencePreview(filters) {
|
|
12250
|
+
const client = (0, client_1.createClient)({
|
|
12251
|
+
url: this.backendUrl + '/graphql',
|
|
12252
|
+
headers: this.headers,
|
|
12253
|
+
});
|
|
12254
|
+
let retValue = {};
|
|
12255
|
+
try {
|
|
12256
|
+
const response = await client.query({
|
|
12257
|
+
getAudiencePreview: {
|
|
12258
|
+
__args: { filters },
|
|
12259
|
+
total: true,
|
|
12260
|
+
users: {
|
|
12261
|
+
_id: true,
|
|
12262
|
+
name: true,
|
|
12263
|
+
email: true,
|
|
12264
|
+
type: true,
|
|
12265
|
+
},
|
|
12266
|
+
},
|
|
12267
|
+
});
|
|
12268
|
+
VTXBaseAPI.Logger.debug('getAudiencePreview Response:');
|
|
12269
|
+
VTXBaseAPI.Logger.debug(JSON.stringify(response, null, 2));
|
|
12270
|
+
retValue = (0, response_builder_1.buildResponse)(response, 'getAudiencePreview', (r) => response?.getAudiencePreview?.total != null);
|
|
12271
|
+
}
|
|
12272
|
+
catch (err1) {
|
|
12273
|
+
VTXBaseAPI.Logger.error('getAudiencePreview err1:');
|
|
12274
|
+
VTXBaseAPI.Logger.error(err1);
|
|
12275
|
+
retValue = (0, response_builder_1.buildErrorResponse)(err1);
|
|
12276
|
+
}
|
|
12277
|
+
return retValue;
|
|
12278
|
+
}
|
|
12279
|
+
async getSendGridTemplates() {
|
|
12280
|
+
const client = (0, client_1.createClient)({
|
|
12281
|
+
url: this.backendUrl + '/graphql',
|
|
12282
|
+
headers: this.headers,
|
|
12283
|
+
});
|
|
12284
|
+
let retValue = {};
|
|
12285
|
+
try {
|
|
12286
|
+
const response = await client.query({
|
|
12287
|
+
getSendGridTemplates: {
|
|
12288
|
+
id: true,
|
|
12289
|
+
name: true,
|
|
12290
|
+
updatedAt: true,
|
|
12291
|
+
},
|
|
12292
|
+
});
|
|
12293
|
+
VTXBaseAPI.Logger.debug('getSendGridTemplates Response:');
|
|
12294
|
+
VTXBaseAPI.Logger.debug(JSON.stringify(response, null, 2));
|
|
12295
|
+
retValue = (0, response_builder_1.buildResponse)(response, 'getSendGridTemplates', (r) => response?.getSendGridTemplates != null);
|
|
12296
|
+
}
|
|
12297
|
+
catch (err1) {
|
|
12298
|
+
VTXBaseAPI.Logger.error('getSendGridTemplates err1:');
|
|
12299
|
+
VTXBaseAPI.Logger.error(err1);
|
|
12300
|
+
retValue = (0, response_builder_1.buildErrorResponse)(err1);
|
|
12301
|
+
}
|
|
12302
|
+
return retValue;
|
|
12303
|
+
}
|
|
12304
|
+
async getEmailSegments() {
|
|
12305
|
+
const client = (0, client_1.createClient)({
|
|
12306
|
+
url: this.backendUrl + '/graphql',
|
|
12307
|
+
headers: this.headers,
|
|
12308
|
+
});
|
|
12309
|
+
let retValue = {};
|
|
12310
|
+
try {
|
|
12311
|
+
const response = await client.query({
|
|
12312
|
+
getEmailSegments: {
|
|
12313
|
+
_id: true,
|
|
12314
|
+
name: true,
|
|
12315
|
+
filters: true,
|
|
12316
|
+
createdBy: true,
|
|
12317
|
+
createdAt: true,
|
|
12318
|
+
updatedAt: true,
|
|
12319
|
+
},
|
|
12320
|
+
});
|
|
12321
|
+
VTXBaseAPI.Logger.debug('getEmailSegments Response:');
|
|
12322
|
+
VTXBaseAPI.Logger.debug(JSON.stringify(response, null, 2));
|
|
12323
|
+
retValue = (0, response_builder_1.buildResponse)(response, 'getEmailSegments', (r) => response?.getEmailSegments != null);
|
|
12324
|
+
}
|
|
12325
|
+
catch (err1) {
|
|
12326
|
+
VTXBaseAPI.Logger.error('getEmailSegments err1:');
|
|
12327
|
+
VTXBaseAPI.Logger.error(err1);
|
|
12328
|
+
retValue = (0, response_builder_1.buildErrorResponse)(err1);
|
|
12329
|
+
}
|
|
12330
|
+
return retValue;
|
|
12331
|
+
}
|
|
12332
|
+
async createEmailSegment(input) {
|
|
12333
|
+
const client = (0, client_1.createClient)({
|
|
12334
|
+
url: this.backendUrl + '/graphql',
|
|
12335
|
+
headers: this.headers,
|
|
12336
|
+
});
|
|
12337
|
+
let retValue = {};
|
|
12338
|
+
try {
|
|
12339
|
+
const response = await client.mutation({
|
|
12340
|
+
createEmailSegment: {
|
|
12341
|
+
__args: { input },
|
|
12342
|
+
_id: true,
|
|
12343
|
+
name: true,
|
|
12344
|
+
filters: true,
|
|
12345
|
+
createdBy: true,
|
|
12346
|
+
createdAt: true,
|
|
12347
|
+
},
|
|
12348
|
+
});
|
|
12349
|
+
VTXBaseAPI.Logger.debug('createEmailSegment Response:');
|
|
12350
|
+
VTXBaseAPI.Logger.debug(JSON.stringify(response, null, 2));
|
|
12351
|
+
retValue = (0, response_builder_1.buildResponse)(response, 'createEmailSegment', (r) => response?.createEmailSegment?._id);
|
|
12352
|
+
}
|
|
12353
|
+
catch (err1) {
|
|
12354
|
+
VTXBaseAPI.Logger.error('createEmailSegment err1:');
|
|
12355
|
+
VTXBaseAPI.Logger.error(err1);
|
|
12356
|
+
retValue = (0, response_builder_1.buildErrorResponse)(err1);
|
|
12357
|
+
}
|
|
12358
|
+
return retValue;
|
|
12359
|
+
}
|
|
12360
|
+
async updateEmailSegment(id, input) {
|
|
12361
|
+
const client = (0, client_1.createClient)({
|
|
12362
|
+
url: this.backendUrl + '/graphql',
|
|
12363
|
+
headers: this.headers,
|
|
12364
|
+
});
|
|
12365
|
+
let retValue = {};
|
|
12366
|
+
try {
|
|
12367
|
+
const response = await client.mutation({
|
|
12368
|
+
updateEmailSegment: {
|
|
12369
|
+
__args: { id, input },
|
|
12370
|
+
_id: true,
|
|
12371
|
+
name: true,
|
|
12372
|
+
filters: true,
|
|
12373
|
+
updatedAt: true,
|
|
12374
|
+
},
|
|
12375
|
+
});
|
|
12376
|
+
VTXBaseAPI.Logger.debug('updateEmailSegment Response:');
|
|
12377
|
+
VTXBaseAPI.Logger.debug(JSON.stringify(response, null, 2));
|
|
12378
|
+
retValue = (0, response_builder_1.buildResponse)(response, 'updateEmailSegment', (r) => response?.updateEmailSegment?._id);
|
|
12379
|
+
}
|
|
12380
|
+
catch (err1) {
|
|
12381
|
+
VTXBaseAPI.Logger.error('updateEmailSegment err1:');
|
|
12382
|
+
VTXBaseAPI.Logger.error(err1);
|
|
12383
|
+
retValue = (0, response_builder_1.buildErrorResponse)(err1);
|
|
12384
|
+
}
|
|
12385
|
+
return retValue;
|
|
12386
|
+
}
|
|
12387
|
+
async deleteEmailSegment(id) {
|
|
12388
|
+
const client = (0, client_1.createClient)({
|
|
12389
|
+
url: this.backendUrl + '/graphql',
|
|
12390
|
+
headers: this.headers,
|
|
12391
|
+
});
|
|
12392
|
+
let retValue = {};
|
|
12393
|
+
try {
|
|
12394
|
+
const response = await client.mutation({
|
|
12395
|
+
deleteEmailSegment: {
|
|
12396
|
+
__args: { id },
|
|
12397
|
+
__scalar: true,
|
|
12398
|
+
},
|
|
12399
|
+
});
|
|
12400
|
+
VTXBaseAPI.Logger.debug('deleteEmailSegment Response:');
|
|
12401
|
+
VTXBaseAPI.Logger.debug(JSON.stringify(response, null, 2));
|
|
12402
|
+
retValue = (0, response_builder_1.buildResponse)(response, 'deleteEmailSegment', (r) => response?.deleteEmailSegment === true);
|
|
12403
|
+
}
|
|
12404
|
+
catch (err1) {
|
|
12405
|
+
VTXBaseAPI.Logger.error('deleteEmailSegment err1:');
|
|
12406
|
+
VTXBaseAPI.Logger.error(err1);
|
|
12407
|
+
retValue = (0, response_builder_1.buildErrorResponse)(err1);
|
|
12408
|
+
}
|
|
12409
|
+
return retValue;
|
|
12410
|
+
}
|
|
11049
12411
|
}
|
|
11050
12412
|
exports.VTXBaseAPI = VTXBaseAPI;
|
|
11051
12413
|
VTXBaseAPI.Logger = {
|