better api paths

This commit is contained in:
samantha42
2026-03-21 09:25:02 +01:00
parent abc17d92dd
commit 3f203178b2
7 changed files with 166 additions and 84 deletions

View File

@@ -20,7 +20,7 @@ func NewReferenceHandler(repo *database.ReferenceRepo) *ReferenceHandler {
// ── Departments ───────────────────────────────────────────────────────────────
// POST /api/v1/departments
// POST /api/v1/department/create
// PUT /api/v1/departments/{id} (same body, id from path)
func (h *ReferenceHandler) CreateDepartment(w http.ResponseWriter, r *http.Request) {
var req database.Department
@@ -47,7 +47,7 @@ func (h *ReferenceHandler) CreateDepartment(w http.ResponseWriter, r *http.Reque
writeJSON(w, http.StatusCreated, dept)
}
// GET /api/v1/departments
// GET /api/v1/department/list
func (h *ReferenceHandler) ListDepartments(w http.ResponseWriter, r *http.Request) {
depts, err := h.repo.ListDepartments(r.Context())
if err != nil {
@@ -60,8 +60,16 @@ func (h *ReferenceHandler) ListDepartments(w http.ResponseWriter, r *http.Reques
writeJSON(w, http.StatusOK, depts)
}
// DELETE /api/v1/departments/{id}
// DELETE /api/v1/department/delete
func (h *ReferenceHandler) DeleteDepartment(w http.ResponseWriter, r *http.Request) {
var req struct {
ID int `json:"id"`
}
if err := json.NewDecoder(r.Body).Decode(&req); err != nil {
writeError(w, http.StatusBadRequest, fmt.Sprintf("invalid body: %v", err))
return
}
id, err := pathID(r, "id")
if err != nil {
writeError(w, http.StatusBadRequest, "invalid id")