all repos — go-lift @ 2e1c54060dc6096e5772a13f5248451e86b03f6d

Lightweight workout tracker prototype..

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}