implement remote call for remote action
This commit is contained in:
@@ -7,6 +7,7 @@ import (
|
||||
"cloud.o-forge.io/core/oc-lib/dbs"
|
||||
"cloud.o-forge.io/core/oc-lib/dbs/mongo"
|
||||
"cloud.o-forge.io/core/oc-lib/logs"
|
||||
"cloud.o-forge.io/core/oc-lib/tools"
|
||||
"github.com/go-playground/validator/v10"
|
||||
"github.com/google/uuid"
|
||||
"github.com/rs/zerolog"
|
||||
@@ -27,7 +28,7 @@ func (ao *AbstractObject) GetName() string {
|
||||
return ao.Name
|
||||
}
|
||||
|
||||
func (dma *AbstractObject) GetAccessor() Accessor {
|
||||
func (dma *AbstractObject) GetAccessor(caller *tools.HTTPCaller) Accessor {
|
||||
return nil
|
||||
}
|
||||
|
||||
@@ -57,14 +58,20 @@ func (r *AbstractObject) GenerateID() {
|
||||
type AbstractAccessor struct {
|
||||
Logger zerolog.Logger
|
||||
Type string
|
||||
Caller *tools.HTTPCaller
|
||||
}
|
||||
|
||||
func (dma *AbstractAccessor) GetType() string {
|
||||
return dma.Type
|
||||
}
|
||||
|
||||
func (dma *AbstractAccessor) SetLogger(t DataType) {
|
||||
func (dma *AbstractAccessor) GetCaller() *tools.HTTPCaller {
|
||||
return dma.Caller
|
||||
}
|
||||
|
||||
func (dma *AbstractAccessor) Init(t DataType, caller *tools.HTTPCaller) {
|
||||
dma.Logger = logs.CreateLogger(t.String(), "")
|
||||
dma.Caller = caller
|
||||
dma.Type = t.String()
|
||||
}
|
||||
|
||||
|
@@ -1,6 +1,9 @@
|
||||
package utils
|
||||
|
||||
import "cloud.o-forge.io/core/oc-lib/dbs"
|
||||
import (
|
||||
"cloud.o-forge.io/core/oc-lib/dbs"
|
||||
"cloud.o-forge.io/core/oc-lib/tools"
|
||||
)
|
||||
|
||||
type ShallowDBObject interface {
|
||||
GenerateID()
|
||||
@@ -16,12 +19,13 @@ type DBObject interface {
|
||||
GetName() string
|
||||
Deserialize(j map[string]interface{}) DBObject
|
||||
Serialize() map[string]interface{}
|
||||
GetAccessor() Accessor
|
||||
GetAccessor(caller *tools.HTTPCaller) Accessor
|
||||
}
|
||||
|
||||
type Accessor interface {
|
||||
SetLogger(t DataType)
|
||||
Init(t DataType, caller *tools.HTTPCaller)
|
||||
GetType() string
|
||||
GetCaller() *tools.HTTPCaller
|
||||
Search(filters *dbs.Filters, search string) ([]ShallowDBObject, int, error)
|
||||
LoadAll() ([]ShallowDBObject, int, error)
|
||||
LoadOne(id string) (DBObject, int, error)
|
||||
|
Reference in New Issue
Block a user