mirror of
https://github.com/anyproto/any-sync.git
synced 2025-06-08 05:57:03 +09:00
28 lines
868 B
Go
28 lines
868 B
Go
//go:generate mockgen -destination mock_liststorage/mock_liststorage.go github.com/anyproto/any-sync/commonspace/object/acl/liststorage ListStorage
|
|
package liststorage
|
|
|
|
import (
|
|
"context"
|
|
"errors"
|
|
"github.com/anyproto/any-sync/commonspace/object/acl/aclrecordproto"
|
|
)
|
|
|
|
var (
|
|
ErrUnknownAclId = errors.New("acl does not exist")
|
|
ErrAclExists = errors.New("acl already exists")
|
|
ErrUnknownRecord = errors.New("record doesn't exist")
|
|
)
|
|
|
|
type Exporter interface {
|
|
ListStorage(root *aclrecordproto.RawAclRecordWithId) (ListStorage, error)
|
|
}
|
|
|
|
type ListStorage interface {
|
|
Id() string
|
|
Root() (*aclrecordproto.RawAclRecordWithId, error)
|
|
Head() (string, error)
|
|
SetHead(headId string) error
|
|
|
|
GetRawRecord(ctx context.Context, id string) (*aclrecordproto.RawAclRecordWithId, error)
|
|
AddRawRecord(ctx context.Context, rec *aclrecordproto.RawAclRecordWithId) error
|
|
}
|