package shared type BaseErrorResponse struct { Success bool `json:"success"` Code int `json:"code"` Message string `json:"message"` Errors []string `json:"errors"` } type BaseResponse[T any] struct { Success bool `json:"success"` Code int `json:"code"` Message string `json:"message"` Data T `json:"data" swaggertype:"object"` } type BaseResponsePaginate[T any] struct { BaseResponse[T] Paginate PaginationInfo } func ToBaseResponse[T any](data T, isSuccess bool, code int, message string) BaseResponse[T] { return BaseResponse[T]{ Success: true, Code: 200, Message: message, Data: data, } } func ToBaseResponsePaginate[T any](data T, paginate PaginationInfo, isSuccess bool, code int, message string) BaseResponsePaginate[T] { return BaseResponsePaginate[T]{ BaseResponse: BaseResponse[T]{ Success: true, Code: 200, Message: message, Data: data, }, Paginate: paginate, } }