28 lines
530 B
Go
28 lines
530 B
Go
package handlers
|
|
|
|
// SeaResponse is a generic response type for the API.
|
|
// It is used to return data or errors.
|
|
type SeaResponse[R any] struct {
|
|
Error string `json:"error,omitempty"`
|
|
Data R `json:"data,omitempty"`
|
|
}
|
|
|
|
func NewDataResponse[R any](data R) SeaResponse[R] {
|
|
res := SeaResponse[R]{
|
|
Data: data,
|
|
}
|
|
return res
|
|
}
|
|
|
|
func NewErrorResponse(err error) SeaResponse[any] {
|
|
if err == nil {
|
|
return SeaResponse[any]{
|
|
Error: "Unknown error",
|
|
}
|
|
}
|
|
res := SeaResponse[any]{
|
|
Error: err.Error(),
|
|
}
|
|
return res
|
|
}
|