login and auth bug fixed
This commit is contained in:
1 parent
89a5d70512
commit
7cd8ff0511
36 files changed
+632
-67
No files matched your search
@@ -0,0 +1,19 @@
|
||||
# Generated by Django 4.2.1 on 2024-01-22 11:56
|
||||
|
||||
from django.db import migrations, models
|
||||
import uuid
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('jwt_auth', '0064_alter_cuserroleloginopt_uuid'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AlterField(
|
||||
model_name='cuserroleloginopt',
|
||||
name='uuid',
|
||||
field=models.UUIDField(default=uuid.UUID('986054d5-6c6a-41c8-8038-509a2f770920'), unique=True),
|
||||
),
|
||||
]
|
||||
@@ -0,0 +1,19 @@
|
||||
# Generated by Django 4.2.1 on 2024-01-22 12:15
|
||||
|
||||
from django.db import migrations, models
|
||||
import uuid
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('jwt_auth', '0065_alter_cuserroleloginopt_uuid'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AlterField(
|
||||
model_name='cuserroleloginopt',
|
||||
name='uuid',
|
||||
field=models.UUIDField(default=uuid.UUID('584844cb-8111-4a12-867a-3d70e30dcfb6'), unique=True),
|
||||
),
|
||||
]
|
||||
@@ -0,0 +1,19 @@
|
||||
# Generated by Django 4.2.1 on 2024-01-22 12:18
|
||||
|
||||
from django.db import migrations, models
|
||||
import uuid
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('jwt_auth', '0066_alter_cuserroleloginopt_uuid'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AlterField(
|
||||
model_name='cuserroleloginopt',
|
||||
name='uuid',
|
||||
field=models.UUIDField(default=uuid.UUID('c7bc67b3-1e7d-401d-bf08-313aeefa7d5a'), unique=True),
|
||||
),
|
||||
]
|
||||
@@ -0,0 +1,19 @@
|
||||
# Generated by Django 4.2.1 on 2024-01-22 12:27
|
||||
|
||||
from django.db import migrations, models
|
||||
import uuid
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('jwt_auth', '0067_alter_cuserroleloginopt_uuid'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AlterField(
|
||||
model_name='cuserroleloginopt',
|
||||
name='uuid',
|
||||
field=models.UUIDField(default=uuid.UUID('06719a2e-9a73-40eb-8cb5-0b0c7c84a02a'), unique=True),
|
||||
),
|
||||
]
|
||||
@@ -0,0 +1,27 @@
|
||||
# Generated by Django 4.2.1 on 2024-01-23 05:00
|
||||
|
||||
from django.conf import settings
|
||||
from django.db import migrations, models
|
||||
import django.db.models.deletion
|
||||
import uuid
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
migrations.swappable_dependency(settings.AUTH_USER_MODEL),
|
||||
('jwt_auth', '0068_alter_cuserroleloginopt_uuid'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AddField(
|
||||
model_name='cuserroleloginopt',
|
||||
name='cuser',
|
||||
field=models.ForeignKey(blank=True, default=None, null=True, on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL),
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name='cuserroleloginopt',
|
||||
name='uuid',
|
||||
field=models.UUIDField(default=uuid.UUID('a2dc6ce3-baa8-4757-a3d7-5bd2f3536bee'), unique=True),
|
||||
),
|
||||
]
|
||||
@@ -0,0 +1,19 @@
|
||||
# Generated by Django 4.2.1 on 2024-01-23 05:12
|
||||
|
||||
from django.db import migrations, models
|
||||
import uuid
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('jwt_auth', '0069_cuserroleloginopt_cuser_alter_cuserroleloginopt_uuid'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AlterField(
|
||||
model_name='cuserroleloginopt',
|
||||
name='uuid',
|
||||
field=models.UUIDField(default=uuid.UUID('962e1abb-3dd5-42dc-a749-7004ed7324cf'), unique=True),
|
||||
),
|
||||
]
|
||||
@@ -0,0 +1,19 @@
|
||||
# Generated by Django 4.2.1 on 2024-01-23 05:15
|
||||
|
||||
from django.db import migrations, models
|
||||
import uuid
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('jwt_auth', '0070_alter_cuserroleloginopt_uuid'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AlterField(
|
||||
model_name='cuserroleloginopt',
|
||||
name='uuid',
|
||||
field=models.UUIDField(default=uuid.UUID('7cd27c2c-3ce2-47c1-875d-eb840112f4e9'), unique=True),
|
||||
),
|
||||
]
|
||||
@@ -0,0 +1,19 @@
|
||||
# Generated by Django 4.2.1 on 2024-01-23 05:15
|
||||
|
||||
from django.db import migrations, models
|
||||
import uuid
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('jwt_auth', '0071_alter_cuserroleloginopt_uuid'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AlterField(
|
||||
model_name='cuserroleloginopt',
|
||||
name='uuid',
|
||||
field=models.UUIDField(default=uuid.UUID('a3e7aa0d-2516-4035-9b23-943f9e3b992e'), unique=True),
|
||||
),
|
||||
]
|
||||
@@ -20,5 +20,6 @@ class JwtToken(models.Model):
|
||||
|
||||
class CUserRoleLoginOpt(models.Model):
|
||||
cuser_role = models.ForeignKey(CuserRoleModel, on_delete=models.CASCADE)
|
||||
cuser = models.ForeignKey(CUser, null=True, blank=True, default=None, on_delete=models.CASCADE)
|
||||
expire = models.DateTimeField(null=False, blank=False)
|
||||
uuid = models.UUIDField(default=uuid.uuid4(), unique=True, null=False, blank=False)
|
||||
@@ -28,6 +28,7 @@ def login_by_username(username: str, password: str) -> CUserRoleLoginOpt:
|
||||
|
||||
user_role_opt = CUserRoleLoginOpt()
|
||||
user_role_opt.cuser_role = user_role_obj
|
||||
user_role_opt.cuser = user_role_obj.cuser
|
||||
user_role_opt.expire = expire_datetime
|
||||
user_role_opt.uuid = uuid.uuid4()
|
||||
user_role_opt.save()
|
||||
@@ -47,9 +48,7 @@ def login_by_username(username: str, password: str) -> CUserRoleLoginOpt:
|
||||
def login_by_mobile(mobile: int):
|
||||
try:
|
||||
|
||||
exists_cuser_roles = CuserRoleModel.objects.filter(mobile=mobile, mobile_verify=True)
|
||||
if not len(exists_cuser_roles) >= 1:
|
||||
raise exceptions.ValidationError({'error': "mobile not found"})
|
||||
exists_cuser = CUser.objects.get(mobile=mobile)
|
||||
|
||||
random_number = random.randint(100000, 999999)
|
||||
|
||||
@@ -70,7 +69,7 @@ def verify_mobile_and_get_token(mobile: int, opt: int) -> CUserRoleLoginOpt:
|
||||
opt_obj = SmsOptModel.objects.filter(mobile=mobile, opt=opt)[0]
|
||||
|
||||
if opt_obj:
|
||||
cuser_roles = CuserRoleModel.objects.filter(mobile=mobile, mobile_verify=True, is_active=True)
|
||||
cuser_roles = CuserRoleModel.objects.filter(cuser__mobile=mobile, is_active=True)
|
||||
CUserRoleLoginOpt.objects.filter(cuser_role__in=cuser_roles).delete()
|
||||
|
||||
if cuser_roles:
|
||||
@@ -79,6 +78,7 @@ def verify_mobile_and_get_token(mobile: int, opt: int) -> CUserRoleLoginOpt:
|
||||
|
||||
user_role_opt = CUserRoleLoginOpt()
|
||||
user_role_opt.cuser_role = user_role_obj
|
||||
user_role_opt.cuser = user_role_obj.cuser
|
||||
user_role_opt.expire = expire_datetime
|
||||
user_role_opt.uuid = uuid.uuid4()
|
||||
user_role_opt.save()
|
||||
|
||||
+13
-11
@@ -50,12 +50,8 @@ class VerifyMobileAndGetTokenView(APIView):
|
||||
serializer = self.InputSerializer(data=request.data)
|
||||
serializer.is_valid(raise_exception=True)
|
||||
|
||||
print("ok")
|
||||
|
||||
login_opts = verify_mobile_and_get_token(**serializer.validated_data)
|
||||
|
||||
print("ok2")
|
||||
|
||||
response_data = self.OutputSerializer(login_opts, many=True).data
|
||||
|
||||
return Response(response_data)
|
||||
@@ -140,9 +136,12 @@ class CustomTokenObtainPairView(APIView):
|
||||
|
||||
try:
|
||||
user_login_opt = CUserRoleLoginOpt.objects.get(uuid=uuid_opt)
|
||||
user = user_login_opt.cuser_role.cuser
|
||||
user = user_login_opt.cuser
|
||||
cuser_role = user_login_opt.cuser_role
|
||||
|
||||
|
||||
workspace = cuser_role.sys_ws
|
||||
|
||||
if user_login_opt:
|
||||
refresh = RefreshToken.for_user(user)
|
||||
|
||||
@@ -151,15 +150,15 @@ class CustomTokenObtainPairView(APIView):
|
||||
#print(cuser_role.uuid)
|
||||
|
||||
|
||||
try:
|
||||
customerObj = CustomerModel.objects.get(cuser_role__uuid=str(cuser_role.uuid))
|
||||
'''try:
|
||||
#customerObj = CustomerModel.objects.get(cuser_role__uuid=str(cuser_role.uuid))
|
||||
# workspace = customerObj.sys_ws
|
||||
|
||||
#workspace = WorkspaceModel.objects.get(cuser_role_owner__uuid=str(cuser_role.uuid))
|
||||
workspace = cuser_role.sys_ws
|
||||
|
||||
workspace = customerObj.sys_ws
|
||||
except:
|
||||
operator = CustomerResponsibleModel.objects.get(cuser_role=cuser_role)
|
||||
workspace = operator.sys_ws
|
||||
workspace = operator.sys_ws'''
|
||||
|
||||
refresh['workspace_uuid'] = str(workspace.uuid)
|
||||
|
||||
@@ -174,7 +173,10 @@ class CustomTokenObtainPairView(APIView):
|
||||
cuser=user, cuser_role=cuser_role)
|
||||
jwt_db.save()
|
||||
|
||||
CUserRoleLoginOpt.objects.filter(cuser_role__cuser=user).delete()
|
||||
try:
|
||||
CUserRoleLoginOpt.objects.filter(cuser=user).delete()
|
||||
except Exception as exp:
|
||||
pass
|
||||
|
||||
except Exception as exp:
|
||||
return Response({'error': str(exp)})
|
||||
|
||||
Reference in new issue
Block a user