(ctx *gin.Context, paging *pagingParams, messages []*model.Message)
| 99 | } |
| 100 | |
| 101 | func buildWithPaging(ctx *gin.Context, paging *pagingParams, messages []*model.Message) *model.PagedMessages { |
| 102 | next := "" |
| 103 | since := uint(0) |
| 104 | useMessages := messages |
| 105 | if len(messages) > paging.Limit { |
| 106 | useMessages = messages[:len(messages)-1] |
| 107 | since = useMessages[len(useMessages)-1].ID |
| 108 | url := location.Get(ctx) |
| 109 | url.Path = ctx.Request.URL.Path |
| 110 | query := url.Query() |
| 111 | query.Add("limit", strconv.Itoa(paging.Limit)) |
| 112 | query.Add("since", strconv.FormatUint(uint64(since), 10)) |
| 113 | url.RawQuery = query.Encode() |
| 114 | next = url.String() |
| 115 | } |
| 116 | return &model.PagedMessages{ |
| 117 | Paging: model.Paging{Size: len(useMessages), Limit: paging.Limit, Next: next, Since: since}, |
| 118 | Messages: toExternalMessages(useMessages), |
| 119 | } |
| 120 | } |
| 121 | |
| 122 | func withPaging(ctx *gin.Context, f func(pagingParams *pagingParams)) { |
| 123 | params := &pagingParams{Limit: 100} |
no test coverage detected
searching dependent graphs…