package oclib import ( "cloud.o-forge.io/core/oc-lib/dbs/mongo" "cloud.o-forge.io/core/oc-lib/models" "cloud.o-forge.io/core/oc-lib/models/resources" "cloud.o-forge.io/core/oc-lib/models/utils" ) type LibDataEnum int const ( INVALID LibDataEnum = iota DATA = resources.DATA PROCESSING = resources.PROCESSING STORAGE = resources.STORAGE DATACENTER = resources.DATACENTER WORKFLOW = resources.WORKFLOW ) func (d LibDataEnum) EnumIndex() int { return int(d) } type LibData struct { Data utils.DBObject `bson:"data" json:"data"` Err error `bson:"error" json:"error"` } func Init() { mongo.MONGOService.Init(models.GetModelsNames(), GetConfig()) } func LoadOne(col LibDataEnum, id string) LibData { d, err := models.Model(col.EnumIndex()).GetAccessor().LoadOne(id) return LibData{Data: d, Err: err} } func UpdateOne(col LibDataEnum, set map[string]interface{}, id string) LibData { d, err := models.Model(col.EnumIndex()).GetAccessor().UpdateOne(set, id) return LibData{Data: d, Err: err} } func DeleteOne(col LibDataEnum, id string) LibData { d, err := models.Model(col.EnumIndex()).GetAccessor().DeleteOne(id) return LibData{Data: d, Err: err} } func StoreOne(col LibDataEnum, object map[string]interface{}) LibData { model := models.Model(col.EnumIndex()) d, err := model.GetAccessor().StoreOne(model.Deserialize(object)) return LibData{Data: d, Err: err} }