You've already forked golang-saas-starter-kit
mirror of
https://github.com/raseels-repos/golang-saas-starter-kit.git
synced 2025-06-17 00:17:59 +02:00
completed updating web-api
This commit is contained in:
48
cmd/web-api/handlers/example.go
Normal file
48
cmd/web-api/handlers/example.go
Normal file
@ -0,0 +1,48 @@
|
||||
package handlers
|
||||
|
||||
import (
|
||||
"context"
|
||||
"geeks-accelerator/oss/saas-starter-kit/internal/platform/auth"
|
||||
"geeks-accelerator/oss/saas-starter-kit/internal/platform/web"
|
||||
"geeks-accelerator/oss/saas-starter-kit/internal/platform/web/webcontext"
|
||||
"geeks-accelerator/oss/saas-starter-kit/internal/platform/web/weberror"
|
||||
"geeks-accelerator/oss/saas-starter-kit/internal/project"
|
||||
"github.com/pkg/errors"
|
||||
"net/http"
|
||||
)
|
||||
|
||||
// Example represents the Example API method handler set.
|
||||
type Example struct {
|
||||
Project *project.Repository
|
||||
|
||||
// ADD OTHER STATE LIKE THE LOGGER AND CONFIG HERE.
|
||||
}
|
||||
|
||||
// ErrorResponse returns example error messages.
|
||||
func (h *Example) ErrorResponse(ctx context.Context, w http.ResponseWriter, r *http.Request, params map[string]string) error {
|
||||
v, err := webcontext.ContextValues(ctx)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
if qv := r.URL.Query().Get("test-validation-error"); qv != "" {
|
||||
_, err := h.Project.Create(ctx, auth.Claims{}, project.ProjectCreateRequest{}, v.Now)
|
||||
return web.RespondJsonError(ctx, w, err)
|
||||
}
|
||||
|
||||
if qv := r.URL.Query().Get("test-web-error"); qv != "" {
|
||||
terr := errors.New("Some random error")
|
||||
terr = errors.WithMessage(terr, "Actual error message")
|
||||
rerr := weberror.NewError(ctx, terr, http.StatusBadRequest).(*weberror.Error)
|
||||
rerr.Message = "Test Web Error Message"
|
||||
return web.RespondJsonError(ctx, w, rerr)
|
||||
}
|
||||
|
||||
if qv := r.URL.Query().Get("test-error"); qv != "" {
|
||||
terr := errors.New("Test error")
|
||||
terr = errors.WithMessage(terr, "Error message")
|
||||
return web.RespondJsonError(ctx, w, terr)
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
Reference in New Issue
Block a user