Skip to content

Commit 8bb8783

Browse files
refactor: add error checking for failure flows in handler
1 parent 5dbb64a commit 8bb8783

File tree

2 files changed

+17
-8
lines changed

2 files changed

+17
-8
lines changed

internal/server/handlers/post_handler.go

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -134,8 +134,9 @@ func (p PostHandlers) UpdatePost(c echo.Context) error {
134134
updatePostRequest := new(requests.UpdatePostRequest)
135135
id, _ := strconv.Atoi(c.Param("id"))
136136

137-
if err := c.Bind(updatePostRequest); err != nil {
138-
return err
137+
var updatePostRequest requests.UpdatePostRequest
138+
if err := c.Bind(&updatePostRequest); err != nil {
139+
return responses.ErrorResponse(c, http.StatusBadRequest, "Failed to bind request: "+err.Error())
139140
}
140141

141142
if err := updatePostRequest.Validate(); err != nil {

internal/services/post/service.go

Lines changed: 14 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -32,20 +32,28 @@ func (s Service) Create(post *models.Post) error {
3232
}
3333

3434
func (s Service) GetPosts(posts *[]models.Post) {
35-
s.postRepository.GetPosts(posts)
35+
s.postRepository.GetPosts()
3636
}
3737

3838
func (s Service) GetPost(post *models.Post, id int) {
39-
s.postRepository.GetPost(post, id)
39+
s.postRepository.GetPost(id)
4040
}
4141

42-
func (s Service) Update(post *models.Post, updatePostRequest *requests.UpdatePostRequest) {
42+
func (s Service) Update(post *models.Post, updatePostRequest requests.UpdatePostRequest) error {
4343
post.Content = updatePostRequest.Content
4444
post.Title = updatePostRequest.Title
4545

46-
s.postRepository.Update(post)
46+
if err := s.postRepository.Update(post); err != nil {
47+
return fmt.Errorf("update post in repository: %w", err)
48+
}
49+
50+
return nil
4751
}
4852

49-
func (s Service) Delete(post *models.Post) {
50-
s.postRepository.Delete(post)
53+
func (s Service) Delete(post *models.Post) error {
54+
if err := s.postRepository.Delete(post); err != nil {
55+
return fmt.Errorf("delete post in repository: %w", err)
56+
}
57+
58+
return nil
5159
}

0 commit comments

Comments
 (0)