package repository import ( "context" "haixun-backend/internal/model/member/domain/entity" ) type ProfileUpdate struct { DisplayName *string Avatar *string Language *string Currency *string Phone *string } type Repository interface { EnsureIndexes(ctx context.Context) error Create(ctx context.Context, member *entity.Member) (*entity.Member, error) FindByUID(ctx context.Context, tenantID, uid string) (*entity.Member, error) FindByEmail(ctx context.Context, tenantID, email string) (*entity.Member, error) UpdateProfile(ctx context.Context, tenantID, uid string, update ProfileUpdate) (*entity.Member, error) SetRoles(ctx context.Context, tenantID, uid string, roles []string) error SetActiveThreadsAccountID(ctx context.Context, tenantID, uid, accountID string) error }