forked from jamesp/sasa-membership
stuff changed:
- ui has been made 'kinda better' (after making it worse for a while lol - ESP rfid readers are now supported [ill upload the code for them in another repo later] - admin system has been secured a bit better and seems to be working well
This commit is contained in:
@@ -6,6 +6,7 @@ from typing import List
|
||||
import uuid
|
||||
|
||||
from ...core.database import get_db
|
||||
from ...core.datetime import utc_now
|
||||
from ...core.security import verify_password, get_password_hash, create_access_token
|
||||
from ...models.models import User, UserRole, PasswordResetToken
|
||||
from ...schemas import (
|
||||
@@ -85,7 +86,7 @@ async def login(
|
||||
)
|
||||
|
||||
# Update last login
|
||||
user.last_login = datetime.utcnow()
|
||||
user.last_login = utc_now()
|
||||
db.commit()
|
||||
|
||||
# Create access token
|
||||
@@ -120,7 +121,7 @@ async def login_json(
|
||||
)
|
||||
|
||||
# Update last login
|
||||
user.last_login = datetime.utcnow()
|
||||
user.last_login = utc_now()
|
||||
db.commit()
|
||||
|
||||
# Create access token
|
||||
@@ -149,12 +150,12 @@ async def forgot_password(
|
||||
db.query(PasswordResetToken).filter(
|
||||
PasswordResetToken.user_id == user.id,
|
||||
PasswordResetToken.used == False,
|
||||
PasswordResetToken.expires_at > datetime.utcnow()
|
||||
PasswordResetToken.expires_at > utc_now()
|
||||
).update({"used": True})
|
||||
|
||||
# Generate new reset token
|
||||
reset_token = str(uuid.uuid4())
|
||||
expires_at = datetime.utcnow() + timedelta(hours=1) # Token expires in 1 hour
|
||||
expires_at = utc_now() + timedelta(hours=1) # Token expires in 1 hour
|
||||
|
||||
# Create password reset token
|
||||
db_token = PasswordResetToken(
|
||||
@@ -192,7 +193,7 @@ async def reset_password(
|
||||
reset_token = db.query(PasswordResetToken).filter(
|
||||
PasswordResetToken.token == request.token,
|
||||
PasswordResetToken.used == False,
|
||||
PasswordResetToken.expires_at > datetime.utcnow()
|
||||
PasswordResetToken.expires_at > utc_now()
|
||||
).first()
|
||||
|
||||
if not reset_token:
|
||||
@@ -212,7 +213,7 @@ async def reset_password(
|
||||
# Update password
|
||||
hashed_password = get_password_hash(request.new_password)
|
||||
user.hashed_password = hashed_password
|
||||
user.updated_at = datetime.utcnow()
|
||||
user.updated_at = utc_now()
|
||||
|
||||
# Mark token as used
|
||||
reset_token.used = True
|
||||
@@ -239,7 +240,7 @@ async def change_password(
|
||||
# Update password
|
||||
hashed_password = get_password_hash(request.new_password)
|
||||
current_user.hashed_password = hashed_password
|
||||
current_user.updated_at = datetime.utcnow()
|
||||
current_user.updated_at = utc_now()
|
||||
|
||||
db.commit()
|
||||
|
||||
|
||||
Reference in New Issue
Block a user