ruleset

package
v0.0.0-...-44471cb Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 18, 2019 License: GPL-3.0 Imports: 16 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func GetBSON

func GetBSON(entity *evaluator.Ruleset) *bson.D

func ToRuleset

func ToRuleset(rulesetDTO RulesetDTO) evaluator.Ruleset

Types

type EvaluateRequestDTO

type EvaluateRequestDTO struct {
	Record    map[string]interface{}
	RulesetID string
}

type EvaluateResponseDTO

type EvaluateResponseDTO struct {
	Record       map[string]interface{}
	MatchingRule *evaluator.Rule
}

type HandlerContext

type HandlerContext struct {
	// contains filtered or unexported fields
}

HandlerContext holds state of Handlers

func NewHandlerContext

func NewHandlerContext() *HandlerContext

NewHandlerContext returns instance of HandlerContext

func (*HandlerContext) CreateRuleset

func (ctx *HandlerContext) CreateRuleset(w http.ResponseWriter, r *http.Request)

func (*HandlerContext) DeleteRuleset

func (ctx *HandlerContext) DeleteRuleset(w http.ResponseWriter, r *http.Request)

func (*HandlerContext) EvaluateRuleset

func (ctx *HandlerContext) EvaluateRuleset(w http.ResponseWriter, r *http.Request)

func (*HandlerContext) GetRuleset

func (ctx *HandlerContext) GetRuleset(w http.ResponseWriter, r *http.Request)

func (*HandlerContext) ListRuleset

func (ctx *HandlerContext) ListRuleset(w http.ResponseWriter, r *http.Request)

func (*HandlerContext) NewRulesetRouter

func (ctx *HandlerContext) NewRulesetRouter() http.Handler

func (*HandlerContext) SafeClose

func (bc *HandlerContext) SafeClose()

func (*HandlerContext) UpdateRuleset

func (ctx *HandlerContext) UpdateRuleset(w http.ResponseWriter, r *http.Request)

type RepoContext

type RepoContext struct {
	DB *mongo.Client
}

RepoContext holds repo state

func NewRepoContext

func NewRepoContext(dbURL string) (*RepoContext, error)

NewRepoContext initialises Ruleset repo

func (*RepoContext) CreateRuleset

func (ctx *RepoContext) CreateRuleset(flowContext *models.FlowContext, ruleset *evaluator.Ruleset) (*evaluator.Ruleset, error)

func (*RepoContext) DeleteRuleset

func (ctx *RepoContext) DeleteRuleset(flowContext *models.FlowContext, rsid string) (*evaluator.Ruleset, error)

func (*RepoContext) GetRuleset

func (ctx *RepoContext) GetRuleset(flowContext *models.FlowContext, rsid string) (*evaluator.Ruleset, error)

GetRuleset get ruleset by ID

func (*RepoContext) ListRuleset

func (ctx *RepoContext) ListRuleset(flowContext *models.FlowContext, limit int, offset int) (*[]evaluator.Ruleset, error)

func (*RepoContext) SafeClose

func (ctx *RepoContext) SafeClose()

func (*RepoContext) UpdateRuleset

func (ctx *RepoContext) UpdateRuleset(flowContext *models.FlowContext, rsid string, entity *evaluator.Ruleset) (string, error)

type RulesetDTO

type RulesetDTO struct {
	Name      string `json:"name"`
	StartDate time.Time
	EndDate   time.Time
	Enable    bool
	Rules     []evaluator.Rule
}

type ServiceContext

type ServiceContext struct {
	// contains filtered or unexported fields
}

ServiceContext holds service state

func NewServiceContext

func NewServiceContext(flowContext *models.FlowContext) *ServiceContext

NewServiceContext returns instance of ServiceContext

func (*ServiceContext) CreateRuleset

func (ctx *ServiceContext) CreateRuleset(flowContext *models.FlowContext, ruleset *evaluator.Ruleset) (*evaluator.Ruleset, error)

func (*ServiceContext) DeleteRuleset

func (ctx *ServiceContext) DeleteRuleset(flowContext *models.FlowContext, id string) (*evaluator.Ruleset, error)

func (*ServiceContext) Evaluate

func (ctx *ServiceContext) Evaluate(flowContext *models.FlowContext,
	rulesetID string, record *map[string]interface{}, strategy string) (*evaluator.Rule, error)

Evaluate record for ruleset id

func (*ServiceContext) GetRuleset

func (ctx *ServiceContext) GetRuleset(flowContext *models.FlowContext, id string) (*evaluator.Ruleset, error)

func (*ServiceContext) ListRuleset

func (ctx *ServiceContext) ListRuleset(flowContext *models.FlowContext, limit int, offset int) (*[]evaluator.Ruleset, error)

func (*ServiceContext) UpdateRuleset

func (ctx *ServiceContext) UpdateRuleset(flowContext *models.FlowContext, id string, entity *evaluator.Ruleset) (string, error)

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL