@@ -12,18 +12,23 @@ public class LeaderboardsRemote: Remote {
1212 /// - earliestDateToInclude: The earliest date to include in the results. This string is ISO8601 compliant
1313 /// - latestDateToInclude: The latest date to include in the results. This string is ISO8601 compliant
1414 /// - quantity: Number of results to fetch
15+ /// - forceRefresh: Whether to enforce the data being refreshed.
1516 /// - completion: Closure to be executed upon completion.
1617 ///
1718 public func loadLeaderboards( for siteID: Int64 ,
1819 unit: StatsGranularityV4 ,
1920 earliestDateToInclude: String ,
2021 latestDateToInclude: String ,
2122 quantity: Int ,
23+ forceRefresh: Bool ,
2224 completion: @escaping ( Result < [ Leaderboard ] , Error > ) -> Void ) {
23- let parameters = [ ParameterKeys . interval: unit. rawValue,
24- ParameterKeys . after: earliestDateToInclude,
25- ParameterKeys . before: latestDateToInclude,
26- ParameterKeys . quantity: String ( quantity) ]
25+ let parameters : [ String : Any ] = [
26+ ParameterKeys . interval: unit. rawValue,
27+ ParameterKeys . after: earliestDateToInclude,
28+ ParameterKeys . before: latestDateToInclude,
29+ ParameterKeys . quantity: String ( quantity) ,
30+ ParameterKeys . forceRefresh: forceRefresh
31+ ]
2732
2833 let request = JetpackRequest ( wooApiVersion: . wcAnalytics, method: . get, siteID: siteID, path: Constants . path, parameters: parameters)
2934 let mapper = LeaderboardListMapper ( )
@@ -39,18 +44,23 @@ public class LeaderboardsRemote: Remote {
3944 /// - earliestDateToInclude: The earliest date to include in the results. This string is ISO8601 compliant
4045 /// - latestDateToInclude: The latest date to include in the results. This string is ISO8601 compliant
4146 /// - quantity: Number of results to fetch
47+ /// - forceRefresh: Whether to enforce the data being refreshed
4248 /// - completion: Closure to be executed upon completion
4349 ///
4450 public func loadLeaderboardsDeprecated( for siteID: Int64 ,
4551 unit: StatsGranularityV4 ,
4652 earliestDateToInclude: String ,
4753 latestDateToInclude: String ,
4854 quantity: Int ,
55+ forceRefresh: Bool ,
4956 completion: @escaping ( Result < [ Leaderboard ] , Error > ) -> Void ) {
50- let parameters = [ ParameterKeys . interval: unit. rawValue,
51- ParameterKeys . after: earliestDateToInclude,
52- ParameterKeys . before: latestDateToInclude,
53- ParameterKeys . quantity: String ( quantity) ]
57+ let parameters : [ String : Any ] = [
58+ ParameterKeys . interval: unit. rawValue,
59+ ParameterKeys . after: earliestDateToInclude,
60+ ParameterKeys . before: latestDateToInclude,
61+ ParameterKeys . quantity: String ( quantity) ,
62+ ParameterKeys . forceRefresh: forceRefresh
63+ ]
5464
5565 let request = JetpackRequest ( wooApiVersion: . wcAnalytics, method: . get, siteID: siteID, path: Constants . pathDeprecated, parameters: parameters)
5666 let mapper = LeaderboardListMapper ( )
@@ -68,9 +78,10 @@ private extension LeaderboardsRemote {
6878 }
6979
7080 enum ParameterKeys {
71- static let interval : String = " interval "
72- static let after : String = " after "
73- static let before : String = " before "
74- static let quantity : String = " per_page "
81+ static let interval = " interval "
82+ static let after = " after "
83+ static let before = " before "
84+ static let quantity = " per_page "
85+ static let forceRefresh = " force_cache_refresh "
7586 }
7687}
0 commit comments