mirror of
https://github.com/crawlab-team/crawlab.git
synced 2026-01-28 17:50:56 +01:00
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:
@@ -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))
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user