monorepo/cloud/maplepress-backend/internal/domain/tenant/repository.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)
}