@@ -7,9 +7,15 @@ const itemService = new ItemService();
77
88const createItem = async ( event : APIGatewayEvent ) => {
99 const itemData = JSON . parse ( event . body ?? "{}" ) ;
10- const newItem = await itemService . create ( itemData ) ;
1110
12- return createResponse ( StatusCodes . CREATED , newItem ) ;
11+ try {
12+ const newItem = await itemService . create ( itemData ) ;
13+ return createResponse ( StatusCodes . CREATED , newItem ) ;
14+ } catch ( error ) {
15+ return createResponse ( StatusCodes . BAD_REQUEST , {
16+ message : ErrorMessages . INVALID_DATA ,
17+ } ) ;
18+ }
1319} ;
1420
1521const getItem = async ( event : APIGatewayEvent ) => {
@@ -21,15 +27,34 @@ const getItem = async (event: APIGatewayEvent) => {
2127 } ) ;
2228 }
2329
24- const item = await itemService . get ( itemId ) ;
30+ try {
31+ const item = await itemService . get ( itemId ) ;
2532
26- return createResponse ( StatusCodes . OK , item ) ;
33+ if ( ! item ) {
34+ return createResponse ( StatusCodes . NOT_FOUND , {
35+ message : ErrorMessages . ITEM_NOT_FOUND ,
36+ } ) ;
37+ }
38+
39+ return createResponse ( StatusCodes . OK , item ) ;
40+ } catch ( error ) {
41+ return createResponse ( StatusCodes . NOT_FOUND , {
42+ message : ErrorMessages . INTERNAL_SERVER_ERROR ,
43+ } ) ;
44+ }
2745} ;
2846
2947const getAllItems = async ( ) => {
48+ console . log ( "getAllItems controller" ) ;
3049 const items = await itemService . getAll ( ) ;
31-
32- return createResponse ( StatusCodes . OK , items ) ;
50+ console . log ( "items" , items ) ;
51+ try {
52+ return createResponse ( StatusCodes . OK , items ) ;
53+ } catch ( error ) {
54+ return createResponse ( StatusCodes . INTERNAL_SERVER_ERROR , {
55+ message : ErrorMessages . INTERNAL_SERVER_ERROR ,
56+ } ) ;
57+ }
3358} ;
3459
3560const updateItem = async ( event : APIGatewayEvent ) => {
@@ -41,10 +66,24 @@ const updateItem = async (event: APIGatewayEvent) => {
4166 } ) ;
4267 }
4368
69+ const existingItem = await itemService . get ( itemId ) ;
70+
71+ if ( ! existingItem ) {
72+ return createResponse ( StatusCodes . NOT_FOUND , {
73+ message : ErrorMessages . ITEM_NOT_FOUND ,
74+ } ) ;
75+ }
76+
4477 const itemData = JSON . parse ( event . body ?? "{}" ) ;
45- const updatedItem = await itemService . update ( itemId , itemData ) ;
4678
47- return createResponse ( StatusCodes . OK , updatedItem ) ;
79+ try {
80+ const updatedItem = await itemService . update ( itemId , itemData ) ;
81+ return createResponse ( StatusCodes . OK , updatedItem ) ;
82+ } catch ( error ) {
83+ return createResponse ( StatusCodes . BAD_REQUEST , {
84+ message : ErrorMessages . INVALID_DATA ,
85+ } ) ;
86+ }
4887} ;
4988
5089const deleteItem = async ( event : APIGatewayEvent ) => {
@@ -56,10 +95,22 @@ const deleteItem = async (event: APIGatewayEvent) => {
5695 } ) ;
5796 }
5897
59- const itemDeleted = await itemService . get ( itemId ) ;
60- await itemService . delete ( itemId ) ;
98+ const existingItem = await itemService . get ( itemId ) ;
6199
62- return createResponse ( StatusCodes . NO_CONTENT , itemDeleted ) ;
100+ if ( ! existingItem ) {
101+ return createResponse ( StatusCodes . NOT_FOUND , {
102+ message : ErrorMessages . ITEM_NOT_FOUND ,
103+ } ) ;
104+ }
105+
106+ try {
107+ await itemService . delete ( itemId ) ;
108+ return createResponse ( StatusCodes . OK , existingItem ) ;
109+ } catch ( error ) {
110+ return createResponse ( StatusCodes . INTERNAL_SERVER_ERROR , {
111+ message : ErrorMessages . INTERNAL_SERVER_ERROR ,
112+ } ) ;
113+ }
63114} ;
64115
65116export { createItem , getItem , getAllItems , updateItem , deleteItem } ;
0 commit comments