d1db3d04f7
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
38 lines
736 B
Go
38 lines
736 B
Go
package i18n
|
|
|
|
import "strings"
|
|
|
|
type Response struct {
|
|
Code int `json:"code"`
|
|
Err string `json:"error,omitempty"`
|
|
Msg string `json:"message,omitempty"`
|
|
Details string `json:"details,omitempty"`
|
|
}
|
|
|
|
func (r Response) String() string {
|
|
if r.Err != "" {
|
|
return r.Err
|
|
} else {
|
|
return r.Msg
|
|
}
|
|
}
|
|
|
|
func (r Response) LowerString() string {
|
|
return strings.ToLower(r.String())
|
|
}
|
|
|
|
func (r Response) Error() string {
|
|
return r.Err
|
|
}
|
|
|
|
func (r Response) Success() bool {
|
|
return r.Err == "" && r.Code < 400
|
|
}
|
|
|
|
func NewResponse(code int, id Message, params ...interface{}) Response {
|
|
if code < 400 {
|
|
return Response{Code: code, Msg: Msg(id, params...)}
|
|
} else {
|
|
return Response{Code: code, Err: Msg(id, params...)}
|
|
}
|
|
}
|