Projekt

Obecné

Profil

Stáhnout (1021 Bajtů) Statistiky
| Větev: | Tag: | Revize:
1 6c1e92e3 Matej Zeman
from typing import List
2
3 9aae8d25 Matej Zeman
from fastapi import Depends, FastAPI, HTTPException, APIRouter, Form
4 6c1e92e3 Matej Zeman
from sqlalchemy.orm import Session
5 b6f0e019 Matej Zeman
from datetime import datetime
6 ef87a1d2 Matej Zeman
from sql_app import crud, models, schemas
7 6c1e92e3 Matej Zeman
from ..database import SessionLocal, engine
8
9
models.Base.metadata.create_all(bind=engine)
10
11 2229e0e1 Matej Zeman
licenses = APIRouter(prefix="/api/v1")
12 6c1e92e3 Matej Zeman
13
14
# Dependency
15
def get_db():
16
    db = SessionLocal()
17
    try:
18
        yield db
19
    finally:
20
        db.close()
21
22
23 2229e0e1 Matej Zeman
@licenses.get("/licenses", response_model=List[schemas.License])
24 6c1e92e3 Matej Zeman
def read_licenses(skip: int = 0, limit: int = 100, db: Session = Depends(get_db)):
25
    licenses = crud.get_licenses(db, skip=skip, limit=limit)
26
    return licenses
27
28
29 2229e0e1 Matej Zeman
@licenses.post("/device-license", response_model=schemas.DeviceLicense)
30 6c1e92e3 Matej Zeman
def create_device_license(device_license: schemas.DeviceLicenseCreate, db: Session = Depends(get_db)):
31 b6f0e019 Matej Zeman
    print(crud.create_device_license(db=db, device=device_license.device_id, license=device_license.license_id,
32
                                     time=datetime.now()))