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

fix checkin

parent 8eaa389f
No related branches found
No related tags found
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