package port import ( "context" "github.com/aykhans/oh-my-chat/internal/core/domain" ) type UserRepository interface { CreateUser(ctx context.Context, user *domain.User) (*domain.User, error) GetUserByEmail(ctx context.Context, email string) (*domain.User, error) GetUserByUsername(ctx context.Context, username string) (*domain.User, error) IsUsernameExists(ctx context.Context, username string) (bool, error) IsEmailExists(ctx context.Context, email string) (bool, error) // GetUserByID(ctx context.Context, id uint64) (*domain.User, error) // DeleteUser(ctx context.Context, id uint64) error } type UserService interface { Register(ctx context.Context, user *domain.User) (*domain.User, error) // GetUser(ctx context.Context, id uint64) (*domain.User, error) // DeleteUser(ctx context.Context, id uint64) error }