51 lines
1.3 KiB
Swift
51 lines
1.3 KiB
Swift
import Foundation
|
|
|
|
struct Filter {
|
|
var searchString = ""
|
|
var brand: String?
|
|
var model: String?
|
|
var color: String?
|
|
var regions: [Int]?
|
|
var addedBy: AddedBy?
|
|
var fromDate: Date?
|
|
var toDate: Date?
|
|
|
|
mutating func clear() {
|
|
self.brand = nil
|
|
self.model = nil
|
|
self.color = nil
|
|
self.regions = nil
|
|
self.addedBy = nil
|
|
self.fromDate = nil
|
|
self.toDate = nil
|
|
}
|
|
|
|
func queryDictionary() -> [String: String] {
|
|
var dict: [String: String] = ["query": self.searchString]
|
|
|
|
if let brand = self.brand {
|
|
dict["brand"] = brand
|
|
}
|
|
if let model = self.model {
|
|
dict["model"] = model
|
|
}
|
|
if let color = self.color {
|
|
dict["color"] = color
|
|
}
|
|
if let regions = self.regions {
|
|
dict["regions"] = regions.map(String.init).joined(separator: ",")
|
|
}
|
|
if let addedBy = self.addedBy {
|
|
dict["addedBy"] = addedBy.rawValue
|
|
}
|
|
if let fromDate = self.fromDate {
|
|
dict["fromDate"] = String(fromDate.timeIntervalSince1970)
|
|
}
|
|
if let toDate = self.toDate {
|
|
dict["toDate"] = String(toDate.timeIntervalSince1970)
|
|
}
|
|
|
|
return dict
|
|
}
|
|
}
|