From 59041ee4576e8440046f1b0f579849a5f707b83b Mon Sep 17 00:00:00 2001 From: Fam Zheng Date: Tue, 11 Feb 2025 23:09:25 +0000 Subject: [PATCH] api: Add camera-frame api --- api/api/emblemapi/settings.py | 2 ++ api/api/products/views.py | 11 +++++++++++ 2 files changed, 13 insertions(+) diff --git a/api/api/emblemapi/settings.py b/api/api/emblemapi/settings.py index 7fedc3a..3471792 100644 --- a/api/api/emblemapi/settings.py +++ b/api/api/emblemapi/settings.py @@ -160,10 +160,12 @@ if ENV == "prod": OSS = aliyun_prod_key FEATURES_BUCKET = "emblem-features-prod" ARCHIVE_BUCKET = "emblem-archive-prod" + FRAMES_BUCKET = "emblem-frames" else: OSS = aliyun_dev_key FEATURES_BUCKET = "emblem-features-dev-1" ARCHIVE_BUCKET = "emblem-oss-archive-dev-1" + FRAMES_BUCKET = "emblem-frames-dev" IPINFO_TOKEN = '537dea9ec5c99a' diff --git a/api/api/products/views.py b/api/api/products/views.py index 910456f..3409df0 100644 --- a/api/api/products/views.py +++ b/api/api/products/views.py @@ -1788,3 +1788,14 @@ class CameraRulesView(BaseView): q = CameraRule.objects.filter(disabled=False) return JsonResponse(make_camera_rules(q), safe=False) +class CameraFrameView(BaseView): + name = 'camera-frame' + + def post(self, request): + filebody, filename = get_image(request) + date = timezone.now().strftime('%Y-%m-%d') + session_id = request.data.get("session_id", "unknown-session") + phone_model = request.data.get('phone_model', 'unknown phone') + key = f'{date}/{phone_model}-{session_id}-{filename}' + oss_put(key, filebody, bucket=settings.FRAMES_BUCKET) + return JsonResponse({})