package bytesadapter import ( "bufio" "bytes" "errors" "strings" "github.com/casbin/casbin/v2/model" "github.com/casbin/casbin/v2/persist" ) var ( errNotImplemented = errors.New("not implemented") ) type Adapter struct { b []byte } var _ persist.Adapter = &Adapter{} func NewAdapter(b []byte) *Adapter { return &Adapter{b} } func (a *Adapter) LoadPolicy(model model.Model) error { scanner := bufio.NewScanner(bytes.NewReader(a.b)) for scanner.Scan() { line := strings.TrimSpace(scanner.Text()) if err := persist.LoadPolicyLine(line, model); err != nil { return err } } return scanner.Err() } func (a *Adapter) AddPolicy(sec string, ptype string, rule []string) error { return errNotImplemented } func (a *Adapter) RemoveFilteredPolicy(sec string, ptype string, fieldIndex int, fieldValues ...string) error { return errNotImplemented } func (a *Adapter) RemovePolicy(sec string, ptype string, rule []string) error { return errNotImplemented } func (a *Adapter) SavePolicy(model model.Model) error { return errNotImplemented }