fix(appversion): improve logic of force app upgrade
This commit is contained in:
@@ -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",
|
||||
]
|
||||
@@ -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)
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user