Admin fixes, minio texts removed, added is_active to User model
This commit is contained in:
@@ -307,6 +307,16 @@ def bulk_delete_students(payload: DeleteUsersRequest, session: Session = Depends
|
||||
session.commit()
|
||||
return {"success": True}
|
||||
|
||||
@app.put("/api/admin/students/{user_id}/toggle", tags=["Admin"])
|
||||
def toggle_student_active(user_id: UUID, session: Session = Depends(get_session)):
|
||||
user = session.get(models.User, user_id)
|
||||
if not user:
|
||||
raise HTTPException(status_code=404, detail="User not found")
|
||||
user.is_active = not getattr(user, 'is_active', True)
|
||||
session.add(user)
|
||||
session.commit()
|
||||
return {"success": True, "is_active": user.is_active}
|
||||
|
||||
@app.post("/api/auth/register", tags=["Authentication"])
|
||||
def register(payload: RegisterPayload, session: Session = Depends(get_session)):
|
||||
import bcrypt
|
||||
|
||||
@@ -65,6 +65,7 @@ class User(SQLModel, table=True):
|
||||
created_at: datetime = Field(default_factory=datetime.utcnow)
|
||||
last_active: datetime = Field(default_factory=datetime.utcnow)
|
||||
active_session_token: Optional[str] = None
|
||||
is_active: bool = Field(default=True)
|
||||
|
||||
class Parent(SQLModel, table=True):
|
||||
id: UUID = Field(default_factory=uuid4, primary_key=True)
|
||||
|
||||
Reference in New Issue
Block a user