Documentation ¶
Index ¶
- Constants
- type Adapter
- 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) Close()
- 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) RemoveFilteredPolicy(sec string, ptype string, fieldIndex int, fieldValues ...string) error
- func (a *Adapter) RemovePolicies(sec string, ptype string, rules [][]string) error
- func (a *Adapter) RemovePolicy(sec string, ptype string, rule []string) error
- func (a *Adapter) SavePolicy(model model.Model) 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 Filter
- type Option
Constants ¶
const ( DefaultTableName = "casbin_rule" DefaultDatabaseName = "casbin" DefaultTimeout = time.Second * 10 )
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Adapter ¶
type Adapter struct {
// contains filtered or unexported fields
}
Adapter represents the github.com/jackc/pgx/v5 adapter for policy storage.
func NewAdapter ¶
NewAdapter creates a new adapter with connection conn which must either be a PostgreSQL connection string or an instance of *pgx.ConnConfig from package github.com/jackc/pgx/v5.
func (*Adapter) AddPolicies ¶
AddPolicies adds policy rules to the storage.
func (*Adapter) IsFiltered ¶
func (*Adapter) LoadFilteredPolicy ¶
LoadFilteredPolicy can query policies with a filter. Make sure that filter is of type *pgxadapter.Filter
func (*Adapter) LoadPolicy ¶
LoadPolicy loads policy from database.
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) RemovePolicies ¶
RemovePolicies removes policy rules from the storage.
func (*Adapter) RemovePolicy ¶
RemovePolicy removes a policy rule from the storage.
func (*Adapter) SavePolicy ¶
SavePolicy saves policy to database.
func (*Adapter) UpdateFilteredPolicies ¶
func (a *Adapter) UpdateFilteredPolicies(sec string, ptype string, newPolicies [][]string, fieldIndex int, fieldValues ...string) ([][]string, error)
UpdateFilteredPolicies deletes old rules and adds new rules.
func (*Adapter) UpdatePolicies ¶
UpdatePolicies updates some policy rules to storage, like db, redis.
type Option ¶
type Option func(a *Adapter)
func WithConnectionPool ¶
WithConnectionPool can be used to pass an existing *pgxpool.Pool instance
func WithDatabase ¶
WithDatabase can be used to pass custom database name for Casbin rules
func WithSchema ¶
WithSchema can be used to pass a custom schema name. Note that the schema name is case-sensitive. If you don't create the schema before hand, the schema will be created for you.
func WithSkipTableCreate ¶
func WithSkipTableCreate() Option
WithSkipTableCreate skips the table creation step when the adapter starts If the Casbin rules table does not exist, it will lead to issues when using the adapter
func WithTableName ¶
WithTableName can be used to pass custom table name for Casbin rules
func WithTimeout ¶
WithTimeout can be used to pass a different timeout than DefaultTimeout for each request to Postgres