change structure to make package build

This commit is contained in:
2026-04-15 10:04:23 +02:00
parent e3eea84b2b
commit 1434d6f541
8 changed files with 15 additions and 8 deletions
+56
View File
@@ -0,0 +1,56 @@
from fastapi import APIRouter, Depends, HTTPException
from sqlalchemy.orm import Session
from sqlalchemy import select
from typing import List
from ..model.dbModels import Card, AccessAuthorization
from ..model.card import CardBase, AccessAuthorizationCreate, AccessAuthorization as AccessSchema
from ..services.database import SessionLocal, engine
import uuid as gen_uuid
card_router = APIRouter(tags=["Card"])
def get_db():
db = SessionLocal()
try:
yield db
finally:
db.close()
def register_card(db: Session, name: str):
uuid = str(gen_uuid.uuid4()) #hier code für mifare registrierung
card = Card(user_id=name, uuid=uuid)
return card
@card_router.get("/cards", response_model=List[AccessSchema])
def get_accesses(db: Session = Depends(get_db)):
accesses = db.query(AccessAuthorization).all()
if accesses is None:
raise HTTPException(status_code=404, detail="N/A")
return accesses
@card_router.post("/cards", response_model=AccessSchema)
def create_access(access: AccessAuthorizationCreate, db: Session = Depends(get_db)):
db_access = AccessAuthorization(**access.dict())
card = register_card(db, access.name)
db.add(db_access)
db.add(card)
db.commit()
db.refresh(db_access)
return db_access
@card_router.get("/cards/{auth_name}", response_model=List[CardBase])
def get_cards(auth_name: str, db: Session = Depends(get_db)):
stmt = select(AccessAuthorization).where(AccessAuthorization.name == auth_name)
access_auth = db.execute(stmt).scalar_one_or_none()
if access_auth is None:
raise HTTPException(status_code=404, detail="Not found!")
return access_auth.card_id
@card_router.post("/cards/{auth_name}", response_model=CardBase)
def add_card(auth_name: str, db: Session = Depends(get_db)):
card = register_card(db, auth_name)
db.add(card)
db.commit()
db.refresh(card)
return card