Hacktoberfest 2026: as issues que os mantenedores marcaram para outubro, abertas e boas para iniciantes. Ver issues do Hacktoberfest

Add `Skip()` and `Top()` to `QuickbaseQueryBuilder`

Aberta Para iniciantes
#16 1 comentário 0 reações 0 responsáveis Ver no GitHub

@bercedev já está trabalhando nisso.

Desde 21/10/2026.

  • #23 de @bercedev — aberto

Avaliação

Dificuldade
2/5
Tempo estimado
1-3 horas
Facilidade para iniciantes
88/100
Tipo de issue
Funcionalidade
Clareza
Claramente especificada
Status de atividade
Ativa
Stack de tecnologia
csharp
Domínio
api

Direção de pesquisa

Leia QuickbaseNet/Helpers/QuickbaseQueryBuilder.cs, QuickbaseNet/Models/Options.cs e QuickbaseNet/Requests/QuickbaseQueryRequest.cs e, em seguida, examine os testes existentes do construtor de consultas. Implemente os métodos solicitados do construtor e o comportamento de serialização das opções, mantendo Options como null se nenhum dos dois métodos for chamado. Execute dotnet test --filter FullyQualifiedName~QuickbaseQueryBuilderTests e confirme as três condições de conclusão listadas.

Escrita pelo modelo de indexação a partir do texto da issue.

Descrição

enhancement good first issue

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) and Top(int count) to QuickbaseQueryBuilder. Each returns the builder, like the other methods.
  • In Build(), set Options only when one of them was called. Otherwise leave it null, as it is today.
  • In Options, add DefaultValueHandling = DefaultValueHandling.Ignore to the skip and top properties, so calling only Skip(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.cs
  • QuickbaseNet/Requests/QuickbaseQueryRequest.cs, line 46

Done when

  • .Skip(100).Top(50) builds a request with Options.Skip 100 and Options.Top 50
  • A request built without either has Options == null
  • JsonConvert.SerializeObject of a request built with only .Skip(100) contains "skip":100 and 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
Linguagem predominante
C#
Estrelas
3
Forks
2
Merge médio
3h 14min
PRs com merge (30d)
2

Preparar o ambiente

Primeiros passos

  1. Leia a issue inteira e depois o guia de contribuição do projeto.
  2. Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
  3. Faça um fork do repositório e trabalhe em uma branch.
  4. Abra um pull request que referencie o número da issue.

Mais de hazeliscoding/quickbase-net

Todas as issues de hazeliscoding/quickbase-net

Issues semelhantes

Mais issues de C#

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.