16 lines
651 B
Go
16 lines
651 B
Go
package tenant
|
|
|
|
import "context"
|
|
|
|
// Repository defines data access for tenants
|
|
// Note: Tenant operations do NOT require tenantID parameter since
|
|
// tenants are the top-level entity in our multi-tenant architecture
|
|
type Repository interface {
|
|
Create(ctx context.Context, tenant *Tenant) error
|
|
GetByID(ctx context.Context, id string) (*Tenant, error)
|
|
GetBySlug(ctx context.Context, slug string) (*Tenant, error)
|
|
Update(ctx context.Context, tenant *Tenant) error
|
|
Delete(ctx context.Context, id string) error
|
|
List(ctx context.Context, limit int) ([]*Tenant, error)
|
|
ListByStatus(ctx context.Context, status Status, limit int) ([]*Tenant, error)
|
|
}
|