Changeset 0.29.0 (#195)
This commit is contained in:
@@ -24,6 +24,7 @@ import (
|
||||
"git.gobha.me/xcaliber/chat-switchboard/store"
|
||||
postgres "git.gobha.me/xcaliber/chat-switchboard/store/postgres"
|
||||
sqlite "git.gobha.me/xcaliber/chat-switchboard/store/sqlite"
|
||||
"git.gobha.me/xcaliber/chat-switchboard/treepath"
|
||||
)
|
||||
|
||||
// ── Test Harness ────────────────────────────
|
||||
@@ -128,6 +129,7 @@ func setupHarness(t *testing.T) *testHarness {
|
||||
} else {
|
||||
stores = postgres.NewStores(database.TestDB)
|
||||
}
|
||||
treepath.Stores = &stores
|
||||
userCache := middleware.NewUserStatusCache()
|
||||
|
||||
// Roles resolver (nil vault — test-fire won't work, but CRUD will)
|
||||
@@ -175,7 +177,7 @@ func setupHarness(t *testing.T) *testHarness {
|
||||
protected.GET("/teams/mine", teams.MyTeams)
|
||||
|
||||
teamScoped := protected.Group("/teams/:teamId")
|
||||
teamScoped.Use(middleware.RequireTeamAdmin())
|
||||
teamScoped.Use(middleware.RequireTeamAdmin(stores.Teams))
|
||||
{
|
||||
// Team members (team admin self-service)
|
||||
teamScoped.GET("/members", teams.ListMembers)
|
||||
@@ -235,7 +237,7 @@ func setupHarness(t *testing.T) *testHarness {
|
||||
// users bypass the DB query so these tests work on both dialects when
|
||||
// the caller is an admin. Non-admin member tests require Postgres.
|
||||
teamMemberRoutes := protected.Group("/teams/:teamId")
|
||||
teamMemberRoutes.Use(middleware.RequireTeamMember())
|
||||
teamMemberRoutes.Use(middleware.RequireTeamMember(stores.Teams))
|
||||
{
|
||||
teamMemberTaskH := NewTaskHandler(stores)
|
||||
teamMemberRoutes.GET("/tasks", teamMemberTaskH.ListTeamTasks)
|
||||
@@ -247,7 +249,7 @@ func setupHarness(t *testing.T) *testHarness {
|
||||
protected.GET("/usage", usage.PersonalUsage)
|
||||
|
||||
// Profile / Settings
|
||||
settings := NewSettingsHandler(nil)
|
||||
settings := NewSettingsHandler(stores, nil)
|
||||
protected.GET("/profile", settings.GetProfile)
|
||||
protected.PUT("/profile", settings.UpdateProfile)
|
||||
protected.POST("/profile/password", settings.ChangePassword)
|
||||
@@ -270,7 +272,7 @@ func setupHarness(t *testing.T) *testHarness {
|
||||
protected.PUT("/personas/:id/tool-grants", personas.SetPersonaToolGrants) // v0.25.0
|
||||
|
||||
// Persona Groups
|
||||
pgH := NewPersonaGroupHandler()
|
||||
pgH := NewPersonaGroupHandler(stores)
|
||||
protected.GET("/persona-groups", pgH.List)
|
||||
protected.POST("/persona-groups", pgH.Create)
|
||||
protected.GET("/persona-groups/:id", pgH.Get)
|
||||
@@ -288,7 +290,7 @@ func setupHarness(t *testing.T) *testHarness {
|
||||
protected.DELETE("/notes/:id", notes.Delete)
|
||||
|
||||
// Channels
|
||||
channels := NewChannelHandler()
|
||||
channels := NewChannelHandler(stores)
|
||||
protected.GET("/channels", channels.ListChannels)
|
||||
protected.POST("/channels", channels.CreateChannel)
|
||||
protected.GET("/channels/:id", channels.GetChannel)
|
||||
@@ -386,8 +388,8 @@ func setupHarness(t *testing.T) *testHarness {
|
||||
admin.POST("/personas", personas.CreateAdminPersona)
|
||||
admin.PUT("/personas/:id", personas.UpdateAdminPersona)
|
||||
admin.DELETE("/personas/:id", personas.DeleteAdminPersona)
|
||||
admin.POST("/personas/:id/avatar", UploadPersonaAvatar)
|
||||
admin.DELETE("/personas/:id/avatar", DeletePersonaAvatar)
|
||||
admin.POST("/personas/:id/avatar", func(c *gin.Context) { UploadPersonaAvatar(stores.Personas, c) })
|
||||
admin.DELETE("/personas/:id/avatar", func(c *gin.Context) { DeletePersonaAvatar(stores.Personas, c) })
|
||||
admin.GET("/personas/:id/knowledge-bases", personas.GetPersonaKBs) // v0.17.0
|
||||
admin.PUT("/personas/:id/knowledge-bases", personas.SetPersonaKBs) // v0.17.0
|
||||
admin.GET("/personas/:id/tool-grants", personas.GetPersonaToolGrants) // v0.25.0
|
||||
|
||||
Reference in New Issue
Block a user