File size: 546 Bytes
c2bbff3
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
from fastapi import APIRouter, HTTPException, Depends
from sqlalchemy.orm import Session
from app.database import SessionLocal
from app.models import APIKey, User
import secrets

router = APIRouter()

def get_db():
    db = SessionLocal()
    try:
        yield db
    finally:
        db.close()

@router.post("/generate-key")
def generate_key(user_id: int, db: Session = Depends(get_db)):
    api_key = secrets.token_hex(32)
    new_key = APIKey(user_id=user_id, key=api_key)
    db.add(new_key)
    db.commit()
    return {"api_key": api_key}