Documentation
¶
Index ¶
- type BuildResolverOptions
- type DefaultResolver
- func (r *DefaultResolver) EnsureExists(ctx context.Context, id uuid.UUID) error
- func (r *DefaultResolver) GetUserOrganizations(ctx context.Context, identity common.Identity) ([]*model.Organization, error)
- func (r *DefaultResolver) IsMemberOf(ctx context.Context, identity common.Identity, orgID uuid.UUID) (bool, error)
- type ExternalResolver
- func (r *ExternalResolver) EnsureExists(ctx context.Context, id uuid.UUID) error
- func (r *ExternalResolver) GetUserOrganizations(ctx context.Context, identity common.Identity) ([]*model.Organization, error)
- func (r *ExternalResolver) IsMemberOf(ctx context.Context, identity common.Identity, id uuid.UUID) (bool, error)
- type OrgStore
- type Resolver
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type BuildResolverOptions ¶
type BuildResolverOptions struct {
Config *config.Config
Store OrgStore
Log logrus.FieldLogger
Cache cache.OrganizationCache
MembershipCache cache.Membership
}
type DefaultResolver ¶
type DefaultResolver struct {
// contains filtered or unexported fields
}
DefaultResolver is a shim over the default organization, and treats it as the only organization a user can be a member of.
func NewDefaultResolver ¶
func NewDefaultResolver(store OrgStore, cache cache.OrganizationCache) *DefaultResolver
func (*DefaultResolver) EnsureExists ¶
func (*DefaultResolver) GetUserOrganizations ¶
func (r *DefaultResolver) GetUserOrganizations(ctx context.Context, identity common.Identity) ([]*model.Organization, error)
type ExternalResolver ¶
type ExternalResolver struct {
// contains filtered or unexported fields
}
ExternalResolver caches organization ID validation.
func NewExternalResolver ¶
func NewExternalResolver(store OrgStore, cache cache.OrganizationCache, externalOrgProvider providers.ExternalOrganizationProvider, log logrus.FieldLogger) *ExternalResolver
NewExternalResolver constructs a new resolver. A TTL of zero disables expiration.
func (*ExternalResolver) EnsureExists ¶
func (*ExternalResolver) GetUserOrganizations ¶
func (r *ExternalResolver) GetUserOrganizations(ctx context.Context, identity common.Identity) ([]*model.Organization, error)
type OrgStore ¶
type OrgStore interface {
GetByID(ctx context.Context, id uuid.UUID) (*model.Organization, error)
ListByExternalIDs(ctx context.Context, externalIDs []string) ([]*model.Organization, error)
UpsertMany(ctx context.Context, orgs []*model.Organization) ([]*model.Organization, error)
}
type Resolver ¶
type Resolver interface {
EnsureExists(ctx context.Context, id uuid.UUID) error
IsMemberOf(ctx context.Context, identity common.Identity, id uuid.UUID) (bool, error)
GetUserOrganizations(ctx context.Context, identity common.Identity) ([]*model.Organization, error)
}
func BuildResolver ¶
func BuildResolver(opts BuildResolverOptions) (Resolver, error)
Click to show internal directories.
Click to hide internal directories.