@duvdu-v1/duvdu 1.1.246 → 1.1.248
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/build/index.d.ts +1 -0
- package/build/index.js +1 -0
- package/build/models/Bookmark-projects.model.d.ts +2 -2
- package/build/models/Bookmark.model.d.ts +1 -1
- package/build/models/Plan.model.d.ts +1 -1
- package/build/models/Review.model.d.ts +2 -2
- package/build/models/Role.model.d.ts +1 -1
- package/build/models/Term.model.d.ts +3 -3
- package/build/models/Ticket.model.d.ts +3 -3
- package/build/models/User.model.d.ts +1 -1
- package/build/models/all-contracts.model.d.ts +2 -2
- package/build/models/allProjects.model.d.ts +1 -1
- package/build/models/category.model.d.ts +3 -3
- package/build/models/contractCancel.model.d.ts +34 -0
- package/build/models/contractCancel.model.js +10 -0
- package/build/models/contracts.model.d.ts +2 -2
- package/build/models/copyright-contract.model.d.ts +2 -2
- package/build/models/copyright-contract.model.js +4 -2
- package/build/models/copyrights-booking.model.d.ts +2 -2
- package/build/models/copyrights.model.d.ts +2 -2
- package/build/models/coupon.model.d.ts +2 -2
- package/build/models/favourites.model.d.ts +2 -2
- package/build/models/follow.model.d.ts +2 -2
- package/build/models/messages.model.d.ts +2 -2
- package/build/models/notification.model.d.ts +2 -2
- package/build/models/portfolio-post.model.d.ts +2 -2
- package/build/models/producer.model.d.ts +2 -2
- package/build/models/producerPlatform.model.d.ts +1 -1
- package/build/models/producer_contracts.model.d.ts +2 -2
- package/build/models/projectContract.model.d.ts +2 -2
- package/build/models/projectContract.model.js +4 -2
- package/build/models/projectViews.model.d.ts +1 -1
- package/build/models/ranks.model.d.ts +1 -1
- package/build/models/rental-contracts.model.d.ts +2 -2
- package/build/models/rental.model.d.ts +2 -2
- package/build/models/report.model.d.ts +2 -2
- package/build/models/session.model.d.ts +2 -2
- package/build/models/settings.model.d.ts +1 -1
- package/build/models/studio-booking-book.model.d.ts +2 -2
- package/build/models/studio-booking.model.d.ts +3 -3
- package/build/models/teamProject.model.d.ts +2 -2
- package/build/models/teamProject.model.js +4 -2
- package/build/models/userSession.model.d.ts +2 -2
- package/build/services/category.service.js +9 -6
- package/build/services/rank.service.d.ts +2 -2
- package/build/services/rank.service.js +23 -49
- package/build/types/Bookmarks.d.ts +1 -1
- package/build/types/Plan.d.ts +1 -1
- package/build/types/Projects.d.ts +1 -1
- package/build/types/Rate.d.ts +1 -1
- package/build/types/Ticket.d.ts +1 -1
- package/build/types/User.d.ts +1 -1
- package/build/types/copyrights-order.d.ts +2 -2
- package/build/types/portfolio-post-order.d.ts +2 -2
- package/build/utils/api-feature.d.ts +3 -3
- package/package.json +1 -1
|
@@ -1,9 +1,9 @@
|
|
|
1
|
+
/// <reference types="mongoose/types/document" />
|
|
1
2
|
/// <reference types="mongoose/types/aggregate" />
|
|
2
3
|
/// <reference types="mongoose/types/callback" />
|
|
3
4
|
/// <reference types="mongoose/types/collection" />
|
|
4
5
|
/// <reference types="mongoose/types/connection" />
|
|
5
6
|
/// <reference types="mongoose/types/cursor" />
|
|
6
|
-
/// <reference types="mongoose/types/document" />
|
|
7
7
|
/// <reference types="mongoose/types/error" />
|
|
8
8
|
/// <reference types="mongoose/types/expressions" />
|
|
9
9
|
/// <reference types="mongoose/types/helpers" />
|
|
@@ -1,9 +1,10 @@
|
|
|
1
|
+
/// <reference types="mongoose/types/types" />
|
|
2
|
+
/// <reference types="mongoose/types/document" />
|
|
1
3
|
/// <reference types="mongoose/types/aggregate" />
|
|
2
4
|
/// <reference types="mongoose/types/callback" />
|
|
3
5
|
/// <reference types="mongoose/types/collection" />
|
|
4
6
|
/// <reference types="mongoose/types/connection" />
|
|
5
7
|
/// <reference types="mongoose/types/cursor" />
|
|
6
|
-
/// <reference types="mongoose/types/document" />
|
|
7
8
|
/// <reference types="mongoose/types/error" />
|
|
8
9
|
/// <reference types="mongoose/types/expressions" />
|
|
9
10
|
/// <reference types="mongoose/types/helpers" />
|
|
@@ -17,7 +18,6 @@
|
|
|
17
18
|
/// <reference types="mongoose/types/schemaoptions" />
|
|
18
19
|
/// <reference types="mongoose/types/schematypes" />
|
|
19
20
|
/// <reference types="mongoose/types/session" />
|
|
20
|
-
/// <reference types="mongoose/types/types" />
|
|
21
21
|
/// <reference types="mongoose/types/utility" />
|
|
22
22
|
/// <reference types="mongoose/types/validation" />
|
|
23
23
|
/// <reference types="mongoose/types/virtuals" />
|
|
@@ -1,9 +1,10 @@
|
|
|
1
|
+
/// <reference types="mongoose/types/types" />
|
|
2
|
+
/// <reference types="mongoose/types/document" />
|
|
1
3
|
/// <reference types="mongoose/types/aggregate" />
|
|
2
4
|
/// <reference types="mongoose/types/callback" />
|
|
3
5
|
/// <reference types="mongoose/types/collection" />
|
|
4
6
|
/// <reference types="mongoose/types/connection" />
|
|
5
7
|
/// <reference types="mongoose/types/cursor" />
|
|
6
|
-
/// <reference types="mongoose/types/document" />
|
|
7
8
|
/// <reference types="mongoose/types/error" />
|
|
8
9
|
/// <reference types="mongoose/types/expressions" />
|
|
9
10
|
/// <reference types="mongoose/types/helpers" />
|
|
@@ -17,7 +18,6 @@
|
|
|
17
18
|
/// <reference types="mongoose/types/schemaoptions" />
|
|
18
19
|
/// <reference types="mongoose/types/schematypes" />
|
|
19
20
|
/// <reference types="mongoose/types/session" />
|
|
20
|
-
/// <reference types="mongoose/types/types" />
|
|
21
21
|
/// <reference types="mongoose/types/utility" />
|
|
22
22
|
/// <reference types="mongoose/types/validation" />
|
|
23
23
|
/// <reference types="mongoose/types/virtuals" />
|
|
@@ -1,9 +1,10 @@
|
|
|
1
|
+
/// <reference types="mongoose/types/types" />
|
|
2
|
+
/// <reference types="mongoose/types/document" />
|
|
1
3
|
/// <reference types="mongoose/types/aggregate" />
|
|
2
4
|
/// <reference types="mongoose/types/callback" />
|
|
3
5
|
/// <reference types="mongoose/types/collection" />
|
|
4
6
|
/// <reference types="mongoose/types/connection" />
|
|
5
7
|
/// <reference types="mongoose/types/cursor" />
|
|
6
|
-
/// <reference types="mongoose/types/document" />
|
|
7
8
|
/// <reference types="mongoose/types/error" />
|
|
8
9
|
/// <reference types="mongoose/types/expressions" />
|
|
9
10
|
/// <reference types="mongoose/types/helpers" />
|
|
@@ -17,7 +18,6 @@
|
|
|
17
18
|
/// <reference types="mongoose/types/schemaoptions" />
|
|
18
19
|
/// <reference types="mongoose/types/schematypes" />
|
|
19
20
|
/// <reference types="mongoose/types/session" />
|
|
20
|
-
/// <reference types="mongoose/types/types" />
|
|
21
21
|
/// <reference types="mongoose/types/utility" />
|
|
22
22
|
/// <reference types="mongoose/types/validation" />
|
|
23
23
|
/// <reference types="mongoose/types/virtuals" />
|
|
@@ -1,9 +1,10 @@
|
|
|
1
|
+
/// <reference types="mongoose/types/types" />
|
|
2
|
+
/// <reference types="mongoose/types/document" />
|
|
1
3
|
/// <reference types="mongoose/types/aggregate" />
|
|
2
4
|
/// <reference types="mongoose/types/callback" />
|
|
3
5
|
/// <reference types="mongoose/types/collection" />
|
|
4
6
|
/// <reference types="mongoose/types/connection" />
|
|
5
7
|
/// <reference types="mongoose/types/cursor" />
|
|
6
|
-
/// <reference types="mongoose/types/document" />
|
|
7
8
|
/// <reference types="mongoose/types/error" />
|
|
8
9
|
/// <reference types="mongoose/types/expressions" />
|
|
9
10
|
/// <reference types="mongoose/types/helpers" />
|
|
@@ -17,7 +18,6 @@
|
|
|
17
18
|
/// <reference types="mongoose/types/schemaoptions" />
|
|
18
19
|
/// <reference types="mongoose/types/schematypes" />
|
|
19
20
|
/// <reference types="mongoose/types/session" />
|
|
20
|
-
/// <reference types="mongoose/types/types" />
|
|
21
21
|
/// <reference types="mongoose/types/utility" />
|
|
22
22
|
/// <reference types="mongoose/types/validation" />
|
|
23
23
|
/// <reference types="mongoose/types/virtuals" />
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
+
/// <reference types="mongoose/types/document" />
|
|
1
2
|
/// <reference types="mongoose/types/aggregate" />
|
|
2
3
|
/// <reference types="mongoose/types/callback" />
|
|
3
4
|
/// <reference types="mongoose/types/collection" />
|
|
4
5
|
/// <reference types="mongoose/types/connection" />
|
|
5
6
|
/// <reference types="mongoose/types/cursor" />
|
|
6
|
-
/// <reference types="mongoose/types/document" />
|
|
7
7
|
/// <reference types="mongoose/types/error" />
|
|
8
8
|
/// <reference types="mongoose/types/expressions" />
|
|
9
9
|
/// <reference types="mongoose/types/helpers" />
|
|
@@ -1,9 +1,10 @@
|
|
|
1
|
+
/// <reference types="mongoose/types/types" />
|
|
2
|
+
/// <reference types="mongoose/types/document" />
|
|
1
3
|
/// <reference types="mongoose/types/aggregate" />
|
|
2
4
|
/// <reference types="mongoose/types/callback" />
|
|
3
5
|
/// <reference types="mongoose/types/collection" />
|
|
4
6
|
/// <reference types="mongoose/types/connection" />
|
|
5
7
|
/// <reference types="mongoose/types/cursor" />
|
|
6
|
-
/// <reference types="mongoose/types/document" />
|
|
7
8
|
/// <reference types="mongoose/types/error" />
|
|
8
9
|
/// <reference types="mongoose/types/expressions" />
|
|
9
10
|
/// <reference types="mongoose/types/helpers" />
|
|
@@ -17,7 +18,6 @@
|
|
|
17
18
|
/// <reference types="mongoose/types/schemaoptions" />
|
|
18
19
|
/// <reference types="mongoose/types/schematypes" />
|
|
19
20
|
/// <reference types="mongoose/types/session" />
|
|
20
|
-
/// <reference types="mongoose/types/types" />
|
|
21
21
|
/// <reference types="mongoose/types/utility" />
|
|
22
22
|
/// <reference types="mongoose/types/validation" />
|
|
23
23
|
/// <reference types="mongoose/types/virtuals" />
|
|
@@ -1,15 +1,16 @@
|
|
|
1
|
+
/// <reference types="mongoose/types/types" />
|
|
2
|
+
/// <reference types="mongoose/types/document" />
|
|
3
|
+
/// <reference types="mongoose/types/models" />
|
|
1
4
|
/// <reference types="mongoose/types/aggregate" />
|
|
2
5
|
/// <reference types="mongoose/types/callback" />
|
|
3
6
|
/// <reference types="mongoose/types/collection" />
|
|
4
7
|
/// <reference types="mongoose/types/connection" />
|
|
5
8
|
/// <reference types="mongoose/types/cursor" />
|
|
6
|
-
/// <reference types="mongoose/types/document" />
|
|
7
9
|
/// <reference types="mongoose/types/error" />
|
|
8
10
|
/// <reference types="mongoose/types/expressions" />
|
|
9
11
|
/// <reference types="mongoose/types/helpers" />
|
|
10
12
|
/// <reference types="mongoose/types/middlewares" />
|
|
11
13
|
/// <reference types="mongoose/types/indexes" />
|
|
12
|
-
/// <reference types="mongoose/types/models" />
|
|
13
14
|
/// <reference types="mongoose/types/mongooseoptions" />
|
|
14
15
|
/// <reference types="mongoose/types/pipelinestage" />
|
|
15
16
|
/// <reference types="mongoose/types/populate" />
|
|
@@ -17,7 +18,6 @@
|
|
|
17
18
|
/// <reference types="mongoose/types/schemaoptions" />
|
|
18
19
|
/// <reference types="mongoose/types/schematypes" />
|
|
19
20
|
/// <reference types="mongoose/types/session" />
|
|
20
|
-
/// <reference types="mongoose/types/types" />
|
|
21
21
|
/// <reference types="mongoose/types/utility" />
|
|
22
22
|
/// <reference types="mongoose/types/validation" />
|
|
23
23
|
/// <reference types="mongoose/types/virtuals" />
|
|
@@ -1,9 +1,10 @@
|
|
|
1
|
+
/// <reference types="mongoose/types/types" />
|
|
2
|
+
/// <reference types="mongoose/types/document" />
|
|
1
3
|
/// <reference types="mongoose/types/aggregate" />
|
|
2
4
|
/// <reference types="mongoose/types/callback" />
|
|
3
5
|
/// <reference types="mongoose/types/collection" />
|
|
4
6
|
/// <reference types="mongoose/types/connection" />
|
|
5
7
|
/// <reference types="mongoose/types/cursor" />
|
|
6
|
-
/// <reference types="mongoose/types/document" />
|
|
7
8
|
/// <reference types="mongoose/types/error" />
|
|
8
9
|
/// <reference types="mongoose/types/expressions" />
|
|
9
10
|
/// <reference types="mongoose/types/helpers" />
|
|
@@ -17,7 +18,6 @@
|
|
|
17
18
|
/// <reference types="mongoose/types/schemaoptions" />
|
|
18
19
|
/// <reference types="mongoose/types/schematypes" />
|
|
19
20
|
/// <reference types="mongoose/types/session" />
|
|
20
|
-
/// <reference types="mongoose/types/types" />
|
|
21
21
|
/// <reference types="mongoose/types/utility" />
|
|
22
22
|
/// <reference types="mongoose/types/validation" />
|
|
23
23
|
/// <reference types="mongoose/types/virtuals" />
|
|
@@ -96,11 +96,13 @@ exports.TeamContract = (0, mongoose_1.model)(model_names_1.MODELS.teamContract,
|
|
|
96
96
|
paymentAmount: { type: Number, default: 0 },
|
|
97
97
|
attachments: [String],
|
|
98
98
|
totalCheckoutAt: Date,
|
|
99
|
-
submitFiles: [
|
|
99
|
+
submitFiles: [
|
|
100
|
+
{
|
|
100
101
|
link: { type: String, default: null },
|
|
101
102
|
notes: { type: String, default: null },
|
|
102
103
|
reason: { type: String, default: null },
|
|
103
104
|
dateOfSubmission: { type: Date, default: null },
|
|
104
105
|
status: { type: String, enum: copyright_contract_model_1.SubmitFilesStatus, default: copyright_contract_model_1.SubmitFilesStatus.pending },
|
|
105
|
-
}
|
|
106
|
+
},
|
|
107
|
+
],
|
|
106
108
|
}, { timestamps: true, collection: model_names_1.MODELS.teamContract }));
|
|
@@ -1,9 +1,10 @@
|
|
|
1
|
+
/// <reference types="mongoose/types/types" />
|
|
2
|
+
/// <reference types="mongoose/types/document" />
|
|
1
3
|
/// <reference types="mongoose/types/aggregate" />
|
|
2
4
|
/// <reference types="mongoose/types/callback" />
|
|
3
5
|
/// <reference types="mongoose/types/collection" />
|
|
4
6
|
/// <reference types="mongoose/types/connection" />
|
|
5
7
|
/// <reference types="mongoose/types/cursor" />
|
|
6
|
-
/// <reference types="mongoose/types/document" />
|
|
7
8
|
/// <reference types="mongoose/types/error" />
|
|
8
9
|
/// <reference types="mongoose/types/expressions" />
|
|
9
10
|
/// <reference types="mongoose/types/helpers" />
|
|
@@ -17,7 +18,6 @@
|
|
|
17
18
|
/// <reference types="mongoose/types/schemaoptions" />
|
|
18
19
|
/// <reference types="mongoose/types/schematypes" />
|
|
19
20
|
/// <reference types="mongoose/types/session" />
|
|
20
|
-
/// <reference types="mongoose/types/types" />
|
|
21
21
|
/// <reference types="mongoose/types/utility" />
|
|
22
22
|
/// <reference types="mongoose/types/validation" />
|
|
23
23
|
/// <reference types="mongoose/types/virtuals" />
|
|
@@ -64,18 +64,21 @@ function filterRelatedCategoryForCategory(categoryId, relatedCategories, lang) {
|
|
|
64
64
|
throw new notfound_error_1.NotFound({ en: 'Category not found', ar: 'الفئة غير موجودة' }, lang);
|
|
65
65
|
}
|
|
66
66
|
// Get all related category IDs
|
|
67
|
-
const relatedCategoryIds = relatedCategories.map(rc => rc.category);
|
|
67
|
+
const relatedCategoryIds = relatedCategories.map((rc) => rc.category);
|
|
68
68
|
// Fetch all related categories in one query
|
|
69
69
|
const relatedCategoryDocs = yield category_model_1.Categories.find({
|
|
70
70
|
_id: { $in: relatedCategoryIds },
|
|
71
|
-
isRelated: true
|
|
71
|
+
isRelated: true,
|
|
72
72
|
});
|
|
73
73
|
if (relatedCategoryDocs.length !== relatedCategoryIds.length) {
|
|
74
|
-
throw new bad_request_error_1.BadRequestError({
|
|
74
|
+
throw new bad_request_error_1.BadRequestError({
|
|
75
|
+
en: 'One or more related categories not found',
|
|
76
|
+
ar: 'واحد أو أكثر من الفئات المرتبطة غير موجودة',
|
|
77
|
+
}, lang);
|
|
75
78
|
}
|
|
76
79
|
// Validate each related category's subcategories and tags
|
|
77
80
|
for (const relatedCategory of relatedCategories) {
|
|
78
|
-
const categoryDoc = relatedCategoryDocs.find(doc => doc._id.toString() === relatedCategory.category);
|
|
81
|
+
const categoryDoc = relatedCategoryDocs.find((doc) => doc._id.toString() === relatedCategory.category);
|
|
79
82
|
if (relatedCategory.subCategories) {
|
|
80
83
|
for (const subCat of relatedCategory.subCategories) {
|
|
81
84
|
// Find matching subcategory in the category document
|
|
@@ -86,8 +89,8 @@ function filterRelatedCategoryForCategory(categoryId, relatedCategories, lang) {
|
|
|
86
89
|
// Validate tags
|
|
87
90
|
if (subCat.tags && subCat.tags.length > 0) {
|
|
88
91
|
const validTagIds = foundSubCategory.tags.map((tag) => tag._id.toString());
|
|
89
|
-
const providedTagIds = subCat.tags.map(t => t.tag);
|
|
90
|
-
const invalidTags = providedTagIds.filter(tagId => !validTagIds.includes(tagId));
|
|
92
|
+
const providedTagIds = subCat.tags.map((t) => t.tag);
|
|
93
|
+
const invalidTags = providedTagIds.filter((tagId) => !validTagIds.includes(tagId));
|
|
91
94
|
if (invalidTags.length > 0) {
|
|
92
95
|
throw new bad_request_error_1.BadRequestError({ en: 'Invalid tags found', ar: 'تم العثور على علامات غير صالحة' }, lang);
|
|
93
96
|
}
|
|
@@ -1,9 +1,10 @@
|
|
|
1
|
+
/// <reference types="mongoose/types/document" />
|
|
2
|
+
/// <reference types="mongoose/types/types" />
|
|
1
3
|
/// <reference types="mongoose/types/aggregate" />
|
|
2
4
|
/// <reference types="mongoose/types/callback" />
|
|
3
5
|
/// <reference types="mongoose/types/collection" />
|
|
4
6
|
/// <reference types="mongoose/types/connection" />
|
|
5
7
|
/// <reference types="mongoose/types/cursor" />
|
|
6
|
-
/// <reference types="mongoose/types/document" />
|
|
7
8
|
/// <reference types="mongoose/types/error" />
|
|
8
9
|
/// <reference types="mongoose/types/expressions" />
|
|
9
10
|
/// <reference types="mongoose/types/helpers" />
|
|
@@ -17,7 +18,6 @@
|
|
|
17
18
|
/// <reference types="mongoose/types/schemaoptions" />
|
|
18
19
|
/// <reference types="mongoose/types/schematypes" />
|
|
19
20
|
/// <reference types="mongoose/types/session" />
|
|
20
|
-
/// <reference types="mongoose/types/types" />
|
|
21
21
|
/// <reference types="mongoose/types/utility" />
|
|
22
22
|
/// <reference types="mongoose/types/validation" />
|
|
23
23
|
/// <reference types="mongoose/types/virtuals" />
|
|
@@ -27,54 +27,43 @@ const updateRankForUser = (userId) => __awaiter(void 0, void 0, void 0, function
|
|
|
27
27
|
const currentRank = yield ranks_model_1.Rank.findOne({
|
|
28
28
|
actionCount: { $lte: acceptedProjectsCounter },
|
|
29
29
|
projectsLiked: { $lte: projectsLiked },
|
|
30
|
-
projectsCount: { $lte: projectsCount }
|
|
30
|
+
projectsCount: { $lte: projectsCount },
|
|
31
31
|
})
|
|
32
32
|
.sort({
|
|
33
33
|
actionCount: -1,
|
|
34
34
|
favoriteCount: -1,
|
|
35
35
|
projectsLiked: -1,
|
|
36
|
-
projectsCount: -1
|
|
36
|
+
projectsCount: -1,
|
|
37
37
|
})
|
|
38
38
|
.exec();
|
|
39
39
|
// Find next possible rank
|
|
40
40
|
const nextRank = yield ranks_model_1.Rank.findOne({
|
|
41
|
-
$
|
|
42
|
-
{ actionCount: { $gt: acceptedProjectsCounter } },
|
|
43
|
-
{ projectsLiked: { $gt: projectsLiked } },
|
|
44
|
-
{ projectsCount: { $gt: projectsCount } }
|
|
45
|
-
]
|
|
46
|
-
})
|
|
47
|
-
.sort({
|
|
48
|
-
actionCount: 1,
|
|
49
|
-
favoriteCount: 1,
|
|
50
|
-
projectsLiked: 1,
|
|
51
|
-
projectsCount: 1
|
|
41
|
+
actionCount: { $gt: acceptedProjectsCounter || 0 },
|
|
52
42
|
})
|
|
43
|
+
.sort({ actionCount: 1 })
|
|
53
44
|
.exec();
|
|
54
45
|
if (currentRank) {
|
|
55
46
|
user.rank.title = currentRank.rank;
|
|
56
47
|
user.rank.color = currentRank.color;
|
|
57
48
|
if (nextRank) {
|
|
58
|
-
// Calculate progress based on the most relevant criterion
|
|
59
49
|
const criteriaProgress = [
|
|
60
50
|
{
|
|
61
51
|
completed: acceptedProjectsCounter - currentRank.actionCount,
|
|
62
|
-
needed: nextRank.actionCount - currentRank.actionCount
|
|
52
|
+
needed: nextRank.actionCount - currentRank.actionCount,
|
|
63
53
|
},
|
|
64
54
|
{
|
|
65
55
|
completed: projectsLiked - currentRank.projectsLiked,
|
|
66
|
-
needed: nextRank.projectsLiked - currentRank.projectsLiked
|
|
56
|
+
needed: nextRank.projectsLiked - currentRank.projectsLiked,
|
|
67
57
|
},
|
|
68
58
|
{
|
|
69
59
|
completed: projectsCount - currentRank.projectsCount,
|
|
70
|
-
needed: nextRank.projectsCount - currentRank.projectsCount
|
|
71
|
-
}
|
|
60
|
+
needed: nextRank.projectsCount - currentRank.projectsCount,
|
|
61
|
+
},
|
|
72
62
|
];
|
|
73
|
-
//
|
|
63
|
+
// Improved progress calculation
|
|
74
64
|
const progress = criteriaProgress
|
|
75
|
-
.filter(c => c.needed > 0)
|
|
76
|
-
.map(c => (c.completed / c.needed) * 100);
|
|
77
|
-
console.log('progress', progress);
|
|
65
|
+
.filter((c) => c.needed > 0)
|
|
66
|
+
.map((c) => Math.min(Math.max((c.completed / c.needed) * 100, 0), 100)); // Ensure between 0-100
|
|
78
67
|
user.rank.nextRangPercentage = progress.length ? Math.max(...progress) : 0;
|
|
79
68
|
user.rank.nextRankTitle = nextRank.rank;
|
|
80
69
|
}
|
|
@@ -98,9 +87,7 @@ const recalculateAllUsersRanks = () => __awaiter(void 0, void 0, void 0, functio
|
|
|
98
87
|
try {
|
|
99
88
|
// Process users in batches
|
|
100
89
|
while (true) {
|
|
101
|
-
const users = yield User_model_1.Users.find({})
|
|
102
|
-
.skip(processedCount)
|
|
103
|
-
.limit(BATCH_SIZE);
|
|
90
|
+
const users = yield User_model_1.Users.find({}).skip(processedCount).limit(BATCH_SIZE);
|
|
104
91
|
if (users.length === 0)
|
|
105
92
|
break;
|
|
106
93
|
// Update rank for each user in the batch
|
|
@@ -109,61 +96,48 @@ const recalculateAllUsersRanks = () => __awaiter(void 0, void 0, void 0, functio
|
|
|
109
96
|
const projectsCount = user.projectsCount;
|
|
110
97
|
const projectsLiked = user.likes;
|
|
111
98
|
const acceptedProjectsCounter = user.acceptedProjectsCounter;
|
|
112
|
-
console.log('acceptedProjectsCounter', acceptedProjectsCounter);
|
|
113
|
-
console.log('projectsLiked', projectsLiked);
|
|
114
|
-
console.log('projectsCount', projectsCount);
|
|
115
99
|
// Find current rank that matches ALL criteria
|
|
116
100
|
const currentRank = yield ranks_model_1.Rank.findOne({
|
|
117
101
|
actionCount: { $lte: acceptedProjectsCounter },
|
|
118
102
|
projectsLiked: { $lte: projectsLiked },
|
|
119
|
-
projectsCount: { $lte: projectsCount }
|
|
103
|
+
projectsCount: { $lte: projectsCount },
|
|
120
104
|
})
|
|
121
105
|
.sort({
|
|
122
106
|
actionCount: -1,
|
|
123
107
|
favoriteCount: -1,
|
|
124
108
|
projectsLiked: -1,
|
|
125
|
-
projectsCount: -1
|
|
109
|
+
projectsCount: -1,
|
|
126
110
|
})
|
|
127
111
|
.exec();
|
|
128
112
|
// Find next possible rank
|
|
129
113
|
const nextRank = yield ranks_model_1.Rank.findOne({
|
|
130
|
-
$
|
|
131
|
-
{ actionCount: { $gt: acceptedProjectsCounter } },
|
|
132
|
-
{ projectsLiked: { $gt: projectsLiked } },
|
|
133
|
-
{ projectsCount: { $gt: projectsCount } }
|
|
134
|
-
]
|
|
135
|
-
})
|
|
136
|
-
.sort({
|
|
137
|
-
actionCount: 1,
|
|
138
|
-
favoriteCount: 1,
|
|
139
|
-
projectsLiked: 1,
|
|
140
|
-
projectsCount: 1
|
|
114
|
+
actionCount: { $gt: acceptedProjectsCounter || 0 },
|
|
141
115
|
})
|
|
116
|
+
.sort({ actionCount: 1 })
|
|
142
117
|
.exec();
|
|
143
118
|
if (currentRank) {
|
|
144
119
|
user.rank.title = currentRank.rank;
|
|
145
120
|
user.rank.color = currentRank.color;
|
|
146
121
|
if (nextRank) {
|
|
147
|
-
// Calculate progress based on the most relevant criterion
|
|
148
122
|
const criteriaProgress = [
|
|
149
123
|
{
|
|
150
124
|
completed: acceptedProjectsCounter - currentRank.actionCount,
|
|
151
|
-
needed: nextRank.actionCount - currentRank.actionCount
|
|
125
|
+
needed: nextRank.actionCount - currentRank.actionCount,
|
|
152
126
|
},
|
|
153
127
|
{
|
|
154
128
|
completed: projectsLiked - currentRank.projectsLiked,
|
|
155
|
-
needed: nextRank.projectsLiked - currentRank.projectsLiked
|
|
129
|
+
needed: nextRank.projectsLiked - currentRank.projectsLiked,
|
|
156
130
|
},
|
|
157
131
|
{
|
|
158
132
|
completed: projectsCount - currentRank.projectsCount,
|
|
159
|
-
needed: nextRank.projectsCount - currentRank.projectsCount
|
|
160
|
-
}
|
|
133
|
+
needed: nextRank.projectsCount - currentRank.projectsCount,
|
|
134
|
+
},
|
|
161
135
|
];
|
|
162
136
|
console.log('criteriaProgress', criteriaProgress);
|
|
163
|
-
//
|
|
137
|
+
// Improved progress calculation
|
|
164
138
|
const progress = criteriaProgress
|
|
165
|
-
.filter(c => c.needed > 0)
|
|
166
|
-
.map(c => (c.completed / c.needed) * 100);
|
|
139
|
+
.filter((c) => c.needed > 0)
|
|
140
|
+
.map((c) => Math.min(Math.max((c.completed / c.needed) * 100, 0), 100)); // Ensure between 0-100
|
|
167
141
|
console.log('progress', progress);
|
|
168
142
|
console.log('progress.length', progress.length ? Math.max(...progress) : 0);
|
|
169
143
|
user.rank.nextRangPercentage = progress.length ? Math.max(...progress) : 0;
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
/// <reference types="mongoose/types/types" />
|
|
1
2
|
/// <reference types="mongoose/types/aggregate" />
|
|
2
3
|
/// <reference types="mongoose/types/callback" />
|
|
3
4
|
/// <reference types="mongoose/types/collection" />
|
|
@@ -17,7 +18,6 @@
|
|
|
17
18
|
/// <reference types="mongoose/types/schemaoptions" />
|
|
18
19
|
/// <reference types="mongoose/types/schematypes" />
|
|
19
20
|
/// <reference types="mongoose/types/session" />
|
|
20
|
-
/// <reference types="mongoose/types/types" />
|
|
21
21
|
/// <reference types="mongoose/types/utility" />
|
|
22
22
|
/// <reference types="mongoose/types/validation" />
|
|
23
23
|
/// <reference types="mongoose/types/virtuals" />
|
package/build/types/Plan.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
/// <reference types="mongoose/types/types" />
|
|
1
2
|
/// <reference types="mongoose/types/aggregate" />
|
|
2
3
|
/// <reference types="mongoose/types/callback" />
|
|
3
4
|
/// <reference types="mongoose/types/collection" />
|
|
@@ -17,7 +18,6 @@
|
|
|
17
18
|
/// <reference types="mongoose/types/schemaoptions" />
|
|
18
19
|
/// <reference types="mongoose/types/schematypes" />
|
|
19
20
|
/// <reference types="mongoose/types/session" />
|
|
20
|
-
/// <reference types="mongoose/types/types" />
|
|
21
21
|
/// <reference types="mongoose/types/utility" />
|
|
22
22
|
/// <reference types="mongoose/types/validation" />
|
|
23
23
|
/// <reference types="mongoose/types/virtuals" />
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
/// <reference types="mongoose/types/types" />
|
|
1
2
|
/// <reference types="mongoose/types/aggregate" />
|
|
2
3
|
/// <reference types="mongoose/types/callback" />
|
|
3
4
|
/// <reference types="mongoose/types/collection" />
|
|
@@ -17,7 +18,6 @@
|
|
|
17
18
|
/// <reference types="mongoose/types/schemaoptions" />
|
|
18
19
|
/// <reference types="mongoose/types/schematypes" />
|
|
19
20
|
/// <reference types="mongoose/types/session" />
|
|
20
|
-
/// <reference types="mongoose/types/types" />
|
|
21
21
|
/// <reference types="mongoose/types/utility" />
|
|
22
22
|
/// <reference types="mongoose/types/validation" />
|
|
23
23
|
/// <reference types="mongoose/types/virtuals" />
|
package/build/types/Rate.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
/// <reference types="mongoose/types/types" />
|
|
1
2
|
/// <reference types="mongoose/types/aggregate" />
|
|
2
3
|
/// <reference types="mongoose/types/callback" />
|
|
3
4
|
/// <reference types="mongoose/types/collection" />
|
|
@@ -17,7 +18,6 @@
|
|
|
17
18
|
/// <reference types="mongoose/types/schemaoptions" />
|
|
18
19
|
/// <reference types="mongoose/types/schematypes" />
|
|
19
20
|
/// <reference types="mongoose/types/session" />
|
|
20
|
-
/// <reference types="mongoose/types/types" />
|
|
21
21
|
/// <reference types="mongoose/types/utility" />
|
|
22
22
|
/// <reference types="mongoose/types/validation" />
|
|
23
23
|
/// <reference types="mongoose/types/virtuals" />
|
package/build/types/Ticket.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
/// <reference types="mongoose/types/types" />
|
|
1
2
|
/// <reference types="mongoose/types/aggregate" />
|
|
2
3
|
/// <reference types="mongoose/types/callback" />
|
|
3
4
|
/// <reference types="mongoose/types/collection" />
|
|
@@ -17,7 +18,6 @@
|
|
|
17
18
|
/// <reference types="mongoose/types/schemaoptions" />
|
|
18
19
|
/// <reference types="mongoose/types/schematypes" />
|
|
19
20
|
/// <reference types="mongoose/types/session" />
|
|
20
|
-
/// <reference types="mongoose/types/types" />
|
|
21
21
|
/// <reference types="mongoose/types/utility" />
|
|
22
22
|
/// <reference types="mongoose/types/validation" />
|
|
23
23
|
/// <reference types="mongoose/types/virtuals" />
|
package/build/types/User.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
/// <reference types="mongoose/types/types" />
|
|
1
2
|
/// <reference types="mongoose/types/aggregate" />
|
|
2
3
|
/// <reference types="mongoose/types/callback" />
|
|
3
4
|
/// <reference types="mongoose/types/collection" />
|
|
@@ -17,7 +18,6 @@
|
|
|
17
18
|
/// <reference types="mongoose/types/schemaoptions" />
|
|
18
19
|
/// <reference types="mongoose/types/schematypes" />
|
|
19
20
|
/// <reference types="mongoose/types/session" />
|
|
20
|
-
/// <reference types="mongoose/types/types" />
|
|
21
21
|
/// <reference types="mongoose/types/utility" />
|
|
22
22
|
/// <reference types="mongoose/types/validation" />
|
|
23
23
|
/// <reference types="mongoose/types/virtuals" />
|
|
@@ -1,9 +1,10 @@
|
|
|
1
|
+
/// <reference types="mongoose/types/document" />
|
|
2
|
+
/// <reference types="mongoose/types/types" />
|
|
1
3
|
/// <reference types="mongoose/types/aggregate" />
|
|
2
4
|
/// <reference types="mongoose/types/callback" />
|
|
3
5
|
/// <reference types="mongoose/types/collection" />
|
|
4
6
|
/// <reference types="mongoose/types/connection" />
|
|
5
7
|
/// <reference types="mongoose/types/cursor" />
|
|
6
|
-
/// <reference types="mongoose/types/document" />
|
|
7
8
|
/// <reference types="mongoose/types/error" />
|
|
8
9
|
/// <reference types="mongoose/types/expressions" />
|
|
9
10
|
/// <reference types="mongoose/types/helpers" />
|
|
@@ -17,7 +18,6 @@
|
|
|
17
18
|
/// <reference types="mongoose/types/schemaoptions" />
|
|
18
19
|
/// <reference types="mongoose/types/schematypes" />
|
|
19
20
|
/// <reference types="mongoose/types/session" />
|
|
20
|
-
/// <reference types="mongoose/types/types" />
|
|
21
21
|
/// <reference types="mongoose/types/utility" />
|
|
22
22
|
/// <reference types="mongoose/types/validation" />
|
|
23
23
|
/// <reference types="mongoose/types/virtuals" />
|
|
@@ -1,9 +1,10 @@
|
|
|
1
|
+
/// <reference types="mongoose/types/document" />
|
|
2
|
+
/// <reference types="mongoose/types/types" />
|
|
1
3
|
/// <reference types="mongoose/types/aggregate" />
|
|
2
4
|
/// <reference types="mongoose/types/callback" />
|
|
3
5
|
/// <reference types="mongoose/types/collection" />
|
|
4
6
|
/// <reference types="mongoose/types/connection" />
|
|
5
7
|
/// <reference types="mongoose/types/cursor" />
|
|
6
|
-
/// <reference types="mongoose/types/document" />
|
|
7
8
|
/// <reference types="mongoose/types/error" />
|
|
8
9
|
/// <reference types="mongoose/types/expressions" />
|
|
9
10
|
/// <reference types="mongoose/types/helpers" />
|
|
@@ -17,7 +18,6 @@
|
|
|
17
18
|
/// <reference types="mongoose/types/schemaoptions" />
|
|
18
19
|
/// <reference types="mongoose/types/schematypes" />
|
|
19
20
|
/// <reference types="mongoose/types/session" />
|
|
20
|
-
/// <reference types="mongoose/types/types" />
|
|
21
21
|
/// <reference types="mongoose/types/utility" />
|
|
22
22
|
/// <reference types="mongoose/types/validation" />
|
|
23
23
|
/// <reference types="mongoose/types/virtuals" />
|
|
@@ -1,19 +1,19 @@
|
|
|
1
|
+
/// <reference types="mongoose/types/query" />
|
|
2
|
+
/// <reference types="mongoose/types/document" />
|
|
3
|
+
/// <reference types="mongoose/types/models" />
|
|
1
4
|
/// <reference types="mongoose/types/aggregate" />
|
|
2
5
|
/// <reference types="mongoose/types/callback" />
|
|
3
6
|
/// <reference types="mongoose/types/collection" />
|
|
4
7
|
/// <reference types="mongoose/types/connection" />
|
|
5
8
|
/// <reference types="mongoose/types/cursor" />
|
|
6
|
-
/// <reference types="mongoose/types/document" />
|
|
7
9
|
/// <reference types="mongoose/types/error" />
|
|
8
10
|
/// <reference types="mongoose/types/expressions" />
|
|
9
11
|
/// <reference types="mongoose/types/helpers" />
|
|
10
12
|
/// <reference types="mongoose/types/middlewares" />
|
|
11
13
|
/// <reference types="mongoose/types/indexes" />
|
|
12
|
-
/// <reference types="mongoose/types/models" />
|
|
13
14
|
/// <reference types="mongoose/types/mongooseoptions" />
|
|
14
15
|
/// <reference types="mongoose/types/pipelinestage" />
|
|
15
16
|
/// <reference types="mongoose/types/populate" />
|
|
16
|
-
/// <reference types="mongoose/types/query" />
|
|
17
17
|
/// <reference types="mongoose/types/schemaoptions" />
|
|
18
18
|
/// <reference types="mongoose/types/schematypes" />
|
|
19
19
|
/// <reference types="mongoose/types/session" />
|