adding validated services? patching forcad_local.py
This commit is contained in:
52
OmCTF-2025/services/block_game/backend/main.go
Normal file
52
OmCTF-2025/services/block_game/backend/main.go
Normal file
@@ -0,0 +1,52 @@
|
||||
package main
|
||||
|
||||
import (
|
||||
"log"
|
||||
"net/http"
|
||||
|
||||
"omctf.ru/block-game-backend/auth"
|
||||
"omctf.ru/block-game-backend/auth/session"
|
||||
"omctf.ru/block-game-backend/db"
|
||||
"omctf.ru/block-game-backend/route"
|
||||
"omctf.ru/block-game-backend/utils"
|
||||
|
||||
"github.com/gorilla/mux"
|
||||
_ "github.com/lib/pq"
|
||||
)
|
||||
|
||||
func main() {
|
||||
// to log line numbers
|
||||
log.SetFlags(log.LstdFlags | log.Lshortfile)
|
||||
|
||||
db.Initialize()
|
||||
defer db.Close()
|
||||
|
||||
err := session.Initialize()
|
||||
if err != nil {
|
||||
log.Fatalf("failed to initialize session: %v", err)
|
||||
}
|
||||
|
||||
go utils.OccasionallyCleanUp()
|
||||
|
||||
// Setup HTTP routes
|
||||
r := mux.NewRouter()
|
||||
|
||||
authRouter := r.PathPrefix("/auth").Subrouter()
|
||||
authRouter.HandleFunc("/login", route.Login).Methods("POST")
|
||||
authRouter.HandleFunc("/register", route.Register).Methods("POST")
|
||||
authRouter.HandleFunc("/logout", route.Logout).Methods("POST")
|
||||
|
||||
userRouter := r.PathPrefix("/user").Subrouter()
|
||||
userRouter.Use(auth.Middleware)
|
||||
userRouter.HandleFunc("", route.Whoami).Methods("GET")
|
||||
userRouter.HandleFunc("", route.GetUser).Methods("POST")
|
||||
userRouter.HandleFunc("/level", route.FindLevel).Methods("GET")
|
||||
userRouter.HandleFunc("/level", route.CreateLevel).Methods("POST")
|
||||
userRouter.HandleFunc("/levels", route.ListLevels).Methods("GET")
|
||||
userRouter.HandleFunc("/level/{levelId:[0-9]+}", route.GetLevel).Methods("GET")
|
||||
userRouter.HandleFunc("/level/{levelId:[0-9]+}/play", route.PlayLevel).Methods("GET")
|
||||
userRouter.HandleFunc("/level/invite", route.InviteToLevel).Methods("POST")
|
||||
|
||||
log.Println("Server starting on :8080")
|
||||
log.Fatal(http.ListenAndServe(":8080", r))
|
||||
}
|
||||
Reference in New Issue
Block a user