Add notification count to user, populate sidebar via alpine

This commit is contained in:
Eli Ribble 2026-03-13 21:22:34 +00:00
parent 6fb964852f
commit 3e1b56a266
No known key found for this signature in database
11 changed files with 3126 additions and 54 deletions

View file

@ -27,6 +27,7 @@ func AddRoutes(r chi.Router) {
r.Method("GET", "/signal", authenticatedHandlerJSON(listSignal))
r.Method("GET", "/trap-data", auth.NewEnsureAuth(apiTrapData))
r.Method("GET", "/tile/{z}/{y}/{x}", auth.NewEnsureAuth(getTile))
r.Method("GET", "/user", authenticatedHandlerJSON(getUser))
// Unauthenticated endpoints
r.Get("/district", apiGetDistrict)

18
api/user.go Normal file
View file

@ -0,0 +1,18 @@
package api
import (
"context"
"net/http"
nhttp "github.com/Gleipnir-Technology/nidus-sync/http"
"github.com/Gleipnir-Technology/nidus-sync/platform"
)
func getUser(ctx context.Context, r *http.Request, user platform.User, query queryParams) (*platform.User, *nhttp.ErrorWithStatus) {
counts, err := platform.NotificationCountsForUser(ctx, user)
if err != nil {
return nil, nhttp.NewError("get notifications: %w", err)
}
user.NotificationCounts = *counts
return &user, nil
}