По конвенции Go первым аргументом функции передаётся ctx context.Context. Контекст не принято хранить в полях структур - его создают для каждого запроса/операции и передают явно.
func Handle(ctx context.Context, req Request) error {
return db.Query(ctx, "SELECT ...")
}
Так отмена и дедлайны распространяются по всей цепочке вызовов. Хранение context в структуре усложняет отмену и тестирование.