Open up Paginator::$documents for read
I maintainer di solito rispondono entro 1 giorno
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 2/5
- Tempo stimato
- 1-3 ore
- Idoneità per principianti
- 45/100
Direzione di ricerca
Parti dalla classe Elasticsearch\Paginator e verifica come i suoi documenti vengono consumati dal normalizzatore della collection Hydra. Usa l’esempio di decorator nell’issue per verificare che le aggregazioni Elasticsearch possano essere lette senza sostituire il provider nativo; il lavoro è completo quando i documenti rimangono di sola lettura ma sono accessibili pubblicamente.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Description
In Elasticsearch\Paginator, the results of the query stored in $this->documents are private readonly.
Since the property is readonly anyway, would you be willing to make it public readonly?
A lot of the time, Elasticsearch returns metadata such as aggregations, necessary for building feature-rich search experiences.
It is a total waste of time to implement a custom Elasticsearch provider. The native one is great and does a lot of heavy lifting. If the property was open for read, I could simply decorate the normalizer, see example.
Example
#[AsDecorator('api_platform.hydra.normalizer.collection')]
class ElasticsearchNormalizer implements NormalizerInterface, NormalizerAwareInterface
{
public function __construct(
private NormalizerInterface $normalizer,
) {
}
public function normalize(mixed $object, string $format = null, array $context = []): array
{
if (!$object instanceof Elasticsearch\Paginator) {
throw new \LogicException();
}
return array_merge(
$this->normalizer->normalize($object, $format, $context), // produces a valid hydra:collection
['aggregations => $object->documents['aggregations']], // metadata returned by Elasticsearch read from the raw result
));
}
}
- Lingua principale
- PHP
- Stelle
- 2.6k
- Fork
- 989
- Merge medio
- 1g 23h
- PR unite (30g)
- 102
Preparare l'ambiente
- Nessun Dockerfile né file Docker Compose
- Ha un modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di api-platform/core
-
JSON:API: resource schemas (`*.jsonapi`) have `properties` but no `type: object`Forse già presa @ousamabenyounes l’ha presa 2 giorni fa. Aperta
Difficoltà 2/5 Meno di un'ora Idoneità per principianti 80/100
api-platform/core#8701 ·
I maintainer di solito rispondono entro 1 giorno
-
JSON:API: `JsonApiCollectionBaseSchemaNoPagination` declares `data` as `type: array` without `items`Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
api-platform/core#8699 ·
I maintainer di solito rispondono entro 1 giorno
-
api:openapi:export --spec-version=3.0.0 outputs `webhooks`, which is invalid in OpenAPI 3.0Forse già presa Una pull request collegata a questa issue è aperta o già unita. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
api-platform/core#8690 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 85/100
api-platform/core#8680 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 3/5 1-2 giorni Idoneità per principianti 68/100
api-platform/core#8725 ·
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di api-platform/core
Issue simili
-
bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 84/100
nextcloud/integration_openai#446 ·
-
bug customer-reported
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
MagnaCapax/PMSS#1101 ·
I maintainer di solito rispondono entro 5 giorni
-
InvoiceSettled is answered 200 when the invoice cannot be re-fetched, so BTCPay never redelivers itAperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
btcpayserver/woocommerce-greenfield-plugin#93 ·
I maintainer di solito rispondono entro 1 giorno
-
kind/bug status/triage
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
-
🐛 [Bug] Bulk CSV import stores hide_from_combined_view=FALSE as a string, which hides every account from Sent, Junk, Trash and DraftsForse già presa @exSnake l’ha presa oggi. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
I maintainer di solito rispondono entro 1 giorno