create CMS error handling
This commit is contained in:
+12
-29
@@ -53,21 +53,17 @@ func (h *Handler) GetByKey(c echo.Context) error {
|
||||
// @Failure 500 {object} response.APIResponse
|
||||
// @Router /admin/v1/cms [post]
|
||||
func (h *Handler) Create(c echo.Context) error {
|
||||
form, err := response.Parse[CMSForm](c)
|
||||
form, err := ParseForm(c)
|
||||
if err != nil {
|
||||
return response.ValidationError(c, "Invalid request data", err.Error())
|
||||
return handleParseError(c, err)
|
||||
}
|
||||
|
||||
// Create CMS
|
||||
cms, err := h.service.Create(c.Request().Context(), form)
|
||||
if err != nil {
|
||||
if err == ErrCMSKeyExists {
|
||||
return response.Conflict(c, "CMS with this key already exists")
|
||||
}
|
||||
return response.InternalServerError(c, "Failed to create CMS")
|
||||
return handleServiceError(c, err, "Failed to create marketing page")
|
||||
}
|
||||
|
||||
return response.Created(c, cms, "CMS entry created successfully")
|
||||
return response.Created(c, cms, "Marketing page created successfully")
|
||||
}
|
||||
|
||||
// GetByID handles retrieving a CMS entry by ID (admin only)
|
||||
@@ -86,13 +82,10 @@ func (h *Handler) GetByID(c echo.Context) error {
|
||||
|
||||
cms, err := h.service.GetByID(c.Request().Context(), id)
|
||||
if err != nil {
|
||||
if err.Error() == "cms not found" {
|
||||
return response.NotFound(c, "CMS entry not found")
|
||||
}
|
||||
return response.InternalServerError(c, "Failed to get CMS entry")
|
||||
return handleServiceError(c, err, "Failed to get marketing page")
|
||||
}
|
||||
|
||||
return response.Success(c, cms, "CMS entry retrieved successfully")
|
||||
return response.Success(c, cms, "Marketing page retrieved successfully")
|
||||
}
|
||||
|
||||
// Update handles updating a CMS entry (admin only)
|
||||
@@ -112,24 +105,17 @@ func (h *Handler) GetByID(c echo.Context) error {
|
||||
func (h *Handler) Update(c echo.Context) error {
|
||||
id := c.Param("id")
|
||||
|
||||
form, err := response.Parse[CMSForm](c)
|
||||
form, err := ParseForm(c)
|
||||
if err != nil {
|
||||
return response.ValidationError(c, "Invalid request data", err.Error())
|
||||
return handleParseError(c, err)
|
||||
}
|
||||
|
||||
// Update CMS
|
||||
cms, err := h.service.Update(c.Request().Context(), id, form)
|
||||
if err != nil {
|
||||
if err == ErrCMSKeyExists {
|
||||
return response.Conflict(c, "CMS with this key already exists")
|
||||
}
|
||||
if err.Error() == "cms not found" {
|
||||
return response.NotFound(c, "CMS entry not found")
|
||||
}
|
||||
return response.InternalServerError(c, "Failed to update CMS entry")
|
||||
return handleServiceError(c, err, "Failed to update marketing page")
|
||||
}
|
||||
|
||||
return response.Success(c, cms, "CMS entry updated successfully")
|
||||
return response.Success(c, cms, "Marketing page updated successfully")
|
||||
}
|
||||
|
||||
// Delete handles deleting a CMS entry (admin only)
|
||||
@@ -148,13 +134,10 @@ func (h *Handler) Delete(c echo.Context) error {
|
||||
|
||||
err := h.service.Delete(c.Request().Context(), id)
|
||||
if err != nil {
|
||||
if err.Error() == "cms not found" {
|
||||
return response.NotFound(c, "CMS entry not found")
|
||||
}
|
||||
return response.InternalServerError(c, "Failed to delete CMS entry")
|
||||
return handleServiceError(c, err, "Failed to delete marketing page")
|
||||
}
|
||||
|
||||
return response.Success(c, nil, "CMS entry deleted successfully")
|
||||
return response.Success(c, nil, "Marketing page deleted successfully")
|
||||
}
|
||||
|
||||
// Search handles searching CMS entries (admin only)
|
||||
|
||||
Reference in New Issue
Block a user