Move api to /api/v1
This includes docs, which are now at http://127.0.0.1:8000/api/v1/docs and the openapi.json, now at http://127.0.0.1:8000/api/v1/openapi.json Fixes #4
This commit is contained in:
@@ -10,7 +10,7 @@ from ..services.database import engine, get_session, add_and_refresh
|
|||||||
from ..services.auth import auth_is_admin
|
from ..services.auth import auth_is_admin
|
||||||
import uuid as gen_uuid
|
import uuid as gen_uuid
|
||||||
|
|
||||||
aa_router = APIRouter(prefix="/aa", tags=["AccessAuth"])
|
aa_router = APIRouter(prefix="/api/v1/aa", tags=["AccessAuth"])
|
||||||
|
|
||||||
@aa_router.post("/", response_model=AccessAuthorizationResponse)
|
@aa_router.post("/", response_model=AccessAuthorizationResponse)
|
||||||
def add_accessauth(*, db: Session = Depends(get_session), aa: AccessAuthorizationCreate, admin: bool = Depends(auth_is_admin)):
|
def add_accessauth(*, db: Session = Depends(get_session), aa: AccessAuthorizationCreate, admin: bool = Depends(auth_is_admin)):
|
||||||
|
|||||||
@@ -11,7 +11,7 @@ from ..services.auth import auth_is_admin
|
|||||||
import uuid as gen_uuid
|
import uuid as gen_uuid
|
||||||
from app.services.scanner import WriteNewCard, DeleteCard
|
from app.services.scanner import WriteNewCard, DeleteCard
|
||||||
|
|
||||||
card_router = APIRouter(prefix="/cards", tags=["Card"])
|
card_router = APIRouter(prefix="/api/v1/cards", tags=["Card"])
|
||||||
|
|
||||||
def register_card(group_id: int):
|
def register_card(group_id: int):
|
||||||
key = WriteNewCard()
|
key = WriteNewCard()
|
||||||
|
|||||||
@@ -7,7 +7,7 @@ from app.model.models import *
|
|||||||
from app.services.database import get_session, add_and_refresh
|
from app.services.database import get_session, add_and_refresh
|
||||||
|
|
||||||
debug_router = APIRouter(
|
debug_router = APIRouter(
|
||||||
prefix="/debug",
|
prefix="/api/v1/debug",
|
||||||
tags=["Debug items - maybe dont show this in UI"],
|
tags=["Debug items - maybe dont show this in UI"],
|
||||||
dependencies=[Depends(auth_is_admin)],
|
dependencies=[Depends(auth_is_admin)],
|
||||||
)
|
)
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ from app.services.database import get_session
|
|||||||
from app.services.auth import auth_is_admin
|
from app.services.auth import auth_is_admin
|
||||||
import app.services.door as doorService
|
import app.services.door as doorService
|
||||||
|
|
||||||
door_router = APIRouter(prefix="/door",tags=["Door"])
|
door_router = APIRouter(prefix="/api/v1/door",tags=["Door"])
|
||||||
|
|
||||||
@door_router.put("/open")
|
@door_router.put("/open")
|
||||||
def open_door(db: Session = Depends(get_session), admin: bool = Depends(auth_is_admin)):
|
def open_door(db: Session = Depends(get_session), admin: bool = Depends(auth_is_admin)):
|
||||||
|
|||||||
@@ -6,7 +6,7 @@ from ..model.models import GroupDB, GroupResponse, GroupCreate
|
|||||||
from ..services.database import engine, get_session, add_and_refresh
|
from ..services.database import engine, get_session, add_and_refresh
|
||||||
from ..services.auth import auth_is_admin
|
from ..services.auth import auth_is_admin
|
||||||
|
|
||||||
group_router = APIRouter(prefix="/groups", tags=["Group"])
|
group_router = APIRouter(prefix="/api/v1/groups", tags=["Group"])
|
||||||
|
|
||||||
@group_router.get("/", response_model=List[GroupResponse])
|
@group_router.get("/", response_model=List[GroupResponse])
|
||||||
def get_groups(*, db: Session = Depends(get_session), admin: bool = Depends(auth_is_admin)):
|
def get_groups(*, db: Session = Depends(get_session), admin: bool = Depends(auth_is_admin)):
|
||||||
|
|||||||
@@ -8,28 +8,28 @@ from ..model.models import UserResponse, UserCreate, UserDB, UserUpdate
|
|||||||
from ..services.database import engine, get_session, add_and_refresh
|
from ..services.database import engine, get_session, add_and_refresh
|
||||||
from ..services.auth import get_password_hash, get_current_user, auth_is_admin
|
from ..services.auth import get_password_hash, get_current_user, auth_is_admin
|
||||||
|
|
||||||
user_router = APIRouter(tags=["Users"])
|
user_router = APIRouter(tags=["Users"], prefix="/api/v1/users")
|
||||||
|
|
||||||
@user_router.post("/users/", response_model=UserResponse)
|
@user_router.post("/", response_model=UserResponse)
|
||||||
def create_user(*, db: Session = Depends(get_session), user: UserCreate, admin: bool = Depends(auth_is_admin)):
|
def create_user(*, db: Session = Depends(get_session), user: UserCreate, admin: bool = Depends(auth_is_admin)):
|
||||||
logger.info(f"creating user with data: {user}")
|
logger.info(f"creating user with data: {user}")
|
||||||
hashed_password = {"passwordhash": get_password_hash(user.password)}
|
hashed_password = {"passwordhash": get_password_hash(user.password)}
|
||||||
db_user = UserDB.model_validate(user, update=hashed_password)
|
db_user = UserDB.model_validate(user, update=hashed_password)
|
||||||
return add_and_refresh(db, db_user)
|
return add_and_refresh(db, db_user)
|
||||||
|
|
||||||
@user_router.get("/users/", response_model=List[UserResponse])
|
@user_router.get("/", response_model=List[UserResponse])
|
||||||
def read_users(*, db: Session = Depends(get_session), admin: bool = Depends(auth_is_admin)):
|
def read_users(*, db: Session = Depends(get_session), admin: bool = Depends(auth_is_admin)):
|
||||||
users = db.exec(select(UserDB)).all()
|
users = db.exec(select(UserDB)).all()
|
||||||
return users
|
return users
|
||||||
|
|
||||||
@user_router.get("/users/{user_id}", response_model=UserResponse)
|
@user_router.get("/{user_id}", response_model=UserResponse)
|
||||||
def read_user(*, db: Session = Depends(get_session), user_id: int, admin: bool = Depends(auth_is_admin)):
|
def read_user(*, db: Session = Depends(get_session), user_id: int, admin: bool = Depends(auth_is_admin)):
|
||||||
db_user = db.get(UserDB, user_id)
|
db_user = db.get(UserDB, user_id)
|
||||||
if db_user is None:
|
if db_user is None:
|
||||||
raise HTTPException(status_code=404, detail="User not found")
|
raise HTTPException(status_code=404, detail="User not found")
|
||||||
return db_user
|
return db_user
|
||||||
|
|
||||||
@user_router.patch("/users/{user_id}", response_model=UserResponse)
|
@user_router.patch("/{user_id}", response_model=UserResponse)
|
||||||
def update_user(*, db: Session = Depends(get_session), user_id: int, user: UserUpdate, admin: bool = Depends(auth_is_admin)):
|
def update_user(*, db: Session = Depends(get_session), user_id: int, user: UserUpdate, admin: bool = Depends(auth_is_admin)):
|
||||||
db_user = db.get(UserDB, user_id)
|
db_user = db.get(UserDB, user_id)
|
||||||
if db_user is None:
|
if db_user is None:
|
||||||
@@ -42,7 +42,7 @@ def update_user(*, db: Session = Depends(get_session), user_id: int, user: UserU
|
|||||||
db_user.sqlmodel_update(user_data, update=hashed_password)
|
db_user.sqlmodel_update(user_data, update=hashed_password)
|
||||||
return add_and_refresh(db, db_user)
|
return add_and_refresh(db, db_user)
|
||||||
|
|
||||||
@user_router.delete("/users/{user_id}")
|
@user_router.delete("/{user_id}")
|
||||||
def delete_user(*, db: Session = Depends(get_session), user_id: int, admin: bool = Depends(auth_is_admin)):
|
def delete_user(*, db: Session = Depends(get_session), user_id: int, admin: bool = Depends(auth_is_admin)):
|
||||||
db_user = db.get(UserDB, user_id)
|
db_user = db.get(UserDB, user_id)
|
||||||
if db_user is None:
|
if db_user is None:
|
||||||
|
|||||||
@@ -36,7 +36,11 @@ async def lifespan(app: FastAPI):
|
|||||||
yield
|
yield
|
||||||
#scanner.stop()
|
#scanner.stop()
|
||||||
|
|
||||||
app = FastAPI(lifespan=lifespan)
|
app = FastAPI(
|
||||||
|
lifespan=lifespan,
|
||||||
|
docs_url="/api/v1/docs",
|
||||||
|
openapi_url="/api/v1/openapi.json"
|
||||||
|
)
|
||||||
|
|
||||||
origins = [
|
origins = [
|
||||||
"http://127.0.0.1",
|
"http://127.0.0.1",
|
||||||
|
|||||||
Reference in New Issue
Block a user