Add `Skip()` and `Top()` to `QuickbaseQueryBuilder`
Evaluación
- Dificultad
- 2/5
- Tiempo estimado
- 1-3 horas
- Aptitud para principiantes
- 88/100
Línea de trabajo
Lee QuickbaseNet/Helpers/QuickbaseQueryBuilder.cs, QuickbaseNet/Models/Options.cs y QuickbaseNet/Requests/QuickbaseQueryRequest.cs; después, revisa las pruebas existentes del generador de consultas. Implementa los métodos solicitados del generador y el comportamiento de serialización de las opciones, manteniendo Options en null si no se llama a ninguno de los dos métodos. Ejecuta dotnet test --filter FullyQualifiedName~QuickbaseQueryBuilderTests y confirma las tres condiciones de finalización indicadas.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
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
- Lenguaje dominante
- C#
- Estrellas
- 3
- Forks
- 2
- Merge medio
- 5 h 53 min
- PR fusionados (30 d)
- 1
Preparar el entorno
- Sin Dockerfile ni archivo de Docker Compose
- Sin plantilla de pull request
- Leer la guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de hazeliscoding/quickbase-net
-
good first issue
Dificultad 2/5 1-3 horas Aptitud para principiantes 84/100
-
bug good first issue
Dificultad 2/5 1-3 horas Aptitud para principiantes 88/100
-
good first issue
Dificultad 2/5 1-3 horas Aptitud para principiantes 88/100
-
Update the package metadata that still points at ducksoopPosiblemente ocupada @hazeliscoding la tomó hace 2 días. Abierto
hazeliscoding/quickbase-net#15 · 1 asignado ·
Todos los issues de hazeliscoding/quickbase-net
Issues similares
-
Bug Platform: Android
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
getsentry/sentry-dotnet#5764 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
microsoft/SimpleL7Proxy#287 ·
Los mantenedores suelen responder en 1 día
-
bug priority: P2
Dificultad 1/5 Menos de una hora Aptitud para principiantes 78/100
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
IridiumIO/CompactGUI#699 ·
Los mantenedores suelen responder en 3 días