Documentation
¶
Index ¶
- Constants
- func GetTenantID(ctx context.Context) (string, bool)
- func GetUserID(ctx context.Context) (uuid.UUID, bool)
- func WithIdentity(ctx context.Context, id Identity) context.Context
- func WithTenantID(ctx context.Context, tenantID string) context.Context
- type DomainResolver
- type DomainType
- type DomainWriter
- type ErrConfigLoad
- type ErrResourceInit
- type Identity
- type IdentityType
- type InvitationActivatedRequest
- type InvitationCreateRequest
- type InvitationDomainProvider
- type InvitationProviderRegistry
- type PluginRegistrar
- type ResolvedDomain
- type ResourceInput
- type ResourceProvider
- type Runtime
- type RuntimeOptions
- type RuntimeResources
- type UserDomainInfo
Constants ¶
View Source
const InvitationProviderRegistryServiceKey = "invitation.provider.registry"
Variables ¶
This section is empty.
Functions ¶
Types ¶
type DomainResolver ¶
type DomainResolver interface {
ResolveDomain(ctx context.Context, typeCode, key string) (*ResolvedDomain, error)
ResolveDomainByID(ctx context.Context, domainID uuid.UUID) (*ResolvedDomain, error)
CheckMembership(ctx context.Context, domainID, subjectID uuid.UUID) (bool, error)
GetUserDefaultDomain(ctx context.Context, userID uuid.UUID) (*ResolvedDomain, error)
GetDomainString(typeCode, key string) string
ListUserDomains(ctx context.Context, userID uuid.UUID) ([]*UserDomainInfo, error)
}
type DomainWriter ¶
type DomainWriter interface {
DomainResolver
EnsureDomain(ctx context.Context, typeCode, key, displayName string) (*ResolvedDomain, error)
AddMembership(ctx context.Context, domainID, subjectID uuid.UUID, memberRole string, isDefault bool) error
RemoveMembership(ctx context.Context, domainID, subjectID uuid.UUID) error
}
type ErrConfigLoad ¶
type ErrConfigLoad struct {
Cause error
}
func (*ErrConfigLoad) Error ¶
func (e *ErrConfigLoad) Error() string
func (*ErrConfigLoad) Unwrap ¶
func (e *ErrConfigLoad) Unwrap() error
type ErrResourceInit ¶
type ErrResourceInit struct {
Cause error
}
func (*ErrResourceInit) Error ¶
func (e *ErrResourceInit) Error() string
func (*ErrResourceInit) Unwrap ¶
func (e *ErrResourceInit) Unwrap() error
type IdentityType ¶
type IdentityType string
const ( IdentityTypeJWT IdentityType = "jwt" IdentityTypeAPIKey IdentityType = "api_key" )
type InvitationCreateRequest ¶
type InvitationDomainProvider ¶
type InvitationDomainProvider interface {
TypeCode() string
ValidateCreate(ctx context.Context, req InvitationCreateRequest) error
OnActivated(ctx context.Context, req InvitationActivatedRequest) error
}
type InvitationProviderRegistry ¶
type InvitationProviderRegistry struct {
// contains filtered or unexported fields
}
func NewInvitationProviderRegistry ¶
func NewInvitationProviderRegistry() *InvitationProviderRegistry
func (*InvitationProviderRegistry) Register ¶
func (r *InvitationProviderRegistry) Register(p InvitationDomainProvider) error
func (*InvitationProviderRegistry) Resolve ¶
func (r *InvitationProviderRegistry) Resolve(typeCode string) (InvitationDomainProvider, bool)
type PluginRegistrar ¶
type PluginRegistrar func(rt *frameworkruntime.Runtime, services *frameplugin.ServiceRegistry, logger *zap.Logger) error
type ResolvedDomain ¶
type ResourceProvider ¶
type ResourceProvider interface {
Build(context.Context, ResourceInput) (*RuntimeResources, error)
}
type Runtime ¶
type Runtime interface {
Router() chi.Router
Handler() http.Handler
Shutdown(context.Context) error
}
func BuildRuntime ¶
func BuildRuntime(ctx context.Context, opts RuntimeOptions) (Runtime, error)
type RuntimeOptions ¶
type RuntimeOptions struct {
ConfigPath string
ModuleFactories []corecore.ModuleFactory
ResourceProvider ResourceProvider
SkipPlugins bool
SkipMigrate bool
BasePath string
Logger *zap.Logger
PluginRegistrar PluginRegistrar
}
type RuntimeResources ¶
Source Files
¶
Directories
¶
| Path | Synopsis |
|---|---|
|
adapters
|
|
|
server
|
|
|
ent/schema
This file is intentionally left empty.
|
This file is intentionally left empty. |
|
services
|
|
Click to show internal directories.
Click to hide internal directories.