@timardex/cluemart-shared 1.5.832 → 1.5.833

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.
@@ -1,6 +1,7 @@
1
1
  import { L as LocationType, l as VendorFormData, m as CreateVendorFormData, n as VendorInfoFormData, o as CreateVendorInfoFormData, p as UnregisteredVendorFormData, q as CreateUnregisteredVendorFormData, r as EventFormData, s as CreateEventFormData, t as EventInfoFormData, u as CreateEventInfoFormData, B as BaseResourceTypeFormData, v as PostFormData, w as CreatePostFormData } from '../global-BHwZPjT8.mjs';
2
2
  import { U as UserFormData, C as CreateUserFormData, S as SafeUserType } from '../user-Bhkd3l06.mjs';
3
- import { C as CreateLoginFormData, e as CreateRegisterFormData, f as CreateRequestPasswordResetFormData, g as CreateValidateVerificationTokenFormData, h as CreateResetPasswordFormData, i as AffiliateFormData, j as PartnerFormData, d as AffiliateType, k as AdFormData, l as CreateAdFormState, m as CreatePartnerFormData, n as AppSettingsFormData, o as CreateAppSettingsFormData, p as SchoolFormData, q as CreateSchoolFormData, r as CreateAffiliateFormData } from '../ad-Cu-M8Xzf.mjs';
3
+ import { C as CreateLoginFormData, d as CreateRegisterFormData, e as CreateRequestPasswordResetFormData, f as CreateValidateVerificationTokenFormData, g as CreateResetPasswordFormData, h as PartnerFormData, i as AdFormData, j as CreateAdFormState, k as CreatePartnerFormData, l as AppSettingsFormData, m as CreateAppSettingsFormData, n as SchoolFormData, o as CreateSchoolFormData } from '../ad-BPb9_tSM.mjs';
4
+ import { a as AffiliateFormData, A as AffiliateType, C as CreateAffiliateFormData } from '../affiliate-XW8pxlOC.mjs';
4
5
  import { C as ContactUsFormData, a as CreateContactUsFormData } from '../contactUs-09e9ThN0.mjs';
5
6
  import 'react-hook-form';
6
7
  import '../enums/index.mjs';
@@ -1,6 +1,7 @@
1
1
  import { L as LocationType, l as VendorFormData, m as CreateVendorFormData, n as VendorInfoFormData, o as CreateVendorInfoFormData, p as UnregisteredVendorFormData, q as CreateUnregisteredVendorFormData, r as EventFormData, s as CreateEventFormData, t as EventInfoFormData, u as CreateEventInfoFormData, B as BaseResourceTypeFormData, v as PostFormData, w as CreatePostFormData } from '../global--iSLy2cE.js';
2
2
  import { U as UserFormData, C as CreateUserFormData, S as SafeUserType } from '../user-C_kCo0Fm.js';
3
- import { C as CreateLoginFormData, e as CreateRegisterFormData, f as CreateRequestPasswordResetFormData, g as CreateValidateVerificationTokenFormData, h as CreateResetPasswordFormData, i as AffiliateFormData, j as PartnerFormData, d as AffiliateType, k as AdFormData, l as CreateAdFormState, m as CreatePartnerFormData, n as AppSettingsFormData, o as CreateAppSettingsFormData, p as SchoolFormData, q as CreateSchoolFormData, r as CreateAffiliateFormData } from '../ad-DfqgAPOk.js';
3
+ import { C as CreateLoginFormData, d as CreateRegisterFormData, e as CreateRequestPasswordResetFormData, f as CreateValidateVerificationTokenFormData, g as CreateResetPasswordFormData, h as PartnerFormData, i as AdFormData, j as CreateAdFormState, k as CreatePartnerFormData, l as AppSettingsFormData, m as CreateAppSettingsFormData, n as SchoolFormData, o as CreateSchoolFormData } from '../ad-_mwYq2Z9.js';
4
+ import { a as AffiliateFormData, A as AffiliateType, C as CreateAffiliateFormData } from '../affiliate-Dn50VDpB.js';
4
5
  import { C as ContactUsFormData, a as CreateContactUsFormData } from '../contactUs-DI70VJ9T.js';
5
6
  import 'react-hook-form';
6
7
  import '../enums/index.js';
@@ -7,7 +7,7 @@ import {
7
7
  SCHOOL_MIN_STUDENT_COUNT,
8
8
  isValidIrdNumber,
9
9
  normalizeUrl
10
- } from "../chunk-YKJUZUAP.mjs";
10
+ } from "../chunk-MLNJAQVM.mjs";
11
11
  import {
12
12
  dateFormat,
13
13
  timeFormat
@@ -23,7 +23,7 @@ import {
23
23
  } from "../chunk-43SLZVBF.mjs";
24
24
  import "../chunk-RAYUJODN.mjs";
25
25
  import "../chunk-DQ7ZHIXW.mjs";
26
- import "../chunk-G3CMTXQV.mjs";
26
+ import "../chunk-SP36N6U6.mjs";
27
27
  import "../chunk-P4XULG5P.mjs";
28
28
  import {
29
29
  EnumEventDateStatus,
package/dist/index.cjs CHANGED
@@ -33,6 +33,7 @@ __export(index_exports, {
33
33
  ADMIN_APP_ROLES: () => ADMIN_APP_ROLES,
34
34
  ADMIN_DASHBOARD_CONTEXTS: () => ADMIN_DASHBOARD_CONTEXTS,
35
35
  AFFILIATE_PARTICIPANT_TYPE_LABELS: () => AFFILIATE_PARTICIPANT_TYPE_LABELS,
36
+ AFFILIATE_REWARDS: () => AFFILIATE_REWARDS,
36
37
  ANDROID_URL: () => ANDROID_URL,
37
38
  CLUEMART_MAIN_DOMAIN_URL: () => CLUEMART_MAIN_DOMAIN_URL,
38
39
  CM_AFFILIATE_PROMO_CODE: () => CM_AFFILIATE_PROMO_CODE,
@@ -172,6 +173,7 @@ __export(index_exports, {
172
173
  companyContactFields: () => companyContactFields,
173
174
  computeDailyClueState: () => computeDailyClueState,
174
175
  contactUsFields: () => contactUsFields,
176
+ createAffiliateReward: () => createAffiliateReward,
175
177
  darkColors: () => darkColors,
176
178
  dateFormat: () => dateFormat,
177
179
  emailField: () => emailField,
@@ -320,6 +322,8 @@ __export(index_exports, {
320
322
  useAdminPermanentlyDeleteResource: () => useAdminPermanentlyDeleteResource,
321
323
  useAdminResendUserVerificationEmail: () => useAdminResendUserVerificationEmail,
322
324
  useAdminUpdateResourceType: () => useAdminUpdateResourceType,
325
+ useAssignAffiliateBonusReward: () => useAssignAffiliateBonusReward,
326
+ useAssignAffiliateResourceReward: () => useAssignAffiliateResourceReward,
323
327
  useCancelSubscription: () => useCancelSubscription,
324
328
  useContactUs: () => useContactUs,
325
329
  useCrawlGoogleMarkets: () => useCrawlGoogleMarkets,
@@ -2859,6 +2863,42 @@ var AFFILIATE_PARTICIPANT_TYPE_LABELS = {
2859
2863
  ["SOLE_TRADER" /* SOLE_TRADER */]: "Sole Trader",
2860
2864
  ["COMPANY" /* COMPANY */]: "Company"
2861
2865
  };
2866
+ var AFFILIATE_REWARDS = {
2867
+ ["NEW_EVENT_REGISTRATION" /* NEW_EVENT_REGISTRATION */]: {
2868
+ description: "10 points for new event registration (one-time reward)",
2869
+ value: 10
2870
+ },
2871
+ ["NEW_VENDOR_REGISTRATION" /* NEW_VENDOR_REGISTRATION */]: {
2872
+ description: "5 points for new vendor registration (one-time reward)",
2873
+ value: 5
2874
+ },
2875
+ ["ACTIVE_VENDOR_PRO_SUBSCRIPTION" /* ACTIVE_VENDOR_PRO_SUBSCRIPTION */]: {
2876
+ description: "3 points for active vendor pro subscription (monthly reward)",
2877
+ value: 3
2878
+ },
2879
+ ["ACTIVE_VENDOR_STANDARD_SUBSCRIPTION" /* ACTIVE_VENDOR_STANDARD_SUBSCRIPTION */]: {
2880
+ description: "1 point for active vendor standard subscription (monthly reward)",
2881
+ value: 1
2882
+ },
2883
+ ["ACTIVE_VENDOR_BONUS_REWARD" /* ACTIVE_VENDOR_BONUS_REWARD */]: {
2884
+ description: "5 bonus points for every 10th active vendor (one-time reward)",
2885
+ value: 5
2886
+ },
2887
+ ["ACTIVE_EVENT_WITH_VENDOR_REGISTRATIONS" /* ACTIVE_EVENT_WITH_VENDOR_REGISTRATIONS */]: {
2888
+ description: "40 points for active event with vendor registrations (one-time reward)",
2889
+ value: 40
2890
+ }
2891
+ };
2892
+ function createAffiliateReward(rewardType, createdAt) {
2893
+ const reward = AFFILIATE_REWARDS[rewardType];
2894
+ return {
2895
+ createdAt,
2896
+ redeemedAt: null,
2897
+ rewardDescription: reward.description,
2898
+ rewardType,
2899
+ rewardValue: reward.value
2900
+ };
2901
+ }
2862
2902
 
2863
2903
  // src/utils/irdNumber.ts
2864
2904
  var PRIMARY_WEIGHTS = [3, 2, 7, 6, 5, 4, 3, 2];
@@ -8065,6 +8105,38 @@ var REDEEM_AFFILIATE_REWARD_MUTATION = import_client76.gql`
8065
8105
  }
8066
8106
  ${AFFILIATE_FIELDS_FRAGMENT}
8067
8107
  `;
8108
+ var ASSIGN_AFFILIATE_RESOURCE_REWARD_MUTATION = import_client76.gql`
8109
+ mutation assignAffiliateResourceReward(
8110
+ $affiliateId: ID!
8111
+ $resourceId: ID!
8112
+ $resourceType: ResourceTypeEnum!
8113
+ $rewardType: AffiliateRewardEnumType!
8114
+ ) {
8115
+ assignAffiliateResourceReward(
8116
+ affiliateId: $affiliateId
8117
+ resourceId: $resourceId
8118
+ resourceType: $resourceType
8119
+ rewardType: $rewardType
8120
+ ) {
8121
+ ...AffiliateFields
8122
+ }
8123
+ }
8124
+ ${AFFILIATE_FIELDS_FRAGMENT}
8125
+ `;
8126
+ var ASSIGN_AFFILIATE_BONUS_REWARD_MUTATION = import_client76.gql`
8127
+ mutation assignAffiliateBonusReward(
8128
+ $affiliateId: ID!
8129
+ $rewardType: AffiliateRewardEnumType!
8130
+ ) {
8131
+ assignAffiliateBonusReward(
8132
+ affiliateId: $affiliateId
8133
+ rewardType: $rewardType
8134
+ ) {
8135
+ ...AffiliateFields
8136
+ }
8137
+ }
8138
+ ${AFFILIATE_FIELDS_FRAGMENT}
8139
+ `;
8068
8140
 
8069
8141
  // src/graphql/hooks/affiliate/hooksMutation.ts
8070
8142
  var useUpdateAffiliateDetails = () => {
@@ -8105,6 +8177,34 @@ var useRedeemAffiliateReward = () => {
8105
8177
  );
8106
8178
  return { error, loading, redeemAffiliateReward };
8107
8179
  };
8180
+ var useAssignAffiliateResourceReward = () => {
8181
+ const [assignAffiliateResourceReward, { loading, error }] = (0, import_client77.useMutation)(
8182
+ ASSIGN_AFFILIATE_RESOURCE_REWARD_MUTATION,
8183
+ {
8184
+ awaitRefetchQueries: true,
8185
+ refetchQueries: (mutationResult) => {
8186
+ const affiliateId = mutationResult?.data?.assignAffiliateResourceReward?._id;
8187
+ if (!affiliateId) return [];
8188
+ return [{ query: GET_AFFILIATE, variables: { _id: affiliateId } }];
8189
+ }
8190
+ }
8191
+ );
8192
+ return { assignAffiliateResourceReward, error, loading };
8193
+ };
8194
+ var useAssignAffiliateBonusReward = () => {
8195
+ const [assignAffiliateBonusReward, { loading, error }] = (0, import_client77.useMutation)(
8196
+ ASSIGN_AFFILIATE_BONUS_REWARD_MUTATION,
8197
+ {
8198
+ awaitRefetchQueries: true,
8199
+ refetchQueries: (mutationResult) => {
8200
+ const affiliateId = mutationResult?.data?.assignAffiliateBonusReward?._id;
8201
+ if (!affiliateId) return [];
8202
+ return [{ query: GET_AFFILIATE, variables: { _id: affiliateId } }];
8203
+ }
8204
+ }
8205
+ );
8206
+ return { assignAffiliateBonusReward, error, loading };
8207
+ };
8108
8208
 
8109
8209
  // src/images/index.ts
8110
8210
  var PKG = "@timardex/cluemart-shared";
@@ -8664,6 +8764,7 @@ function canAccessAdminPath(roles, pathname) {
8664
8764
  ADMIN_APP_ROLES,
8665
8765
  ADMIN_DASHBOARD_CONTEXTS,
8666
8766
  AFFILIATE_PARTICIPANT_TYPE_LABELS,
8767
+ AFFILIATE_REWARDS,
8667
8768
  ANDROID_URL,
8668
8769
  CLUEMART_MAIN_DOMAIN_URL,
8669
8770
  CM_AFFILIATE_PROMO_CODE,
@@ -8803,6 +8904,7 @@ function canAccessAdminPath(roles, pathname) {
8803
8904
  companyContactFields,
8804
8905
  computeDailyClueState,
8805
8906
  contactUsFields,
8907
+ createAffiliateReward,
8806
8908
  darkColors,
8807
8909
  dateFormat,
8808
8910
  emailField,
@@ -8951,6 +9053,8 @@ function canAccessAdminPath(roles, pathname) {
8951
9053
  useAdminPermanentlyDeleteResource,
8952
9054
  useAdminResendUserVerificationEmail,
8953
9055
  useAdminUpdateResourceType,
9056
+ useAssignAffiliateBonusReward,
9057
+ useAssignAffiliateResourceReward,
8954
9058
  useCancelSubscription,
8955
9059
  useContactUs,
8956
9060
  useCrawlGoogleMarkets,