diff --git a/db/bolt/integrations.go b/db/bolt/integrations.go index 372406276..ce254fd5e 100644 --- a/db/bolt/integrations.go +++ b/db/bolt/integrations.go @@ -187,17 +187,17 @@ var integrationAliasProps = db.ObjectProps{ PrimaryColumnName: "alias", } -var projectLevelIntegrationId = -1 - func (d *BoltDb) GetIntegrationAliases(projectID int, integrationID *int) (res []db.IntegrationAlias, err error) { - if integrationID == nil { - integrationID = &projectLevelIntegrationId - } err = d.getObjects(projectID, db.IntegrationAliasProps, db.RetrieveQueryParams{}, func(i interface{}) bool { alias := i.(db.IntegrationAlias) - return alias.IntegrationID == integrationID - }, res) + if alias.IntegrationID == nil && integrationID == nil { + return true + } else if alias.IntegrationID != nil && integrationID != nil { + return *alias.IntegrationID == *integrationID + } + return false + }, &res) return } @@ -212,13 +212,24 @@ func (d *BoltDb) GetIntegrationsByAlias(alias string) (res []db.Integration, err } if aliasObj.IntegrationID == nil { - err = db.ErrNotFound - return - } + err = d.getObjects(aliasObj.ProjectID, db.IntegrationProps, db.RetrieveQueryParams{}, func(i interface{}) bool { + integration := i.(db.Integration) + return integration.Searchable + }, &res) - integration, err := d.GetIntegration(aliasObj.ProjectID, *aliasObj.IntegrationID) + if err != nil { + return + } + + } else { + var integration db.Integration + integration, err = d.GetIntegration(aliasObj.ProjectID, *aliasObj.IntegrationID) + if err != nil { + return + } + res = append(res, integration) + } - res = append(res, integration) return } diff --git a/db/sql/integration.go b/db/sql/integration.go index f5dd423c5..39935c616 100644 --- a/db/sql/integration.go +++ b/db/sql/integration.go @@ -56,15 +56,6 @@ func (d *SqlDb) GetIntegrationRefs(projectID int, integrationID int) (referrers } func (d *SqlDb) DeleteIntegration(projectID int, integrationID int) error { - //extractors, err := d.GetIntegrationExtractors(0, db.RetrieveQueryParams{}, integrationID) - // - //if err != nil { - // return err - //} - // - //for extractor := range extractors { - // d.DeleteIntegrationExtractor(0, extractors[extractor].ID, integrationID) - //} return d.deleteObject(projectID, db.IntegrationProps, integrationID) } @@ -261,13 +252,14 @@ func (d *SqlDb) UpdateIntegrationMatcher(projectID int, integrationMatcher db.In } _, err = d.exec( - "update project__integration_matcher set match_type=?, `method`=?, body_data_type=?, `key`=?, `value`=?, `name`=? where `id`=?", + "update project__integration_matcher set match_type=?, `method`=?, body_data_type=?, `key`=?, `value`=?, `name`=? where integration_id=? and `id`=?", integrationMatcher.MatchType, integrationMatcher.Method, integrationMatcher.BodyDataType, integrationMatcher.Key, integrationMatcher.Value, integrationMatcher.Name, + integrationMatcher.IntegrationID, integrationMatcher.ID) return err