Documentation
¶
Index ¶
- func VerifyAccess(a Accessor, id string) error
- type AbstractAccessor
- func (dma *AbstractAccessor) GetCaller() *tools.HTTPCaller
- func (dma *AbstractAccessor) GetGroups() []string
- func (dma *AbstractAccessor) GetLogger() *zerolog.Logger
- func (dma *AbstractAccessor) GetPeerID() string
- func (r *AbstractAccessor) GetRequest() *tools.APIRequest
- func (dma *AbstractAccessor) GetType() tools.DataType
- func (dma *AbstractAccessor) GetUser() string
- func (r *AbstractAccessor) ShouldVerifyAuth() bool
- type AbstractObject
- func (r *AbstractObject) CanDelete() bool
- func (r *AbstractObject) CanUpdate(set DBObject) (bool, DBObject)
- func (dma *AbstractObject) Deserialize(j map[string]interface{}, obj DBObject) DBObject
- func (r *AbstractObject) GenerateID()
- func (ri *AbstractObject) GetAccessor(request *tools.APIRequest) Accessor
- func (ao *AbstractObject) GetCreatorID() string
- func (ao AbstractObject) GetID() string
- func (ao AbstractObject) GetName() string
- func (ao *AbstractObject) GetObjectFilters(search string) *dbs.Filters
- func (r *AbstractObject) IsDrafted() bool
- func (dma *AbstractObject) Serialize(obj DBObject) map[string]interface{}
- func (r *AbstractObject) SetID(id string)
- func (r *AbstractObject) SetName(name string)
- func (r *AbstractObject) StoreDraftDefault()
- func (ao *AbstractObject) UpToDate(user string, peer string, create bool)
- func (ao *AbstractObject) VerifyAuth(request *tools.APIRequest) bool
- type AccessMode
- type Accessor
- type DBObject
- func GenericDeleteOne(id string, a Accessor) (DBObject, int, error)
- func GenericLoadOne[T DBObject](id string, f func(DBObject) (DBObject, int, error), a Accessor) (DBObject, int, error)
- func GenericRawUpdateOne(set DBObject, id string, a Accessor) (DBObject, int, error)
- func GenericStoreOne(data DBObject, a Accessor) (DBObject, int, error)
- func GenericUpdateOne(set DBObject, id string, a Accessor, new DBObject) (DBObject, int, error)
- type Owner
- type ShallowDBObject
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func VerifyAccess ¶
Types ¶
type AbstractAccessor ¶
type AbstractAccessor struct {
Logger zerolog.Logger // Logger is the logger of the accessor, it's a specilized logger for the accessor
Type tools.DataType // Type is the data type of the accessor
Request *tools.APIRequest // Caller is the http caller of the accessor (optionnal) only need in a peer connection
ResourceModelAccessor Accessor
}
func (*AbstractAccessor) GetCaller ¶
func (dma *AbstractAccessor) GetCaller() *tools.HTTPCaller
func (*AbstractAccessor) GetGroups ¶
func (dma *AbstractAccessor) GetGroups() []string
func (*AbstractAccessor) GetLogger ¶
func (dma *AbstractAccessor) GetLogger() *zerolog.Logger
func (*AbstractAccessor) GetPeerID ¶
func (dma *AbstractAccessor) GetPeerID() string
func (*AbstractAccessor) GetRequest ¶
func (r *AbstractAccessor) GetRequest() *tools.APIRequest
func (*AbstractAccessor) GetType ¶
func (dma *AbstractAccessor) GetType() tools.DataType
func (*AbstractAccessor) GetUser ¶
func (dma *AbstractAccessor) GetUser() string
func (*AbstractAccessor) ShouldVerifyAuth ¶
func (r *AbstractAccessor) ShouldVerifyAuth() bool
type AbstractObject ¶
type AbstractObject struct {
UUID string `json:"id,omitempty" bson:"id,omitempty" validate:"required"`
Name string `json:"name,omitempty" bson:"name,omitempty" validate:"required"`
IsDraft bool `json:"is_draft" bson:"is_draft" default:"false"`
CreatorID string `json:"creator_id,omitempty" bson:"creator_id,omitempty"`
UserCreatorID string `json:"user_creator_id,omitempty" bson:"user_creator_id,omitempty"`
CreationDate time.Time `json:"creation_date,omitempty" bson:"creation_date,omitempty"`
UpdateDate time.Time `json:"update_date,omitempty" bson:"update_date,omitempty"`
UpdaterID string `json:"updater_id,omitempty" bson:"updater_id,omitempty"`
UserUpdaterID string `json:"user_updater_id,omitempty" bson:"user_updater_id,omitempty"`
AccessMode AccessMode `json:"access_mode" bson:"access_mode" default:"0"`
}
* AbstractObject is a struct that represents the basic fields of an object * it defines the object id and name * every data in base root model should inherit from this struct (only exception is the ResourceModel)
func (*AbstractObject) CanDelete ¶
func (r *AbstractObject) CanDelete() bool
func (*AbstractObject) CanUpdate ¶
func (r *AbstractObject) CanUpdate(set DBObject) (bool, DBObject)
func (*AbstractObject) Deserialize ¶
func (dma *AbstractObject) Deserialize(j map[string]interface{}, obj DBObject) DBObject
func (*AbstractObject) GenerateID ¶
func (r *AbstractObject) GenerateID()
func (*AbstractObject) GetAccessor ¶
func (ri *AbstractObject) GetAccessor(request *tools.APIRequest) Accessor
func (*AbstractObject) GetCreatorID ¶
func (ao *AbstractObject) GetCreatorID() string
func (AbstractObject) GetID ¶
func (ao AbstractObject) GetID() string
GetID implements ShallowDBObject.
func (AbstractObject) GetName ¶
func (ao AbstractObject) GetName() string
GetName implements ShallowDBObject.
func (*AbstractObject) GetObjectFilters ¶
func (ao *AbstractObject) GetObjectFilters(search string) *dbs.Filters
func (*AbstractObject) IsDrafted ¶
func (r *AbstractObject) IsDrafted() bool
func (*AbstractObject) Serialize ¶
func (dma *AbstractObject) Serialize(obj DBObject) map[string]interface{}
func (*AbstractObject) SetID ¶
func (r *AbstractObject) SetID(id string)
func (*AbstractObject) SetName ¶
func (r *AbstractObject) SetName(name string)
func (*AbstractObject) StoreDraftDefault ¶
func (r *AbstractObject) StoreDraftDefault()
func (*AbstractObject) UpToDate ¶
func (ao *AbstractObject) UpToDate(user string, peer string, create bool)
func (*AbstractObject) VerifyAuth ¶
func (ao *AbstractObject) VerifyAuth(request *tools.APIRequest) bool
type Accessor ¶
type Accessor interface {
GetUser() string
GetPeerID() string
GetGroups() []string
ShouldVerifyAuth() bool
GetType() tools.DataType
GetLogger() *zerolog.Logger
GetCaller() *tools.HTTPCaller
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)
}
Accessor is an interface that defines the basic methods for an Accessor
type DBObject ¶
type DBObject interface {
GenerateID()
SetID(id string)
GetID() string
GetName() string
SetName(name string)
IsDrafted() bool
CanDelete() bool
StoreDraftDefault()
GetCreatorID() string
UpToDate(user string, peer string, create bool)
CanUpdate(set DBObject) (bool, DBObject)
VerifyAuth(request *tools.APIRequest) bool
Serialize(obj DBObject) map[string]interface{}
GetAccessor(request *tools.APIRequest) Accessor
Deserialize(j map[string]interface{}, obj DBObject) DBObject
}
DBObject is an interface that defines the basic methods for a DBObject
func GenericDeleteOne ¶
GenericLoadOne loads one object from the database (generic)
func GenericLoadOne ¶
func GenericRawUpdateOne ¶
GenericLoadOne loads one object from the database (generic) json expected in entry is a flatted object no need to respect the inheritance hierarchy
func GenericStoreOne ¶
GenericLoadOne loads one object from the database (generic)
type ShallowDBObject ¶
type ShallowDBObject interface {
GenerateID()
GetID() string
GetName() string
Serialize(obj DBObject) map[string]interface{}
Deserialize(j map[string]interface{}, obj DBObject) DBObject
}
ShallowDBObject is an interface that defines the basic methods shallowed version of a DBObject
func GenericLoadAll ¶
func GenericLoadAll[T DBObject](f func(DBObject) ShallowDBObject, onlyDraft bool, wfa Accessor) ([]ShallowDBObject, int, error)