@ -177,7 +177,7 @@ class UserVerifyView(CreateAPIView):
code = self . valied_code ( data [ ' code ' ] , verify_data [ ' code ' ] )
code = self . valied_code ( data [ ' code ' ] , verify_data [ ' code ' ] )
del verify_data [ ' code ' ]
del verify_data [ ' code ' ]
user = self . perform_create (
user = self . perform_create (
email = serializer . data [ ' email ' ] , device_id = serializer . data [ ' device_id ' ] , * * verify_data
email = serializer . data [ ' email ' ] , device_id = serializer . data . get ( ' device_id ' ) , * * verify_data
)
)
token , _ = Token . objects . get_or_create ( user = user )
token , _ = Token . objects . get_or_create ( user = user )
return Response ( data = {
return Response ( data = {
@ -205,17 +205,25 @@ class UserVerifyView(CreateAPIView):
if kwargs [ ' password ' ] :
if kwargs [ ' password ' ] :
user . is_active = True
user . is_active = True
user . deletion_date = None
user . deletion_date = None
user . device_id = device_id
if device_id :
user . device_id = device_id
user . last_login = timezone . now ( )
user . last_login = timezone . now ( )
user . save ( )
user . save ( )
else :
else :
user = User . objects . filter ( device_id = device_id , email__isnull = True ) . first ( )
# If device_id is provided, try to find existing user with that device_id
if device_id :
user = User . objects . filter ( device_id = device_id , email__isnull = True ) . first ( )
else :
user = None
if not user :
if not user :
user = User . objects . create ( * * kwargs )
user = User . objects . create ( * * kwargs )
else :
else :
user . email = email
user . email = email
user . fullname = kwargs [ ' fullname ' ]
user . fullname = kwargs [ ' fullname ' ]
user . device_id = device_id
if device_id :
user . device_id = device_id
user . last_login = timezone . now ( )
user . last_login = timezone . now ( )
user . is_active = True
user . is_active = True
user . save ( )
user . save ( )