aboutsummaryrefslogtreecommitdiffstats
path: root/api/dto/response.go
diff options
context:
space:
mode:
authorLeonardo Bishop <me@leonardobishop.com>2025-08-14 18:07:12 +0100
committerLeonardo Bishop <me@leonardobishop.com>2025-08-14 18:07:12 +0100
commit4697556cac819c47d068819b9fc9c3b4ea84e279 (patch)
treeb832d8fc6b643a8b9d0eeca35c1268e1649da731 /api/dto/response.go
parentdd49c9205bb04844b686b9c3396c40eb49d25826 (diff)
Merge confplanner-web and replace fiber with native net/http
Diffstat (limited to 'api/dto/response.go')
-rw-r--r--api/dto/response.go17
1 files changed, 17 insertions, 0 deletions
diff --git a/api/dto/response.go b/api/dto/response.go
index 43f98bd..2c13218 100644
--- a/api/dto/response.go
+++ b/api/dto/response.go
@@ -2,20 +2,37 @@ package dto
import "fmt"
+type Response interface {
+ Error() string
+ Status() int
+}
+
type OkResponse struct {
Code int `json:"code"`
Data interface{} `json:"data,omitempty"`
}
+var _ Response = (*OkResponse)(nil)
+
type ErrorResponse struct {
Code int `json:"code"`
Message string `json:"message"`
}
+var _ Response = (*ErrorResponse)(nil)
+
+func (r *OkResponse) Status() int {
+ return r.Code
+}
+
func (r *OkResponse) Error() string {
return fmt.Sprintf("HTTP status %d", r.Code)
}
+func (r *ErrorResponse) Status() int {
+ return r.Code
+}
+
func (r *ErrorResponse) Error() string {
return fmt.Sprintf("HTTP status %d: %s", r.Code, r.Message)
}