package usecase import "context" // TenantUseCase manages tenant metadata. type TenantUseCase interface { Create(ctx context.Context, req *CreateTenantRequest) (*TenantDTO, error) ResolveBySlug(ctx context.Context, slug string) (*TenantDTO, error) } // CreateTenantRequest creates a new tenant draft. type CreateTenantRequest struct { TenantID string Slug string Name string UIDPrefix string } // TenantDTO is the outward tenant shape. type TenantDTO struct { TenantID string `json:"tenant_id"` Slug string `json:"slug"` Name string `json:"name"` UIDPrefix string `json:"uid_prefix"` Status string `json:"status"` OrgID string `json:"org_id,omitempty"` CreateAt int64 `json:"create_at"` UpdateAt int64 `json:"update_at"` }