Monorepo for Tangled tangled.org
1package bytesadapter 2 3import ( 4 "bufio" 5 "bytes" 6 "errors" 7 "strings" 8 9 "github.com/casbin/casbin/v2/model" 10 "github.com/casbin/casbin/v2/persist" 11) 12 13var ( 14 errNotImplemented = errors.New("not implemented") 15) 16 17type Adapter struct { 18 b []byte 19} 20 21var _ persist.Adapter = &Adapter{} 22 23func NewAdapter(b []byte) *Adapter { 24 return &Adapter{b} 25} 26 27func (a *Adapter) LoadPolicy(model model.Model) error { 28 scanner := bufio.NewScanner(bytes.NewReader(a.b)) 29 for scanner.Scan() { 30 line := strings.TrimSpace(scanner.Text()) 31 if err := persist.LoadPolicyLine(line, model); err != nil { 32 return err 33 } 34 } 35 return scanner.Err() 36} 37 38func (a *Adapter) AddPolicy(sec string, ptype string, rule []string) error { 39 return errNotImplemented 40} 41 42func (a *Adapter) RemoveFilteredPolicy(sec string, ptype string, fieldIndex int, fieldValues ...string) error { 43 return errNotImplemented 44} 45 46func (a *Adapter) RemovePolicy(sec string, ptype string, rule []string) error { 47 return errNotImplemented 48} 49 50func (a *Adapter) SavePolicy(model model.Model) error { 51 return errNotImplemented 52}