39 lines
811 B
Go
39 lines
811 B
Go
|
|
package transformer
|
||
|
|
|
||
|
|
import (
|
||
|
|
"github.com/gin-gonic/gin"
|
||
|
|
)
|
||
|
|
|
||
|
|
type Transformer interface {
|
||
|
|
Success(c *gin.Context, statusCode int, message string, data interface{})
|
||
|
|
Error(c *gin.Context, statusCode int, message string, err error)
|
||
|
|
}
|
||
|
|
|
||
|
|
type ResponseTransformer struct{}
|
||
|
|
|
||
|
|
func NewTransformer() Transformer {
|
||
|
|
return &ResponseTransformer{}
|
||
|
|
}
|
||
|
|
|
||
|
|
func (t *ResponseTransformer) Success(c *gin.Context, statusCode int, message string, data interface{}) {
|
||
|
|
response := gin.H{
|
||
|
|
"success": true,
|
||
|
|
"message": message,
|
||
|
|
"data": data,
|
||
|
|
}
|
||
|
|
c.JSON(statusCode, response)
|
||
|
|
}
|
||
|
|
|
||
|
|
func (t *ResponseTransformer) Error(c *gin.Context, statusCode int, message string, err error) {
|
||
|
|
response := gin.H{
|
||
|
|
"success": false,
|
||
|
|
"message": message,
|
||
|
|
}
|
||
|
|
|
||
|
|
if err != nil {
|
||
|
|
response["error"] = err.Error()
|
||
|
|
}
|
||
|
|
|
||
|
|
c.JSON(statusCode, response)
|
||
|
|
}
|