This commit is contained in:
1 parent
f93fbf4bd5
commit
c75526aa2e
2 files changed
+17
-2
No files matched your search
@@ -1,5 +1,6 @@
|
|||||||
import json
|
import json
|
||||||
|
|
||||||
|
from sqlalchemy.exc import IntegrityError
|
||||||
from sqlmodel import Session, select
|
from sqlmodel import Session, select
|
||||||
|
|
||||||
from loon.web.db import engine
|
from loon.web.db import engine
|
||||||
@@ -23,11 +24,18 @@ async def change_password_handler(client, userdata, msg, data):
|
|||||||
json.dumps({"success": False, "error": "The user is not registered!"}))
|
json.dumps({"success": False, "error": "The user is not registered!"}))
|
||||||
return
|
return
|
||||||
|
|
||||||
with Session(engine) as session:
|
|
||||||
user = session.exec(
|
user = session.exec(
|
||||||
select(User).where(User.uuid == uuid)
|
select(User).where(User.uuid == uuid)
|
||||||
).first()
|
).first()
|
||||||
user.password = hash_password(password)
|
user.password = hash_password(password)
|
||||||
|
|
||||||
|
try:
|
||||||
session.commit()
|
session.commit()
|
||||||
|
except IntegrityError:
|
||||||
|
session.rollback()
|
||||||
|
client.publish(f"loon/register/{uuid}/response",
|
||||||
|
json.dumps({"success": False, "error": "The user is not registered!"}))
|
||||||
|
|
||||||
|
return
|
||||||
|
|
||||||
client.publish(f"loon/register/{uuid}/response", json.dumps({"success": True, "error": None}))
|
client.publish(f"loon/register/{uuid}/response", json.dumps({"success": True, "error": None}))
|
||||||
@@ -1,5 +1,6 @@
|
|||||||
import json
|
import json
|
||||||
|
|
||||||
|
from sqlalchemy.exc import IntegrityError
|
||||||
from sqlmodel import Session, select
|
from sqlmodel import Session, select
|
||||||
|
|
||||||
from loon.web.db import engine
|
from loon.web.db import engine
|
||||||
@@ -24,9 +25,15 @@ async def register_request_handler(client, userdata, msg, data):
|
|||||||
json.dumps({"success": False, "error": "The user is already registered!"}))
|
json.dumps({"success": False, "error": "The user is already registered!"}))
|
||||||
return
|
return
|
||||||
|
|
||||||
with Session(engine) as session:
|
|
||||||
user = User(uuid=uuid, password=hash_password(password), internal_username=internal_username, admin=False)
|
user = User(uuid=uuid, password=hash_password(password), internal_username=internal_username, admin=False)
|
||||||
session.add(user)
|
session.add(user)
|
||||||
|
try:
|
||||||
session.commit()
|
session.commit()
|
||||||
|
except IntegrityError:
|
||||||
|
session.rollback()
|
||||||
|
client.publish(f"loon/register/{uuid}/response",
|
||||||
|
json.dumps({"success": False, "error": "The user is already registered!"}))
|
||||||
|
|
||||||
|
return
|
||||||
|
|
||||||
client.publish(f"loon/register/{uuid}/response", json.dumps({"success": True, "error": None}))
|
client.publish(f"loon/register/{uuid}/response", json.dumps({"success": True, "error": None}))
|
||||||
Reference in new issue
Block a user