@vertikalx/vtx-backend-client 3.0.0-dev.23 → 3.0.0-dev.25

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.
@@ -634,6 +634,45 @@ class VTXBaseAPI {
634
634
  }
635
635
  return retValue;
636
636
  }
637
+ async getVtxS3UploadUrl(dto) {
638
+ const client = (0, client_1.createClient)({
639
+ url: this.backendUrl + "/graphql",
640
+ headers: this.headers,
641
+ });
642
+ let retValue = {};
643
+ const fields = {
644
+ uploadUrl: true,
645
+ fields: {
646
+ key: true,
647
+ value: true
648
+ },
649
+ downloadUrl: true,
650
+ bucket: true,
651
+ key: true
652
+ };
653
+ try {
654
+ const response = await client.query({
655
+ getS3UploadUrl: {
656
+ __args: {
657
+ input: dto
658
+ },
659
+ ...fields
660
+ }
661
+ });
662
+ VTXBaseAPI.Logger.debug('getS3UploadUrl Response:');
663
+ VTXBaseAPI.Logger.debug(JSON.stringify(response, null, 2));
664
+ retValue = (0, response_builder_1.buildResponse)(response, 'getS3UploadUrl', (r) => {
665
+ const isResponseOk = true && ((response?.getS3UploadUrl?.uploadUrl !== undefined) && (response?.getS3UploadUrl?.uploadUrl !== null));
666
+ return isResponseOk;
667
+ });
668
+ }
669
+ catch (err1) {
670
+ VTXBaseAPI.Logger.error('getVtxS3UploadUrl err1:');
671
+ VTXBaseAPI.Logger.error(err1);
672
+ retValue = (0, response_builder_1.buildErrorResponse)(err1);
673
+ }
674
+ return retValue;
675
+ }
637
676
  async refreshToken(currentToken, refreshToken) {
638
677
  const client = (0, client_1.createClient)({
639
678
  url: this.backendUrl + "/graphql",
@@ -2604,6 +2643,7 @@ class VTXBaseAPI {
2604
2643
  name: true,
2605
2644
  slogan: true,
2606
2645
  website: true,
2646
+ affiliateLink: true,
2607
2647
  description: true,
2608
2648
  approved: true,
2609
2649
  published: true,
@@ -2625,6 +2665,14 @@ class VTXBaseAPI {
2625
2665
  url: true,
2626
2666
  key: true
2627
2667
  },
2668
+ sponsors: {
2669
+ _id: true,
2670
+ sponsor: {
2671
+ _id: true,
2672
+ name: true,
2673
+ description: true
2674
+ }
2675
+ },
2628
2676
  stats: {
2629
2677
  campaigns: true,
2630
2678
  sponsorships: true,
@@ -2656,6 +2704,80 @@ class VTXBaseAPI {
2656
2704
  }
2657
2705
  return retValue;
2658
2706
  }
2707
+ async getBrandsPaginated(args) {
2708
+ const client = (0, client_1.createClient)({
2709
+ url: this.backendUrl + "/graphql",
2710
+ headers: this.headers,
2711
+ });
2712
+ const fields = {
2713
+ items: {
2714
+ _id: true,
2715
+ name: true,
2716
+ slogan: true,
2717
+ website: true,
2718
+ affiliateLink: true,
2719
+ description: true,
2720
+ approved: true,
2721
+ published: true,
2722
+ logo: {
2723
+ _id: true,
2724
+ name: true,
2725
+ contentType: true,
2726
+ size: true,
2727
+ useType: true,
2728
+ url: true,
2729
+ key: true
2730
+ },
2731
+ banner: {
2732
+ _id: true,
2733
+ name: true,
2734
+ contentType: true,
2735
+ size: true,
2736
+ useType: true,
2737
+ url: true,
2738
+ key: true
2739
+ },
2740
+ sponsors: {
2741
+ _id: true,
2742
+ sponsor: {
2743
+ _id: true,
2744
+ name: true,
2745
+ description: true
2746
+ }
2747
+ }
2748
+ },
2749
+ pagination: {
2750
+ currentPage: true,
2751
+ totalPages: true,
2752
+ totalItems: true,
2753
+ itemsPerPage: true,
2754
+ hasNextPage: true,
2755
+ hasPreviousPage: true
2756
+ }
2757
+ };
2758
+ let retValue;
2759
+ try {
2760
+ const response = await client.query({
2761
+ getBrandsPaginated: {
2762
+ __args: args,
2763
+ ...fields
2764
+ }
2765
+ });
2766
+ VTXBaseAPI.Logger.debug('getBrandsPaginated Response:');
2767
+ VTXBaseAPI.Logger.debug(JSON.stringify(response, null, 2));
2768
+ retValue = (0, response_builder_1.buildResponse)(response, 'getBrandsPaginated', (r) => {
2769
+ VTXBaseAPI.Logger.debug(JSON.stringify(response, null, 2));
2770
+ const isResponseOk = true;
2771
+ return isResponseOk;
2772
+ });
2773
+ }
2774
+ catch (err1) {
2775
+ VTXBaseAPI.Logger.error('getBrandsPaginated err1:');
2776
+ VTXBaseAPI.Logger.error(err1);
2777
+ retValue = (0, response_builder_1.buildErrorResponse)(err1);
2778
+ }
2779
+ return retValue;
2780
+ }
2659
2781
  async getAthletes() {
2660
2782
  const client = (0, client_1.createClient)({
2661
2783
  url: this.backendUrl + "/graphql",
@@ -7834,6 +7956,18 @@ class VTXBaseAPI {
7834
7956
  athleteName: true,
7835
7957
  status: true,
7836
7958
  message: true,
7959
+ tpi: {
7960
+ status: true,
7961
+ message: true,
7962
+ },
7963
+ spi: {
7964
+ status: true,
7965
+ message: true,
7966
+ },
7967
+ api: {
7968
+ status: true,
7969
+ message: true,
7970
+ },
7837
7971
  },
7838
7972
  successCount: true,
7839
7973
  failureCount: true,
@@ -7847,6 +7981,39 @@ class VTXBaseAPI {
7847
7981
  }
7848
7982
  return retValue;
7849
7983
  }
7984
+ async checkScoreRefreshCapabilities(input) {
7985
+ const client = (0, client_1.createClient)({
7986
+ url: this.backendUrl + '/graphql',
7987
+ headers: this.headers,
7988
+ });
7989
+ let retValue = {};
7990
+ try {
7991
+ const response = await client.query({
7992
+ checkScoreRefreshCapabilities: {
7993
+ __args: {
7994
+ input: {
7995
+ athleteIds: input.athleteIds,
7996
+ },
7997
+ },
7998
+ capabilities: {
7999
+ athleteId: true,
8000
+ athleteName: true,
8001
+ canRefreshTpi: true,
8002
+ canRefreshSpi: true,
8003
+ canRefreshApi: true,
8004
+ tpiReason: true,
8005
+ spiReason: true,
8006
+ apiReason: true,
8007
+ },
8008
+ },
8009
+ });
8010
+ retValue = (0, response_builder_1.buildResponse)(response, 'checkScoreRefreshCapabilities', () => !!response?.checkScoreRefreshCapabilities);
8011
+ }
8012
+ catch (err) {
8013
+ retValue = (0, response_builder_1.buildErrorResponse)(err);
8014
+ }
8015
+ return retValue;
8016
+ }
7850
8017
  async createResetPasswordCode(email) {
7851
8018
  console.log('HEADERS:');
7852
8019
  console.log(JSON.stringify(this.headers, null, 2));
@@ -9451,6 +9618,895 @@ class VTXBaseAPI {
9451
9618
  }
9452
9619
  return retValue;
9453
9620
  }
9621
+ async createOffer(dto, desiredFields) {
9622
+ const client = (0, client_1.createClient)({
9623
+ url: this.backendUrl + "/graphql",
9624
+ headers: this.headers,
9625
+ });
9626
+ let retValue = {};
9627
+ const fields = desiredFields ?? { _id: true };
9628
+ fields._id = true;
9629
+ try {
9630
+ const response = await client.mutation({
9631
+ createOffer: {
9632
+ __args: {
9633
+ input: dto
9634
+ },
9635
+ ...fields
9636
+ }
9637
+ });
9638
+ VTXBaseAPI.Logger.debug('createOffer Response:');
9639
+ VTXBaseAPI.Logger.debug(JSON.stringify(response, null, 2));
9640
+ retValue = (0, response_builder_1.buildResponse)(response, 'createOffer', (r) => {
9641
+ const isResponseOk = true && response?.createOffer?._id;
9642
+ return isResponseOk;
9643
+ });
9644
+ }
9645
+ catch (err1) {
9646
+ VTXBaseAPI.Logger.error('createOffer err1:');
9647
+ VTXBaseAPI.Logger.error(err1);
9648
+ retValue = (0, response_builder_1.buildErrorResponse)(err1);
9649
+ }
9650
+ return retValue;
9651
+ }
9652
+ async getOffers() {
9653
+ const client = (0, client_1.createClient)({
9654
+ url: this.backendUrl + "/graphql",
9655
+ headers: this.headers,
9656
+ });
9657
+ const fields = {
9658
+ _id: true,
9659
+ name: true,
9660
+ label: true,
9661
+ decription: true,
9662
+ type: true,
9663
+ status: true,
9664
+ discountType: true,
9665
+ discountTypeData: true,
9666
+ conditions: true,
9667
+ dateStart: true,
9668
+ dateEnd: true,
9669
+ dateCreated: true,
9670
+ offerImage: {
9671
+ _id: true,
9672
+ name: true,
9673
+ contentType: true,
9674
+ size: true,
9675
+ useType: true,
9676
+ url: true,
9677
+ key: true
9678
+ },
9679
+ brand: {
9680
+ _id: true,
9681
+ name: true,
9682
+ description: true,
9683
+ logo: {
9684
+ _id: true,
9685
+ url: true,
9686
+ key: true
9687
+ }
9688
+ },
9689
+ sponsor: {
9690
+ _id: true,
9691
+ name: true,
9692
+ description: true
9693
+ }
9694
+ };
9695
+ let retValue;
9696
+ try {
9697
+ const response = await client.query({
9698
+ offers: {
9699
+ __args: {},
9700
+ ...fields
9701
+ }
9702
+ });
9703
+ VTXBaseAPI.Logger.debug('offers Response:');
9704
+ VTXBaseAPI.Logger.debug(JSON.stringify(response, null, 2));
9705
+ retValue = (0, response_builder_1.buildResponse)(response, 'offers', (r) => {
9706
+ const isResponseOk = Array.isArray(response?.offers);
9707
+ return isResponseOk;
9708
+ });
9709
+ }
9710
+ catch (err1) {
9711
+ VTXBaseAPI.Logger.error('offers err1:');
9712
+ VTXBaseAPI.Logger.error(err1);
9713
+ retValue = (0, response_builder_1.buildErrorResponse)(err1);
9714
+ }
9715
+ return retValue;
9716
+ }
9717
+ async getOffersPaginated(args) {
9718
+ const client = (0, client_1.createClient)({
9719
+ url: this.backendUrl + "/graphql",
9720
+ headers: this.headers,
9721
+ });
9722
+ const fields = {
9723
+ items: {
9724
+ _id: true,
9725
+ name: true,
9726
+ label: true,
9727
+ decription: true,
9728
+ type: true,
9729
+ status: true,
9730
+ discountType: true,
9731
+ discountTypeData: true,
9732
+ conditions: true,
9733
+ dateStart: true,
9734
+ dateEnd: true,
9735
+ dateCreated: true,
9736
+ totalCodes: true,
9737
+ availableCodes: true,
9738
+ disclaimer: true,
9739
+ genericCode: true,
9740
+ featured: true,
9741
+ offerImage: {
9742
+ _id: true,
9743
+ name: true,
9744
+ contentType: true,
9745
+ size: true,
9746
+ useType: true,
9747
+ url: true,
9748
+ key: true
9749
+ },
9750
+ brand: {
9751
+ _id: true,
9752
+ name: true,
9753
+ description: true,
9754
+ website: true,
9755
+ affiliateLink: true,
9756
+ logo: {
9757
+ _id: true,
9758
+ url: true,
9759
+ key: true
9760
+ }
9761
+ },
9762
+ sponsor: {
9763
+ _id: true,
9764
+ name: true,
9765
+ description: true
9766
+ },
9767
+ criteria: {
9768
+ _id: true,
9769
+ minAge: true,
9770
+ maxAge: true,
9771
+ allowedGenders: true
9772
+ },
9773
+ availableCountries: {
9774
+ _id: true,
9775
+ name: true
9776
+ }
9777
+ },
9778
+ pagination: {
9779
+ currentPage: true,
9780
+ totalPages: true,
9781
+ totalItems: true,
9782
+ itemsPerPage: true,
9783
+ hasNextPage: true,
9784
+ hasPreviousPage: true
9785
+ }
9786
+ };
9787
+ let retValue;
9788
+ try {
9789
+ const response = await client.query({
9790
+ getOffersPaginated: {
9791
+ __args: args,
9792
+ ...fields
9793
+ }
9794
+ });
9795
+ VTXBaseAPI.Logger.debug('getOffersPaginated Response:');
9796
+ VTXBaseAPI.Logger.debug(JSON.stringify(response, null, 2));
9797
+ retValue = (0, response_builder_1.buildResponse)(response, 'getOffersPaginated', (r) => {
9798
+ VTXBaseAPI.Logger.debug(JSON.stringify(response, null, 2));
9799
+ const isResponseOk = true;
9800
+ return isResponseOk;
9801
+ });
9802
+ }
9803
+ catch (err1) {
9804
+ VTXBaseAPI.Logger.error('getOffersPaginated err1:');
9805
+ VTXBaseAPI.Logger.error(err1);
9806
+ retValue = (0, response_builder_1.buildErrorResponse)(err1);
9807
+ }
9808
+ return retValue;
9809
+ }
9810
+ async getOffersWithEligibility(args) {
9811
+ const client = (0, client_1.createClient)({
9812
+ url: this.backendUrl + "/graphql",
9813
+ headers: this.headers,
9814
+ });
9815
+ const fields = {
9816
+ items: {
9817
+ _id: true,
9818
+ name: true,
9819
+ label: true,
9820
+ decription: true,
9821
+ type: true,
9822
+ status: true,
9823
+ discountType: true,
9824
+ discountTypeData: true,
9825
+ conditions: true,
9826
+ dateStart: true,
9827
+ dateEnd: true,
9828
+ dateCreated: true,
9829
+ totalCodes: true,
9830
+ availableCodes: true,
9831
+ disclaimer: true,
9832
+ featured: true,
9833
+ offerImage: {
9834
+ _id: true,
9835
+ name: true,
9836
+ contentType: true,
9837
+ size: true,
9838
+ useType: true,
9839
+ url: true,
9840
+ key: true
9841
+ },
9842
+ brand: {
9843
+ _id: true,
9844
+ name: true,
9845
+ website: true,
9846
+ affiliateLink: true,
9847
+ logo: {
9848
+ _id: true,
9849
+ url: true
9850
+ }
9851
+ },
9852
+ sponsor: {
9853
+ _id: true,
9854
+ name: true
9855
+ },
9856
+ criteria: {
9857
+ _id: true,
9858
+ minAge: true,
9859
+ maxAge: true,
9860
+ allowedGenders: true
9861
+ },
9862
+ availableCountries: {
9863
+ _id: true,
9864
+ name: true
9865
+ },
9866
+ eligibility: {
9867
+ status: true,
9868
+ failedCriteria: true,
9869
+ missingFields: true,
9870
+ messages: true
9871
+ }
9872
+ },
9873
+ pagination: {
9874
+ currentPage: true,
9875
+ totalPages: true,
9876
+ totalItems: true,
9877
+ itemsPerPage: true,
9878
+ hasNextPage: true,
9879
+ hasPreviousPage: true
9880
+ }
9881
+ };
9882
+ let retValue;
9883
+ try {
9884
+ const response = await client.query({
9885
+ offersWithEligibility: {
9886
+ __args: args,
9887
+ ...fields
9888
+ }
9889
+ });
9890
+ VTXBaseAPI.Logger.debug('getOffersWithEligibility Response:');
9891
+ VTXBaseAPI.Logger.debug(JSON.stringify(response, null, 2));
9892
+ retValue = (0, response_builder_1.buildResponse)(response, 'offersWithEligibility', (r) => {
9893
+ VTXBaseAPI.Logger.debug(JSON.stringify(response, null, 2));
9894
+ const isResponseOk = true;
9895
+ return isResponseOk;
9896
+ });
9897
+ }
9898
+ catch (err1) {
9899
+ VTXBaseAPI.Logger.error('getOffersWithEligibility err1:');
9900
+ VTXBaseAPI.Logger.error(err1);
9901
+ retValue = (0, response_builder_1.buildErrorResponse)(err1);
9902
+ }
9903
+ return retValue;
9904
+ }
9905
+ async getOfferById(id, desiredFields) {
9906
+ const client = (0, client_1.createClient)({
9907
+ url: this.backendUrl + "/graphql",
9908
+ headers: this.headers,
9909
+ });
9910
+ const fields = desiredFields ?? {
9911
+ _id: true,
9912
+ name: true,
9913
+ label: true,
9914
+ decription: true,
9915
+ type: true,
9916
+ status: true,
9917
+ discountType: true,
9918
+ discountTypeData: true,
9919
+ conditions: true,
9920
+ dateStart: true,
9921
+ dateEnd: true,
9922
+ dateCreated: true,
9923
+ offerImage: {
9924
+ _id: true,
9925
+ url: true,
9926
+ key: true
9927
+ },
9928
+ brand: {
9929
+ _id: true,
9930
+ name: true,
9931
+ logo: {
9932
+ _id: true,
9933
+ url: true
9934
+ }
9935
+ },
9936
+ sponsor: {
9937
+ _id: true,
9938
+ name: true
9939
+ }
9940
+ };
9941
+ fields._id = true;
9942
+ let retValue;
9943
+ try {
9944
+ const response = await client.query({
9945
+ offer: {
9946
+ __args: {
9947
+ id: id
9948
+ },
9949
+ ...fields
9950
+ }
9951
+ });
9952
+ VTXBaseAPI.Logger.debug('offer Response:');
9953
+ VTXBaseAPI.Logger.debug(JSON.stringify(response, null, 2));
9954
+ retValue = (0, response_builder_1.buildResponse)(response, 'offer', (r) => {
9955
+ const isResponseOk = true && response?.offer?._id;
9956
+ return isResponseOk;
9957
+ });
9958
+ }
9959
+ catch (err1) {
9960
+ VTXBaseAPI.Logger.error('offer err1:');
9961
+ VTXBaseAPI.Logger.error(err1);
9962
+ retValue = (0, response_builder_1.buildErrorResponse)(err1);
9963
+ }
9964
+ return retValue;
9965
+ }
9966
+ async getOffersForAthlete(athleteId, desiredFields) {
9967
+ const client = (0, client_1.createClient)({
9968
+ url: this.backendUrl + "/graphql",
9969
+ headers: this.headers,
9970
+ });
9971
+ const fields = desiredFields ?? {
9972
+ _id: true,
9973
+ name: true,
9974
+ label: true,
9975
+ decription: true,
9976
+ type: true,
9977
+ status: true,
9978
+ discountType: true,
9979
+ discountTypeData: true,
9980
+ conditions: true,
9981
+ dateStart: true,
9982
+ dateEnd: true,
9983
+ offerImage: {
9984
+ _id: true,
9985
+ url: true,
9986
+ key: true
9987
+ },
9988
+ brand: {
9989
+ _id: true,
9990
+ name: true,
9991
+ logo: {
9992
+ _id: true,
9993
+ url: true
9994
+ }
9995
+ },
9996
+ sponsor: {
9997
+ _id: true,
9998
+ name: true
9999
+ }
10000
+ };
10001
+ let retValue;
10002
+ try {
10003
+ const response = await client.query({
10004
+ offersForAthlete: {
10005
+ __args: {
10006
+ athleteId: athleteId
10007
+ },
10008
+ ...fields
10009
+ }
10010
+ });
10011
+ VTXBaseAPI.Logger.debug('offersForAthlete Response:');
10012
+ VTXBaseAPI.Logger.debug(JSON.stringify(response, null, 2));
10013
+ retValue = (0, response_builder_1.buildResponse)(response, 'offersForAthlete', (r) => {
10014
+ const isResponseOk = Array.isArray(response?.offersForAthlete);
10015
+ return isResponseOk;
10016
+ });
10017
+ }
10018
+ catch (err1) {
10019
+ VTXBaseAPI.Logger.error('offersForAthlete err1:');
10020
+ VTXBaseAPI.Logger.error(err1);
10021
+ retValue = (0, response_builder_1.buildErrorResponse)(err1);
10022
+ }
10023
+ return retValue;
10024
+ }
10025
+ async updateOffer(id, dto, desiredFields) {
10026
+ const client = (0, client_1.createClient)({
10027
+ url: this.backendUrl + "/graphql",
10028
+ headers: this.headers,
10029
+ });
10030
+ let retValue = {};
10031
+ const fields = desiredFields ?? { _id: true };
10032
+ fields._id = true;
10033
+ try {
10034
+ const response = await client.mutation({
10035
+ updateOffer: {
10036
+ __args: {
10037
+ id: id,
10038
+ input: dto
10039
+ },
10040
+ ...fields
10041
+ }
10042
+ });
10043
+ VTXBaseAPI.Logger.debug('updateOffer Response:');
10044
+ VTXBaseAPI.Logger.debug(JSON.stringify(response, null, 2));
10045
+ retValue = (0, response_builder_1.buildResponse)(response, 'updateOffer', (r) => {
10046
+ const isResponseOk = true && response?.updateOffer?._id;
10047
+ return isResponseOk;
10048
+ });
10049
+ }
10050
+ catch (err1) {
10051
+ VTXBaseAPI.Logger.error('updateOffer err1:');
10052
+ VTXBaseAPI.Logger.error(err1);
10053
+ retValue = (0, response_builder_1.buildErrorResponse)(err1);
10054
+ }
10055
+ return retValue;
10056
+ }
10057
+ async deleteOffer(id) {
10058
+ const client = (0, client_1.createClient)({
10059
+ url: this.backendUrl + "/graphql",
10060
+ headers: this.headers,
10061
+ });
10062
+ let retValue = {};
10063
+ try {
10064
+ const response = await client.mutation({
10065
+ deleteOffer: {
10066
+ __args: {
10067
+ id: id
10068
+ }
10069
+ }
10070
+ });
10071
+ VTXBaseAPI.Logger.debug('deleteOffer Response:');
10072
+ VTXBaseAPI.Logger.debug(JSON.stringify(response, null, 2));
10073
+ retValue = (0, response_builder_1.buildResponse)(response, 'deleteOffer', (r) => {
10074
+ const isResponseOk = response?.deleteOffer === true;
10075
+ return isResponseOk;
10076
+ });
10077
+ }
10078
+ catch (err1) {
10079
+ VTXBaseAPI.Logger.error('deleteOffer err1:');
10080
+ VTXBaseAPI.Logger.error(err1);
10081
+ retValue = (0, response_builder_1.buildErrorResponse)(err1);
10082
+ }
10083
+ return retValue;
10084
+ }
10085
+ async setOfferStatus(id, status, desiredFields) {
10086
+ const client = (0, client_1.createClient)({
10087
+ url: this.backendUrl + "/graphql",
10088
+ headers: this.headers,
10089
+ });
10090
+ let retValue = {};
10091
+ const fields = desiredFields ?? { _id: true, status: true };
10092
+ fields._id = true;
10093
+ try {
10094
+ const response = await client.mutation({
10095
+ setOfferStatus: {
10096
+ __args: {
10097
+ id: id,
10098
+ status: status
10099
+ },
10100
+ ...fields
10101
+ }
10102
+ });
10103
+ VTXBaseAPI.Logger.debug('setOfferStatus Response:');
10104
+ VTXBaseAPI.Logger.debug(JSON.stringify(response, null, 2));
10105
+ retValue = (0, response_builder_1.buildResponse)(response, 'setOfferStatus', (r) => {
10106
+ const isResponseOk = true && response?.setOfferStatus?._id;
10107
+ return isResponseOk;
10108
+ });
10109
+ }
10110
+ catch (err1) {
10111
+ VTXBaseAPI.Logger.error('setOfferStatus err1:');
10112
+ VTXBaseAPI.Logger.error(err1);
10113
+ retValue = (0, response_builder_1.buildErrorResponse)(err1);
10114
+ }
10115
+ return retValue;
10116
+ }
10117
+ async activateOffer(id, desiredFields) {
10118
+ const client = (0, client_1.createClient)({
10119
+ url: this.backendUrl + "/graphql",
10120
+ headers: this.headers,
10121
+ });
10122
+ let retValue = {};
10123
+ const fields = desiredFields ?? { _id: true, status: true };
10124
+ fields._id = true;
10125
+ try {
10126
+ const response = await client.mutation({
10127
+ activateOffer: {
10128
+ __args: {
10129
+ id: id
10130
+ },
10131
+ ...fields
10132
+ }
10133
+ });
10134
+ VTXBaseAPI.Logger.debug('activateOffer Response:');
10135
+ VTXBaseAPI.Logger.debug(JSON.stringify(response, null, 2));
10136
+ retValue = (0, response_builder_1.buildResponse)(response, 'activateOffer', (r) => {
10137
+ const isResponseOk = true && response?.activateOffer?._id;
10138
+ return isResponseOk;
10139
+ });
10140
+ }
10141
+ catch (err1) {
10142
+ VTXBaseAPI.Logger.error('activateOffer err1:');
10143
+ VTXBaseAPI.Logger.error(err1);
10144
+ retValue = (0, response_builder_1.buildErrorResponse)(err1);
10145
+ }
10146
+ return retValue;
10147
+ }
10148
+ async deactivateOffer(id, desiredFields) {
10149
+ const client = (0, client_1.createClient)({
10150
+ url: this.backendUrl + "/graphql",
10151
+ headers: this.headers,
10152
+ });
10153
+ let retValue = {};
10154
+ const fields = desiredFields ?? { _id: true, status: true };
10155
+ fields._id = true;
10156
+ try {
10157
+ const response = await client.mutation({
10158
+ deactivateOffer: {
10159
+ __args: {
10160
+ id: id
10161
+ },
10162
+ ...fields
10163
+ }
10164
+ });
10165
+ VTXBaseAPI.Logger.debug('deactivateOffer Response:');
10166
+ VTXBaseAPI.Logger.debug(JSON.stringify(response, null, 2));
10167
+ retValue = (0, response_builder_1.buildResponse)(response, 'deactivateOffer', (r) => {
10168
+ const isResponseOk = true && response?.deactivateOffer?._id;
10169
+ return isResponseOk;
10170
+ });
10171
+ }
10172
+ catch (err1) {
10173
+ VTXBaseAPI.Logger.error('deactivateOffer err1:');
10174
+ VTXBaseAPI.Logger.error(err1);
10175
+ retValue = (0, response_builder_1.buildErrorResponse)(err1);
10176
+ }
10177
+ return retValue;
10178
+ }
10179
+ async uploadCouponCodes(offerId, csvContent) {
10180
+ const client = (0, client_1.createClient)({
10181
+ url: this.backendUrl + "/graphql",
10182
+ headers: this.headers,
10183
+ });
10184
+ let retValue = {};
10185
+ try {
10186
+ const response = await client.mutation({
10187
+ uploadCouponCodes: {
10188
+ __args: {
10189
+ offerId: offerId,
10190
+ csvContent: csvContent
10191
+ },
10192
+ addedCodes: true,
10193
+ duplicateCodes: true,
10194
+ invalidRows: true
10195
+ }
10196
+ });
10197
+ VTXBaseAPI.Logger.debug('uploadCouponCodes Response:');
10198
+ VTXBaseAPI.Logger.debug(JSON.stringify(response, null, 2));
10199
+ retValue = (0, response_builder_1.buildResponse)(response, 'uploadCouponCodes', (r) => {
10200
+ const isResponseOk = response?.uploadCouponCodes?.addedCodes !== undefined;
10201
+ return isResponseOk;
10202
+ });
10203
+ }
10204
+ catch (err1) {
10205
+ VTXBaseAPI.Logger.error('uploadCouponCodes err1:');
10206
+ VTXBaseAPI.Logger.error(err1);
10207
+ retValue = (0, response_builder_1.buildErrorResponse)(err1);
10208
+ }
10209
+ return retValue;
10210
+ }
10211
+ async updateBrand(id, dto, desiredFields) {
10212
+ const client = (0, client_1.createClient)({
10213
+ url: this.backendUrl + "/graphql",
10214
+ headers: this.headers,
10215
+ });
10216
+ let retValue = {};
10217
+ const fields = desiredFields ?? { _id: true };
10218
+ fields._id = true;
10219
+ try {
10220
+ const response = await client.mutation({
10221
+ updateBrand: {
10222
+ __args: {
10223
+ id: id,
10224
+ input: dto
10225
+ },
10226
+ ...fields
10227
+ }
10228
+ });
10229
+ VTXBaseAPI.Logger.debug('updateBrand Response:');
10230
+ 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;
10233
+ return isResponseOk;
10234
+ });
10235
+ }
10236
+ catch (err1) {
10237
+ VTXBaseAPI.Logger.error('updateBrand err1:');
10238
+ VTXBaseAPI.Logger.error(err1);
10239
+ retValue = (0, response_builder_1.buildErrorResponse)(err1);
10240
+ }
10241
+ return retValue;
10242
+ }
10243
+ async deleteBrand(id) {
10244
+ const client = (0, client_1.createClient)({
10245
+ url: this.backendUrl + "/graphql",
10246
+ headers: this.headers,
10247
+ });
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));
10259
+ retValue = (0, response_builder_1.buildResponse)(response, 'deleteBrand', (r) => {
10260
+ const isResponseOk = response?.deleteBrand === true;
10261
+ return isResponseOk;
10262
+ });
10263
+ }
10264
+ catch (err1) {
10265
+ VTXBaseAPI.Logger.error('deleteBrand err1:');
10266
+ VTXBaseAPI.Logger.error(err1);
10267
+ retValue = (0, response_builder_1.buildErrorResponse)(err1);
10268
+ }
10269
+ return retValue;
10270
+ }
10271
+ async linkBrandToSponsor(brandId, sponsorId, desiredFields) {
10272
+ const client = (0, client_1.createClient)({
10273
+ url: this.backendUrl + "/graphql",
10274
+ headers: this.headers,
10275
+ });
10276
+ let retValue = {};
10277
+ const fields = desiredFields ?? { _id: true };
10278
+ fields._id = true;
10279
+ try {
10280
+ const response = await client.mutation({
10281
+ linkBrandToSponsor: {
10282
+ __args: {
10283
+ brandId: brandId,
10284
+ sponsorId: sponsorId
10285
+ },
10286
+ ...fields
10287
+ }
10288
+ });
10289
+ VTXBaseAPI.Logger.debug('linkBrandToSponsor Response:');
10290
+ VTXBaseAPI.Logger.debug(JSON.stringify(response, null, 2));
10291
+ retValue = (0, response_builder_1.buildResponse)(response, 'linkBrandToSponsor', (r) => {
10292
+ const isResponseOk = response?.linkBrandToSponsor?._id !== undefined;
10293
+ return isResponseOk;
10294
+ });
10295
+ }
10296
+ catch (err1) {
10297
+ VTXBaseAPI.Logger.error('linkBrandToSponsor err1:');
10298
+ VTXBaseAPI.Logger.error(err1);
10299
+ retValue = (0, response_builder_1.buildErrorResponse)(err1);
10300
+ }
10301
+ return retValue;
10302
+ }
10303
+ async unlinkBrandFromSponsor(brandId, sponsorId, desiredFields) {
10304
+ const client = (0, client_1.createClient)({
10305
+ url: this.backendUrl + "/graphql",
10306
+ headers: this.headers,
10307
+ });
10308
+ let retValue = {};
10309
+ const fields = desiredFields ?? { _id: true };
10310
+ fields._id = true;
10311
+ try {
10312
+ const response = await client.mutation({
10313
+ unlinkBrandFromSponsor: {
10314
+ __args: {
10315
+ brandId: brandId,
10316
+ sponsorId: sponsorId
10317
+ },
10318
+ ...fields
10319
+ }
10320
+ });
10321
+ VTXBaseAPI.Logger.debug('unlinkBrandFromSponsor Response:');
10322
+ VTXBaseAPI.Logger.debug(JSON.stringify(response, null, 2));
10323
+ retValue = (0, response_builder_1.buildResponse)(response, 'unlinkBrandFromSponsor', (r) => {
10324
+ const isResponseOk = response?.unlinkBrandFromSponsor?._id !== undefined;
10325
+ return isResponseOk;
10326
+ });
10327
+ }
10328
+ catch (err1) {
10329
+ VTXBaseAPI.Logger.error('unlinkBrandFromSponsor err1:');
10330
+ VTXBaseAPI.Logger.error(err1);
10331
+ retValue = (0, response_builder_1.buildErrorResponse)(err1);
10332
+ }
10333
+ return retValue;
10334
+ }
10335
+ async getSponsors() {
10336
+ const client = (0, client_1.createClient)({
10337
+ url: this.backendUrl + "/graphql",
10338
+ headers: this.headers,
10339
+ });
10340
+ const fields = {
10341
+ _id: true,
10342
+ name: true,
10343
+ description: true,
10344
+ tenant: {
10345
+ _id: true,
10346
+ name: true
10347
+ }
10348
+ };
10349
+ let retValue;
10350
+ try {
10351
+ const response = await client.query({
10352
+ sponsors: {
10353
+ __args: {},
10354
+ ...fields
10355
+ }
10356
+ });
10357
+ VTXBaseAPI.Logger.debug('sponsors Response:');
10358
+ VTXBaseAPI.Logger.debug(JSON.stringify(response, null, 2));
10359
+ retValue = (0, response_builder_1.buildResponse)(response, 'sponsors', (r) => {
10360
+ const isResponseOk = Array.isArray(response?.sponsors);
10361
+ return isResponseOk;
10362
+ });
10363
+ }
10364
+ catch (err1) {
10365
+ VTXBaseAPI.Logger.error('sponsors err1:');
10366
+ VTXBaseAPI.Logger.error(err1);
10367
+ retValue = (0, response_builder_1.buildErrorResponse)(err1);
10368
+ }
10369
+ return retValue;
10370
+ }
10371
+ async getSponsorsPaginated(args) {
10372
+ const client = (0, client_1.createClient)({
10373
+ url: this.backendUrl + "/graphql",
10374
+ headers: this.headers,
10375
+ });
10376
+ const fields = {
10377
+ items: {
10378
+ _id: true,
10379
+ name: true,
10380
+ description: true,
10381
+ approved: true,
10382
+ tenant: {
10383
+ _id: true,
10384
+ name: true
10385
+ }
10386
+ },
10387
+ pagination: {
10388
+ currentPage: true,
10389
+ totalPages: true,
10390
+ totalItems: true,
10391
+ itemsPerPage: true,
10392
+ hasNextPage: true,
10393
+ hasPreviousPage: true
10394
+ }
10395
+ };
10396
+ let retValue;
10397
+ try {
10398
+ const response = await client.query({
10399
+ getSponsorsPaginated: {
10400
+ __args: args,
10401
+ ...fields
10402
+ }
10403
+ });
10404
+ VTXBaseAPI.Logger.debug('getSponsorsPaginated Response:');
10405
+ VTXBaseAPI.Logger.debug(JSON.stringify(response, null, 2));
10406
+ retValue = (0, response_builder_1.buildResponse)(response, 'getSponsorsPaginated', (r) => {
10407
+ VTXBaseAPI.Logger.debug(JSON.stringify(response, null, 2));
10408
+ const isResponseOk = true;
10409
+ return isResponseOk;
10410
+ });
10411
+ }
10412
+ catch (err1) {
10413
+ VTXBaseAPI.Logger.error('getSponsorsPaginated err1:');
10414
+ VTXBaseAPI.Logger.error(err1);
10415
+ retValue = (0, response_builder_1.buildErrorResponse)(err1);
10416
+ }
10417
+ return retValue;
10418
+ }
10419
+ async createSponsor(dto, desiredFields) {
10420
+ const client = (0, client_1.createClient)({
10421
+ url: this.backendUrl + "/graphql",
10422
+ headers: this.headers,
10423
+ });
10424
+ let retValue = {};
10425
+ const fields = desiredFields ?? { _id: true };
10426
+ fields._id = true;
10427
+ try {
10428
+ const response = await client.mutation({
10429
+ createSponsor: {
10430
+ __args: {
10431
+ input: dto
10432
+ },
10433
+ ...fields
10434
+ }
10435
+ });
10436
+ VTXBaseAPI.Logger.debug('createSponsor Response:');
10437
+ VTXBaseAPI.Logger.debug(JSON.stringify(response, null, 2));
10438
+ retValue = (0, response_builder_1.buildResponse)(response, 'createSponsor', (r) => {
10439
+ const isResponseOk = true && response?.createSponsor?._id;
10440
+ return isResponseOk;
10441
+ });
10442
+ }
10443
+ catch (err1) {
10444
+ VTXBaseAPI.Logger.error('createSponsor err1:');
10445
+ VTXBaseAPI.Logger.error(err1);
10446
+ retValue = (0, response_builder_1.buildErrorResponse)(err1);
10447
+ }
10448
+ return retValue;
10449
+ }
10450
+ async updateSponsor(id, dto, desiredFields) {
10451
+ const client = (0, client_1.createClient)({
10452
+ url: this.backendUrl + "/graphql",
10453
+ headers: this.headers,
10454
+ });
10455
+ let retValue = {};
10456
+ const fields = desiredFields ?? { _id: true };
10457
+ fields._id = true;
10458
+ try {
10459
+ const response = await client.mutation({
10460
+ updateSponsor: {
10461
+ __args: {
10462
+ id: id,
10463
+ input: dto
10464
+ },
10465
+ ...fields
10466
+ }
10467
+ });
10468
+ VTXBaseAPI.Logger.debug('updateSponsor Response:');
10469
+ VTXBaseAPI.Logger.debug(JSON.stringify(response, null, 2));
10470
+ retValue = (0, response_builder_1.buildResponse)(response, 'updateSponsor', (r) => {
10471
+ const isResponseOk = true && response?.updateSponsor?._id;
10472
+ return isResponseOk;
10473
+ });
10474
+ }
10475
+ catch (err1) {
10476
+ VTXBaseAPI.Logger.error('updateSponsor err1:');
10477
+ VTXBaseAPI.Logger.error(err1);
10478
+ retValue = (0, response_builder_1.buildErrorResponse)(err1);
10479
+ }
10480
+ return retValue;
10481
+ }
10482
+ async deleteSponsor(id) {
10483
+ const client = (0, client_1.createClient)({
10484
+ url: this.backendUrl + "/graphql",
10485
+ headers: this.headers,
10486
+ });
10487
+ let retValue = {};
10488
+ try {
10489
+ const response = await client.mutation({
10490
+ deleteSponsor: {
10491
+ __args: {
10492
+ id: id
10493
+ }
10494
+ }
10495
+ });
10496
+ VTXBaseAPI.Logger.debug('deleteSponsor Response:');
10497
+ VTXBaseAPI.Logger.debug(JSON.stringify(response, null, 2));
10498
+ retValue = (0, response_builder_1.buildResponse)(response, 'deleteSponsor', (r) => {
10499
+ const isResponseOk = response?.deleteSponsor === true;
10500
+ return isResponseOk;
10501
+ });
10502
+ }
10503
+ catch (err1) {
10504
+ VTXBaseAPI.Logger.error('deleteSponsor err1:');
10505
+ VTXBaseAPI.Logger.error(err1);
10506
+ retValue = (0, response_builder_1.buildErrorResponse)(err1);
10507
+ }
10508
+ return retValue;
10509
+ }
9454
10510
  }
9455
10511
  exports.VTXBaseAPI = VTXBaseAPI;
9456
10512
  VTXBaseAPI.Logger = {