Documentation
¶
Overview ¶
Package postgres contains an implementation of the storage interface that works with Postgres.
Index ¶
- func HandleSQLError(err error, args ...interface{}) error
- type Datastore
- func (s *Datastore) Close()
- func (s *Datastore) CreateStore(ctx context.Context, store *openfgav1.Store) (*openfgav1.Store, error)
- func (s *Datastore) DeleteStore(ctx context.Context, id string) error
- func (s *Datastore) FindLatestAuthorizationModel(ctx context.Context, store string) (*openfgav1.AuthorizationModel, error)
- func (s *Datastore) GetStore(ctx context.Context, id string) (*openfgav1.Store, error)
- func (s *Datastore) IsReady(ctx context.Context) (storage.ReadinessStatus, error)
- func (s *Datastore) ListStores(ctx context.Context, options storage.ListStoresOptions) ([]*openfgav1.Store, string, error)
- func (s *Datastore) MaxTuplesPerWrite() int
- func (s *Datastore) MaxTypesPerAuthorizationModel() int
- func (s *Datastore) Read(ctx context.Context, store string, tupleKey *openfgav1.TupleKey, ...) (storage.TupleIterator, error)
- func (s *Datastore) ReadAssertions(ctx context.Context, store, modelID string) ([]*openfgav1.Assertion, error)
- func (s *Datastore) ReadAuthorizationModel(ctx context.Context, store string, modelID string) (*openfgav1.AuthorizationModel, error)
- func (s *Datastore) ReadAuthorizationModels(ctx context.Context, store string, ...) ([]*openfgav1.AuthorizationModel, string, error)
- func (s *Datastore) ReadChanges(ctx context.Context, store string, filter storage.ReadChangesFilter, ...) ([]*openfgav1.TupleChange, string, error)
- func (s *Datastore) ReadPage(ctx context.Context, store string, tupleKey *openfgav1.TupleKey, ...) ([]*openfgav1.Tuple, string, error)
- func (s *Datastore) ReadStartingWithUser(ctx context.Context, store string, filter storage.ReadStartingWithUserFilter, ...) (storage.TupleIterator, error)
- func (s *Datastore) ReadUserTuple(ctx context.Context, store string, tupleKey *openfgav1.TupleKey, ...) (*openfgav1.Tuple, error)
- func (s *Datastore) ReadUsersetTuples(ctx context.Context, store string, filter storage.ReadUsersetTuplesFilter, ...) (storage.TupleIterator, error)
- func (s *Datastore) Write(ctx context.Context, store string, deletes storage.Deletes, ...) error
- func (s *Datastore) WriteAssertions(ctx context.Context, store, modelID string, assertions []*openfgav1.Assertion) error
- func (s *Datastore) WriteAuthorizationModel(ctx context.Context, store string, model *openfgav1.AuthorizationModel) error
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func HandleSQLError ¶ added in v1.6.2
HandleSQLError processes an SQL error and converts it into a more specific error type based on the nature of the SQL error.
Types ¶
type Datastore ¶ added in v1.6.2
type Datastore struct {
// contains filtered or unexported fields
}
Datastore provides a PostgreSQL based implementation of storage.OpenFGADatastore.
func NewWithDB ¶ added in v1.6.0
NewWithDB creates a new Datastore storage with the provided database connection.
func (*Datastore) Close ¶ added in v1.6.2
func (s *Datastore) Close()
Close see storage.OpenFGADatastore.Close.
func (*Datastore) CreateStore ¶ added in v1.6.2
func (s *Datastore) CreateStore(ctx context.Context, store *openfgav1.Store) (*openfgav1.Store, error)
CreateStore adds a new store to storage.
func (*Datastore) DeleteStore ¶ added in v1.6.2
DeleteStore removes a store from storage.
func (*Datastore) FindLatestAuthorizationModel ¶ added in v1.6.2
func (s *Datastore) FindLatestAuthorizationModel(ctx context.Context, store string) (*openfgav1.AuthorizationModel, error)
FindLatestAuthorizationModel see storage.AuthorizationModelReadBackend.FindLatestAuthorizationModel.
func (*Datastore) GetStore ¶ added in v1.6.2
GetStore retrieves the details of a specific store using its storeID.
func (*Datastore) IsReady ¶ added in v1.6.2
IsReady see sqlcommon.IsReady.
func (*Datastore) ListStores ¶ added in v1.6.2
func (s *Datastore) ListStores(ctx context.Context, options storage.ListStoresOptions) ([]*openfgav1.Store, string, error)
ListStores provides a paginated list of all stores present in the storage.
func (*Datastore) MaxTuplesPerWrite ¶ added in v1.6.2
MaxTuplesPerWrite see storage.RelationshipTupleWriter.MaxTuplesPerWrite.
func (*Datastore) MaxTypesPerAuthorizationModel ¶ added in v1.6.2
MaxTypesPerAuthorizationModel see storage.TypeDefinitionWriteBackend.MaxTypesPerAuthorizationModel.
func (*Datastore) Read ¶ added in v1.6.2
func (s *Datastore) Read( ctx context.Context, store string, tupleKey *openfgav1.TupleKey, options storage.ReadOptions, ) (storage.TupleIterator, error)
Read see storage.RelationshipTupleReader.Read.
func (*Datastore) ReadAssertions ¶ added in v1.6.2
func (s *Datastore) ReadAssertions(ctx context.Context, store, modelID string) ([]*openfgav1.Assertion, error)
ReadAssertions see storage.AssertionsBackend.ReadAssertions.
func (*Datastore) ReadAuthorizationModel ¶ added in v1.6.2
func (s *Datastore) ReadAuthorizationModel(ctx context.Context, store string, modelID string) (*openfgav1.AuthorizationModel, error)
ReadAuthorizationModel see storage.AuthorizationModelReadBackend.ReadAuthorizationModel.
func (*Datastore) ReadAuthorizationModels ¶ added in v1.6.2
func (s *Datastore) ReadAuthorizationModels(ctx context.Context, store string, options storage.ReadAuthorizationModelsOptions) ([]*openfgav1.AuthorizationModel, string, error)
ReadAuthorizationModels see storage.AuthorizationModelReadBackend.ReadAuthorizationModels.
func (*Datastore) ReadChanges ¶ added in v1.6.2
func (s *Datastore) ReadChanges(ctx context.Context, store string, filter storage.ReadChangesFilter, options storage.ReadChangesOptions) ([]*openfgav1.TupleChange, string, error)
ReadChanges see storage.ChangelogBackend.ReadChanges.
func (*Datastore) ReadPage ¶ added in v1.6.2
func (s *Datastore) ReadPage(ctx context.Context, store string, tupleKey *openfgav1.TupleKey, options storage.ReadPageOptions) ([]*openfgav1.Tuple, string, error)
ReadPage see storage.RelationshipTupleReader.ReadPage.
func (*Datastore) ReadStartingWithUser ¶ added in v1.6.2
func (s *Datastore) ReadStartingWithUser( ctx context.Context, store string, filter storage.ReadStartingWithUserFilter, options storage.ReadStartingWithUserOptions, ) (storage.TupleIterator, error)
ReadStartingWithUser see storage.RelationshipTupleReader.ReadStartingWithUser.
func (*Datastore) ReadUserTuple ¶ added in v1.6.2
func (s *Datastore) ReadUserTuple(ctx context.Context, store string, tupleKey *openfgav1.TupleKey, options storage.ReadUserTupleOptions) (*openfgav1.Tuple, error)
ReadUserTuple see storage.RelationshipTupleReader.ReadUserTuple.
func (*Datastore) ReadUsersetTuples ¶ added in v1.6.2
func (s *Datastore) ReadUsersetTuples( ctx context.Context, store string, filter storage.ReadUsersetTuplesFilter, options storage.ReadUsersetTuplesOptions, ) (storage.TupleIterator, error)
ReadUsersetTuples see storage.RelationshipTupleReader.ReadUsersetTuples.
func (*Datastore) Write ¶ added in v1.6.2
func (s *Datastore) Write( ctx context.Context, store string, deletes storage.Deletes, writes storage.Writes, ) error
Write see storage.RelationshipTupleWriter.Write.
func (*Datastore) WriteAssertions ¶ added in v1.6.2
func (s *Datastore) WriteAssertions(ctx context.Context, store, modelID string, assertions []*openfgav1.Assertion) error
WriteAssertions see storage.AssertionsBackend.WriteAssertions.
func (*Datastore) WriteAuthorizationModel ¶ added in v1.6.2
func (s *Datastore) WriteAuthorizationModel(ctx context.Context, store string, model *openfgav1.AuthorizationModel) error
WriteAuthorizationModel see storage.TypeDefinitionWriteBackend.WriteAuthorizationModel.