@@ -44,76 +44,76 @@ func (c *ReviewController) Store(ctx *gin.Context) {
4444 ctxx := ctx .Request .Context ()
4545 reviewDom := reviewRequest .ToDomain ()
4646
47- userReview , _ := c .reviewUsecase .GetUserReview (ctxx , reviewDom .BookId , userClaims .UserID )
47+ userReview , _ , _ := c .reviewUsecase .GetUserReview (ctxx , reviewDom .BookId , userClaims .UserID )
4848 if userReview .ID != 0 {
49- controllers .NewErrorResponse (ctx , http .StatusInternalServerError , "user already make a review" )
49+ controllers .NewErrorResponse (ctx , http .StatusBadRequest , "user already make a review" )
5050 return
5151 }
52- review , err := c .reviewUsecase .Store (ctxx , reviewDom , userClaims .UserID )
52+ review , statusCode , err := c .reviewUsecase .Store (ctxx , reviewDom , userClaims .UserID )
5353 if err != nil {
54- controllers .NewErrorResponse (ctx , http . StatusInternalServerError , err .Error ())
54+ controllers .NewErrorResponse (ctx , statusCode , err .Error ())
5555 return
5656 }
5757
5858 go c .ristrettoCache .Del ("reviews" , "users" , fmt .Sprintf ("user/%d" , userClaims .UserID ), "books" , fmt .Sprintf ("book/%d" , reviewRequest .BookId ))
5959
60- controllers .NewSuccessResponse (ctx , "review created successfully" , gin.H {
60+ controllers .NewSuccessResponse (ctx , statusCode , "review created successfully" , gin.H {
6161 "reviews" : responses .FromDomain (review ),
6262 })
6363}
6464
6565func (c * ReviewController ) GetAll (ctx * gin.Context ) {
6666 if val := c .ristrettoCache .Get ("reviews" ); val != nil {
67- controllers .NewSuccessResponse (ctx , "review data fetched successfully" , map [string ]interface {}{
67+ controllers .NewSuccessResponse (ctx , http . StatusOK , "review data fetched successfully" , map [string ]interface {}{
6868 "reviews" : val ,
6969 })
7070 return
7171 }
7272
7373 ctxx := ctx .Request .Context ()
7474
75- listOfReviews , err := c .reviewUsecase .GetAll (ctxx )
75+ listOfReviews , statusCode , err := c .reviewUsecase .GetAll (ctxx )
7676 if err != nil {
77- controllers .NewErrorResponse (ctx , http . StatusInternalServerError , err .Error ())
77+ controllers .NewErrorResponse (ctx , statusCode , err .Error ())
7878 return
7979 }
8080
8181 reviews := responses .ToResponseList (listOfReviews )
8282
8383 if reviews == nil {
84- controllers .NewSuccessResponse (ctx , "review data is empty" , []int {})
84+ controllers .NewSuccessResponse (ctx , statusCode , "review data is empty" , []int {})
8585 return
8686 }
8787
8888 go c .ristrettoCache .Set ("reviews" , reviews )
8989
90- controllers .NewSuccessResponse (ctx , "review data fetched successfully" , map [string ]interface {}{
90+ controllers .NewSuccessResponse (ctx , statusCode , "review data fetched successfully" , map [string ]interface {}{
9191 "reviews" : reviews ,
9292 })
9393}
9494
9595func (c * ReviewController ) GetById (ctx * gin.Context ) {
9696 id , _ := strconv .Atoi (ctx .Param ("id" ))
9797 if val := c .ristrettoCache .Get (fmt .Sprintf ("review/%d" , id )); val != nil {
98- controllers .NewSuccessResponse (ctx , fmt .Sprintf ("review data with id %d fetched successfully" , id ), map [string ]interface {}{
98+ controllers .NewSuccessResponse (ctx , http . StatusOK , fmt .Sprintf ("review data with id %d fetched successfully" , id ), map [string ]interface {}{
9999 "review" : val ,
100100 })
101101 return
102102 }
103103
104104 ctxx := ctx .Request .Context ()
105105
106- bookDomain , err := c .reviewUsecase .GetById (ctxx , id )
106+ bookDomain , statusCode , err := c .reviewUsecase .GetById (ctxx , id )
107107 if err != nil {
108- controllers .NewErrorResponse (ctx , http . StatusInternalServerError , err .Error ())
108+ controllers .NewErrorResponse (ctx , statusCode , err .Error ())
109109 return
110110 }
111111
112112 bookResponse := responses .FromDomain (bookDomain )
113113
114114 go c .ristrettoCache .Set (fmt .Sprintf ("review/%d" , id ), bookResponse )
115115
116- controllers .NewSuccessResponse (ctx , fmt .Sprintf ("review data with id %d fetched successfully" , id ), map [string ]interface {}{
116+ controllers .NewSuccessResponse (ctx , statusCode , fmt .Sprintf ("review data with id %d fetched successfully" , id ), map [string ]interface {}{
117117 "review" : bookResponse ,
118118 })
119119}
@@ -122,20 +122,20 @@ func (c *ReviewController) GetByBookId(ctx *gin.Context) {
122122 bookId , _ := strconv .Atoi (ctx .Param ("id" ))
123123 ctxx := ctx .Request .Context ()
124124
125- reviewsDomain , err := c .reviewUsecase .GetByBookId (ctxx , bookId )
125+ reviewsDomain , statusCode , err := c .reviewUsecase .GetByBookId (ctxx , bookId )
126126 if err != nil {
127- controllers .NewErrorResponse (ctx , http . StatusNotFound , err .Error ())
127+ controllers .NewErrorResponse (ctx , statusCode , err .Error ())
128128 return
129129 }
130130
131131 reviews := responses .ToResponseList (reviewsDomain )
132132
133133 if reviews == nil {
134- controllers .NewSuccessResponse (ctx , fmt .Sprintf ("review data with book id %d is empty" , bookId ), []int {})
134+ controllers .NewSuccessResponse (ctx , statusCode , fmt .Sprintf ("review data with book id %d is empty" , bookId ), []int {})
135135 return
136136 }
137137
138- controllers .NewSuccessResponse (ctx , fmt .Sprintf ("review data with book id %d fetched successfully" , bookId ), map [string ]interface {}{
138+ controllers .NewSuccessResponse (ctx , http . StatusOK , fmt .Sprintf ("review data with book id %d fetched successfully" , bookId ), map [string ]interface {}{
139139 "review" : reviews ,
140140 })
141141}
@@ -144,20 +144,20 @@ func (c *ReviewController) GetByUserid(ctx *gin.Context) {
144144 userId , _ := strconv .Atoi (ctx .Param ("id" ))
145145 ctxx := ctx .Request .Context ()
146146
147- reviewsDomain , err := c .reviewUsecase .GetByUserId (ctxx , userId )
147+ reviewsDomain , statusCode , err := c .reviewUsecase .GetByUserId (ctxx , userId )
148148 if err != nil {
149- controllers .NewErrorResponse (ctx , http . StatusNotFound , err .Error ())
149+ controllers .NewErrorResponse (ctx , statusCode , err .Error ())
150150 return
151151 }
152152
153153 reviews := responses .ToResponseList (reviewsDomain )
154154
155155 if reviews == nil {
156- controllers .NewSuccessResponse (ctx , fmt .Sprintf ("review data with user id %d is empty" , userId ), []int {})
156+ controllers .NewSuccessResponse (ctx , statusCode , fmt .Sprintf ("review data with user id %d is empty" , userId ), []int {})
157157 return
158158 }
159159
160- controllers .NewSuccessResponse (ctx , fmt .Sprintf ("review data with user id %d fetched successfully" , userId ), map [string ]interface {}{
160+ controllers .NewSuccessResponse (ctx , statusCode , fmt .Sprintf ("review data with user id %d fetched successfully" , userId ), map [string ]interface {}{
161161 "review" : reviews ,
162162 })
163163}
@@ -178,15 +178,15 @@ func (c *ReviewController) Update(ctx *gin.Context) {
178178
179179 ctxx := ctx .Request .Context ()
180180 reviewDom := reviewRequest .ToDomain ()
181- review , err := c .reviewUsecase .Update (ctxx , reviewDom , userClaims .UserID , reviewId )
181+ review , statusCode , err := c .reviewUsecase .Update (ctxx , reviewDom , userClaims .UserID , reviewId )
182182 if err != nil {
183- controllers .NewErrorResponse (ctx , http . StatusInternalServerError , err .Error ())
183+ controllers .NewErrorResponse (ctx , statusCode , err .Error ())
184184 return
185185 }
186186
187187 go c .ristrettoCache .Del ("reviews" , fmt .Sprintf ("review/%d" , review .ID ), "users" , fmt .Sprintf ("user/%d" , userClaims .UserID ), "books" , fmt .Sprintf ("book/%d" , reviewRequest .BookId ))
188188
189- controllers .NewSuccessResponse (ctx , "review updated successfully" , gin.H {
189+ controllers .NewSuccessResponse (ctx , statusCode , "review updated successfully" , gin.H {
190190 "reviews" : responses .FromDomain (review ),
191191 })
192192}
@@ -196,13 +196,13 @@ func (c *ReviewController) Delete(ctx *gin.Context) {
196196 reviewid , _ := strconv .Atoi (ctx .Param ("id" ))
197197
198198 ctxx := ctx .Request .Context ()
199- bookId , err := c .reviewUsecase .Delete (ctxx , userClaims .UserID , reviewid )
199+ bookId , statusCode , err := c .reviewUsecase .Delete (ctxx , userClaims .UserID , reviewid )
200200 if err != nil {
201- controllers .NewErrorResponse (ctx , http . StatusInternalServerError , err .Error ())
201+ controllers .NewErrorResponse (ctx , statusCode , err .Error ())
202202 return
203203 }
204204
205205 go c .ristrettoCache .Del ("reviews" , fmt .Sprintf ("review/%d" , reviewid ), "books" , fmt .Sprintf ("book/%d" , userClaims .UserID ), "books" , fmt .Sprintf ("book/%d" , bookId ))
206206
207- controllers .NewSuccessResponse (ctx , fmt .Sprintf ("review data with id %d deleted successfully" , reviewid ), nil )
207+ controllers .NewSuccessResponse (ctx , statusCode , fmt .Sprintf ("review data with id %d deleted successfully" , reviewid ), nil )
208208}
0 commit comments