Spaces:
Sleeping
Sleeping
| import pymongo | |
| import bcrypt | |
| import uuid | |
| import datetime # Import datetime | |
| MONGO_URI = "mongodb+srv://shareenpan2:Fgouter55@cluster0.s3dpu.mongodb.net/?retryWrites=true&w=majority&appName=Cluster0" | |
| def get_connection(): | |
| client = pymongo.MongoClient(MONGO_URI) | |
| db = client.get_database("summarization_paraphrasing_db") # You might want to change the database name | |
| return db | |
| def create_user(email, username, password, role='viewer'): # Removed 'name' | |
| db = get_connection() | |
| users_collection = db.users | |
| hashed_pw = bcrypt.hashpw(password.encode('utf-8'), bcrypt.gensalt()) | |
| user_id = str(uuid.uuid4()) | |
| try: | |
| user_data = { | |
| "_id": user_id, | |
| "username": username, | |
| "email": email, | |
| "password": hashed_pw.decode('utf-8'), | |
| "role": role, | |
| "createdAt": datetime.datetime.now() # Set to current datetime | |
| } | |
| users_collection.insert_one(user_data) | |
| return True | |
| except pymongo.errors.DuplicateKeyError as err: | |
| print(f"Error: {err}") | |
| return False | |
| finally: | |
| db.client.close() | |
| def validate_user(username, password): | |
| db = get_connection() | |
| users_collection = db.users | |
| user = users_collection.find_one({"username": username}) | |
| db.client.close() | |
| if user and bcrypt.checkpw(password.encode('utf-8'), user['password'].encode('utf-8')): | |
| return user | |
| return None | |