@vertikalx/vtx-backend-client 3.0.0-dev.31 → 3.0.0-dev.33

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.
@@ -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
- const isResponseOk = response?.getAthleteAlbums.length > 0;
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 updateBrand(id, dto, desiredFields) {
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
- updateBrand: {
10520
+ claimOffer: {
10222
10521
  __args: {
10223
- id: id,
10224
- input: dto
10522
+ offerId: offerId,
10523
+ athleteId: athleteId
10225
10524
  },
10226
10525
  ...fields
10227
10526
  }
10228
10527
  });
10229
- VTXBaseAPI.Logger.debug('updateBrand Response:');
10528
+ VTXBaseAPI.Logger.debug('claimOffer Response:');
10230
10529
  VTXBaseAPI.Logger.debug(JSON.stringify(response, null, 2));
10231
- retValue = (0, response_builder_1.buildResponse)(response, 'updateBrand', (r) => {
10232
- const isResponseOk = true && response?.updateBrand?._id;
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('updateBrand err1:');
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 deleteBrand(id) {
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
- let retValue = {};
10249
- try {
10250
- const response = await client.mutation({
10251
- deleteBrand: {
10252
- __args: {
10253
- id: id
10254
- }
10255
- }
10256
- });
10257
- VTXBaseAPI.Logger.debug('deleteBrand Response:');
10258
- VTXBaseAPI.Logger.debug(JSON.stringify(response, null, 2));
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 = {