@timardex/cluemart-server-shared 1.0.304 → 1.0.306
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{Affiliate-BxNv9k41.d.mts → Affiliate-B76iZ3fE.d.mts} +2 -1
- package/dist/{Affiliate-DRuifOv4.d.ts → Affiliate-gqV1-654.d.ts} +2 -1
- package/dist/{chunk-GQWLGM2W.mjs → chunk-SY7T26IW.mjs} +11 -1
- package/dist/chunk-SY7T26IW.mjs.map +1 -0
- package/dist/index.cjs +37 -25
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.mts +5 -3
- package/dist/index.d.ts +5 -3
- package/dist/index.mjs +37 -25
- package/dist/index.mjs.map +1 -1
- package/dist/mongoose/index.cjs +10 -0
- package/dist/mongoose/index.cjs.map +1 -1
- package/dist/mongoose/index.d.mts +2 -2
- package/dist/mongoose/index.d.ts +2 -2
- package/dist/mongoose/index.mjs +1 -1
- package/dist/service/index.cjs +37 -25
- package/dist/service/index.cjs.map +1 -1
- package/dist/service/index.d.mts +4 -3
- package/dist/service/index.d.ts +4 -3
- package/dist/service/index.mjs +28 -26
- package/dist/service/index.mjs.map +1 -1
- package/package.json +2 -2
- package/dist/chunk-GQWLGM2W.mjs.map +0 -1
package/dist/index.cjs
CHANGED
|
@@ -7382,12 +7382,16 @@ var AFFILIATE_RESOURCE_FIELDS_FRAGMENT = gql`
|
|
|
7382
7382
|
resourceDeletedAt
|
|
7383
7383
|
resourceId
|
|
7384
7384
|
resourceName
|
|
7385
|
+
resourceOwner {
|
|
7386
|
+
...OwnerFields
|
|
7387
|
+
}
|
|
7385
7388
|
resourceType
|
|
7386
7389
|
rewards {
|
|
7387
7390
|
...AffiliateRewardFields
|
|
7388
7391
|
}
|
|
7389
7392
|
}
|
|
7390
7393
|
${AFFILIATE_REWARD_FIELDS_FRAGMENT}
|
|
7394
|
+
${OWNER_FIELDS_FRAGMENT}
|
|
7391
7395
|
`;
|
|
7392
7396
|
var AFFILIATE_BANK_ACCOUNT_DETAILS_FIELDS_FRAGMENT = gql`
|
|
7393
7397
|
fragment AffiliateBankAccountDetailsFields on AffiliateBankAccountDetailsType {
|
|
@@ -7442,6 +7446,7 @@ var AFFILIATE_FIELDS_FRAGMENT = gql`
|
|
|
7442
7446
|
createdAt
|
|
7443
7447
|
deletedAt
|
|
7444
7448
|
redeemHistory {
|
|
7449
|
+
paidAt
|
|
7445
7450
|
redeemedAt
|
|
7446
7451
|
rewardValue
|
|
7447
7452
|
}
|
|
@@ -9248,6 +9253,10 @@ var affiliateResourceSchema = new MongooseSchema25(
|
|
|
9248
9253
|
type: import_mongoose25.default.Schema.Types.ObjectId
|
|
9249
9254
|
},
|
|
9250
9255
|
resourceName: { required: true, type: String },
|
|
9256
|
+
resourceOwner: {
|
|
9257
|
+
required: true,
|
|
9258
|
+
type: OwnerTypeSchema
|
|
9259
|
+
},
|
|
9251
9260
|
resourceType: {
|
|
9252
9261
|
enum: Object.values(EnumResourceType),
|
|
9253
9262
|
required: true,
|
|
@@ -9299,6 +9308,7 @@ var affiliateDetailsSchema = new MongooseSchema25(
|
|
|
9299
9308
|
);
|
|
9300
9309
|
var redeemHistorySchema = new MongooseSchema25(
|
|
9301
9310
|
{
|
|
9311
|
+
paidAt: { default: null, required: false, type: Date },
|
|
9302
9312
|
redeemedAt: { required: true, type: Date },
|
|
9303
9313
|
rewardValue: { required: true, type: Number }
|
|
9304
9314
|
},
|
|
@@ -9413,7 +9423,7 @@ var SHARE_RESOURCE_LABEL2 = {
|
|
|
9413
9423
|
school: "School"
|
|
9414
9424
|
};
|
|
9415
9425
|
|
|
9416
|
-
// node_modules/@timardex/cluemart-shared/dist/chunk-
|
|
9426
|
+
// node_modules/@timardex/cluemart-shared/dist/chunk-OBZTGPBJ.mjs
|
|
9417
9427
|
var PROMO_CODE_PREFIX2 = "CM-";
|
|
9418
9428
|
var OBJECT_ID_PATH_SEGMENT2 = "[a-f0-9]{24}";
|
|
9419
9429
|
var OBJECT_ID_PATH_SEGMENT_END2 = `${OBJECT_ID_PATH_SEGMENT2}$`;
|
|
@@ -9515,7 +9525,7 @@ var gameScreenIdentifierList2 = [
|
|
|
9515
9525
|
}
|
|
9516
9526
|
];
|
|
9517
9527
|
|
|
9518
|
-
// node_modules/@timardex/cluemart-shared/dist/chunk-
|
|
9528
|
+
// node_modules/@timardex/cluemart-shared/dist/chunk-QBU7N4P2.mjs
|
|
9519
9529
|
var import_dayjs4 = __toESM(require("dayjs"), 1);
|
|
9520
9530
|
var statusOptions2 = [
|
|
9521
9531
|
...Object.values(EnumInviteStatus2).map((status) => ({
|
|
@@ -10746,13 +10756,19 @@ async function findAffiliatesWithActiveVendorReferrals() {
|
|
|
10746
10756
|
deletedAt: null
|
|
10747
10757
|
}).select("_id affiliateCode affiliateResources owner").lean().exec();
|
|
10748
10758
|
}
|
|
10749
|
-
async function
|
|
10750
|
-
|
|
10759
|
+
async function isEligibleReferredVendor({
|
|
10760
|
+
affiliateCode,
|
|
10761
|
+
resourceId,
|
|
10762
|
+
resourceOwnerUserId
|
|
10763
|
+
}) {
|
|
10764
|
+
const match = await VendorModel.exists({
|
|
10751
10765
|
_id: resourceId,
|
|
10752
10766
|
active: true,
|
|
10753
10767
|
deletedAt: null,
|
|
10768
|
+
"owner.userId": resourceOwnerUserId,
|
|
10754
10769
|
promoCodes: affiliateCode
|
|
10755
|
-
}).
|
|
10770
|
+
}).exec();
|
|
10771
|
+
return Boolean(match);
|
|
10756
10772
|
}
|
|
10757
10773
|
async function resolveSubscriptionRewardTypeForVendorOwner(vendorOwnerUserId, now) {
|
|
10758
10774
|
const vendorOwner = await UserModel.findById(vendorOwnerUserId).select("licences stripe").lean().exec();
|
|
@@ -10794,8 +10810,7 @@ async function tryAwardSubscriptionReward({
|
|
|
10794
10810
|
createdAt,
|
|
10795
10811
|
period,
|
|
10796
10812
|
resource,
|
|
10797
|
-
rewardType
|
|
10798
|
-
vendor
|
|
10813
|
+
rewardType
|
|
10799
10814
|
}) {
|
|
10800
10815
|
const reward = createAffiliateReward(rewardType, createdAt);
|
|
10801
10816
|
const updateResult = await AffiliateModel.updateOne(
|
|
@@ -10805,7 +10820,7 @@ async function tryAwardSubscriptionReward({
|
|
|
10805
10820
|
$elemMatch: {
|
|
10806
10821
|
resourceActive: true,
|
|
10807
10822
|
resourceDeletedAt: null,
|
|
10808
|
-
resourceId:
|
|
10823
|
+
resourceId: resource.resourceId,
|
|
10809
10824
|
resourceType: EnumResourceType.VENDOR,
|
|
10810
10825
|
rewards: {
|
|
10811
10826
|
$not: {
|
|
@@ -10830,15 +10845,12 @@ async function tryAwardSubscriptionReward({
|
|
|
10830
10845
|
if (updateResult.modifiedCount === 0) {
|
|
10831
10846
|
return "skipped";
|
|
10832
10847
|
}
|
|
10833
|
-
|
|
10834
|
-
|
|
10835
|
-
|
|
10836
|
-
|
|
10837
|
-
|
|
10838
|
-
|
|
10839
|
-
rewardValue: reward.rewardValue
|
|
10840
|
-
});
|
|
10841
|
-
}
|
|
10848
|
+
await notifyAffiliateOwnerOfSubscriptionReward({
|
|
10849
|
+
affiliateId: affiliate._id,
|
|
10850
|
+
affiliateOwnerUserId: affiliate.owner.userId,
|
|
10851
|
+
resourceName: resource.resourceName,
|
|
10852
|
+
rewardValue: reward.rewardValue
|
|
10853
|
+
});
|
|
10842
10854
|
return "awarded";
|
|
10843
10855
|
}
|
|
10844
10856
|
async function processAffiliateVendorReferral({
|
|
@@ -10849,15 +10861,16 @@ async function processAffiliateVendorReferral({
|
|
|
10849
10861
|
period,
|
|
10850
10862
|
resource
|
|
10851
10863
|
}) {
|
|
10852
|
-
const
|
|
10853
|
-
|
|
10854
|
-
|
|
10855
|
-
|
|
10856
|
-
|
|
10864
|
+
const vendorEligible = await isEligibleReferredVendor({
|
|
10865
|
+
affiliateCode,
|
|
10866
|
+
resourceId: resource.resourceId,
|
|
10867
|
+
resourceOwnerUserId: resource.resourceOwner.userId
|
|
10868
|
+
});
|
|
10869
|
+
if (!vendorEligible) {
|
|
10857
10870
|
return "skipped";
|
|
10858
10871
|
}
|
|
10859
10872
|
const rewardType = await resolveSubscriptionRewardTypeForVendorOwner(
|
|
10860
|
-
|
|
10873
|
+
resource.resourceOwner.userId,
|
|
10861
10874
|
now
|
|
10862
10875
|
);
|
|
10863
10876
|
if (!rewardType) {
|
|
@@ -10868,8 +10881,7 @@ async function processAffiliateVendorReferral({
|
|
|
10868
10881
|
createdAt,
|
|
10869
10882
|
period,
|
|
10870
10883
|
resource,
|
|
10871
|
-
rewardType
|
|
10872
|
-
vendor
|
|
10884
|
+
rewardType
|
|
10873
10885
|
});
|
|
10874
10886
|
}
|
|
10875
10887
|
async function awardAffiliateVendorSubscriptionRewards(now = /* @__PURE__ */ new Date()) {
|