1212
1313from LedenAdministratie .mixins import AllowListedClientCredentialsMixin
1414from LedenAdministratie .models import Member
15- from LedenAdministratie .templatetags . photo_filter import img2base64
15+ from LedenAdministratie .utils import Utils
1616
1717
1818class ApiV1Smoelenboek (AllowListedClientCredentialsMixin ):
@@ -29,21 +29,19 @@ def get(self, request, *args, **kwargs):
2929 )
3030
3131 response = []
32- expiry = int ((timezone .now () + timezone .timedelta (days = 1 )).timestamp ())
32+ expiry = int ((timezone .now () + timezone .timedelta (hours = 2 )).timestamp ())
3333 for member in members :
3434 # Generate a signed URL for the image
35- url = request .build_absolute_uri (f"{ member .id } /{ expiry } /?large={ large } " )
36- signature = hmac .new (
37- settings .SECRET_KEY .encode (), url .encode (), hashlib .sha256
38- ).hexdigest ()
39- url += f"&signature={ signature } "
35+ photo_url = Utils .get_signed_url (
36+ request , f"{ member .id } /{ expiry } /?large={ large } "
37+ )
4038 memberdict = {
4139 "id" : member .id ,
4240 "user_id" : f"idp-{ member .user .pk } " ,
4341 "first_name" : member .first_name ,
4442 "last_name" : member .last_name ,
4543 "types" : "," .join ([tmptype .slug for tmptype in member .types .all ()]),
46- "photo" : url ,
44+ "photo" : photo_url ,
4745 }
4846 response .append (memberdict )
4947
@@ -86,19 +84,15 @@ def get(self, request, *args, **kwargs):
8684 except Member .DoesNotExist :
8785 return HttpResponse (status = 404 )
8886
89- if large :
90- photo = member .foto
91- else :
92- photo = member .thumbnail
93- if photo is None :
94- photo = member .foto
87+ expiry = int ((timezone .now () + timezone .timedelta (hours = 2 )).timestamp ())
88+ photo_url = Utils .get_signed_url (request , f"{ expiry } /?large={ large } " )
9589
9690 memberdict = {
9791 "id" : member .id ,
9892 "first_name" : member .first_name ,
9993 "last_name" : member .last_name ,
10094 "types" : "," .join ([tmptype .slug for tmptype in member .types .all ()]),
101- "photo" : img2base64 ( photo ) ,
95+ "photo" : photo_url ,
10296 }
10397 return JsonResponse (data = memberdict )
10498
0 commit comments