aditya.siregar 4f5950543e init
2025-07-18 20:10:29 +07:00

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)
}