refactor: standardize response types across controllers

- Updated multiple controller methods to return VoidResponse instead of generic Response[any].
- Consolidated error handling to utilize GetErrorVoidResponse for consistent error responses.
- Enhanced parameter handling in export and file management functions for improved clarity and maintainability.
- Refactored health check and login/logout methods to align with new response structure.
- Improved overall consistency in response formatting across various endpoints.
This commit is contained in:
Marvin Zhang
2025-03-16 22:25:13 +08:00
parent 700c263cfe
commit 43d1c7692b
16 changed files with 175 additions and 135 deletions

View File

@@ -11,18 +11,22 @@ import (
)
type PostExportParams struct {
Type string `path:"type" validate:"required"`
Target string `query:"target" validate:"required"`
Filter interfaces.Filter `query:"filter"`
Type string `path:"type" validate:"required"`
Target string `query:"target" validate:"required"`
Conditions string `query:"conditions" description:"Filter conditions. Format: [{\"key\":\"name\",\"op\":\"eq\",\"value\":\"test\"}]"`
}
func PostExport(_ *gin.Context, params *PostExportParams) (response *Response[string], err error) {
query, err := GetFilterQueryFromConditionString(params.Conditions)
if err != nil {
return GetErrorResponse[string](err)
}
var exportId string
switch params.Type {
case constants.ExportTypeCsv:
exportId, err = export.GetCsvService().Export(params.Type, params.Target, params.Filter)
exportId, err = export.GetCsvService().Export(params.Type, params.Target, query)
case constants.ExportTypeJson:
exportId, err = export.GetJsonService().Export(params.Type, params.Target, params.Filter)
exportId, err = export.GetJsonService().Export(params.Type, params.Target, query)
default:
return GetErrorResponse[string](errors.BadRequestf("invalid export type: %s", params.Type))
}