Documentation ¶
Index ¶
- func GetStatus(err error) codes.Code
- type Container
- type HealthServer
- type PermissionServer
- func (r *PermissionServer) Check(ctx context.Context, request *v1.PermissionCheckRequest) (*v1.PermissionCheckResponse, error)
- func (r *PermissionServer) Expand(ctx context.Context, request *v1.PermissionExpandRequest) (*v1.PermissionExpandResponse, error)
- func (r *PermissionServer) LookupEntity(ctx context.Context, request *v1.PermissionLookupEntityRequest) (*v1.PermissionLookupEntityResponse, error)
- func (r *PermissionServer) LookupEntityStream(request *v1.PermissionLookupEntityRequest, ...) error
- func (r *PermissionServer) LookupSubject(ctx context.Context, request *v1.PermissionLookupSubjectRequest) (*v1.PermissionLookupSubjectResponse, error)
- func (r *PermissionServer) LookupSubjectStream(request *v1.PermissionLookupSubjectRequest, ...) error
- type RelationshipServer
- func (r *RelationshipServer) Delete(ctx context.Context, request *v1.RelationshipDeleteRequest) (*v1.RelationshipDeleteResponse, error)
- func (r *RelationshipServer) Read(ctx context.Context, request *v1.RelationshipReadRequest) (*v1.RelationshipReadResponse, error)
- func (r *RelationshipServer) Write(ctx context.Context, request *v1.RelationshipWriteRequest) (*v1.RelationshipWriteResponse, error)
- type SchemaServer
- type TenancyServer
- func (t *TenancyServer) Create(ctx context.Context, request *v1.TenantCreateRequest) (*v1.TenantCreateResponse, error)
- func (t *TenancyServer) Delete(ctx context.Context, request *v1.TenantDeleteRequest) (*v1.TenantDeleteResponse, error)
- func (t *TenancyServer) List(ctx context.Context, request *v1.TenantListRequest) (*v1.TenantListResponse, error)
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
Types ¶
type Container ¶ added in v0.4.0
type Container struct { // Invoker for performing permission-related operations Invoker invoke.Invoker // RelationshipReader for reading relationships from storage RR storage.RelationshipReader // RelationshipWriter for writing relationships to storage RW storage.RelationshipWriter // SchemaReader for reading schemas from storage SR storage.SchemaReader // SchemaWriter for writing schemas to storage SW storage.SchemaWriter // TenantReader for reading tenant information from storage TR storage.TenantReader // TenantWriter for writing tenant information to storage TW storage.TenantWriter }
Container is a struct that holds the invoker and various storage storage for permission-related operations. It serves as a central point of access for interacting with the underlying data and services.
func NewContainer ¶ added in v0.4.0
func NewContainer( invoker invoke.Invoker, rr storage.RelationshipReader, rw storage.RelationshipWriter, sr storage.SchemaReader, sw storage.SchemaWriter, tr storage.TenantReader, tw storage.TenantWriter, ) *Container
NewContainer is a constructor for the Container struct. It takes an Invoker, RelationshipReader, RelationshipWriter, SchemaReader, SchemaWriter, TenantReader, and TenantWriter as arguments, and returns a pointer to a Container instance.
func (*Container) Run ¶ added in v0.4.0
func (s *Container) Run( ctx context.Context, cfg *config.Server, authentication *config.Authn, profiler *config.Profiler, l *logger.Logger, ) error
Run is a method that starts the Container and its services, including the gRPC server, an optional HTTP server, and an optional profiler server. It also sets up authentication, TLS configurations, and interceptors as needed.
type HealthServer ¶
type HealthServer struct {
health.UnimplementedHealthServer
}
HealthServer - Structure for Health Server
func NewHealthServer ¶
func NewHealthServer() *HealthServer
NewHealthServer - Creates new HealthServer Server
func (*HealthServer) Check ¶
func (s *HealthServer) Check(ctx context.Context, in *health.HealthCheckRequest) (*health.HealthCheckResponse, error)
Check - Return health check status response
func (*HealthServer) Watch ¶
func (s *HealthServer) Watch(in *health.HealthCheckRequest, _ health.Health_WatchServer) error
Watch - TO:DO
type PermissionServer ¶
type PermissionServer struct { v1.UnimplementedPermissionServer // contains filtered or unexported fields }
PermissionServer - Structure for Permission Server
func NewPermissionServer ¶
func NewPermissionServer(i invoke.Invoker, l logger.Interface) *PermissionServer
NewPermissionServer - Creates new Permission Server
func (*PermissionServer) Check ¶
func (r *PermissionServer) Check(ctx context.Context, request *v1.PermissionCheckRequest) (*v1.PermissionCheckResponse, error)
Check - Performs Authorization Check
func (*PermissionServer) Expand ¶
func (r *PermissionServer) Expand(ctx context.Context, request *v1.PermissionExpandRequest) (*v1.PermissionExpandResponse, error)
Expand - Get schema actions in a tree structure
func (*PermissionServer) LookupEntity ¶
func (r *PermissionServer) LookupEntity(ctx context.Context, request *v1.PermissionLookupEntityRequest) (*v1.PermissionLookupEntityResponse, error)
LookupEntity -
func (*PermissionServer) LookupEntityStream ¶
func (r *PermissionServer) LookupEntityStream(request *v1.PermissionLookupEntityRequest, server v1.Permission_LookupEntityStreamServer) error
LookupEntityStream -
func (*PermissionServer) LookupSubject ¶ added in v0.4.1
func (r *PermissionServer) LookupSubject(ctx context.Context, request *v1.PermissionLookupSubjectRequest) (*v1.PermissionLookupSubjectResponse, error)
LookupSubject -
func (*PermissionServer) LookupSubjectStream ¶ added in v0.4.1
func (r *PermissionServer) LookupSubjectStream(request *v1.PermissionLookupSubjectRequest, server v1.Permission_LookupSubjectStreamServer) error
LookupSubjectStream -
type RelationshipServer ¶
type RelationshipServer struct { v1.UnimplementedRelationshipServer // contains filtered or unexported fields }
RelationshipServer - Structure for Relationship Server
func NewRelationshipServer ¶
func NewRelationshipServer( rr storage.RelationshipReader, rw storage.RelationshipWriter, sr storage.SchemaReader, l logger.Interface, ) *RelationshipServer
NewRelationshipServer - Creates new Relationship Server
func (*RelationshipServer) Delete ¶
func (r *RelationshipServer) Delete(ctx context.Context, request *v1.RelationshipDeleteRequest) (*v1.RelationshipDeleteResponse, error)
Delete - Delete relation tuples to writeDB
func (*RelationshipServer) Read ¶
func (r *RelationshipServer) Read(ctx context.Context, request *v1.RelationshipReadRequest) (*v1.RelationshipReadResponse, error)
Read - Allows directly querying the stored engines data to display and filter stored relational tuples
func (*RelationshipServer) Write ¶
func (r *RelationshipServer) Write(ctx context.Context, request *v1.RelationshipWriteRequest) (*v1.RelationshipWriteResponse, error)
Write - Write relation tuples to writeDB
type SchemaServer ¶
type SchemaServer struct { v1.UnimplementedSchemaServer // contains filtered or unexported fields }
SchemaServer - Structure for Schema Server
func NewSchemaServer ¶
func NewSchemaServer(sw storage.SchemaWriter, sr storage.SchemaReader, l logger.Interface) *SchemaServer
NewSchemaServer - Creates new Schema Server
func (*SchemaServer) Read ¶
func (r *SchemaServer) Read(ctx context.Context, request *v1.SchemaReadRequest) (*v1.SchemaReadResponse, error)
Read - Read created Schema
func (*SchemaServer) Write ¶
func (r *SchemaServer) Write(ctx context.Context, request *v1.SchemaWriteRequest) (*v1.SchemaWriteResponse, error)
Write - Configure new Permify Schema to Permify
type TenancyServer ¶ added in v0.3.0
type TenancyServer struct { v1.UnimplementedTenancyServer // contains filtered or unexported fields }
TenancyServer - Structure for Tenancy Server
func NewTenancyServer ¶ added in v0.3.0
func NewTenancyServer(tr storage.TenantReader, tw storage.TenantWriter, l logger.Interface) *TenancyServer
NewTenancyServer - Creates new Tenancy Server
func (*TenancyServer) Create ¶ added in v0.3.0
func (t *TenancyServer) Create(ctx context.Context, request *v1.TenantCreateRequest) (*v1.TenantCreateResponse, error)
Create - Create new Tenant
func (*TenancyServer) Delete ¶ added in v0.3.0
func (t *TenancyServer) Delete(ctx context.Context, request *v1.TenantDeleteRequest) (*v1.TenantDeleteResponse, error)
Delete - Delete a Tenant
func (*TenancyServer) List ¶ added in v0.3.0
func (t *TenancyServer) List(ctx context.Context, request *v1.TenantListRequest) (*v1.TenantListResponse, error)
List - List Tenants