Skip to content
Snippets Groups Projects
Verified Commit ae49dc88 authored by hanfi's avatar hanfi
Browse files

add maintenance endpoint

parent 067295ce
No related branches found
No related tags found
No related merge requests found
...@@ -98,7 +98,6 @@ def verify_customer( ...@@ -98,7 +98,6 @@ def verify_customer(
} }
# main app
@app.post("/delivery", response_model=schemas.Delivery) @app.post("/delivery", response_model=schemas.Delivery)
@limiter.limit("2/minute") @limiter.limit("2/minute")
def prepare_delivery( def prepare_delivery(
...@@ -107,6 +106,12 @@ def prepare_delivery( ...@@ -107,6 +106,12 @@ def prepare_delivery(
return utils.prepare_delivery(db, delivery.verification) return utils.prepare_delivery(db, delivery.verification)
@app.get("/deliveries", response_model=List[schemas.Delivery])
def list_deliveries(token: str = Depends(oauth2_scheme), db: Session = Depends(get_db)):
check_token(token, None)
return utils.get_deliveries(db)
@app.get("/delivery/{delivery_uuid}", response_model=schemas.Delivery) @app.get("/delivery/{delivery_uuid}", response_model=schemas.Delivery)
def get_delivery_by_uuid( def get_delivery_by_uuid(
delivery_uuid: str, delivery_uuid: str,
......
...@@ -55,13 +55,24 @@ def get_storages(db: Session): ...@@ -55,13 +55,24 @@ def get_storages(db: Session):
return storages return storages
def get_deliveries(db):
items = db.query(models.Item).filter(models.Item.deployed_at == None) # noqa: E711
deliveries = set(map(lambda x: x.part_of, items))
for delivery in deliveries:
delivery.items = [
item for item in delivery.items if item.deployed_at == None # noqa: E711
]
delivery.amount = len(delivery.items)
return sorted(deliveries, key=lambda x: x.tag)
def get_delivery_by_uuid(db: Session, delivery_uuid: UUID4): def get_delivery_by_uuid(db: Session, delivery_uuid: UUID4):
delivery = db.get(models.Delivery, delivery_uuid) delivery = db.get(models.Delivery, delivery_uuid)
if delivery: if delivery:
delivery.amount = len(delivery.items)
delivery.items = [ delivery.items = [
item for item in delivery.items if item.deployed_at == None # noqa: E711 item for item in delivery.items if item.deployed_at == None # noqa: E711
] ]
delivery.amount = len(delivery.items)
return delivery return delivery
...@@ -70,10 +81,10 @@ def get_delivery_by_tag(db: Session, delivery_tag: str): ...@@ -70,10 +81,10 @@ def get_delivery_by_tag(db: Session, delivery_tag: str):
db.query(models.Delivery).filter(models.Delivery.tag == delivery_tag).first() db.query(models.Delivery).filter(models.Delivery.tag == delivery_tag).first()
) )
if delivery: if delivery:
delivery.amount = len(delivery.items)
delivery.items = [ delivery.items = [
item for item in delivery.items if item.deployed_at == None # noqa: E711 item for item in delivery.items if item.deployed_at == None # noqa: E711
] ]
delivery.amount = len(delivery.items)
return delivery return delivery
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment