Skip to content

Commit 34b68f8

Browse files
authored
Merge pull request #149 from PotLock/dev
Dev -> Prod
2 parents 6f1f950 + 98f1d82 commit 34b68f8

File tree

2 files changed

+25
-0
lines changed

2 files changed

+25
-0
lines changed

lists/api.py

+15
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,12 @@ class ListsListAPI(APIView, CustomSizePageNumberPagination):
4141
OpenApiParameter.QUERY,
4242
description="Filter lists by account",
4343
),
44+
OpenApiParameter(
45+
"admin",
46+
str,
47+
OpenApiParameter.QUERY,
48+
description="Filter lists by admin",
49+
),
4450
*pagination_parameters,
4551
],
4652
responses={
@@ -73,6 +79,15 @@ def get(self, request: Request, *args, **kwargs):
7379
return Response(
7480
{"message": f"Account with ID {account_id} not found."}, status=404
7581
)
82+
admin_id = request.query_params.get("admin")
83+
if admin_id:
84+
try:
85+
admin = Account.objects.get(id=admin_id)
86+
lists = lists.filter(admins=admin)
87+
except Account.DoesNotExist:
88+
return Response(
89+
{"message": f"Admin with ID {admin_id} not found."}, status=404
90+
)
7691
results = self.paginate_queryset(lists, request, view=self)
7792
serializer = ListSerializer(results, many=True)
7893
return self.get_paginated_response(serializer.data)

pots/serializers.py

+10
Original file line numberDiff line numberDiff line change
@@ -347,11 +347,21 @@ class MpdaoSnapshotSerializer(serializers.Serializer):
347347
voting_power = serializers.CharField(allow_null=True)
348348
locking_positions = LockingPositionSerializer(many=True, allow_null=True)
349349
vote_positions = VotePositionSerializer(many=True, allow_null=True)
350+
is_human = serializers.SerializerMethodField()
350351

351352
staking_token_balance = serializers.SerializerMethodField()
352353

353354
staking_token_id = serializers.SerializerMethodField() # mpdao is only available on mainnet,
354355

356+
def get_is_human(self, obj):
357+
voter_id = obj.get('voter_id')
358+
url = f"https://rpc.web4.near.page/account/v1.nadabot.near/view/is_human?account_id={voter_id}"
359+
response = requests.get(url)
360+
if response.status_code == 200:
361+
is_human = response.json()
362+
return is_human
363+
return False
364+
355365
def get_staking_token_balance(self, obj):
356366
voter_id = obj.get('voter_id')
357367
url = f"https://rpc.web4.near.page/account/meta-pool.near/view/ft_balance_of?account_id={voter_id}"

0 commit comments

Comments
 (0)