package repositories import ( "context" "counter/internal/domain/entities" ) // UserRepository defines the interface for user data operations type UserRepository interface { Create(ctx context.Context, user *entities.User) error FindByID(ctx context.Context, id int) (*entities.User, error) FindByUsername(ctx context.Context, username string) (*entities.User, error) FindByEmail(ctx context.Context, email string) (*entities.User, error) Update(ctx context.Context, user *entities.User) error Delete(ctx context.Context, id int) error }