mirror of https://github.com/oxen-io/session-ios
You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
32 lines
829 B
Swift
32 lines
829 B
Swift
// Copyright © 2021 Rangeproof Pty Ltd. All rights reserved.
|
|
//
|
|
// stringlint:disable
|
|
|
|
import Foundation
|
|
import SessionUtilitiesKit
|
|
|
|
struct TurnServerInfo {
|
|
|
|
let password: String
|
|
let username: String
|
|
let urls: [String]
|
|
|
|
init?(attributes: [String: Any], random: Int? = nil) {
|
|
guard
|
|
let passwordAttribute = attributes["password"] as? String,
|
|
let usernameAttribute = attributes["username"] as? String,
|
|
let urlsAttribute = attributes["urls"] as? [String]
|
|
else {
|
|
return nil
|
|
}
|
|
|
|
password = passwordAttribute
|
|
username = usernameAttribute
|
|
urls = {
|
|
guard let random: Int = random else { return urlsAttribute }
|
|
|
|
return Array(urlsAttribute.shuffled()[0..<random])
|
|
}()
|
|
}
|
|
}
|