Skip to content

Commit bcd4589

Browse files
authored
Merge pull request #2347 from gtech-mulearn/dev
Dev Server
2 parents 8567c9d + 8807d2d commit bcd4589

File tree

2 files changed

+33
-1
lines changed

2 files changed

+33
-1
lines changed

api/dashboard/profile/profile_view.py

Lines changed: 32 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515
from django.utils.timezone import now
1616

1717
from db.organization import UserOrganizationLink
18-
from db.task import InterestGroup, KarmaActivityLog, Level, UserIgLink
18+
from db.task import InterestGroup, KarmaActivityLog, Level, UserIgLink, UserLvlLink
1919
from db.user import Role, Socials, User, UserRoleLink, UserSettings
2020
from utils.permission import CustomizePermission, JWTUtils
2121
from utils.response import CustomResponse
@@ -608,3 +608,34 @@ def get(self, request):
608608
pass
609609

610610
return CustomResponse(response=response).get_success_response()
611+
612+
613+
class UserLevelFeedAPI(APIView):
614+
permission_classes = [CustomizePermission]
615+
616+
def get(self, request):
617+
user_id = JWTUtils.fetch_user_id(request)
618+
user_level = (
619+
UserLvlLink.objects.select_related("level")
620+
.filter(user_id=user_id)
621+
.values("level_id", "level__level_order", "level__name", "level__karma")
622+
.order_by("-created_at")
623+
.first()
624+
)
625+
user_karma = (
626+
KarmaActivityLog.objects.filter(
627+
user_id=user_id,
628+
appraiser_approved=True,
629+
task__level_id=user_level.get("level_id"),
630+
)
631+
.annotate(total_karma=Sum("karma"))
632+
.values_list("total_karma", flat=True)
633+
.first()
634+
)
635+
return CustomResponse(
636+
response={
637+
"level_order": user_level.get("level__level_order"),
638+
"level_karma": user_level.get("level__name"),
639+
"user_karma": user_karma,
640+
}
641+
).get_success_response()

api/dashboard/profile/urls.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,4 +23,5 @@
2323
path("change-password/", profile_view.ResetPasswordAPI.as_view()),
2424
path("userterm-approved/<str:muid>/", profile_view.UsertermAPI.as_view()),
2525
path("karma-feed/", profile_view.KarmaFeedAPI.as_view()),
26+
path("user-level-feed/", profile_view.UserLevelFeedAPI.as_view()),
2627
]

0 commit comments

Comments
 (0)