feat(backend): implement category stack
Add category repo, service, handler, and wire all /categories endpoints including list, create, get, update, delete, and list-tags. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -12,6 +12,7 @@ func NewRouter(
|
||||
authHandler *AuthHandler,
|
||||
fileHandler *FileHandler,
|
||||
tagHandler *TagHandler,
|
||||
categoryHandler *CategoryHandler,
|
||||
) *gin.Engine {
|
||||
r := gin.New()
|
||||
r.Use(gin.Logger(), gin.Recovery())
|
||||
@@ -91,5 +92,20 @@ func NewRouter(
|
||||
tags.DELETE("/:tag_id/rules/:then_tag_id", tagHandler.DeleteRule)
|
||||
}
|
||||
|
||||
// -------------------------------------------------------------------------
|
||||
// Categories (all require auth)
|
||||
// -------------------------------------------------------------------------
|
||||
categories := v1.Group("/categories", auth.Handle())
|
||||
{
|
||||
categories.GET("", categoryHandler.List)
|
||||
categories.POST("", categoryHandler.Create)
|
||||
|
||||
categories.GET("/:category_id", categoryHandler.Get)
|
||||
categories.PATCH("/:category_id", categoryHandler.Update)
|
||||
categories.DELETE("/:category_id", categoryHandler.Delete)
|
||||
|
||||
categories.GET("/:category_id/tags", categoryHandler.ListTags)
|
||||
}
|
||||
|
||||
return r
|
||||
}
|
||||
Reference in New Issue
Block a user