A community based topic aggregation platform built on atproto
1package users 2 3import "context" 4 5// UserRepository defines the interface for user data persistence 6type UserRepository interface { 7 Create(ctx context.Context, user *User) (*User, error) 8 GetByDID(ctx context.Context, did string) (*User, error) 9 GetByHandle(ctx context.Context, handle string) (*User, error) 10} 11 12// UserService defines the interface for user business logic 13type UserService interface { 14 CreateUser(ctx context.Context, req CreateUserRequest) (*User, error) 15 GetUserByDID(ctx context.Context, did string) (*User, error) 16 GetUserByHandle(ctx context.Context, handle string) (*User, error) 17 ResolveHandleToDID(ctx context.Context, handle string) (string, error) 18 RegisterAccount(ctx context.Context, req RegisterAccountRequest) (*RegisterAccountResponse, error) 19}