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

fix checkin

parent 8eaa389f
Branches
Tags 7.6.0
No related merge requests found
...@@ -58,14 +58,12 @@ def list_storages(db: Session = Depends(get_db)): ...@@ -58,14 +58,12 @@ def list_storages(db: Session = Depends(get_db)):
return utils.get_storages(db) return utils.get_storages(db)
@app.post("/checkin/{item_uuid}/at/{storage_name}", response_model=schemas.Item) @app.post("/checkin", response_model=schemas.Item)
def checkin_item_by_uuid( def checkin_item_by_uuid(checkin: schemas.ItemCheckin, db: Session = Depends(get_db)):
item_uuid: str, storage_name: str, db: Session = Depends(get_db) item = utils.get_item_by_uuid(db, UUID(checkin.item_uuid))
):
item = utils.get_item_by_uuid(db, UUID(item_uuid))
if item is None: if item is None:
raise HTTPException(status_code=404, detail="Item not found") raise HTTPException(status_code=404, detail="Item not found")
storage = utils.get_storage(db, storage_name) storage = utils.get_storage(db, checkin.storage_name)
if storage is None: if storage is None:
raise HTTPException(status_code=404, detail="Storage not found") raise HTTPException(status_code=404, detail="Storage not found")
return utils.receive_item(db, item, storage) return utils.receive_item(db, item, storage)
...@@ -31,7 +31,7 @@ class Item(db_Base): ...@@ -31,7 +31,7 @@ class Item(db_Base):
tag = sql_Column(sql_String(6), nullable=True, default=None) tag = sql_Column(sql_String(6), nullable=True, default=None)
storage = sql_Column( storage = sql_Column(
sql_Uuid, sql_ForeignKey("store.name"), nullable=True, default=None sql_String(16), sql_ForeignKey("store.name"), nullable=True, default=None
) )
stored_at = sql_relationship("Storage", back_populates="items") stored_at = sql_relationship("Storage", back_populates="items")
......
...@@ -30,11 +30,19 @@ class ItemCreateByImageAtStorage(BaseModel): ...@@ -30,11 +30,19 @@ class ItemCreateByImageAtStorage(BaseModel):
storage_uuid: UUID4 storage_uuid: UUID4
class ItemCheckin(BaseModel):
item_uuid: str
storage_name: str
num: Union[int, None] = 1
class Item(BaseModel): class Item(BaseModel):
uuid: UUID4 uuid: UUID4
created_at: datetime created_at: datetime
received_at: Union[datetime, None] = None received_at: Union[datetime, None] = None
verification: bytes
addressee: Union[str, None] = None addressee: Union[str, None] = None
team: Union[str, None] = None team: Union[str, None] = None
images: List[Image] = [] images: List[Image] = []
...@@ -44,7 +52,7 @@ class Item(BaseModel): ...@@ -44,7 +52,7 @@ class Item(BaseModel):
tag: Union[str, None] = None tag: Union[str, None] = None
stored_at: Union[Storage, None] = None storage: Union[str, None] = None
class Config: class Config:
orm_mode = True orm_mode = True
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment