Documentation
¶
Index ¶
- Variables
- type Persister
- func (p *Persister) Connection(ctx context.Context) *pop.Connection
- func (p *Persister) CreateWithNetwork(ctx context.Context, v interface{}) error
- func (p *Persister) DeleteAllRelationTuples(ctx context.Context, query *relationtuple.RelationQuery) error
- func (p *Persister) DeleteRelationTuples(ctx context.Context, rs ...*relationtuple.RelationTuple) error
- func (p *Persister) GetRelationTuples(ctx context.Context, query *relationtuple.RelationQuery, ...) ([]*relationtuple.RelationTuple, string, error)
- func (p *Persister) InsertRelationTuple(ctx context.Context, rel *relationtuple.RelationTuple) error
- func (p *Persister) MapStringsToUUIDs(ctx context.Context, s ...string) ([]uuid.UUID, error)
- func (p *Persister) MapUUIDsToStrings(ctx context.Context, u ...uuid.UUID) ([]string, error)
- func (p *Persister) NetworkID(ctx context.Context) uuid.UUID
- func (p *Persister) QueryWithNetwork(ctx context.Context) *pop.Query
- func (p *Persister) TransactRelationTuples(ctx context.Context, ins []*relationtuple.RelationTuple, ...) error
- func (p *Persister) Transaction(ctx context.Context, f func(ctx context.Context, c *pop.Connection) error) error
- func (p *Persister) WriteRelationTuples(ctx context.Context, rs ...*relationtuple.RelationTuple) error
- type RelationTuple
- type UUIDMapping
- type UUIDMappings
Constants ¶
This section is empty.
Variables ¶
View Source
var ( //go:embed migrations/sql/*.sql Migrations embed.FS )
Functions ¶
This section is empty.
Types ¶
type Persister ¶
type Persister struct {
// contains filtered or unexported fields
}
func NewPersister ¶
func (*Persister) Connection ¶
func (p *Persister) Connection(ctx context.Context) *pop.Connection
func (*Persister) CreateWithNetwork ¶
func (*Persister) DeleteAllRelationTuples ¶
func (p *Persister) DeleteAllRelationTuples(ctx context.Context, query *relationtuple.RelationQuery) error
func (*Persister) DeleteRelationTuples ¶
func (p *Persister) DeleteRelationTuples(ctx context.Context, rs ...*relationtuple.RelationTuple) error
func (*Persister) GetRelationTuples ¶
func (p *Persister) GetRelationTuples(ctx context.Context, query *relationtuple.RelationQuery, options ...x.PaginationOptionSetter) ([]*relationtuple.RelationTuple, string, error)
func (*Persister) InsertRelationTuple ¶
func (p *Persister) InsertRelationTuple(ctx context.Context, rel *relationtuple.RelationTuple) error
func (*Persister) MapStringsToUUIDs ¶
func (*Persister) MapUUIDsToStrings ¶
func (*Persister) QueryWithNetwork ¶
func (*Persister) TransactRelationTuples ¶
func (p *Persister) TransactRelationTuples(ctx context.Context, ins []*relationtuple.RelationTuple, del []*relationtuple.RelationTuple) error
func (*Persister) Transaction ¶
func (*Persister) WriteRelationTuples ¶
func (p *Persister) WriteRelationTuples(ctx context.Context, rs ...*relationtuple.RelationTuple) error
type RelationTuple ¶
type RelationTuple struct {
// An ID field is required to make pop happy. The actual ID is a composite primary key.
ID uuid.UUID `db:"shard_id"`
NetworkID uuid.UUID `db:"nid"`
Namespace string `db:"namespace"`
Object uuid.UUID `db:"object"`
Relation string `db:"relation"`
SubjectID uuid.NullUUID `db:"subject_id"`
SubjectSetNamespace sql.NullString `db:"subject_set_namespace"`
SubjectSetObject uuid.NullUUID `db:"subject_set_object"`
SubjectSetRelation sql.NullString `db:"subject_set_relation"`
CommitTime time.Time `db:"commit_time"`
}
func (*RelationTuple) FromInternal ¶
func (r *RelationTuple) FromInternal(ctx context.Context, p *Persister, rt *relationtuple.RelationTuple) error
func (RelationTuple) TableName ¶
func (RelationTuple) TableName() string
type UUIDMapping ¶
type UUIDMapping struct {
ID uuid.UUID `db:"id"`
StringRepresentation string `db:"string_representation"`
}
func (UUIDMapping) TableName ¶
func (UUIDMapping) TableName() string
type UUIDMappings ¶
type UUIDMappings []*UUIDMapping
func (UUIDMappings) TableName ¶
func (UUIDMappings) TableName() string
Click to show internal directories.
Click to hide internal directories.