-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathitems.py
More file actions
68 lines (54 loc) · 1.47 KB
/
items.py
File metadata and controls
68 lines (54 loc) · 1.47 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
from fastapi import APIRouter, status
from src.schemas.response import HttpResponseModel
from src.service.impl.item_service import ItemService
router = APIRouter()
@router.get(
"/{item_id}",
response_model=HttpResponseModel,
status_code=status.HTTP_200_OK,
description="Retrieve an item by its ID",
tags=["items"],
responses={
status.HTTP_200_OK: {
"model": HttpResponseModel,
"description": "Successfully got item by id",
},
status.HTTP_404_NOT_FOUND: {
"description": "Item not found",
}
},
)
def get_item(item_id: str) -> HttpResponseModel:
"""
Get item by ID.
Parameters:
- item_id: The ID of the item to retrieve.
Returns:
- The item with the specified ID.
Raises:
- HTTPException 404: If the item is not found.
"""
item_get_response = ItemService.get_item(item_id)
return item_get_response
@router.get(
"/",
response_model=HttpResponseModel,
status_code=status.HTTP_200_OK,
description="Retrieve all items",
tags=["items"],
responses={
status.HTTP_200_OK: {
"model": HttpResponseModel,
"description": "Successfully got all the items",
}
},
)
def get_items() -> HttpResponseModel:
"""
Get all items.
Returns:
- A list of all items.
"""
item_list_response = ItemService.get_items()
return item_list_response
# TODO: Add POST, PUT, DELETE endpoints