base.go 585 Bytes
package handler

type BaseResponse struct {
	Success bool        `json:"success"`
	Code    int         `json:"code"`
	Data    interface{} `json:"data,omitempty"`
	Error   interface{} `json:"error,omitempty"`
}

type ErrorResponse struct {
	Message string `json:"message"`
	Details string `json:"details,omitempty"`
}

func NewBaseResponse(code int, data interface{}, err error) BaseResponse {
	if err != nil {
		return BaseResponse{
			Success: false,
			Code:    code,
			Error:   formatError(err),
		}
	}
	return BaseResponse{
		Success: true,
		Code:    code,
		Data:    data,
	}
}