Skip to content

Instantly share code, notes, and snippets.

@olivaresf
Created August 2, 2020 01:56
Show Gist options
  • Save olivaresf/35c3d6bb29134f06c7abea2e20cf202f to your computer and use it in GitHub Desktop.
Save olivaresf/35c3d6bb29134f06c7abea2e20cf202f to your computer and use it in GitHub Desktop.
The original code
override func fetch(page: String?) {
client.client.send(
V3AssigneesRequest(
owner: owner,
repo: repo,
page: (page as NSString?)?.integerValue ?? 1
)
) { [weak self] result in
switch result {
case .success(let response):
let sortedUsers = PeopleViewController.sortUsers(
users: response.data,
currentUser: self?.client.userSession?.username
)
let users = sortedUsers.map { IssueAssigneeViewModel(login: $0.login, avatarURL: $0.avatarUrl) }
if page != nil {
self?.users += users
} else {
self?.users = users
}
self?.update(animated: true)
let nextPage: String?
if let next = response.next {
nextPage = "\(next)"
} else {
nextPage = nil
}
self?.update(page: nextPage, animated: true)
case .failure(let error):
Squawk.show(error: error)
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment