// Package screenmatch is the screenMATCH tool router: single candidate qualification and the candidate // pool ranked against one requirement. It is a thin HTTP namespace over the SHARED scoring core in // internal/modules/matching and never re implements scoring, so a candidate screened here shows the // same numbers as in slateMATCH and missionMATCH. The same core handlers also serve the flat alias // paths (POST /match and friends), so the pre split URLs keep working while the canonical paths move // under /api/screenmatch. package screenmatch import ( "github.com/go-chi/chi/v5" "github.com/missionworkforce/missionmatch/internal/modules/matching" ) // Handler mounts the screenMATCH endpoints. It holds the shared matching handler so the namespace and // the flat aliases share exactly one implementation and one engine. type Handler struct{ core *matching.Handler } // NewHandler builds the screenMATCH router over the shared matching handler. func NewHandler(core *matching.Handler) *Handler { return &Handler{core: core} } // Routes registers the screenMATCH namespace under the caller's mount point: the screening endpoints // plus the shared candidate and requirement pickers the tool needs to choose a target. func (h *Handler) Routes(r chi.Router) { h.core.ScreenRoutes(r) h.core.ReadRoutes(r) }