Skip to content

Instantly share code, notes, and snippets.

@syafdia
Last active August 18, 2021 17:06
Show Gist options
  • Save syafdia/3dfaf9a9a43eebda7f7ec311156d913e to your computer and use it in GitHub Desktop.
Save syafdia/3dfaf9a9a43eebda7f7ec311156d913e to your computer and use it in GitHub Desktop.
package user
import (
"context"
"encoding/json"
"net/http"
)
type userDelivery struct {
registerUserUseCase RegisterUserUseCase
}
func (u *userDelivery) Register(w http.ResponseWriter, r *http.Request) {
var createUserInput CreateUserInput
err := json.NewDecoder(r.Body).Decode(&createUserInput)
if err != nil {
http.Error(w, err.Error(), http.StatusBadRequest)
return
}
newUser, err := u.registerUserUseCase.Execute(r.Context(), createUserInput)
if err != nil {
http.Error(w, err.Error(), http.StatusBadRequest)
return
}
w.Header().Set("Content-Type", "application/json")
w.WriteHeader(http.StatusCreated)
json.NewEncoder(w).Encode(newUser)
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment