123456789101112131415161718192021222324252627282930313233343536373839404142434445 |
- package routes
- import (
- "encoding/json"
- "fmt"
- "net/http"
- "github.com/andreanidouglas/auth/model"
- )
- type UserRequest struct {
- ID uint64 `json:"id"`
- }
- type UserRoutes struct{}
- func (u *UserRoutes) Register(r *Routes) {
- GetUserDetail(r)
- }
- func GetUserDetail(route *Routes) {
- handler := func(w http.ResponseWriter, r *http.Request) {
- var request_body UserRequest
- json_decoder := json.NewDecoder(r.Body)
- json_decoder.Decode(&request_body)
- user, err := model.GetUserById(request_body.ID, &route.Pool)
- if err != nil {
- w.WriteHeader(500)
- fmt.Fprintf(w, "Error getting user details: %v", err)
- return
- }
- err_json := json.NewEncoder(w).Encode(user)
- if err_json != nil {
- w.WriteHeader(500)
- fmt.Fprintf(w, "Error serializing user: %v", err_json)
- return
- }
- }
- route.RegisterRoute("/api/user", "POST", true, handler)
- }
|