mirror of
https://github.com/mem0ai/mem0.git
synced 2026-09-19 04:50:05 +08:00
db8ac61713
Co-authored-by: kartik-mem0 <kartik.labhshetwar@mem0.ai>
42 lines
1.0 KiB
Python
42 lines
1.0 KiB
Python
"""Reset a user's password by email. Run inside the `mem0` container."""
|
|
|
|
import os
|
|
import sys
|
|
|
|
from sqlalchemy import select
|
|
|
|
from auth import hash_password
|
|
from db import SessionLocal
|
|
from models import User
|
|
|
|
MIN_PASSWORD_LENGTH = 8
|
|
|
|
|
|
def main() -> int:
|
|
email = os.environ.get("EMAIL", "").strip()
|
|
password = os.environ.get("PASSWORD", "")
|
|
|
|
if not email or not password:
|
|
print("error: EMAIL and PASSWORD environment variables are required.", file=sys.stderr)
|
|
return 2
|
|
|
|
if len(password) < MIN_PASSWORD_LENGTH:
|
|
print(f"error: password must be at least {MIN_PASSWORD_LENGTH} characters.", file=sys.stderr)
|
|
return 2
|
|
|
|
with SessionLocal() as db:
|
|
user = db.scalar(select(User).where(User.email == email))
|
|
if user is None:
|
|
print(f"error: no user found with email {email}.", file=sys.stderr)
|
|
return 1
|
|
|
|
user.password_hash = hash_password(password)
|
|
db.commit()
|
|
|
|
print(f"Password reset for {email}.")
|
|
return 0
|
|
|
|
|
|
if __name__ == "__main__":
|
|
sys.exit(main())
|