Documentation
¶
Overview ¶
Package gotenancy defines shared errors for tenant isolation and host boundary checks.
Index ¶
Constants ¶
This section is empty.
Variables ¶
View Source
var ( // ErrNoTenant reports that a tenant-scoped operation was called without a tenant context. ErrNoTenant = errors.New("gotenancy: no tenant in context") // ErrForbidden reports that the current tenant or side is not allowed to perform an operation. ErrForbidden = errors.New("gotenancy: forbidden") // ErrInvalidState reports an invalid tenant lifecycle transition or unsupported state. ErrInvalidState = errors.New("gotenancy: invalid state") // ErrHostRequired reports that an operation requires explicit host-side context. ErrHostRequired = errors.New("gotenancy: host context required") // ErrTenantMismatch reports that a resource belongs to a different tenant than the active context. ErrTenantMismatch = errors.New("gotenancy: tenant mismatch") )
Functions ¶
This section is empty.
Types ¶
This section is empty.
Directories
¶
| Path | Synopsis |
|---|---|
|
biz
|
|
|
audit
Package audit stores tenant-scoped audit events for SaaS applications.
|
Package audit stores tenant-scoped audit events for SaaS applications. |
|
notification
Package notification defines tenant-scoped notification messages and in-memory delivery helpers.
|
Package notification defines tenant-scoped notification messages and in-memory delivery helpers. |
|
rbac
Package rbac provides tenant-scoped role and permission checks.
|
Package rbac provides tenant-scoped role and permission checks. |
|
user
Package user manages users and tenant membership metadata.
|
Package user manages users and tenant membership metadata. |
|
Package cache contains tenant-aware cache abstractions.
|
Package cache contains tenant-aware cache abstractions. |
|
Package core contains tenant context, resolver, store, and type abstractions.
|
Package core contains tenant context, resolver, store, and type abstractions. |
|
context
Package tenantctx stores tenant and host-side execution state in context.Context.
|
Package tenantctx stores tenant and host-side execution state in context.Context. |
|
resolver
Package resolver extracts tenant identifiers from HTTP headers, cookies, query parameters, domains, and token claims.
|
Package resolver extracts tenant identifiers from HTTP headers, cookies, query parameters, domains, and token claims. |
|
store
Package store defines tenant metadata storage contracts and memory, cached, and SQL implementations.
|
Package store defines tenant metadata storage contracts and memory, cached, and SQL implementations. |
|
types
Package types defines tenant identifiers, tenant metadata, lifecycle statuses, and host/tenant side markers.
|
Package types defines tenant identifiers, tenant metadata, lifecycle statuses, and host/tenant side markers. |
|
Package data contains ORM-independent tenant filtering contracts.
|
Package data contains ORM-independent tenant filtering contracts. |
|
ent
Package enttenant adapts GoTenancy data filters to Ent SQL selectors.
|
Package enttenant adapts GoTenancy data filters to Ent SQL selectors. |
|
gorm
Package gormtenant adds tenant-aware query, mutation, preload, raw SQL, and delete guardrails to GORM.
|
Package gormtenant adds tenant-aware query, mutation, preload, raw SQL, and delete guardrails to GORM. |
|
sqlx
Package sqlxtenant provides tenant-filtered helpers for simple sqlx-style SELECT, UPDATE, and DELETE statements.
|
Package sqlxtenant provides tenant-filtered helpers for simple sqlx-style SELECT, UPDATE, and DELETE statements. |
|
examples
|
|
|
ent
command
Command ent demonstrates Ent query and mutation tenant filters without generated schema code.
|
Command ent demonstrates Ent query and mutation tenant filters without generated schema code. |
|
gin-gorm
command
Command gin-gorm demonstrates Gin tenant resolution with GORM tenant query guards.
|
Command gin-gorm demonstrates Gin tenant resolution with GORM tenant query guards. |
|
grpc
command
Command grpc demonstrates tenant context injection with a gRPC unary interceptor.
|
Command grpc demonstrates tenant context injection with a gRPC unary interceptor. |
|
quickstart
command
Command quickstart demonstrates a minimal GORM create flow with tenant context.
|
Command quickstart demonstrates a minimal GORM create flow with tenant context. |
|
internal
|
|
|
testcontract
Package testcontract contains reusable contract tests for stores and filters.
|
Package testcontract contains reusable contract tests for stores and filters. |
|
Package migration contains tenant schema migration planning APIs.
|
Package migration contains tenant schema migration planning APIs. |
|
Package obs provides tenant observability fields and redaction helpers for structured logs.
|
Package obs provides tenant observability fields and redaction helpers for structured logs. |
|
Package rpc propagates tenant metadata through framework-neutral carriers.
|
Package rpc propagates tenant metadata through framework-neutral carriers. |
|
grpc
Package grpcgotenancy adapts GoTenancy tenant propagation to gRPC interceptors.
|
Package grpcgotenancy adapts GoTenancy tenant propagation to gRPC interceptors. |
|
Package saas contains tenant lifecycle, plan, subscription, quota, and feature modules.
|
Package saas contains tenant lifecycle, plan, subscription, quota, and feature modules. |
|
feature
Package feature resolves plan defaults and tenant-level feature overrides.
|
Package feature resolves plan defaults and tenant-level feature overrides. |
|
plan
Package plan manages SaaS plan metadata, features, and quotas.
|
Package plan manages SaaS plan metadata, features, and quotas. |
|
quota
Package quota checks and consumes tenant quotas with concurrency-safe in-memory storage.
|
Package quota checks and consumes tenant quotas with concurrency-safe in-memory storage. |
|
subscription
Package subscription manages tenant plan subscriptions and billing hooks.
|
Package subscription manages tenant plan subscriptions and billing hooks. |
|
tenant
Package tenant manages tenant lifecycle transitions and host-only destructive operations.
|
Package tenant manages tenant lifecycle transitions and host-only destructive operations. |
|
tests
|
|
|
cache
Package cache contains tenant cache contract tests.
|
Package cache contains tenant cache contract tests. |
|
concurrency
Package concurrency contains tenant context concurrency tests.
|
Package concurrency contains tenant context concurrency tests. |
|
security
Package security contains cross-adapter tenant isolation guard tests.
|
Package security contains cross-adapter tenant isolation guard tests. |
|
Package web contains web framework integration adapters.
|
Package web contains web framework integration adapters. |
|
echo
Package echogotenancy adapts GoTenancy tenant middleware to Echo.
|
Package echogotenancy adapts GoTenancy tenant middleware to Echo. |
|
fiber
Package fibergotenancy adapts GoTenancy tenant middleware to Fiber.
|
Package fibergotenancy adapts GoTenancy tenant middleware to Fiber. |
|
gin
Package gingotenancy adapts GoTenancy tenant middleware and guards to Gin.
|
Package gingotenancy adapts GoTenancy tenant middleware and guards to Gin. |
|
http
Package httpgotenancy adapts GoTenancy tenant middleware and guards to net/http.
|
Package httpgotenancy adapts GoTenancy tenant middleware and guards to net/http. |
|
kratos
Package kratosgotenancy adapts GoTenancy tenant middleware to Kratos.
|
Package kratosgotenancy adapts GoTenancy tenant middleware to Kratos. |
Click to show internal directories.
Click to hide internal directories.