Files
schisandra-album-cloud-micr…/app/core/api/common/response/response.go
2024-11-18 01:24:38 +08:00

75 lines
1.7 KiB
Go

package response
import (
"context"
"schisandra-album-cloud-microservices/app/core/api/common/i18n"
"schisandra-album-cloud-microservices/app/core/api/internal/types"
)
// SuccessWithData returns a success response with the given data.
func SuccessWithData[T any](data T) *types.Response {
return &types.Response{
Code: 200,
Message: "success",
Data: data,
}
}
// Success returns a success response with nil data.
func Success() *types.Response {
return &types.Response{
Code: 200,
Message: "success",
}
}
// SuccessWithMessage returns a success response with the given message.
func SuccessWithMessage(message string) *types.Response {
return &types.Response{
Code: 200,
Message: message,
}
}
// Error returns an error response with the given message.
func Error() *types.Response {
return &types.Response{
Code: 500,
Message: "error",
}
}
// ErrorWithCode returns an error response with the given code and message.
func ErrorWithCode(code int64) *types.Response {
return &types.Response{
Code: code,
Message: "error",
}
}
// ErrorWithCodeMessage returns an error response with the given code and message.
func ErrorWithCodeMessage(code int64, message string) *types.Response {
return &types.Response{
Code: code,
Message: message,
}
}
// ErrorWithMessage returns an error response with the given message.
func ErrorWithMessage(message string) *types.Response {
return &types.Response{
Code: 500,
Message: message,
}
}
// ErrorWithI18n returns an error response with the given message.
func ErrorWithI18n(ctx context.Context, msgId string) *types.Response {
message := i18n.FormatText(ctx, msgId)
return &types.Response{
Code: 500,
Message: message,
}
}