Merged in feature/update (pull request #27)

Query Update

* baselineupdate

* baseupdateplusmodelupdates

* passtests

* somemoresubmittesting

* testinnerfunctions

* readmeandinstall

* cleanerstartup

* readmeplusdeps

* tidyatrighttime

* validatetests

* normalizedontvalidate

* abitofzenormalizationcleanup

* addunitstestforhelperfuns

* normalizeactiveversiontestas
This commit is contained in:
Michael McGuinness
2025-01-20 13:31:48 +00:00
parent 897fd1c6dd
commit 518927c395
52 changed files with 1705 additions and 461 deletions
+18 -12
View File
@@ -53,17 +53,9 @@ func (s *Controllers) CreateQuery(ctx echo.Context) error {
return echo.NewHTTPError(http.StatusBadRequest, err)
}
requiredQueryIDs := []uuid.UUID{}
if req.RequiredQueries != nil {
requiredQueryIDs := make([]uuid.UUID, len(*req.RequiredQueries))
for index, id := range *req.RequiredQueries {
parsedID, err := uuid.Parse(id)
if err != nil {
return echo.NewHTTPError(http.StatusBadRequest, "Invalid Required ID")
}
requiredQueryIDs[index] = parsedID
}
requiredQueryIDs, err := parseStringToUUIDArray(req.RequiredQueries)
if err != nil {
return echo.NewHTTPError(http.StatusBadRequest, "Invalid Required IDs")
}
qt, err := parseSpecQueryType(req.Type)
@@ -74,6 +66,7 @@ func (s *Controllers) CreateQuery(ctx echo.Context) error {
id, err := s.svc.Query.Create(ctx.Request().Context(), &queryprocessor.Create{
Type: qt,
RequiredQueryIDs: requiredQueryIDs,
Config: req.Config,
})
if err != nil {
return echo.NewHTTPError(http.StatusBadRequest, fmt.Sprintf("Unable to create query: %s", err))
@@ -85,13 +78,26 @@ func (s *Controllers) CreateQuery(ctx echo.Context) error {
}
func (s *Controllers) UpdateQuery(ctx echo.Context, id string) error {
req := QueryUpdate{}
if err := ctx.Bind(&req); err != nil {
return echo.NewHTTPError(http.StatusBadRequest, err)
}
uid, err := uuid.Parse(id)
if err != nil {
return echo.NewHTTPError(http.StatusBadRequest, "Invalid ID")
}
requiredQueryIDs, err := parseStringToUUIDArray(req.RequiredQueries)
if err != nil {
return echo.NewHTTPError(http.StatusBadRequest, "Invalid Required IDs")
}
err = s.svc.Query.Update(ctx.Request().Context(), &queryprocessor.Update{
ID: uid,
ActiveVersion: req.ActiveVersion,
Config: req.Config,
RequiredQueryIDs: requiredQueryIDs,
ID: uid,
})
if err != nil {
return echo.NewHTTPError(http.StatusBadRequest, fmt.Sprintf("Unable to update query: %s", err))