fix(appversion): improve logic of force app upgrade

This commit is contained in:
bobbyvish
2024-05-22 19:18:13 +05:30
parent 7475031ec4
commit f04a05b623
4 changed files with 22 additions and 22 deletions

View File

@@ -4,6 +4,7 @@ from django.contrib.auth.hashers import make_password
from rest_framework import serializers
from accounts.models import (
AppVersion,
IAmPrincipal,
IAmPrincipalType,
# IAmPrincipalKYCDetails,
@@ -337,3 +338,14 @@ class ProfilePhotoSerializer(serializers.ModelSerializer):
class PlayerIDSerializer(serializers.Serializer):
player_id = serializers.CharField(max_length=255)
class AppVersionSerializer(serializers.ModelSerializer):
class Meta:
model = AppVersion
fields = [
"app_type",
"version",
"force_upgrade",
"recommend_upgrade",
]

View File

@@ -36,6 +36,7 @@ from accounts.resource_action import (
)
from .serializers import (
AppVersionSerializer,
EmailSerializers,
# RegistrationPasswordSerializer,
# PhoneSerializer,
@@ -956,28 +957,16 @@ class SoftDeletePrincipalAPIView(APIView):
class VersionCheck(APIView):
authentication_classes = []
permission_classes = []
model = AppVersion
def get(self, request, *args, **kwargs):
app_version = request.GET.get("appVersion", None)
app_type = request.GET.get("type", None)
print(f"app verisino {app_version} {app_type}")
device_type = request.GET.get('type')
if not device_type:
return ApiResponse.error(message=constants.FAILURE, errors="device type is required")
# Query the database to retrieve the upgrade flags based on the app version
try:
version = AppVersion.objects.get(version=app_version, app_type=app_type)
except AppVersion.DoesNotExist:
print("does not exist")
version = None
version = self.model.objects.filter(app_type=device_type).last()
version_data = AppVersionSerializer(version)
if version:
upgrade_flags = {
"forceUpgrade": version.force_upgrade,
"recommendUpgrade": version.recommend_upgrade,
}
else:
upgrade_flags = {
"forceUpgrade": False,
"recommendUpgrade": False,
}
return ApiResponse.success(message=constants.SUCCESS, data=upgrade_flags)
return ApiResponse.success(message=constants.SUCCESS, data=version_data.data)

View File

@@ -1,5 +1,5 @@
from rest_framework import serializers
from taggit.serializers import TagListSerializerField
from taggit_serializer.serializers import TagListSerializerField
from accounts.models import IAmPrincipalLocation
from manage_cms.api.serializers import TagSerializer
from taggit.models import Tag

View File

@@ -17,7 +17,6 @@ daphne==4.1.0
defusedxml==0.7.1
Django==5.0.2
django-allauth==0.61.1
django-channels==0.7.0
django-cors-headers==4.3.1
django-debug-toolbar==4.3.0
django-environ==0.11.2