Skip to content

Commit

Permalink
feat: added support for limits and offsets (#20)
Browse files Browse the repository at this point in the history
* feat: added support for limits and offsets

* Commit from GitHub Actions (CI)

---------

Co-authored-by: brittonhayes <[email protected]>
  • Loading branch information
brittonhayes and brittonhayes authored Jul 31, 2023
1 parent 725fae9 commit 80c2944
Show file tree
Hide file tree
Showing 7 changed files with 210 additions and 33 deletions.
145 changes: 117 additions & 28 deletions api/api.gen.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

48 changes: 48 additions & 0 deletions api/openapi.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,18 @@ paths:
description: Get all allegiances
operationId: getAllegiances
parameters:
- name: limit
in: query
description: number of allegiances to return
required: false
schema:
type: integer
- name: offset
in: query
description: number of allegiances to skip
required: false
schema:
type: integer
- name: name
in: query
description: name of allegiance to filter by
Expand Down Expand Up @@ -140,6 +152,18 @@ paths:
description: Get all cities
operationId: getCities
parameters:
- name: limit
in: query
description: number of cities to return
required: false
schema:
type: integer
- name: offset
in: query
description: number of cities to skip
required: false
schema:
type: integer
- name: name
in: query
description: name of city to filter by
Expand Down Expand Up @@ -301,6 +325,18 @@ paths:
description: Get all units
operationId: getUnits
parameters:
- name: limit
in: query
description: number of units to return
required: false
schema:
type: integer
- name: offset
in: query
description: number of units to skip
required: false
schema:
type: integer
- name: name
in: query
description: name of unit to filter by
Expand Down Expand Up @@ -424,6 +460,18 @@ paths:
description: Get all warscrolls
operationId: getWarscrolls
parameters:
- name: limit
in: query
description: number of warscrolls to return
required: false
schema:
type: integer
- name: offset
in: query
description: number of warscrolls to skip
required: false
schema:
type: integer
- name: name
in: query
description: name of warscroll to filter by
Expand Down
8 changes: 8 additions & 0 deletions sqlite/allegiance.go
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,14 @@ func (r *repository) allegiancesFilterQuery(query *bun.SelectQuery, params *api.
return query, nil
}

if params.Limit != nil {
query = query.Limit(*params.Limit)
}

if params.Offset != nil {
query = query.Offset(*params.Offset)
}

if params.GrandAlliance != nil {
query = query.Where("grand_alliance = ?", params.GrandAlliance)
}
Expand Down
8 changes: 8 additions & 0 deletions sqlite/city.go
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,14 @@ func (r *repository) citiesFilterQuery(query *bun.SelectQuery, params *api.GetCi
return query, nil
}

if params.Limit != nil {
query = query.Limit(*params.Limit)
}

if params.Offset != nil {
query = query.Offset(*params.Offset)
}

if params.Name != nil {
query = query.Where("? LIKE ?", bun.Ident("name"), *params.Name+"%")
}
Expand Down
8 changes: 8 additions & 0 deletions sqlite/unit.go
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,14 @@ func (r *repository) unitsFilterQuery(query *bun.SelectQuery, params *api.GetUni
return query, nil
}

if params.Limit != nil {
query = query.Limit(*params.Limit)
}

if params.Offset != nil {
query = query.Offset(*params.Offset)
}

if params.Name != nil {
query = query.Where("? LIKE ?", bun.Ident("name"), *params.Name+"%")
}
Expand Down
8 changes: 8 additions & 0 deletions sqlite/warscroll.go
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,14 @@ func (r *repository) warscrollFilterQuery(query *bun.SelectQuery, params *api.Ge
return query, nil
}

if params.Limit != nil {
query = query.Limit(*params.Limit)
}

if params.Offset != nil {
query = query.Offset(*params.Offset)
}

if params.Name != nil {
query = query.Where("? LIKE ?", bun.Ident("name"), *params.Name+"%")
}
Expand Down
Loading

0 comments on commit 80c2944

Please sign in to comment.