Documentation ¶
Index ¶
- func ConditionsToGormQuery(db *gobatis.DB, conditions []string, combineType CombineType) *gobatis.DB
- func TurnOffAutoMigrate(db *gobatis.DB)
- type Adapter
- func NewAdapter(driverName string, dataSourceName string, params ...interface{}) (*Adapter, error)
- func NewAdapterByDB(db *gobatis.DB) (*Adapter, error)
- func NewAdapterByDBUseTableName(db *gobatis.DB, prefix string, tableName string) (*Adapter, error)
- func NewAdapterByDBWithCustomTable(db *gobatis.DB, t interface{}, tableName ...string) (*Adapter, error)
- func NewAdapterByMulDb(dbPool DbPool, dbName string, prefix string, tableName string) (*Adapter, error)
- func NewFilteredAdapter(driverName string, dataSourceName string, params ...interface{}) (*Adapter, error)
- func NewFilteredAdapterByDB(db *gobatis.DB, prefix string, tableName string) (*Adapter, error)
- func (a *Adapter) AddLogger(l logger.Interface)
- func (a *Adapter) AddPolicies(sec string, ptype string, rules [][]string) error
- func (a *Adapter) AddPolicy(sec string, ptype string, rule []string) error
- func (a *Adapter) AddPolicyCtx(ctx context.Context, sec string, ptype string, rule []string) error
- func (a *Adapter) Close() error
- func (a *Adapter) GetDb() *gobatis.DB
- func (a *Adapter) IsFiltered() bool
- func (a *Adapter) LoadFilteredPolicy(model model.Model, filter interface{}) error
- func (a *Adapter) LoadPolicy(model model.Model) error
- func (a *Adapter) LoadPolicyCtx(ctx context.Context, model model.Model) error
- func (a *Adapter) Open() error
- func (a *Adapter) Preview(rules *[]CasbinRule, model model.Model) error
- func (a *Adapter) RemoveFilteredPolicy(sec string, ptype string, fieldIndex int, fieldValues ...string) error
- func (a *Adapter) RemoveFilteredPolicyCtx(ctx context.Context, sec string, ptype string, fieldIndex int, ...) error
- func (a *Adapter) RemovePolicies(sec string, ptype string, rules [][]string) error
- func (a *Adapter) RemovePoliciesCtx(ctx context.Context, sec string, ptype string, rules [][]string) error
- func (a *Adapter) RemovePolicy(sec string, ptype string, rule []string) error
- func (a *Adapter) RemovePolicyCtx(ctx context.Context, sec string, ptype string, rule []string) error
- func (a *Adapter) SavePolicy(model model.Model) error
- func (a *Adapter) SavePolicyCtx(ctx context.Context, model model.Model) error
- func (a *Adapter) Transaction(e casbin.IEnforcer, fc func(casbin.IEnforcer) error, opts ...*sql.TxOptions) error
- func (a *Adapter) UpdateFilteredPolicies(sec string, ptype string, newPolicies [][]string, fieldIndex int, ...) ([][]string, error)
- func (a *Adapter) UpdatePolicies(sec string, ptype string, oldRules, newRules [][]string) error
- func (a *Adapter) UpdatePolicy(sec string, ptype string, oldRule, newPolicy []string) error
- type BatchFilter
- type CasbinRule
- type CombineType
- type DbPool
- type Filter
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func ConditionsToGormQuery ¶
func ConditionsToGormQuery(db *gobatis.DB, conditions []string, combineType CombineType) *gobatis.DB
ConditionsToGormQuery is a function that converts multiple query conditions into a GORM query statement You can use the GetAllowedObjectConditions() API of Casbin to get conditions, and choose the way of combining conditions through combineType.
func TurnOffAutoMigrate ¶
Types ¶
type Adapter ¶
type Adapter struct {
// contains filtered or unexported fields
}
Adapter represents the Gorm adapter for policy storage.
func NewAdapter ¶
NewAdapter is the constructor for Adapter. Params : databaseName,tableName,dbSpecified
databaseName,{tableName/dbSpecified} {database/dbSpecified}
databaseName and tableName are user defined. Their default value are "casbin" and "casbin_rule"
dbSpecified is an optional bool parameter. The default value is false. It's up to whether you have specified an existing DB in dataSourceName. If dbSpecified == true, you need to make sure the DB in dataSourceName exists. If dbSpecified == false, the adapter will automatically create a DB named databaseName.
func NewAdapterByDB ¶
NewAdapterByDB creates gobatis-adapter by an existing Gorm instance
func NewAdapterByDBUseTableName ¶
NewAdapterByDBUseTableName creates gobatis-adapter by an existing Gorm instance and the specified table prefix and table name Example: gobatisadapter.NewAdapterByDBUseTableName(&db, "cms", "casbin") Automatically generate table name like this "cms_casbin"
func NewAdapterByMulDb ¶
func NewFilteredAdapter ¶
func NewFilteredAdapter(driverName string, dataSourceName string, params ...interface{}) (*Adapter, error)
NewFilteredAdapter is the constructor for FilteredAdapter. Casbin will not automatically call LoadPolicy() for a filtered adapter.
func NewFilteredAdapterByDB ¶
NewFilteredAdapterByDB is the constructor for FilteredAdapter. Casbin will not automatically call LoadPolicy() for a filtered adapter.
func (*Adapter) AddPolicies ¶
AddPolicies adds multiple policy rules to the storage.
func (*Adapter) AddPolicyCtx ¶
AddPolicyCtx adds a policy rule to the storage.
func (*Adapter) IsFiltered ¶
IsFiltered returns true if the loaded policy has been filtered.
func (*Adapter) LoadFilteredPolicy ¶
LoadFilteredPolicy loads only policy rules that match the filter.
func (*Adapter) LoadPolicy ¶
LoadPolicy loads policy from database.
func (*Adapter) LoadPolicyCtx ¶
LoadPolicyCtx loads policy from database.
func (*Adapter) Preview ¶
func (a *Adapter) Preview(rules *[]CasbinRule, model model.Model) error
Preview Pre-checking to avoid causing partial load success and partial failure deep
func (*Adapter) RemoveFilteredPolicy ¶
func (a *Adapter) RemoveFilteredPolicy(sec string, ptype string, fieldIndex int, fieldValues ...string) error
RemoveFilteredPolicy removes policy rules that match the filter from the storage.
func (*Adapter) RemoveFilteredPolicyCtx ¶
func (a *Adapter) RemoveFilteredPolicyCtx(ctx context.Context, sec string, ptype string, fieldIndex int, fieldValues ...string) error
RemoveFilteredPolicyCtx removes policy rules that match the filter from the storage.
func (*Adapter) RemovePolicies ¶
RemovePolicies removes multiple policy rules from the storage.
func (*Adapter) RemovePoliciesCtx ¶
func (a *Adapter) RemovePoliciesCtx(ctx context.Context, sec string, ptype string, rules [][]string) error
RemovePoliciesCtx removes multiple policy rules from the storage.
func (*Adapter) RemovePolicy ¶
RemovePolicy removes a policy rule from the storage.
func (*Adapter) RemovePolicyCtx ¶
func (a *Adapter) RemovePolicyCtx(ctx context.Context, sec string, ptype string, rule []string) error
RemovePolicyCtx removes a policy rule from the storage.
func (*Adapter) SavePolicy ¶
SavePolicy saves policy to database.
func (*Adapter) SavePolicyCtx ¶
SavePolicyCtx saves policy to database.
func (*Adapter) Transaction ¶
func (a *Adapter) Transaction(e casbin.IEnforcer, fc func(casbin.IEnforcer) error, opts ...*sql.TxOptions) error
Transaction perform a set of operations within a transaction
func (*Adapter) UpdateFilteredPolicies ¶
func (*Adapter) UpdatePolicies ¶
type BatchFilter ¶
type BatchFilter struct {
// contains filtered or unexported fields
}
type CasbinRule ¶
type CasbinRule struct { ID uint `gobatis:"primaryKey;autoIncrement"` Ptype string `gobatis:"size:100"` V0 string `gobatis:"size:100"` V1 string `gobatis:"size:100"` V2 string `gobatis:"size:100"` V3 string `gobatis:"size:100"` V4 string `gobatis:"size:100"` V5 string `gobatis:"size:100"` }
func (CasbinRule) TableName ¶
func (CasbinRule) TableName() string
type CombineType ¶
type CombineType uint32
CombineType represents different types of condition combining strategies
const ( CombineTypeOr CombineType = iota // Combine conditions with OR operator CombineTypeAnd // Combine conditions with AND operator )
type DbPool ¶
type DbPool struct {
// contains filtered or unexported fields
}
func InitDbResolver ¶
InitDbResolver multiple databases support Example usage: dbPool,err := InitDbResolver([]gobatis.Dialector{mysql.Open(dsn),mysql.Open(dsn2)},[]string{"casbin1","casbin2"}) a := initAdapterWithGormInstanceByMulDb(t,dbPool,"casbin1","","casbin_rule1") a = initAdapterWithGormInstanceByMulDb(t,dbPool,"casbin2","","casbin_rule2")/*