ilya_shyian 2 лет назад
Родитель
Сommit
705ac580c2
1 измененных файлов с 17 добавлено и 6 удалено
  1. 17 6
      store_back/apps/authAPI/schema.py

+ 17 - 6
store_back/apps/authAPI/schema.py

@@ -148,15 +148,26 @@ class UserUpsert(graphene.Mutation):
         try:
             _id = user._id
             new_user = User.objects.get(_id = _id)
+            if not user.is_superuser:
+                raise Exception("Authentication credentials were not provided")
             user.pop("_id",None)
             new_user.__dict__.update(**user)
         except Exception as e:
-            try:
-                User.objects.get(username = user.username)
-                raise Exception("Username вже зайнятий")
-            except:
-                pass
-            new_user = User.objects.create_user(username = user.username,password=user.password)
+
+            if user.is_authenticated:
+                try:
+                    new_user = User.objects.get(_id = info.context.user._id)
+                    new_user.__dict__.update(**user)
+                except:
+                    raise Exception("Не вірні дані")
+            else:
+                try:
+                    User.objects.get(username = user.username)
+                    raise Exception("Username вже зайнятий")
+                except:
+                    pass
+                    
+                new_user = User.objects.create_user(username = user.username,password=user.password)
 
         if ava:
             if ava == "null":