light modification

This commit is contained in:
mr 2025-01-21 16:50:49 +01:00
parent 745bb58c59
commit b45e882559
2 changed files with 18 additions and 11 deletions

View File

@ -11,8 +11,8 @@ type ShallowDBObject interface {
GenerateID()
GetID() string
GetName() string
Deserialize(j map[string]interface{}, obj DBObject) DBObject
Serialize(obj DBObject) map[string]interface{}
Deserialize(j map[string]interface{}, obj DBObject) DBObject
}
// DBObject is an interface that defines the basic methods for a DBObject
@ -20,33 +20,33 @@ type DBObject interface {
GenerateID()
GetID() string
GetName() string
GetCreatorID() string
IsDrafted() bool
StoreDraftDefault()
CanUpdate(set DBObject) (bool, DBObject)
CanDelete() bool
StoreDraftDefault()
GetCreatorID() string
UpToDate(user string, create bool)
CanUpdate(set DBObject) (bool, DBObject)
VerifyAuth(request *tools.APIRequest) bool
Deserialize(j map[string]interface{}, obj DBObject) DBObject
Serialize(obj DBObject) map[string]interface{}
GetAccessor(request *tools.APIRequest) Accessor
Deserialize(j map[string]interface{}, obj DBObject) DBObject
}
// Accessor is an interface that defines the basic methods for an Accessor
type Accessor interface {
GetRequest() *tools.APIRequest
GetType() tools.DataType
GetUser() string
GetPeerID() string
GetGroups() []string
ShouldVerifyAuth() bool
GetType() tools.DataType
GetLogger() *zerolog.Logger
GetCaller() *tools.HTTPCaller
ShouldVerifyAuth() bool
Search(filters *dbs.Filters, search string, isDraft bool) ([]ShallowDBObject, int, error)
LoadAll(isDraft bool) ([]ShallowDBObject, int, error)
GetRequest() *tools.APIRequest
LoadOne(id string) (DBObject, int, error)
DeleteOne(id string) (DBObject, int, error)
CopyOne(data DBObject) (DBObject, int, error)
StoreOne(data DBObject) (DBObject, int, error)
LoadAll(isDraft bool) ([]ShallowDBObject, int, error)
UpdateOne(set DBObject, id string) (DBObject, int, error)
Search(filters *dbs.Filters, search string, isDraft bool) ([]ShallowDBObject, int, error)
}

View File

@ -60,7 +60,7 @@ func (a *workflowExecutionMongoAccessor) LoadAll(isDraft bool) ([]utils.ShallowD
}
func (a *workflowExecutionMongoAccessor) Search(filters *dbs.Filters, search string, isDraft bool) ([]utils.ShallowDBObject, int, error) {
return utils.GenericSearch[*WorkflowExecutions](filters, search, (&WorkflowExecutions{}).GetObjectFilters(search), a.getExec(), isDraft, a)
return utils.GenericSearch[*WorkflowExecutions](filters, search, a.GetExecFilters(search), a.getExec(), isDraft, a)
}
func (a *workflowExecutionMongoAccessor) getExec() func(utils.DBObject) utils.ShallowDBObject {
@ -76,3 +76,10 @@ func (a *workflowExecutionMongoAccessor) getExec() func(utils.DBObject) utils.Sh
return d
}
}
func (a *workflowExecutionMongoAccessor) GetExecFilters(search string) *dbs.Filters {
return &dbs.Filters{
Or: map[string][]dbs.Filter{ // filter by name if no filters are provided
"abstractobject.name": {{Operator: dbs.LIKE.String(), Value: search + "_execution"}},
}}
}