add users

This commit is contained in:
u80864958
2025-04-30 16:41:30 +02:00
parent f4adfb6a62
commit eed1718a7e
17 changed files with 538 additions and 60 deletions

View File

@ -4,25 +4,32 @@ import (
"net/http"
"git.schreifuchs.ch/schreifuchs/ng-blog/backend/internal/auth"
"git.schreifuchs.ch/schreifuchs/ng-blog/backend/internal/blog"
"git.schreifuchs.ch/schreifuchs/ng-blog/backend/internal/config"
"git.schreifuchs.ch/schreifuchs/ng-blog/backend/internal/model"
"git.schreifuchs.ch/schreifuchs/ng-blog/backend/internal/posts"
"git.schreifuchs.ch/schreifuchs/ng-blog/backend/pkg/cors"
"github.com/gorilla/mux"
)
func CreateMux(cfg *config.Config) (r *mux.Router) {
db := model.Init()
blg := blog.New(db)
blg := posts.New(db)
auth := auth.New(&cfg.Auth, db)
r = mux.NewRouter()
r.Use(cors.HandlerForOrigin("*"))
// auth
r.HandleFunc("/login", auth.Login).Methods("POST")
r.Handle("/posts", auth.Authenticated(blg.SavePost)).Methods("POST")
r.Handle("/posts", auth.Authenticated(blg.SavePost)).Methods("PUT")
r.Handle("/posts/{postID}", auth.Authenticated(blg.DeletePost)).Methods("DELETE")
r.HandleFunc("/signup", auth.Signup).Methods("POST")
r.Handle("logout", auth.Authenticated(auth.Logout)).Methods("POST")
// Posts
r.Handle("/posts", auth.Authenticated(blg.SavePost, model.RoleUser, model.RoleAdmin)).Methods("POST")
r.Handle("/posts", auth.Authenticated(blg.SavePost, model.RoleUser, model.RoleAdmin)).Methods("PUT")
r.Handle("/posts/{postID}", auth.Authenticated(blg.DeletePost, model.RoleUser, model.RoleAdmin)).Methods("DELETE")
r.Handle("/posts", http.HandlerFunc(blg.GetAllPosts)).Methods("GET")
r.Methods("OPTIONS").HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
// The CORS middleware should set up the headers for you
w.WriteHeader(http.StatusNoContent)