From 1a55212378003595e16cb683651890c6607b4a7e Mon Sep 17 00:00:00 2001 From: mr Date: Wed, 30 Oct 2024 10:16:13 +0100 Subject: [PATCH] peeeers --- models/peer/peer_mongo_accessor.go | 21 ++++++++++++++++----- 1 file changed, 16 insertions(+), 5 deletions(-) diff --git a/models/peer/peer_mongo_accessor.go b/models/peer/peer_mongo_accessor.go index 106d5ae..5d4f7a8 100644 --- a/models/peer/peer_mongo_accessor.go +++ b/models/peer/peer_mongo_accessor.go @@ -1,6 +1,8 @@ package peer import ( + "strconv" + "cloud.o-forge.io/core/oc-lib/dbs" "cloud.o-forge.io/core/oc-lib/dbs/mongo" "cloud.o-forge.io/core/oc-lib/models/utils" @@ -67,11 +69,20 @@ func (wfa peerMongoAccessor) LoadAll() ([]utils.ShallowDBObject, int, error) { func (wfa *peerMongoAccessor) Search(filters *dbs.Filters, search string) ([]utils.ShallowDBObject, int, error) { objs := []utils.ShallowDBObject{} if (filters == nil || len(filters.And) == 0 || len(filters.Or) == 0) && search != "" { - filters = &dbs.Filters{ - Or: map[string][]dbs.Filter{ // search by name if no filters are provided - "abstractobject.name": {{Operator: dbs.LIKE.String(), Value: search}}, - "url": {{Operator: dbs.LIKE.String(), Value: search}}, - }, + s, err := strconv.Atoi(search) + if err == nil { + filters = &dbs.Filters{ + Or: map[string][]dbs.Filter{ // search by name if no filters are provided + "state": {{Operator: dbs.LIKE.String(), Value: s}}, + }, + } + } else { + filters = &dbs.Filters{ + Or: map[string][]dbs.Filter{ // search by name if no filters are provided + "abstractobject.name": {{Operator: dbs.LIKE.String(), Value: search}}, + "url": {{Operator: dbs.LIKE.String(), Value: search}}, + }, + } } } res_mongo, code, err := mongo.MONGOService.Search(filters, wfa.GetType())