initial commit 2
This commit is contained in:
38
application/applicationservice/util.go
Normal file
38
application/applicationservice/util.go
Normal file
@@ -0,0 +1,38 @@
|
||||
package applicationservice
|
||||
|
||||
import (
|
||||
"math"
|
||||
|
||||
"bitbucket.org/nemt/nemt-portal-api/application/viewmodel"
|
||||
)
|
||||
|
||||
// getTakeSkipPaging return the take and skip from page number and item quantity
|
||||
func getTakeSkipPaging(quantity int64, page int64) (take int64, skip int64) {
|
||||
if page < 1 {
|
||||
page = 1
|
||||
}
|
||||
|
||||
if quantity < 1 {
|
||||
quantity = 10
|
||||
} else if quantity > 1000 {
|
||||
quantity = 1000
|
||||
}
|
||||
|
||||
take = quantity // itens per page
|
||||
skip = (page - 1) * quantity
|
||||
|
||||
return take, skip
|
||||
}
|
||||
|
||||
// buildPaginatedResult returns a paginatedResult instance
|
||||
func buildPaginatedResult(list interface{}, skip int64, take int64, totalRecords int64) viewmodel.PaginatedResult {
|
||||
return viewmodel.PaginatedResult{
|
||||
List: list,
|
||||
Pagination: viewmodel.ReturnPagination{
|
||||
CurrentPage: (skip / take) + 1,
|
||||
RecordsPerPage: take,
|
||||
TotalRecords: totalRecords,
|
||||
TotalPages: int64(math.Ceil(float64(totalRecords) / float64(take))),
|
||||
},
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user