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}