profiles: avatar_url becomes avatar

This commit is contained in:
AdrienLSH 2024-02-08 15:58:13 +01:00
parent f0615a53e4
commit 68df50cbeb
5 changed files with 13 additions and 13 deletions

View File

@ -52,7 +52,7 @@ class Profile
let response_data = await response.json(); let response_data = await response.json();
this.id = response_data.user_id; this.id = response_data.user_id;
this.username = response_data.username; this.username = response_data.username;
this.avatar_url = response_data.avatar_url; this.avatar_url = response_data.avatar;
await this.getBlock(); await this.getBlock();
await this.getFriend(); await this.getFriend();

View File

@ -14,7 +14,7 @@ def upload_to(instance, filename: str):
# Create your models here. # Create your models here.
class ProfileModel(models.Model): class ProfileModel(models.Model):
user = models.ForeignKey(User, on_delete=models.CASCADE) user = models.ForeignKey(User, on_delete=models.CASCADE)
avatar_url = models.ImageField(upload_to=upload_to, default="./profiles/static/avatars/default.avif") avatar = models.ImageField(upload_to=upload_to, default="./profiles/static/avatars/default.avif")
def get_game(self) -> int: def get_game(self) -> int:
for game in game_manager._game_list: for game in game_manager._game_list:

View File

@ -4,8 +4,8 @@ from .models import ProfileModel
class ProfileSerializer(serializers.ModelSerializer): class ProfileSerializer(serializers.ModelSerializer):
username = serializers.ReadOnlyField(source='user.username') username = serializers.ReadOnlyField(source='user.username')
avatar_url = serializers.ImageField(required=False) avatar = serializers.ImageField(required=False)
class Meta: class Meta:
model = ProfileModel model = ProfileModel
fields = ["username", "avatar_url", "user_id"] fields = ["username", "avatar", "user_id"]

View File

@ -7,7 +7,7 @@ class ProfileTest(TestCase):
def setUp(self): def setUp(self):
self.user: User = User.objects.create(username='bozo', password='password') self.user: User = User.objects.create(username='bozo', password='password')
self.user.save() self.user.save()
self.expected_response = {'avatar_url': '/static/avatars/default.avif', 'user_id': 1, 'username': 'bozo'} self.expected_response = {'avatar': '/static/avatars/default.avif', 'user_id': 1, 'username': 'bozo'}
self.url = "/api/profiles/" self.url = "/api/profiles/"
@ -15,4 +15,4 @@ class ProfileTest(TestCase):
response: HttpResponse = self.client.get(self.url + str(self.user.pk)) response: HttpResponse = self.client.get(self.url + str(self.user.pk))
response_dict: dict = eval(response.content) response_dict: dict = eval(response.content)
self.assertDictEqual(self.expected_response, response_dict) self.assertDictEqual(self.expected_response, response_dict)

View File

@ -25,7 +25,7 @@ class ProfileViewSet(viewsets.ModelViewSet):
if (not user): if (not user):
return Response({"detail": "Profile not found."}, status=status.HTTP_404_NOT_FOUND) return Response({"detail": "Profile not found."}, status=status.HTTP_404_NOT_FOUND)
instance = self.queryset().get(pk=user[0].pk) instance = self.queryset().get(pk=user[0].pk)
instance.avatar_url.name = instance.avatar_url.name[instance.avatar_url.name.find("static") - 1:] instance.avatar.name = instance.avatar.name[instance.avatar.name.find("static") - 1:]
return Response(self.serializer_class(instance).data, return Response(self.serializer_class(instance).data,
status=status.HTTP_200_OK) status=status.HTTP_200_OK)
@ -34,14 +34,14 @@ class ProfileViewSet(viewsets.ModelViewSet):
if (not user): if (not user):
return Response({"detail": "Profile not found."}, status=status.HTTP_404_NOT_FOUND) return Response({"detail": "Profile not found."}, status=status.HTTP_404_NOT_FOUND)
instance = self.queryset().get(pk=user[0].pk) instance = self.queryset().get(pk=user[0].pk)
instance.avatar_url.name = instance.avatar_url.name[instance.avatar_url.name.find("static") - 1:] instance.avatar.name = instance.avatar.name[instance.avatar.name.find("static") - 1:]
return Response(self.serializer_class(instance).data, return Response(self.serializer_class(instance).data,
status=status.HTTP_200_OK) status=status.HTTP_200_OK)
def list(self, request: HttpRequest): def list(self, request: HttpRequest):
serializer = ProfileSerializer(self.queryset(), many=True) serializer = ProfileSerializer(self.queryset(), many=True)
for profile in serializer.data: for profile in serializer.data:
profile["avatar_url"] = profile["avatar_url"][profile["avatar_url"].find("static") - 1:] profile["avatar"] = profile["avatar"][profile["avatar"].find("static") - 1:]
return Response(serializer.data) return Response(serializer.data)
class MyProfileViewSet(viewsets.ModelViewSet): class MyProfileViewSet(viewsets.ModelViewSet):
@ -59,13 +59,13 @@ class MyProfileViewSet(viewsets.ModelViewSet):
profile: ProfileModel = self.get_object() profile: ProfileModel = self.get_object()
avatar : InMemoryUploadedFile = self.request.data.get("file", None) avatar : InMemoryUploadedFile = self.request.data.get("file", None)
if (avatar is not None and avatar.size <= settings.PROFILE_PICTURE_MAX_SIZE): if (avatar is not None and avatar.size <= settings.PROFILE_PICTURE_MAX_SIZE):
if (profile.avatar_url.name != "./profiles/static/avatars/default.avif"): if (profile.avatar.name != "./profiles/static/avatars/default.avif"):
profile.avatar_url.storage.delete(profile.avatar_url.name) profile.avatar.storage.delete(profile.avatar.name)
profile.avatar_url = avatar profile.avatar = avatar
profile.save() profile.save()
def retrieve(self, request: HttpRequest, pk=None): def retrieve(self, request: HttpRequest, pk=None):
instance: ProfileModel = self.get_object() instance: ProfileModel = self.get_object()
instance.avatar_url.name = instance.avatar_url.name[instance.avatar_url.name.find("static") - 1:] instance.avatar.name = instance.avatar.name[instance.avatar.name.find("static") - 1:]
return Response(self.serializer_class(instance).data, return Response(self.serializer_class(instance).data,
status=status.HTTP_200_OK) status=status.HTTP_200_OK)