mirror of
https://github.com/mattermost/mattermost.git
synced 2025-02-25 18:55:24 -06:00
[MM-38131] Remove deprecated pageSize query parameter (#27957)
This commit is contained in:
@@ -2618,16 +2618,16 @@
|
|||||||
type: string
|
type: string
|
||||||
- name: page
|
- name: page
|
||||||
in: query
|
in: query
|
||||||
description: Page specifies which part of the results to return, by PageSize.
|
description: Page specifies which part of the results to return, by perPage.
|
||||||
required: false
|
required: false
|
||||||
schema:
|
schema:
|
||||||
type: integer
|
type: integer
|
||||||
- name: pageSize
|
- name: per_page
|
||||||
in: query
|
in: query
|
||||||
description: PageSize specifies the size of the returned chunk of results.
|
description: The size of the returned chunk of results.
|
||||||
required: false
|
|
||||||
schema:
|
schema:
|
||||||
type: integer
|
type: integer
|
||||||
|
default: 60
|
||||||
responses:
|
responses:
|
||||||
"200":
|
"200":
|
||||||
description: User's uploads retrieval successful
|
description: User's uploads retrieval successful
|
||||||
@@ -2787,18 +2787,17 @@
|
|||||||
default: false
|
default: false
|
||||||
- name: page
|
- name: page
|
||||||
in: query
|
in: query
|
||||||
description: Page specifies which part of the results to return, by PageSize.
|
description: Page specifies which part of the results to return, by per_page.
|
||||||
required: false
|
required: false
|
||||||
schema:
|
schema:
|
||||||
type: integer
|
type: integer
|
||||||
default: 0
|
default: 0
|
||||||
- name: pageSize
|
- name: per_page
|
||||||
in: query
|
in: query
|
||||||
description: PageSize specifies the size of the returned chunk of results.
|
description: The size of the returned chunk of results.
|
||||||
required: false
|
|
||||||
schema:
|
schema:
|
||||||
default: 30
|
type: integer
|
||||||
type: integer
|
default: 60
|
||||||
- name: totalsOnly
|
- name: totalsOnly
|
||||||
in: query
|
in: query
|
||||||
description: Setting this to true will only return the total counts.
|
description: Setting this to true will only return the total counts.
|
||||||
|
|||||||
@@ -5,7 +5,6 @@ package web
|
|||||||
|
|
||||||
import (
|
import (
|
||||||
"net/http"
|
"net/http"
|
||||||
"net/url"
|
|
||||||
"strconv"
|
"strconv"
|
||||||
"strings"
|
"strings"
|
||||||
|
|
||||||
@@ -187,7 +186,15 @@ func ParamsFromRequest(r *http.Request) *Params {
|
|||||||
|
|
||||||
params.TimeRange = query.Get("time_range")
|
params.TimeRange = query.Get("time_range")
|
||||||
params.Permanent, _ = strconv.ParseBool(query.Get("permanent"))
|
params.Permanent, _ = strconv.ParseBool(query.Get("permanent"))
|
||||||
params.PerPage = getPerPageFromQuery(query)
|
|
||||||
|
val, err := strconv.Atoi(query.Get("per_page"))
|
||||||
|
if err != nil || val < 0 {
|
||||||
|
params.PerPage = PerPageDefault
|
||||||
|
} else if val > PerPageMaximum {
|
||||||
|
params.PerPage = PerPageMaximum
|
||||||
|
} else {
|
||||||
|
params.PerPage = val
|
||||||
|
}
|
||||||
|
|
||||||
if val, err := strconv.Atoi(query.Get("logs_per_page")); err != nil || val < 0 {
|
if val, err := strconv.Atoi(query.Get("logs_per_page")); err != nil || val < 0 {
|
||||||
params.LogsPerPage = LogsPerPageDefault
|
params.LogsPerPage = LogsPerPageDefault
|
||||||
@@ -273,20 +280,3 @@ func ParamsFromRequest(r *http.Request) *Params {
|
|||||||
|
|
||||||
return params
|
return params
|
||||||
}
|
}
|
||||||
|
|
||||||
// getPerPageFromQuery returns the PerPage value from the given query.
|
|
||||||
// This function should be removed and the support for `pageSize`
|
|
||||||
// should be dropped after v1.46 of the mobile app is no longer supported
|
|
||||||
// https://mattermost.atlassian.net/browse/MM-38131
|
|
||||||
func getPerPageFromQuery(query url.Values) int {
|
|
||||||
val, err := strconv.Atoi(query.Get("per_page"))
|
|
||||||
if err != nil {
|
|
||||||
val, err = strconv.Atoi(query.Get("pageSize"))
|
|
||||||
}
|
|
||||||
if err != nil || val < 0 {
|
|
||||||
return PerPageDefault
|
|
||||||
} else if val > PerPageMaximum {
|
|
||||||
return PerPageMaximum
|
|
||||||
}
|
|
||||||
return val
|
|
||||||
}
|
|
||||||
|
|||||||
@@ -13,30 +13,6 @@ import (
|
|||||||
"github.com/mattermost/mattermost/server/public/model"
|
"github.com/mattermost/mattermost/server/public/model"
|
||||||
)
|
)
|
||||||
|
|
||||||
func TestGetPerPageFromQuery(t *testing.T) {
|
|
||||||
t.Run("defaults should be set", func(t *testing.T) {
|
|
||||||
query := make(url.Values)
|
|
||||||
perPage := getPerPageFromQuery(query)
|
|
||||||
require.Equal(t, PerPageDefault, perPage)
|
|
||||||
})
|
|
||||||
|
|
||||||
t.Run("per_page should take priority", func(t *testing.T) {
|
|
||||||
query := make(url.Values)
|
|
||||||
query.Add("pageSize", "100")
|
|
||||||
query.Add("per_page", "50")
|
|
||||||
perPage := getPerPageFromQuery(query)
|
|
||||||
require.Equal(t, 50, perPage)
|
|
||||||
})
|
|
||||||
|
|
||||||
t.Run("pageSize should be used only if per_page is incorrectly set", func(t *testing.T) {
|
|
||||||
query := make(url.Values)
|
|
||||||
query.Add("pageSize", "100")
|
|
||||||
query.Add("per_page", "BAD VALUE")
|
|
||||||
perPage := getPerPageFromQuery(query)
|
|
||||||
require.Equal(t, 100, perPage)
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
func TestParamsFromRequest(t *testing.T) {
|
func TestParamsFromRequest(t *testing.T) {
|
||||||
testCases := []struct {
|
testCases := []struct {
|
||||||
Description string
|
Description string
|
||||||
|
|||||||
Reference in New Issue
Block a user