1
0
forked from baron/baron-sso
Files
baron-sso/backend/internal/response/error_response.go
chan 31d107ff2e feat(user): support fixed UUID registration and enhance bulk import results
- Added support for fixed UUIDs during bulk registration (Search-first + ExternalID mapping)
- Implemented idempotency and visibility restoration for soft-deleted users
- Enhanced bulk upload UI to show 'New/Updated/Unchanged' status and modified fields
- Added logic to reclaim identifiers (login_id) from colliding records
- Added frontend E2E and backend unit tests for UUID integrity and conflict handling
- Fixed i18n, formatting, and mock tests to satisfy code-check
- Applied 'go fix' for 'omitzero' tags and general Go standards
2026-06-01 15:34:08 +09:00

45 lines
1.0 KiB
Go

package response
import "github.com/gofiber/fiber/v2"
type ErrorResponse struct {
Error string `json:"error"`
Code string `json:"code,omitempty"`
Details any `json:"details,omitempty"`
}
func Error(c *fiber.Ctx, status int, code, message string) error {
return ErrorWithDetails(c, status, code, message, nil)
}
func ErrorWithDetails(c *fiber.Ctx, status int, code, message string, details any) error {
resp := ErrorResponse{
Error: message,
Code: code,
Details: details,
}
return c.Status(status).JSON(resp)
}
func StatusCode(status int) string {
switch status {
case fiber.StatusBadRequest:
return "bad_request"
case fiber.StatusUnauthorized:
return "invalid_session"
case fiber.StatusForbidden:
return "forbidden"
case fiber.StatusNotFound:
return "not_found"
case fiber.StatusConflict:
return "conflict"
case fiber.StatusTooManyRequests:
return "rate_limited"
case fiber.StatusServiceUnavailable:
return "service_unavailable"
default:
return "internal_error"
}
}