oc-lib/entrypoint.go

54 lines
1.4 KiB
Go
Raw Normal View History

2024-07-18 14:11:13 +02:00
package oclib
import (
"cloud.o-forge.io/core/oc-lib/dbs/mongo"
"cloud.o-forge.io/core/oc-lib/models"
2024-07-18 14:39:54 +02:00
"cloud.o-forge.io/core/oc-lib/models/resources"
2024-07-18 15:35:30 +02:00
"cloud.o-forge.io/core/oc-lib/models/utils"
2024-07-18 14:39:54 +02:00
)
2024-07-18 15:35:30 +02:00
type LibDataEnum int
2024-07-18 15:15:01 +02:00
2024-07-18 15:02:39 +02:00
const (
2024-07-18 15:35:30 +02:00
INVALID LibDataEnum = iota
DATA = resources.DATA
PROCESSING = resources.PROCESSING
STORAGE = resources.STORAGE
DATACENTER = resources.DATACENTER
WORKFLOW = resources.WORKFLOW
2024-07-18 15:02:39 +02:00
)
2024-07-18 14:39:54 +02:00
2024-07-18 15:35:30 +02:00
func (d LibDataEnum) EnumIndex() int {
2024-07-18 15:15:01 +02:00
return int(d)
}
2024-07-18 15:35:30 +02:00
type LibData struct {
Data utils.DBObject `bson:"data" json:"data"`
Err error `bson:"error" json:"error"`
}
2024-07-18 14:11:13 +02:00
func Init() {
mongo.MONGOService.Init(models.GetModelsNames(), GetConfig())
}
2024-07-18 15:35:30 +02:00
func LoadOne(col LibDataEnum, id string) LibData {
d, err := models.Model(col.EnumIndex()).GetAccessor().LoadOne(id)
return LibData{Data: d, Err: err}
2024-07-18 14:39:54 +02:00
}
2024-07-18 15:35:30 +02:00
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}
2024-07-18 14:39:54 +02:00
}
2024-07-18 15:35:30 +02:00
func DeleteOne(col LibDataEnum, id string) LibData {
d, err := models.Model(col.EnumIndex()).GetAccessor().DeleteOne(id)
return LibData{Data: d, Err: err}
2024-07-18 14:39:54 +02:00
}
2024-07-18 15:35:30 +02:00
func StoreOne(col LibDataEnum, object map[string]interface{}) LibData {
2024-07-18 15:15:01 +02:00
model := models.Model(col.EnumIndex())
2024-07-18 15:35:30 +02:00
d, err := model.GetAccessor().StoreOne(model.Deserialize(object))
return LibData{Data: d, Err: err}
2024-07-18 14:11:13 +02:00
}