in FBSDKGamingServicesKit/FBSDKGamingServicesKit/Internal/ShareTournamentDialog.swift [149:178]
func parseTournamentURL(url: URL) -> Bool {
let components = URLComponents(url: url, resolvingAgainstBaseURL: true)
guard let queryItems = components?.queryItems else {
delegate?.didCancel(dialog: self)
return false
}
let tournamentIDQueryItem = queryItems.filter { item in
item.name.elementsEqual("tournament_id")
}
let errorMessageQueryItem = queryItems.filter { item in
item.name.elementsEqual("error_message")
}
if errorMessageQueryItem.count == 1, let errorMessage = errorMessageQueryItem.first?.value {
delegate?.didFail(withError: ShareTournamentDialogError.errorMessage(errorMessage), dialog: self)
}
guard
tournamentIDQueryItem.count == 1,
let tournamentID = tournamentIDQueryItem.first?.value
else {
return false
}
if let currentConfig = currentConfig {
let createdTournament = Tournament(identifier: tournamentID, config: currentConfig)
delegate?.didComplete(dialog: self, tournament: createdTournament)
}
if let tournamentToUpdate = tournamentToUpdate, tournamentToUpdate.identifier == tournamentID {
delegate?.didComplete(dialog: self, tournament: tournamentToUpdate)
}
return false
}