35 lines
808 B
Go
35 lines
808 B
Go
package Controllers
|
|
|
|
import (
|
|
"Dhaverd/computer-journal/Services"
|
|
"encoding/json"
|
|
"fmt"
|
|
"github.com/gorilla/mux"
|
|
"net/http"
|
|
)
|
|
|
|
func UserController(router *mux.Router) *mux.Router {
|
|
userrouter := router.PathPrefix("/users").Subrouter()
|
|
userrouter.HandleFunc("/", getAllUsers).Methods("GET")
|
|
userrouter.HandleFunc("/{id}", getUserById)
|
|
|
|
return router
|
|
}
|
|
|
|
func getAllUsers(w http.ResponseWriter, r *http.Request) {
|
|
users := Services.GetAllUsers()
|
|
err := json.NewEncoder(w).Encode(users)
|
|
if err != nil {
|
|
fmt.Println("Error encoding users\n" + err.Error())
|
|
}
|
|
}
|
|
|
|
func getUserById(w http.ResponseWriter, r *http.Request) {
|
|
vars := mux.Vars(r)
|
|
user := Services.GetUserById(vars["id"])
|
|
err := json.NewEncoder(w).Encode(user)
|
|
if err != nil {
|
|
fmt.Println("Error encoding user\n" + err.Error())
|
|
}
|
|
}
|