package user import "context" type Repository 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) GetLastNameByID(ctx context.Context, id []byte) (string, error) }