@@ -63,51 +63,63 @@ func getExpand(r *http.Request) []string {
6363}
6464
6565func getOffsetPaginatedQuery [v any ](r * http.Request , paginationConfig common.PaginationConfig , modifiers ... func (* v ) error ) (* storagecommon.OffsetPaginatedQuery [v ], error ) {
66- return bunpaginate .Extract [storagecommon.OffsetPaginatedQuery [v ]](r , func () (* storagecommon.OffsetPaginatedQuery [v ], error ) {
66+ ret , err := bunpaginate .Extract [storagecommon.OffsetPaginatedQuery [v ]](r , func () (* storagecommon.OffsetPaginatedQuery [v ], error ) {
6767 rq , err := getResourceQuery [v ](r , modifiers ... )
6868 if err != nil {
6969 return nil , err
7070 }
7171
72- pageSize , err := bunpaginate .GetPageSize (
72+ return & storagecommon.OffsetPaginatedQuery [v ]{
73+ Options : * rq ,
74+ }, nil
75+ })
76+ if err != nil {
77+ return nil , err
78+ }
79+
80+ if ret .PageSize == 0 || r .URL .Query ().Get (bunpaginate .QueryKeyPageSize ) != "" {
81+ ret .PageSize , err = bunpaginate .GetPageSize (
7382 r ,
7483 bunpaginate .WithMaxPageSize (paginationConfig .MaxPageSize ),
7584 bunpaginate .WithDefaultPageSize (paginationConfig .DefaultPageSize ),
7685 )
7786 if err != nil {
7887 return nil , err
7988 }
89+ }
8090
81- return & storagecommon.OffsetPaginatedQuery [v ]{
82- PageSize : pageSize ,
83- Options : * rq ,
84- }, nil
85- })
91+ return ret , nil
8692}
8793
8894func getColumnPaginatedQuery [v any ](r * http.Request , paginationConfig common.PaginationConfig , defaultPaginationColumn string , order bunpaginate.Order , modifiers ... func (* v ) error ) (* storagecommon.ColumnPaginatedQuery [v ], error ) {
89- return bunpaginate .Extract [storagecommon.ColumnPaginatedQuery [v ]](r , func () (* storagecommon.ColumnPaginatedQuery [v ], error ) {
95+ ret , err := bunpaginate .Extract [storagecommon.ColumnPaginatedQuery [v ]](r , func () (* storagecommon.ColumnPaginatedQuery [v ], error ) {
9096 rq , err := getResourceQuery [v ](r , modifiers ... )
9197 if err != nil {
9298 return nil , err
9399 }
94100
95- pageSize , err := bunpaginate .GetPageSize (
101+ return & storagecommon.ColumnPaginatedQuery [v ]{
102+ Column : defaultPaginationColumn ,
103+ Order : pointer .For (order ),
104+ Options : * rq ,
105+ }, nil
106+ })
107+ if err != nil {
108+ return nil , err
109+ }
110+
111+ if ret .PageSize == 0 || r .URL .Query ().Get (bunpaginate .QueryKeyPageSize ) != "" {
112+ ret .PageSize , err = bunpaginate .GetPageSize (
96113 r ,
97114 bunpaginate .WithMaxPageSize (paginationConfig .MaxPageSize ),
98115 bunpaginate .WithDefaultPageSize (paginationConfig .DefaultPageSize ),
99116 )
100117 if err != nil {
101118 return nil , err
102119 }
120+ }
103121
104- return & storagecommon.ColumnPaginatedQuery [v ]{
105- PageSize : pageSize ,
106- Column : defaultPaginationColumn ,
107- Order : pointer .For (order ),
108- Options : * rq ,
109- }, nil
110- })
122+ return ret , nil
111123}
112124
113125func getResourceQuery [v any ](r * http.Request , modifiers ... func (* v ) error ) (* storagecommon.ResourceQuery [v ], error ) {
0 commit comments