blob: 4bd538aaacaecdf664f3b557297221413a4835fd (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
|
package main
import (
"net/http"
"os"
"github.com/boozec/rahanna/internal/api/database"
"github.com/boozec/rahanna/internal/api/handlers"
"github.com/boozec/rahanna/internal/api/middleware"
"github.com/boozec/rahanna/internal/logger"
"github.com/gorilla/mux"
"github.com/rs/cors"
)
func main() {
database.InitDb(os.Getenv("DATABASE_URL"))
log := logger.InitLogger("rahanna.log")
r := mux.NewRouter()
r.HandleFunc("/auth/register", handlers.RegisterUser).Methods(http.MethodPost)
r.HandleFunc("/auth/login", handlers.LoginUser).Methods(http.MethodPost)
r.Handle("/play", middleware.AuthMiddleware(http.HandlerFunc(handlers.NewPlay))).Methods(http.MethodPost)
r.Handle("/play", middleware.AuthMiddleware(http.HandlerFunc(handlers.AllPlay))).Methods(http.MethodGet)
r.Handle("/play/{id}", middleware.AuthMiddleware(http.HandlerFunc(handlers.GetGameId))).Methods(http.MethodGet)
r.Handle("/play/{id}/end", middleware.AuthMiddleware(http.HandlerFunc(handlers.EndGame))).Methods(http.MethodPost)
r.Handle("/enter-game", middleware.AuthMiddleware(http.HandlerFunc(handlers.EnterGame))).Methods(http.MethodPost)
log.Info("Serving on :8080")
handler := cors.AllowAll().Handler(r)
if err := http.ListenAndServe(":8080", handler); err != nil {
panic(err)
}
}
|