forked from StrafesNET/maps-service
Closes #229 This is a MVP and only includes maps. Reviewed-on: StrafesNET/maps-service#253 Reviewed-by: itzaname <itzaname@noreply@itzana.me> Co-authored-by: Rhys Lloyd <krakow20@gmail.com> Co-committed-by: Rhys Lloyd <krakow20@gmail.com>
53 lines
1.3 KiB
Go
53 lines
1.3 KiB
Go
package dto
|
|
|
|
// @Description Generic response
|
|
type Response[T any] struct {
|
|
// Data contains the actual response payload
|
|
Data T `json:"data"`
|
|
} // @name Response
|
|
|
|
type PagedTotalResponse[T any] struct {
|
|
// Data contains the actual response payload
|
|
Data []T `json:"data"`
|
|
|
|
// Pagination contains information about paging
|
|
Pagination PaginationWithTotal `json:"pagination"`
|
|
} // @name PagedTotalResponse
|
|
|
|
// PaginationWithTotal holds information about the current page, total items, etc.
|
|
type PaginationWithTotal struct {
|
|
// Current page number
|
|
Page int `json:"page"`
|
|
|
|
// Number of items per page
|
|
PageSize int `json:"page_size"`
|
|
|
|
// Total number of items across all pages
|
|
TotalItems int `json:"total_items"`
|
|
|
|
// Total number of pages
|
|
TotalPages int `json:"total_pages"`
|
|
} // @name PaginationWithTotal
|
|
|
|
type PagedResponse[T any] struct {
|
|
// Data contains the actual response payload
|
|
Data []T `json:"data"`
|
|
|
|
// Pagination contains information about paging
|
|
Pagination Pagination `json:"pagination"`
|
|
} // @name PagedResponse
|
|
|
|
// Pagination holds information about the current page.
|
|
type Pagination struct {
|
|
// Current page number
|
|
Page int `json:"page"`
|
|
|
|
// Number of items per page
|
|
PageSize int `json:"page_size"`
|
|
} // @name Pagination
|
|
|
|
// Error holds error responses
|
|
type Error struct {
|
|
Error string `json:"error"`
|
|
} // @name Error
|