organize + graph
This commit is contained in:
32
models/utils/abstracts.go
Normal file
32
models/utils/abstracts.go
Normal file
@@ -0,0 +1,32 @@
|
||||
package utils
|
||||
|
||||
import (
|
||||
oclib "oc-lib"
|
||||
"oc-lib/dbs/mongo"
|
||||
|
||||
"github.com/rs/zerolog"
|
||||
)
|
||||
|
||||
type AbstractAccessor struct {
|
||||
Logger zerolog.Logger
|
||||
}
|
||||
|
||||
func (dma *AbstractAccessor) SetLogger() {
|
||||
dma.Logger = oclib.CreateLogger("oclib", "")
|
||||
}
|
||||
func (dma *AbstractAccessor) GenericDeleteOne(id string, accessor Accessor) DBObject {
|
||||
res := accessor.LoadOne(id)
|
||||
_, err := mongo.DeleteOne(id, "data")
|
||||
if err != nil {
|
||||
dma.Logger.Error().Msg("Could not delete " + id + " to db. Error: " + err.Error())
|
||||
}
|
||||
return res
|
||||
}
|
||||
|
||||
func (dma *AbstractAccessor) GenericUpdateOne(set map[string]interface{}, id string, accessor Accessor) DBObject {
|
||||
id, err := mongo.UpdateOne(set, id, "data")
|
||||
if err != nil {
|
||||
dma.Logger.Error().Msg("Could not update " + id + " to db. Error: " + err.Error())
|
||||
}
|
||||
return accessor.LoadOne(id)
|
||||
}
|
8
models/utils/enums.go
Normal file
8
models/utils/enums.go
Normal file
@@ -0,0 +1,8 @@
|
||||
package utils
|
||||
|
||||
type Driver int
|
||||
|
||||
const (
|
||||
INVALID Driver = iota
|
||||
MONGO
|
||||
)
|
14
models/utils/interfaces.go
Normal file
14
models/utils/interfaces.go
Normal file
@@ -0,0 +1,14 @@
|
||||
package utils
|
||||
|
||||
type DBObject interface {
|
||||
GetName() string
|
||||
GetAccessor(driver Driver) Accessor
|
||||
}
|
||||
|
||||
type Accessor interface {
|
||||
SetLogger()
|
||||
LoadOne(id string) DBObject
|
||||
DeleteOne(id string) DBObject
|
||||
StoreOne(data DBObject) DBObject
|
||||
UpdateOne(set map[string]interface{}, id string) DBObject
|
||||
}
|
Reference in New Issue
Block a user