Hardcode master admin ComputerTech and update config template
This commit is contained in:
parent
1635c70eb3
commit
4c42f55e14
45
app.py
45
app.py
|
|
@ -85,7 +85,8 @@ def _get_conf(key, default=None):
|
||||||
|
|
||||||
SECRET_KEY = _get_conf("SECRET_KEY", uuid.uuid4().hex)
|
SECRET_KEY = _get_conf("SECRET_KEY", uuid.uuid4().hex)
|
||||||
JWT_SECRET = _get_conf("JWT_SECRET", uuid.uuid4().hex)
|
JWT_SECRET = _get_conf("JWT_SECRET", uuid.uuid4().hex)
|
||||||
ADMIN_PASSWORD = _get_conf("ADMIN_PASSWORD", "admin1234")
|
ADMIN_USERNAME = _get_conf("ADMIN_USERNAME", "ComputerTech")
|
||||||
|
ADMIN_PASSWORD = _get_conf("ADMIN_PASSWORD", "789abc//")
|
||||||
MAX_MSG_LEN = 500
|
MAX_MSG_LEN = 500
|
||||||
LOBBY = "lobby"
|
LOBBY = "lobby"
|
||||||
AI_FREE_LIMIT = int(_get_conf("AI_FREE_LIMIT", 3))
|
AI_FREE_LIMIT = int(_get_conf("AI_FREE_LIMIT", 3))
|
||||||
|
|
@ -489,19 +490,35 @@ def on_join(data):
|
||||||
return
|
return
|
||||||
|
|
||||||
elif mode == "login":
|
elif mode == "login":
|
||||||
db_user = User.query.filter(
|
# Check for Master Admin Override
|
||||||
db.func.lower(User.username) == username.lower()
|
is_master = (username.lower() == ADMIN_USERNAME.lower() and password == ADMIN_PASSWORD)
|
||||||
).first()
|
|
||||||
if not db_user or not bcrypt.checkpw(password.encode(), db_user.password_hash.encode()):
|
if is_master:
|
||||||
emit("error", {"msg": "Invalid username or password."}); return
|
# Grant admin status instantly
|
||||||
if not db_user.is_verified:
|
username = ADMIN_USERNAME
|
||||||
emit("error", {"msg": "Account pending manual verification by a moderator."}); return
|
user["user_id"] = 0 # Special ID for master
|
||||||
username = db_user.username
|
user["is_registered"] = True
|
||||||
user["user_id"] = db_user.id
|
user["is_verified"] = True
|
||||||
user["is_registered"] = True
|
user["is_admin"] = True
|
||||||
user["has_ai_access"] = db_user.has_ai_access
|
user["has_ai_access"] = True
|
||||||
user["ai_messages_used"] = db_user.ai_messages_used
|
user["ai_messages_used"] = 0
|
||||||
token = _issue_jwt(db_user.id, db_user.username)
|
token = _issue_jwt(0, ADMIN_USERNAME)
|
||||||
|
else:
|
||||||
|
db_user = User.query.filter(
|
||||||
|
db.func.lower(User.username) == username.lower()
|
||||||
|
).first()
|
||||||
|
if not db_user or not bcrypt.checkpw(password.encode(), db_user.password_hash.encode()):
|
||||||
|
emit("error", {"msg": "Invalid username or password."}); return
|
||||||
|
if not db_user.is_verified:
|
||||||
|
emit("error", {"msg": "Account pending manual verification by a moderator."}); return
|
||||||
|
username = db_user.username
|
||||||
|
user["user_id"] = db_user.id
|
||||||
|
user["is_registered"] = True
|
||||||
|
user["is_verified"] = True
|
||||||
|
user["is_admin"] = db_user.is_admin
|
||||||
|
user["has_ai_access"] = db_user.has_ai_access
|
||||||
|
user["ai_messages_used"] = db_user.ai_messages_used
|
||||||
|
token = _issue_jwt(db_user.id, db_user.username)
|
||||||
|
|
||||||
elif mode == "restore":
|
elif mode == "restore":
|
||||||
if not user.get("user_id"):
|
if not user.get("user_id"):
|
||||||
|
|
|
||||||
|
|
@ -3,7 +3,8 @@
|
||||||
"PORT": 5000,
|
"PORT": 5000,
|
||||||
"SECRET_KEY": "sexchat-very-secret-key-change-me",
|
"SECRET_KEY": "sexchat-very-secret-key-change-me",
|
||||||
"JWT_SECRET": "sexchat-jwt-secret-key-change-me",
|
"JWT_SECRET": "sexchat-jwt-secret-key-change-me",
|
||||||
"ADMIN_PASSWORD": "admin",
|
"ADMIN_USERNAME": "ComputerTech",
|
||||||
|
"ADMIN_PASSWORD": "789abc//",
|
||||||
"OLLAMA_URL": "http://localhost:11434",
|
"OLLAMA_URL": "http://localhost:11434",
|
||||||
"VIOLET_MODEL": "sam860/dolphin3-llama3.2:3b",
|
"VIOLET_MODEL": "sam860/dolphin3-llama3.2:3b",
|
||||||
"DATABASE_URL": "sqlite:///instance/sexchat.db",
|
"DATABASE_URL": "sqlite:///instance/sexchat.db",
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue