template-monorepo/internal/model/member/domain/usecase/tenant.go

30 lines
774 B
Go
Raw Permalink Normal View History

2026-05-20 23:51:22 +00:00
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"`
}