Added errors for services

This commit is contained in:
KamilM1205 2025-09-23 22:03:00 +04:00
parent ab4b53fd40
commit c3c3d65d32
12 changed files with 217 additions and 86 deletions

View file

@ -7,6 +7,7 @@ import (
"58team_blog/internal/interfaces/api/mapper"
"58team_blog/internal/interfaces/api/requests"
"58team_blog/internal/interfaces/api/responses"
"58team_blog/internal/utils"
"log"
"net/http"
"strconv"
@ -42,7 +43,7 @@ func (r *PostController) Post(c *gin.Context) {
if err := c.BindJSON(&request); err != nil {
log.Println(err)
resp := responses.CreateErrorResponse(http.StatusBadRequest, "BadRequest")
resp := responses.CreateErrorResponse(http.StatusBadRequest, err.Error())
c.JSON(resp.ErrorCode, resp)
return
}
@ -64,8 +65,7 @@ func (r *PostController) Post(c *gin.Context) {
res, err := r.service.Create(cmd)
if err != nil {
log.Println(err)
resp := responses.CreateErrorResponse(http.StatusInternalServerError, "Internal server error")
resp := utils.HandleError(err)
c.JSON(resp.ErrorCode, resp)
return
}
@ -87,8 +87,7 @@ func (r *PostController) Post(c *gin.Context) {
func (r *PostController) GetAll(c *gin.Context) {
result, err := r.service.GetAll()
if err != nil {
log.Println(err)
resp := responses.CreateErrorResponse(http.StatusInternalServerError, "Internal server error")
resp := utils.HandleError(err)
c.JSON(resp.ErrorCode, resp)
return
}
@ -107,21 +106,21 @@ func (r *PostController) GetAll(c *gin.Context) {
// @Produce json
// @Success 200 {array} responses.GetListPostResponseItem
// @Failure 400 {object} responses.ErrorResponse
// @Failure 500 {object} responses.ErrorResponse
// @Router /post/offset/{offset} [get]
func (r *PostController) GetAllWithOffset(c *gin.Context) {
offset_param := c.Param("offset")
offset, err := strconv.Atoi(offset_param)
if err != nil {
log.Println("Post get all with offset error: ", err)
resp := responses.CreateErrorResponse(http.StatusBadRequest, "Bad request")
resp := responses.CreateErrorResponse(http.StatusBadRequest, "Invalid offset value")
c.JSON(resp.ErrorCode, resp)
return
}
result, err := r.service.GetAllOffset(offset)
if err != nil {
log.Println("Post get all with offset error: ", err)
resp := responses.CreateErrorResponse(http.StatusBadRequest, "Bad request")
resp := utils.HandleError(err)
c.JSON(resp.ErrorCode, resp)
return
}
@ -140,6 +139,8 @@ func (r *PostController) GetAllWithOffset(c *gin.Context) {
// @Produce json
// @Success 200 {array} responses.PostResponse
// @Failure 400 {object} responses.ErrorResponse
// @Failure 404 {object} responses.ErrorResponse
// @Failure 500 {object} responses.ErrorResponse
// @Router /post/{id} [get]
func (r *PostController) GetById(c *gin.Context) {
id := c.Param("id")
@ -158,8 +159,7 @@ func (r *PostController) GetById(c *gin.Context) {
posts, err := r.service.FindById(query)
if err != nil {
log.Println("Post service error: ", err)
resp := responses.CreateErrorResponse(http.StatusBadRequest, "Bad request")
resp := utils.HandleError(err)
c.JSON(resp.ErrorCode, resp)
return
}
@ -181,6 +181,8 @@ func (r *PostController) GetById(c *gin.Context) {
// @Produce json
// @Success 200 {object} responses.PostResponse
// @Failure 400 {object} responses.ErrorResponse
// @Failure 404 {object} responses.ErrorResponse
// @Failure 500 {object} responses.ErrorResponse
// @Router /post/{id} [put]
func (r *PostController) Put(c *gin.Context) {
var request requests.PutPostRequest
@ -189,14 +191,14 @@ func (r *PostController) Put(c *gin.Context) {
id_valid, err := uuid.Parse(id)
if err != nil {
log.Println("Post: invalid post id: ", err)
resp := responses.CreateErrorResponse(http.StatusBadRequest, "Bad request")
resp := responses.CreateErrorResponse(http.StatusBadRequest, err.Error())
c.JSON(resp.ErrorCode, resp)
return
}
if err := c.BindJSON(request); err != nil {
log.Println("Post request error: ", err)
resp := responses.CreateErrorResponse(http.StatusBadRequest, "Bad request")
resp := responses.CreateErrorResponse(http.StatusBadRequest, err.Error())
c.JSON(resp.ErrorCode, resp)
return
}
@ -210,8 +212,7 @@ func (r *PostController) Put(c *gin.Context) {
post, err := r.service.Update(cmd)
if err != nil {
log.Println("Post service error: ", err)
resp := responses.CreateErrorResponse(http.StatusBadRequest, "Bad request")
resp := utils.HandleError(err)
c.JSON(resp.ErrorCode, resp)
return
}
@ -229,13 +230,15 @@ func (r *PostController) Put(c *gin.Context) {
// @Produce json
// @Success 200
// @Failure 400 {object} responses.ErrorResponse
// @Failure 404 {object} responses.ErrorResponse
// @Failure 500 {object} responses.ErrorResponse
// @Router /post/{id} [delete]
func (r *PostController) Delete(c *gin.Context) {
id := c.Param("id")
id_valid, err := uuid.Parse(id)
if err != nil {
log.Println("Post: invalid post id: ", err)
resp := responses.CreateErrorResponse(http.StatusBadRequest, "Bad request")
resp := responses.CreateErrorResponse(http.StatusBadRequest, err.Error())
c.JSON(resp.ErrorCode, resp)
return
}
@ -245,8 +248,7 @@ func (r *PostController) Delete(c *gin.Context) {
}
err = r.service.Delete(cmd)
if err != nil {
log.Println("Post delete error: ", err)
resp := responses.CreateErrorResponse(http.StatusBadRequest, "Bad request")
resp := utils.HandleError(err)
c.JSON(resp.ErrorCode, resp)
return
}