Limit Avatar image size to 120px and 240 px
This commit is contained in:
parent
cda9f3fdd6
commit
a16d1c7716
|
|
@ -22,6 +22,12 @@ class RecentModuleFilter(FilterSet):
|
|||
order_by = OrderingFilter(fields=(("recent_modules__visited", "visited"),))
|
||||
|
||||
|
||||
def get_resized_avatar_url(avatar_url, size=120):
|
||||
# resize the avatar to 120px if it is on ucarecdn.com
|
||||
if "ucarecdn.com" in avatar_url:
|
||||
return f"{avatar_url}-/resize/{size}/"
|
||||
return avatar_url
|
||||
|
||||
class SchoolClassNode(DjangoObjectType):
|
||||
pk = graphene.Int()
|
||||
members = graphene.List("users.schema.ClassMemberNode")
|
||||
|
|
@ -109,6 +115,9 @@ class PrivateUserNode(DjangoObjectType):
|
|||
def resolve_pk(self, info, **kwargs):
|
||||
return self.id
|
||||
|
||||
def resolve_avatar_url(self, info, **kwargs):
|
||||
return get_resized_avatar_url(self.avatar_url, size=240)
|
||||
|
||||
def resolve_permissions(self, info):
|
||||
return self.get_all_permissions()
|
||||
|
||||
|
|
@ -164,6 +173,10 @@ class PublicUserNode(DjangoObjectType):
|
|||
only_fields = ["full_name", "first_name", "last_name", "avatar_url"]
|
||||
interfaces = (relay.Node,)
|
||||
|
||||
def resolve_avatar_url(self, info, **kwargs):
|
||||
return get_resized_avatar_url(self.avatar_url)
|
||||
|
||||
|
||||
@staticmethod
|
||||
def resolve_is_me(parent: User, info, **kwargs):
|
||||
return info.context.user.pk == parent.pk
|
||||
|
|
|
|||
Loading…
Reference in New Issue