23 lines
769 B
Go
23 lines
769 B
Go
package usecase
|
|
|
|
import "context"
|
|
|
|
// LifecycleUseCase performs single-step member status transitions.
|
|
type LifecycleUseCase interface {
|
|
CreateUnverified(ctx context.Context, req *CreatePlatformMemberRequest) (*MemberDTO, error)
|
|
Activate(ctx context.Context, tenantID, uid string) error
|
|
Suspend(ctx context.Context, tenantID, uid, reason string) error
|
|
Reactivate(ctx context.Context, tenantID, uid string) error
|
|
SoftDelete(ctx context.Context, tenantID, uid string) error
|
|
AbortPending(ctx context.Context, tenantID, uid string) error
|
|
}
|
|
|
|
// CreatePlatformMemberRequest creates an unverified platform-native member.
|
|
type CreatePlatformMemberRequest struct {
|
|
TenantID string
|
|
Email string
|
|
PasswordHash string
|
|
DisplayName string
|
|
Language string
|
|
}
|