src/api/routes.go (view raw)
1package api
2
3import (
4 "net/http"
5
6 "gorm.io/gorm"
7)
8
9func GetServeMux(db *gorm.DB) *http.ServeMux {
10 mux := http.NewServeMux()
11
12 mux.HandleFunc("GET /authelia/api/user/info", mockAutheliaHandler)
13
14 mux.HandleFunc("GET /api/ping", pingHandler)
15 mux.HandleFunc("GET /api/connection", connectionHandler(db))
16
17 // Routines routes
18 mux.HandleFunc("GET /api/routines", getRoutinesHandler(db))
19 mux.HandleFunc("GET /api/routines/{id}", getRoutineHandler(db))
20 mux.HandleFunc("POST /api/routines", createRoutineHandler(db))
21 mux.HandleFunc("PUT /api/routines/{id}", updateRoutineHandler(db))
22 mux.HandleFunc("DELETE /api/routines/{id}", deleteRoutineHandler(db))
23
24 // Exercises routes
25 mux.HandleFunc("GET /api/exercises", getExercisesHandler(db))
26 mux.HandleFunc("GET /api/exercises/{id}", getExerciseHandler(db))
27 mux.HandleFunc("POST /api/exercises", createExerciseHandler(db))
28 mux.HandleFunc("PUT /api/exercises/{id}", updateExerciseHandler(db))
29 mux.HandleFunc("DELETE /api/exercises/{id}", deleteExerciseHandler(db))
30
31 // RecordRoutines routes
32 mux.HandleFunc("GET /api/recordroutines", getRecordRoutinesHandler(db))
33 mux.HandleFunc("GET /api/recordroutines/{id}", getRecordRoutineHandler(db))
34 mux.HandleFunc("POST /api/recordroutines", createRecordRoutineHandler(db))
35 mux.HandleFunc("PUT /api/recordroutines/{id}", updateRecordRoutineHandler(db))
36 mux.HandleFunc("DELETE /api/recordroutines/{id}", deleteRecordRoutineHandler(db))
37
38 return mux
39}