Skip to content

Commit 5f16930

Browse files
committed
В процессе
1 parent f798231 commit 5f16930

File tree

5 files changed

+60
-117534
lines changed

5 files changed

+60
-117534
lines changed

SwiftUI-WorkoutApp/Libraries/SWNetworkClient/Sources/SWNetworkClient/Endpoint.swift

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -83,6 +83,10 @@ enum Endpoint {
8383
/// Возвращает список с кратким набором полей, т.к. при запросе всех данных сервер не справляется с нагрузкой
8484
case getAllParks
8585

86+
// MARK: Получить список площадок постранично
87+
/// **GET** ${API}/areas?fields=short&page_size=${pageSize}&page=${page}
88+
case getParksPageByPage(page: Int, pageSize: Int)
89+
8690
// MARK: Получить список площадок, обновленных после указанной даты
8791
/// **GET** ${API}/areas/last/<date>
8892
case getUpdatedParks(from: String)
@@ -284,7 +288,7 @@ extension Endpoint {
284288
"/users/search"
285289
case .getCountries:
286290
"/countries"
287-
case .getAllParks:
291+
case .getAllParks, .getParksPageByPage:
288292
"/areas"
289293
case let .getUpdatedParks(date):
290294
"/areas/last/\(date)"
@@ -363,7 +367,7 @@ extension Endpoint {
363367
.createPark, .editPark:
364368
.post
365369
case .getUser, .getFriendsForUser, .getFriendRequests,
366-
.getAllParks, .getPark,
370+
.getAllParks, .getParksPageByPage, .getPark,
367371
.findUsers, .getParksForUser, .getBlacklist,
368372
.getFutureEvents, .getPastEvents, .getEvent,
369373
.getDialogs, .getMessages, .getJournals,
@@ -393,6 +397,11 @@ extension Endpoint {
393397
var queryItems: [URLQueryItem] {
394398
switch self {
395399
case .getAllParks: [.init(name: "fields", value: "short")]
400+
case let .getParksPageByPage(page, pageSize): [
401+
.init(name: "fields", value: "short"),
402+
.init(name: "page_size", value: String(pageSize)),
403+
.init(name: "page", value: String(page))
404+
]
396405
case let .findUsers(name): [.init(name: "name", value: name)]
397406
default: []
398407
}
@@ -427,7 +436,7 @@ extension Endpoint {
427436
.deleteEventComment, .deleteEvent, .getDialogs,
428437
.getMessages, .deleteDialog, .getJournals,
429438
.getJournal, .getJournalEntries, .deleteEntry,
430-
.deleteJournal, .getAllParks,
439+
.deleteJournal, .getAllParks, .getParksPageByPage,
431440
.getUpdatedParks, .deletePark,
432441
.deleteEventPhoto, .deleteParkPhoto:
433442
return nil

SwiftUI-WorkoutApp/Libraries/SWNetworkClient/Sources/SWNetworkClient/SWClient.swift

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -197,6 +197,16 @@ public struct SWClient: Sendable {
197197
return try await makeResult(for: endpoint)
198198
}
199199

200+
/// Загружает список площадок постранично
201+
/// - Parameters:
202+
/// - page: Номер страницы (начиная с 1)
203+
/// - pageSize: Количество элементов на странице
204+
/// - Returns: Список площадок для указанной страницы
205+
public func getParksPageByPage(page: Int, pageSize: Int) async throws -> [Park] {
206+
let endpoint = Endpoint.getParksPageByPage(page: page, pageSize: pageSize)
207+
return try await makeResult(for: endpoint)
208+
}
209+
200210
/// Загружает список всех площадок, обновленных после указанной даты
201211
/// - Parameter stringDate: дата отсечки для поиска обновленных площадок
202212
/// - Returns: Список обновленных площадок

0 commit comments

Comments
 (0)