Documentation
¶
Index ¶
- Constants
- Variables
- type MemberEventData
- type RoleSeeder
- type ServiceFactory
- type TenantEventData
- type TenantInfo
- type TenantPlugin
- func (p *TenantPlugin) Dependencies() []string
- func (p *TenantPlugin) Disable(ctx context.Context, app *plugin.AppContext) error
- func (p *TenantPlugin) Enable(ctx context.Context, app *plugin.AppContext) error
- func (p *TenantPlugin) HealthCheck(ctx context.Context) error
- func (p *TenantPlugin) Install(ctx context.Context, app *plugin.AppContext) error
- func (p *TenantPlugin) Name() string
- func (p *TenantPlugin) PluginOptions() plugin.PluginOptions
- func (p *TenantPlugin) RegisterModels() []any
- func (p *TenantPlugin) RegisterRoutes(router chi.Router)
- func (p *TenantPlugin) ResolveDomain(ctx context.Context, r *http.Request) (*core.ResolvedDomain, bool, error)
- func (p *TenantPlugin) SubscribeEvents(bus plugin.EventBus)
- func (p *TenantPlugin) TypeCode() string
- func (p *TenantPlugin) ValidateMembership(ctx context.Context, domainID, subjectID uuid.UUID) (bool, error)
- func (p *TenantPlugin) Version() string
- type TenantServiceAPI
- type UserInfo
- type UserLookup
Constants ¶
const ( EventTenantCreated = shared.EventTenantCreated EventTenantUpdated = shared.EventTenantUpdated EventTenantDeleted = shared.EventTenantDeleted EventTenantMemberAdded = shared.EventTenantMemberAdded EventTenantMemberRemoved = shared.EventTenantMemberRemoved )
Re-export event constants.
const ServiceKeyTenantFactory = "adapter.tenant.factory"
Variables ¶
var ( ErrTenantNotFound = shared.ErrTenantNotFound ErrTenantCodeExists = shared.ErrTenantCodeExists ErrInvalidTenant = shared.ErrInvalidTenant ErrMemberExists = shared.ErrMemberExists ErrMemberNotFound = shared.ErrMemberNotFound ErrPlatformDomainOnly = shared.ErrPlatformDomainOnly ErrParentTenantInvalid = shared.ErrParentTenantInvalid )
Re-export sentinel errors.
Functions ¶
This section is empty.
Types ¶
type MemberEventData ¶
type MemberEventData = shared.MemberEventData
Re-export shared types so external consumers can import from this package.
type RoleSeeder ¶
type RoleSeeder = shared.RoleSeeder
Re-export interface types from shared so factory implementations import from this package.
type ServiceFactory ¶
type ServiceFactory interface {
NewTenantService(
domainSvc core.DomainWriter,
events plugin.EventBus,
logger logging.Logger,
) *tenantmod.Service
RoleSeeder() RoleSeeder
UserLookup() UserLookup
Models() []any
}
ServiceFactory creates tenant plugin services using host-provided adapters.
type TenantEventData ¶
type TenantEventData = shared.TenantEventData
Re-export shared types so external consumers can import from this package.
type TenantInfo ¶
type TenantInfo = shared.TenantInfo
Re-export shared types so external consumers can import from this package.
type TenantPlugin ¶
type TenantPlugin struct {
// contains filtered or unexported fields
}
TenantPlugin implements the framework plugin contracts.
func (*TenantPlugin) Dependencies ¶
func (p *TenantPlugin) Dependencies() []string
func (*TenantPlugin) Disable ¶
func (p *TenantPlugin) Disable(ctx context.Context, app *plugin.AppContext) error
Disable performs cleanup on plugin shutdown.
func (*TenantPlugin) Enable ¶
func (p *TenantPlugin) Enable(ctx context.Context, app *plugin.AppContext) error
func (*TenantPlugin) HealthCheck ¶
func (p *TenantPlugin) HealthCheck(ctx context.Context) error
func (*TenantPlugin) Install ¶
func (p *TenantPlugin) Install(ctx context.Context, app *plugin.AppContext) error
Install seeds domain types and default tenants on first run.
func (*TenantPlugin) Name ¶
func (p *TenantPlugin) Name() string
func (*TenantPlugin) PluginOptions ¶
func (p *TenantPlugin) PluginOptions() plugin.PluginOptions
func (*TenantPlugin) RegisterModels ¶
func (p *TenantPlugin) RegisterModels() []any
func (*TenantPlugin) RegisterRoutes ¶
func (p *TenantPlugin) RegisterRoutes(router chi.Router)
func (*TenantPlugin) ResolveDomain ¶
func (p *TenantPlugin) ResolveDomain(ctx context.Context, r *http.Request) (*core.ResolvedDomain, bool, error)
func (*TenantPlugin) SubscribeEvents ¶
func (p *TenantPlugin) SubscribeEvents(bus plugin.EventBus)
SubscribeEvents registers event handlers.
func (*TenantPlugin) TypeCode ¶
func (p *TenantPlugin) TypeCode() string
func (*TenantPlugin) ValidateMembership ¶
func (*TenantPlugin) Version ¶
func (p *TenantPlugin) Version() string
type TenantServiceAPI ¶
type TenantServiceAPI = shared.TenantServiceAPI
Re-export shared types so external consumers can import from this package.
type UserInfo ¶
Re-export interface types from shared so factory implementations import from this package.
type UserLookup ¶
type UserLookup = shared.UserLookup
Re-export interface types from shared so factory implementations import from this package.