Add `Skip()` and `Top()` to `QuickbaseQueryBuilder`
Valutazione
- Difficoltà
- 2/5
- Tempo stimato
- 1-3 ore
- Idoneità per principianti
- 88/100
Direzione di ricerca
Leggi QuickbaseNet/Helpers/QuickbaseQueryBuilder.cs, QuickbaseNet/Models/Options.cs e QuickbaseNet/Requests/QuickbaseQueryRequest.cs, quindi esamina i test esistenti del generatore di query. Implementa i metodi richiesti del generatore e il comportamento di serializzazione delle opzioni, mantenendo Options null se non viene chiamato nessuno dei due metodi. Esegui dotnet test --filter FullyQualifiedName~QuickbaseQueryBuilderTests e conferma le tre condizioni di completamento elencate.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
The query endpoint takes skip and top options for paging. QuickbaseQueryRequest already has an Options property for them, but QuickbaseQueryBuilder never sets it. This is the paging item in ROADMAP.md.
What to do
- Add
Skip(int count)andTop(int count)toQuickbaseQueryBuilder. Each returns the builder, like the other methods. - In
Build(), setOptionsonly when one of them was called. Otherwise leave it null, as it is today. - In
Options, addDefaultValueHandling = DefaultValueHandling.Ignoreto theskipandtopproperties, so calling onlySkip(100)doesn't also send"top": 0. - Add XML doc comments to both methods.
QueryAllRecords is a separate roadmap item. Leave it out.
Where to look
QuickbaseNet/Helpers/QuickbaseQueryBuilder.cs(Build()is at line 86)QuickbaseNet/Models/Options.csQuickbaseNet/Requests/QuickbaseQueryRequest.cs, line 46
Done when
-
.Skip(100).Top(50)builds a request withOptions.Skip100 andOptions.Top50 - A request built without either has
Options == null -
JsonConvert.SerializeObjectof a request built with only.Skip(100)contains"skip":100and no"top"key - Tests for all three in
QuickbaseNet.UnitTests/Tests/QuickbaseQueryBuilderTests.cs(create it if it doesn't exist)
Testing it
dotnet test --filter FullyQualifiedName~QuickbaseQueryBuilderTests
- Lingua principale
- C#
- Stelle
- 3
- Fork
- 2
- Merge medio
- 5h 53m
- PR unite (30g)
- 1
Preparare l'ambiente
- Nessun Dockerfile né file Docker Compose
- Nessun 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 hazeliscoding/quickbase-net
-
good first issue
Difficoltà 2/5 1-3 ore Idoneità per principianti 84/100
-
bug good first issue
Difficoltà 2/5 1-3 ore Idoneità per principianti 88/100
-
good first issue
Difficoltà 2/5 1-3 ore Idoneità per principianti 88/100
-
Update the package metadata that still points at ducksoopForse già presa @hazeliscoding l’ha presa 2 giorni fa. Aperta
hazeliscoding/quickbase-net#15 · 1 assegnatario ·
Tutte le issue di hazeliscoding/quickbase-net
Issue simili
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
I maintainer di solito rispondono entro 1 giorno
-
bug priority: P2
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 78/100
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
IridiumIO/CompactGUI#699 ·
I maintainer di solito rispondono entro 3 giorni
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 74/100
bitfoundation/bitplatform#14070 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 73/100
I maintainer di solito rispondono entro 1 giorno