Skip to content

Commit

Permalink
Merge pull request #281 from Revolyssup/greedy
Browse files Browse the repository at this point in the history
Add greedy to support both prefix and suffix based matching in meshmodel
  • Loading branch information
Revolyssup authored Mar 21, 2023
2 parents 3091c1f + 40441ad commit 0190d33
Show file tree
Hide file tree
Showing 3 changed files with 9 additions and 9 deletions.
6 changes: 3 additions & 3 deletions models/meshmodel/core/v1alpha1/component.go
Original file line number Diff line number Diff line change
Expand Up @@ -94,11 +94,11 @@ func GetMeshModelComponents(db *database.Handler, f ComponentFilter) (c []Compon
Joins("JOIN category_dbs ON model_dbs.category_id = category_dbs.id") //
if f.Greedy {
if f.Name != "" && f.DisplayName != "" {
finder = finder.Where("component_definition_dbs.kind LIKE ? OR display_name LIKE ?", f.Name+"%", f.DisplayName+"%")
finder = finder.Where("component_definition_dbs.kind LIKE ? OR display_name LIKE ?", "%"+f.Name+"%", f.DisplayName+"%")
} else if f.Name != "" {
finder = finder.Where("component_definition_dbs.kind LIKE ?", f.Name+"%")
finder = finder.Where("component_definition_dbs.kind LIKE ?", "%"+f.Name+"%")
} else if f.DisplayName != "" {
finder = finder.Where("component_definition_dbs.display_name LIKE ?", f.DisplayName+"%")
finder = finder.Where("component_definition_dbs.display_name LIKE ?", "%"+f.DisplayName+"%")
}
} else {
if f.Name != "" {
Expand Down
4 changes: 2 additions & 2 deletions models/meshmodel/core/v1alpha1/relationship.go
Original file line number Diff line number Diff line change
Expand Up @@ -71,9 +71,9 @@ func GetMeshModelRelationship(db *database.Handler, f RelationshipFilter) (r []R
Joins("JOIN category_dbs ON model_dbs.category_id = category_dbs.id") //
if f.Kind != "" {
if f.Greedy {
finder = finder.Where("relationship_definition_dbs.kind LIKE ?", f.Kind)
finder = finder.Where("relationship_definition_dbs.kind LIKE ?", "%"+f.Kind+"%")
} else {
finder = finder.Where("relationship_definition_dbs.kind = ?", f.Kind)
finder = finder.Where("relationship_definition_dbs.kind = ?", "%"+f.Kind+"%")
}
}
if f.SubType != "" {
Expand Down
8 changes: 4 additions & 4 deletions models/meshmodel/registry.go
Original file line number Diff line number Diff line change
Expand Up @@ -198,11 +198,11 @@ func (rm *RegistryManager) GetModels(db *database.Handler, f types.Filter) []v1a
if mf, ok := f.(*v1alpha1.ModelFilter); ok {
if mf.Greedy {
if mf.Name != "" && mf.DisplayName != "" {
finder = finder.Where("model_dbs.name LIKE ? OR model_dbs.display_name LIKE ?", mf.Name+"%", mf.DisplayName+"%")
finder = finder.Where("model_dbs.name LIKE ? OR model_dbs.display_name LIKE ?", "%"+mf.Name+"%", "%"+mf.DisplayName+"%")
} else if mf.Name != "" {
finder = finder.Where("model_dbs.name LIKE ?", mf.Name+"%")
finder = finder.Where("model_dbs.name LIKE ?", "%"+mf.Name+"%")
} else if mf.DisplayName != "" {
finder = finder.Where("model_dbs.display_name LIKE ?", mf.DisplayName+"%")
finder = finder.Where("model_dbs.display_name LIKE ?", "%"+mf.DisplayName+"%")
}
} else {
if mf.Name != "" {
Expand Down Expand Up @@ -250,7 +250,7 @@ func (rm *RegistryManager) GetCategories(db *database.Handler, f types.Filter) [
if mf, ok := f.(*v1alpha1.CategoryFilter); ok {
if mf.Name != "" {
if mf.Greedy {
finder = finder.Where("name LIKE ?", mf.Name+"%")
finder = finder.Where("name LIKE ?", "%"+mf.Name+"%")
} else {
finder = finder.Where("name = ?", mf.Name)
}
Expand Down

0 comments on commit 0190d33

Please sign in to comment.