Fix admin UUID parsing error on test upload
This commit is contained in:
@@ -91,7 +91,7 @@ def create_access_token(data: dict):
|
|||||||
|
|
||||||
def get_current_user(token: str = Depends(oauth2_scheme), session: Session = Depends(get_session)):
|
def get_current_user(token: str = Depends(oauth2_scheme), session: Session = Depends(get_session)):
|
||||||
if token == "admin":
|
if token == "admin":
|
||||||
return models.User(id=uuid.uuid4(), name="Admin", email="admin@pragativeer.com", tier=models.TierEnum.AI_COACH)
|
return models.User(id=uuid.UUID("aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa"), name="Admin", email="admin@pragativeer.com", tier=models.TierEnum.AI_COACH)
|
||||||
|
|
||||||
try:
|
try:
|
||||||
payload = jwt.decode(token, SECRET_KEY, algorithms=[ALGORITHM])
|
payload = jwt.decode(token, SECRET_KEY, algorithms=[ALGORITHM])
|
||||||
@@ -133,7 +133,7 @@ def require_tier(allowed_tiers: List[models.TierEnum]):
|
|||||||
"""
|
"""
|
||||||
def tier_checker(token: str = Depends(oauth2_scheme), session: Session = Depends(get_session)):
|
def tier_checker(token: str = Depends(oauth2_scheme), session: Session = Depends(get_session)):
|
||||||
if token == "admin":
|
if token == "admin":
|
||||||
return models.User(id=uuid.uuid4(), name="Admin", email="admin@pragativeer.com", tier=models.TierEnum.AI_COACH)
|
return models.User(id=uuid.UUID("aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa"), name="Admin", email="admin@pragativeer.com", tier=models.TierEnum.AI_COACH)
|
||||||
|
|
||||||
try:
|
try:
|
||||||
payload = jwt.decode(token, SECRET_KEY, algorithms=[ALGORITHM])
|
payload = jwt.decode(token, SECRET_KEY, algorithms=[ALGORITHM])
|
||||||
@@ -414,7 +414,7 @@ def login(payload: LoginPayload, session: Session = Depends(get_session)):
|
|||||||
access_token = create_access_token(data={"sub": token_id})
|
access_token = create_access_token(data={"sub": token_id})
|
||||||
return {"success": True, "role": "user", "token": access_token, "user_id": token_id}
|
return {"success": True, "role": "user", "token": access_token, "user_id": token_id}
|
||||||
if payload.email == "admin@pragativeer.com" and payload.password == "Pv9#kL2$mQ8!vX4@":
|
if payload.email == "admin@pragativeer.com" and payload.password == "Pv9#kL2$mQ8!vX4@":
|
||||||
return {"success": True, "role": "admin", "token": "admin"}
|
return {"success": True, "role": "admin", "token": "admin", "user_id": "aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa"}
|
||||||
|
|
||||||
user = session.exec(select(models.User).where(models.User.email == payload.email)).first()
|
user = session.exec(select(models.User).where(models.User.email == payload.email)).first()
|
||||||
if not user:
|
if not user:
|
||||||
@@ -1838,3 +1838,4 @@ def verify_payment(payload: VerifyPaymentPayload, session: Session = Depends(get
|
|||||||
session.commit()
|
session.commit()
|
||||||
|
|
||||||
return {"success": True, "tier": user.tier.value}
|
return {"success": True, "tier": user.tier.value}
|
||||||
|
|
||||||
|
|||||||
@@ -187,7 +187,7 @@ export default function AdminTestsPage() {
|
|||||||
formData.append("title", title)
|
formData.append("title", title)
|
||||||
formData.append("exam_pattern", examPattern)
|
formData.append("exam_pattern", examPattern)
|
||||||
formData.append("time_limit", timeLimit)
|
formData.append("time_limit", timeLimit)
|
||||||
formData.append("admin_id", userId as string)
|
formData.append("admin_id", userId === "admin" ? "aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa" : (userId as string))
|
||||||
if (scheduledDate) formData.append("scheduled_date", scheduledDate.toISOString())
|
if (scheduledDate) formData.append("scheduled_date", scheduledDate.toISOString())
|
||||||
|
|
||||||
const res = await fetchWithAuth("/api/admin/tests/upload", {
|
const res = await fetchWithAuth("/api/admin/tests/upload", {
|
||||||
@@ -224,7 +224,7 @@ export default function AdminTestsPage() {
|
|||||||
type: testType,
|
type: testType,
|
||||||
exam_pattern: examPattern,
|
exam_pattern: examPattern,
|
||||||
time_limit: parseInt(timeLimit),
|
time_limit: parseInt(timeLimit),
|
||||||
admin_id: userId,
|
admin_id: userId === "admin" ? "aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa" : userId,
|
||||||
questions_json: validQuestions,
|
questions_json: validQuestions,
|
||||||
scheduled_date: scheduledDate ? scheduledDate.toISOString() : null,
|
scheduled_date: scheduledDate ? scheduledDate.toISOString() : null,
|
||||||
end_date: endDate ? endDate.toISOString() : null,
|
end_date: endDate ? endDate.toISOString() : null,
|
||||||
@@ -491,3 +491,4 @@ export default function AdminTestsPage() {
|
|||||||
</div>
|
</div>
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user