/** * Copyright (c) 2014-present, Facebook, Inc. All rights reserved. * * You are hereby granted a non-exclusive, worldwide, royalty-free license to use, * copy, modify, and distribute this software in source code or binary form for use * in connection with the web services and APIs provided by Facebook. * * As with any software that integrates with the Facebook platform, your use of * this software is subject to the Facebook Developer Principles and Policies * [http://developers.facebook.com/policy/]. This copyright notice shall be * included in all copies or substantial portions of the software. * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ import FBSDKGamingServicesKit import Foundation /// An internal representation of tournament graph objects. @objcMembers public final class FBSDKTournament: NSObject { /// The unique ID that is associated with this tournament. public internal(set) var identifier: String /** Timestamp when the tournament ends. If the expiration is in the past, then the tournament is already finished and has expired. */ public internal(set) var endTime: Date? /// Title of the tournament provided upon the creation of the tournament. public internal(set) var title: String? /// Payload of the tournament provided upon the creation of the tournament. public var payload: String? public convenience init(tournament: Tournament) { self.init( identifier: tournament.identifier, endTime: tournament.endTime, title: tournament.title, payload: tournament.payload ) } public var toDictionary: [String: String] { var dictionary = ["tournament_id": identifier] if let endTime = endTime { dictionary["end_time"] = "\(endTime.timeIntervalSince1970)" } dictionary["tournament_title"] = title dictionary["payload"] = payload return dictionary } public init( identifier: String, endTime: Date? = nil, title: String? = nil, payload: String? = nil ) { self.identifier = identifier self.endTime = endTime self.title = title self.payload = payload } }