fix(app version):changes in logic
This commit is contained in:
@@ -3,7 +3,7 @@ from django.contrib.auth.hashers import make_password
|
||||
from rest_framework import serializers
|
||||
from rest_framework.validators import UniqueValidator
|
||||
|
||||
from module_iam.models import IAmPrincipal
|
||||
from module_iam.models import AppVersion, IAmPrincipal
|
||||
from module_project import constants
|
||||
|
||||
# class BasePasswordSerializer(serializers.Serializer):
|
||||
@@ -107,3 +107,8 @@ class PasswordResetSerializer(serializers.ModelSerializer):
|
||||
instance.password = make_password(new_password)
|
||||
instance.save()
|
||||
return instance
|
||||
|
||||
class AppVersionSerializer(serializers.ModelSerializer):
|
||||
class Meta:
|
||||
model = AppVersion
|
||||
fields = "__all__"
|
||||
@@ -19,6 +19,5 @@ urlpatterns = [
|
||||
path('apple-signin/', views.AppleSignin.as_view(), name='apple_signin'),
|
||||
|
||||
path('version-check/', views.VersionCheck.as_view(), name='version_check'),
|
||||
path('app-version/', views.VersionCheck.as_view(), name='version_check'),
|
||||
|
||||
]
|
||||
|
||||
@@ -15,7 +15,7 @@ from module_project import constants
|
||||
from module_project.service import EmailService, SMSService
|
||||
from module_project.utils import ApiResponse
|
||||
|
||||
from .serializers import (LoginSerializer, OtpVerificationSerializer,
|
||||
from .serializers import (AppVersionSerializer, LoginSerializer, OtpVerificationSerializer,
|
||||
PasswordResetSerializer, RegistrationSerializer)
|
||||
from .utils import (AuthService, GoogleAuthService,
|
||||
authticate_with_otp_and_passsword, blacklist_token,
|
||||
@@ -369,30 +369,18 @@ class AppleSignin(APIView):
|
||||
|
||||
|
||||
class VersionCheck(APIView):
|
||||
authentication_classes = []
|
||||
permission_classes = []
|
||||
authentication_classes = [JWTAuthentication]
|
||||
permission_classes = [IsAuthenticated]
|
||||
model = AppVersion
|
||||
|
||||
def get(self, request, *args, **kwargs):
|
||||
# app_version = request.GET.get('appVersion')
|
||||
print("app version is called")
|
||||
device_type = request.GET.get('deviceType')
|
||||
|
||||
if not device_type:
|
||||
return ApiResponse.error(message=constants.FAILURE, errors="App version and device type is required")
|
||||
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 = self.model.objects.filter(device_type=device_type).last()
|
||||
except self.model.DoesNotExist:
|
||||
version = None
|
||||
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)
|
||||
18
module_iam/migrations/0010_alter_appversion_device_type.py
Normal file
18
module_iam/migrations/0010_alter_appversion_device_type.py
Normal file
@@ -0,0 +1,18 @@
|
||||
# Generated by Django 5.0.2 on 2024-05-21 14:09
|
||||
|
||||
from django.db import migrations, models
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('module_iam', '0009_alter_appversion_device_type_and_more'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AlterField(
|
||||
model_name='appversion',
|
||||
name='device_type',
|
||||
field=models.CharField(choices=[('ios', 'ios'), ('android', 'android')], max_length=10, verbose_name='Device Type (ios / android)'),
|
||||
),
|
||||
]
|
||||
@@ -4,7 +4,7 @@ import os
|
||||
import colorlog
|
||||
from logging.handlers import TimedRotatingFileHandler
|
||||
|
||||
# DEBUG = True
|
||||
DEBUG = False
|
||||
ALLOWED_HOSTS = ["admin.eatwithdigest.com"]
|
||||
|
||||
# CORS_ALLOWED_ORIGINS = [
|
||||
|
||||
Reference in New Issue
Block a user