correction des pb de space : le spaceId est maintenant dans l'url uniquement
This commit is contained in:
1 parent
c52460bac0
commit
0bb8d1cb46
41 files changed
+1463
-121
No files matched your search
@@ -0,0 +1,100 @@
|
||||
package handlers
|
||||
|
||||
import (
|
||||
"net/http"
|
||||
|
||||
"github.com/labstack/echo/v5"
|
||||
"trankilou.fr/lassistanoque/backend/internal/domain"
|
||||
"trankilou.fr/lassistanoque/backend/internal/service/agent"
|
||||
"trankilou.fr/lassistanoque/backend/internal/service/auth"
|
||||
)
|
||||
|
||||
func NewAgentGroup(prefix string, e *echo.Group, service *agent.Service, middlewares ...echo.MiddlewareFunc) *echo.Group {
|
||||
agentHandler := &AgentHandler{
|
||||
agentService: service,
|
||||
}
|
||||
agent := e.Group(prefix, middlewares...)
|
||||
|
||||
agent.GET("/:space", agentHandler.ListAgents)
|
||||
agent.GET("/:space/:agent", agentHandler.GetAgent)
|
||||
agent.PUT("/:space", agentHandler.UpdateAgent)
|
||||
agent.POST("/:space", agentHandler.CreateAgent)
|
||||
agent.DELETE("/:space/:agent", agentHandler.DeleteAgent)
|
||||
|
||||
return agent
|
||||
}
|
||||
|
||||
type AgentHandler struct {
|
||||
agentService *agent.Service
|
||||
}
|
||||
|
||||
func (h *AgentHandler) ListAgents(c *echo.Context) error {
|
||||
userID := c.Get(auth.ContextUserIDKey).(string)
|
||||
teamID := c.Param("space")
|
||||
agents, err := h.agentService.ListAgents(userID, teamID)
|
||||
if err != nil {
|
||||
c.Logger().Error("error listing agents", err)
|
||||
return echo.NewHTTPError(http.StatusBadRequest, "error listing agents")
|
||||
}
|
||||
return c.JSON(http.StatusOK, agents)
|
||||
}
|
||||
|
||||
func (h *AgentHandler) GetAgent(c *echo.Context) error {
|
||||
userID := c.Get(auth.ContextUserIDKey).(string)
|
||||
teamID := c.Param("space")
|
||||
agentID := c.Param("agent")
|
||||
agent, err := h.agentService.GetAgent(userID, teamID, agentID)
|
||||
if err != nil {
|
||||
c.Logger().Error("error getting agent: %s", err)
|
||||
return echo.NewHTTPError(http.StatusBadRequest, "error getting agent")
|
||||
}
|
||||
return c.JSON(http.StatusOK, agent)
|
||||
}
|
||||
|
||||
func (h *AgentHandler) CreateAgent(c *echo.Context) error {
|
||||
userID := c.Get(auth.ContextUserIDKey).(string)
|
||||
teamID := c.Param("space")
|
||||
var agent domain.Agent
|
||||
err := c.Bind(&agent)
|
||||
if err != nil {
|
||||
c.Logger().Error("error binding agent : %s", err)
|
||||
return echo.NewHTTPError(http.StatusBadRequest, "error binding agent")
|
||||
}
|
||||
agent.TeamID = teamID
|
||||
updagent, err := h.agentService.CreateAgent(userID, &agent)
|
||||
if err != nil {
|
||||
c.Logger().Error("error creating agent: %s", err)
|
||||
return echo.NewHTTPError(http.StatusBadRequest, "error creating agent")
|
||||
}
|
||||
return c.JSON(http.StatusOK, updagent)
|
||||
}
|
||||
|
||||
func (h *AgentHandler) UpdateAgent(c *echo.Context) error {
|
||||
userID := c.Get(auth.ContextUserIDKey).(string)
|
||||
teamID := c.Param("space")
|
||||
var agent domain.Agent
|
||||
err := c.Bind(&agent)
|
||||
if err != nil {
|
||||
c.Logger().Error("error binding agent : %s", err)
|
||||
return echo.NewHTTPError(http.StatusBadRequest, "error binding agent")
|
||||
}
|
||||
agent.TeamID = teamID
|
||||
updagent, err := h.agentService.UpdateAgent(userID, &agent)
|
||||
if err != nil {
|
||||
c.Logger().Error("error updating agent: %s", err)
|
||||
return echo.NewHTTPError(http.StatusBadRequest, "error updating agent")
|
||||
}
|
||||
return c.JSON(http.StatusOK, updagent)
|
||||
}
|
||||
|
||||
func (h *AgentHandler) DeleteAgent(c *echo.Context) error {
|
||||
userID := c.Get(auth.ContextUserIDKey).(string)
|
||||
teamID := c.Param("space")
|
||||
agentID := c.Param("agent")
|
||||
err := h.agentService.DeleteAgent(userID, teamID, agentID)
|
||||
if err != nil {
|
||||
c.Logger().Error("error creating agent: %s", err)
|
||||
return echo.NewHTTPError(http.StatusBadRequest, "error creating agent")
|
||||
}
|
||||
return c.JSON(http.StatusOK, agentID)
|
||||
}
|
||||
@@ -17,6 +17,7 @@ func NewModelGroup(prefix string, e *echo.Group, service *provider.Service, midd
|
||||
|
||||
model.GET("/providerTypes", modelHandler.ListProviderTypes)
|
||||
model.GET("/:space", modelHandler.ListProviders)
|
||||
model.GET("/:space/models", modelHandler.ListProvidersModels)
|
||||
model.POST("/:space/avalable-models", modelHandler.ListAvailableModels)
|
||||
model.GET("/:space/:provider", modelHandler.GetProvider)
|
||||
model.PUT("/:space", modelHandler.UpdateProvider)
|
||||
@@ -116,8 +117,19 @@ func (h *ModelHandler) ListAvailableModels(c *echo.Context) error {
|
||||
provider.TeamID = teamID
|
||||
list, err := h.providerService.ListAvailableModels(c.Request().Context(), &provider)
|
||||
if err != nil {
|
||||
c.Logger().Error("error listing models: %s", err)
|
||||
return echo.NewHTTPError(http.StatusBadRequest, "error creating provider")
|
||||
c.Logger().Error("error listing available models: %s", err)
|
||||
return echo.NewHTTPError(http.StatusBadRequest, "error listing available models")
|
||||
}
|
||||
return c.JSON(http.StatusOK, list)
|
||||
}
|
||||
|
||||
func (h *ModelHandler) ListProvidersModels(c *echo.Context) error {
|
||||
userID := c.Get(auth.ContextUserIDKey).(string)
|
||||
teamID := c.Param("space")
|
||||
list, err := h.providerService.ListProvidersModels(userID, teamID)
|
||||
if err != nil {
|
||||
c.Logger().Error("error listing providers models: %s", err)
|
||||
return echo.NewHTTPError(http.StatusBadRequest, "error listing providers models")
|
||||
}
|
||||
return c.JSON(http.StatusOK, list)
|
||||
}
|
||||
Reference in new issue
Block a user