package user import "context" type Service interface { Create(ctx context.Context, user *User) error Update(ctx context.Context, user *User) error Delete(ctx context.Context, id []byte) error GetByID(ctx context.Context, id []byte) (*User, error) GetByEmail(ctx context.Context, email string) (*User, error) GetByUsername(ctx context.Context, username string) (*User, error) List(ctx context.Context, filter string, sort string, limit, offset int) ([]User, int64, error) }