Removing vehicles from local db
This commit is contained in:
parent
dde3c91502
commit
c46d113832
@ -7,28 +7,28 @@
|
|||||||
<key>AutoCat.xcscheme_^#shared#^_</key>
|
<key>AutoCat.xcscheme_^#shared#^_</key>
|
||||||
<dict>
|
<dict>
|
||||||
<key>orderHint</key>
|
<key>orderHint</key>
|
||||||
<integer>0</integer>
|
<integer>1</integer>
|
||||||
</dict>
|
</dict>
|
||||||
<key>Eureka (Playground) 1.xcscheme</key>
|
<key>Eureka (Playground) 1.xcscheme</key>
|
||||||
<dict>
|
<dict>
|
||||||
<key>isShown</key>
|
<key>isShown</key>
|
||||||
<false/>
|
<false/>
|
||||||
<key>orderHint</key>
|
<key>orderHint</key>
|
||||||
<integer>9</integer>
|
<integer>5</integer>
|
||||||
</dict>
|
</dict>
|
||||||
<key>Eureka (Playground) 2.xcscheme</key>
|
<key>Eureka (Playground) 2.xcscheme</key>
|
||||||
<dict>
|
<dict>
|
||||||
<key>isShown</key>
|
<key>isShown</key>
|
||||||
<false/>
|
<false/>
|
||||||
<key>orderHint</key>
|
<key>orderHint</key>
|
||||||
<integer>10</integer>
|
<integer>6</integer>
|
||||||
</dict>
|
</dict>
|
||||||
<key>Eureka (Playground).xcscheme</key>
|
<key>Eureka (Playground).xcscheme</key>
|
||||||
<dict>
|
<dict>
|
||||||
<key>isShown</key>
|
<key>isShown</key>
|
||||||
<false/>
|
<false/>
|
||||||
<key>orderHint</key>
|
<key>orderHint</key>
|
||||||
<integer>3</integer>
|
<integer>4</integer>
|
||||||
</dict>
|
</dict>
|
||||||
<key>GettingStarted (Playground) 1.xcscheme</key>
|
<key>GettingStarted (Playground) 1.xcscheme</key>
|
||||||
<dict>
|
<dict>
|
||||||
@ -70,7 +70,7 @@
|
|||||||
<key>isShown</key>
|
<key>isShown</key>
|
||||||
<false/>
|
<false/>
|
||||||
<key>orderHint</key>
|
<key>orderHint</key>
|
||||||
<integer>5</integer>
|
<integer>10</integer>
|
||||||
</dict>
|
</dict>
|
||||||
<key>Rx (Playground) 1.xcscheme</key>
|
<key>Rx (Playground) 1.xcscheme</key>
|
||||||
<dict>
|
<dict>
|
||||||
@ -84,28 +84,28 @@
|
|||||||
<key>isShown</key>
|
<key>isShown</key>
|
||||||
<false/>
|
<false/>
|
||||||
<key>orderHint</key>
|
<key>orderHint</key>
|
||||||
<integer>4</integer>
|
<integer>3</integer>
|
||||||
</dict>
|
</dict>
|
||||||
<key>Rx (Playground).xcscheme</key>
|
<key>Rx (Playground).xcscheme</key>
|
||||||
<dict>
|
<dict>
|
||||||
<key>isShown</key>
|
<key>isShown</key>
|
||||||
<false/>
|
<false/>
|
||||||
<key>orderHint</key>
|
<key>orderHint</key>
|
||||||
<integer>1</integer>
|
<integer>0</integer>
|
||||||
</dict>
|
</dict>
|
||||||
<key>SwiftDate (Playground) 1.xcscheme</key>
|
<key>SwiftDate (Playground) 1.xcscheme</key>
|
||||||
<dict>
|
<dict>
|
||||||
<key>isShown</key>
|
<key>isShown</key>
|
||||||
<false/>
|
<false/>
|
||||||
<key>orderHint</key>
|
<key>orderHint</key>
|
||||||
<integer>7</integer>
|
<integer>8</integer>
|
||||||
</dict>
|
</dict>
|
||||||
<key>SwiftDate (Playground) 2.xcscheme</key>
|
<key>SwiftDate (Playground) 2.xcscheme</key>
|
||||||
<dict>
|
<dict>
|
||||||
<key>isShown</key>
|
<key>isShown</key>
|
||||||
<false/>
|
<false/>
|
||||||
<key>orderHint</key>
|
<key>orderHint</key>
|
||||||
<integer>8</integer>
|
<integer>9</integer>
|
||||||
</dict>
|
</dict>
|
||||||
<key>SwiftDate (Playground) 3.xcscheme</key>
|
<key>SwiftDate (Playground) 3.xcscheme</key>
|
||||||
<dict>
|
<dict>
|
||||||
@ -133,7 +133,7 @@
|
|||||||
<key>isShown</key>
|
<key>isShown</key>
|
||||||
<false/>
|
<false/>
|
||||||
<key>orderHint</key>
|
<key>orderHint</key>
|
||||||
<integer>6</integer>
|
<integer>7</integer>
|
||||||
</dict>
|
</dict>
|
||||||
</dict>
|
</dict>
|
||||||
</dict>
|
</dict>
|
||||||
|
|||||||
@ -39,7 +39,7 @@ class AudioRecordCell: UITableViewCell {
|
|||||||
|
|
||||||
func configure(with record: AudioRecord) {
|
func configure(with record: AudioRecord) {
|
||||||
self.record = record
|
self.record = record
|
||||||
self.date.text = self.dateFormatter.string(from: Date(timeIntervalSince1970: record.addedDate))
|
self.date.text = self.dateFormatter.string(from: Date(timeIntervalSince1970: record.getAddedDate()))
|
||||||
self.number.text = record.number ?? "Unrecognized"
|
self.number.text = record.number ?? "Unrecognized"
|
||||||
self.duration.text = self.componentsFormatter.string(from: record.duration)
|
self.duration.text = self.componentsFormatter.string(from: record.duration)
|
||||||
|
|
||||||
|
|||||||
@ -17,7 +17,7 @@ class VehicleCell: UITableViewCell {
|
|||||||
|
|
||||||
func configure(with vehicle: Vehicle) {
|
func configure(with vehicle: Vehicle) {
|
||||||
self.name.text = vehicle.brand?.name?.original ?? "<unknown>"
|
self.name.text = vehicle.brand?.name?.original ?? "<unknown>"
|
||||||
self.plate.number = PlateNumber(vehicle.number)
|
self.plate.number = PlateNumber(vehicle.getNumber())
|
||||||
if vehicle.unrecognized {
|
if vehicle.unrecognized {
|
||||||
self.plate.foreground = .systemRed
|
self.plate.foreground = .systemRed
|
||||||
} else if vehicle.outdated {
|
} else if vehicle.outdated {
|
||||||
|
|||||||
@ -185,7 +185,7 @@ class CheckController: UIViewController, UITableViewDelegate, UITextFieldDelegat
|
|||||||
eventSingle
|
eventSingle
|
||||||
.flatMap { event in event.findAddress().map{ event }.catchErrorJustReturn(event) }
|
.flatMap { event in event.findAddress().map{ event }.catchErrorJustReturn(event) }
|
||||||
.flatMap {
|
.flatMap {
|
||||||
Api.add(event: $0, to: vehicle.number)
|
Api.add(event: $0, to: vehicle.getNumber())
|
||||||
}
|
}
|
||||||
.subscribe(onSuccess: self.save(vehicle:), onError: { print("Error adding event: \($0)") })
|
.subscribe(onSuccess: self.save(vehicle:), onError: { print("Error adding event: \($0)") })
|
||||||
.disposed(by: self.bag)
|
.disposed(by: self.bag)
|
||||||
@ -209,7 +209,7 @@ class CheckController: UIViewController, UITableViewDelegate, UITextFieldDelegat
|
|||||||
if let detail = detail {
|
if let detail = detail {
|
||||||
detail.popToRootViewController(animated: true)
|
detail.popToRootViewController(animated: true)
|
||||||
let report = detail.viewControllers.first as? ReportController
|
let report = detail.viewControllers.first as? ReportController
|
||||||
report?.number = vehicle.number
|
report?.number = vehicle.getNumber()
|
||||||
splitViewController.showDetailViewController(detail, sender: self)
|
splitViewController.showDetailViewController(detail, sender: self)
|
||||||
//self.performSegue(withIdentifier: "OpenDetailSegue", sender: self)
|
//self.performSegue(withIdentifier: "OpenDetailSegue", sender: self)
|
||||||
}
|
}
|
||||||
@ -252,7 +252,7 @@ class CheckController: UIViewController, UITableViewDelegate, UITextFieldDelegat
|
|||||||
eventAction = .sendSpecific(savedEvent.freeze())
|
eventAction = .sendSpecific(savedEvent.freeze())
|
||||||
}
|
}
|
||||||
|
|
||||||
Api.checkVehicle(by: vehicle.number, force: true)
|
Api.checkVehicle(by: vehicle.getNumber(), force: true)
|
||||||
.observeOn(MainScheduler.instance)
|
.observeOn(MainScheduler.instance)
|
||||||
.subscribe(onSuccess: { vehicle in
|
.subscribe(onSuccess: { vehicle in
|
||||||
self.onReceivedVehicle(vehicle, action: eventAction)
|
self.onReceivedVehicle(vehicle, action: eventAction)
|
||||||
@ -264,7 +264,21 @@ class CheckController: UIViewController, UITableViewDelegate, UITextFieldDelegat
|
|||||||
}
|
}
|
||||||
updateAction.image = UIImage(systemName: "arrow.2.circlepath")
|
updateAction.image = UIImage(systemName: "arrow.2.circlepath")
|
||||||
updateAction.backgroundColor = .systemBlue
|
updateAction.backgroundColor = .systemBlue
|
||||||
let configuration = UISwipeActionsConfiguration(actions: [updateAction])
|
|
||||||
|
let removeAction = UIContextualAction(style: .destructive, title: "Remove") { action, view, completion in
|
||||||
|
if let realm = vehicle.realm {
|
||||||
|
do {
|
||||||
|
try realm.write {
|
||||||
|
realm.delete(vehicle)
|
||||||
|
}
|
||||||
|
} catch {
|
||||||
|
print(error)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
removeAction.image = UIImage(systemName: "trash")
|
||||||
|
|
||||||
|
let configuration = UISwipeActionsConfiguration(actions: [updateAction, removeAction])
|
||||||
configuration.performsFirstActionWithFullSwipe = false
|
configuration.performsFirstActionWithFullSwipe = false
|
||||||
return configuration
|
return configuration
|
||||||
}
|
}
|
||||||
|
|||||||
@ -60,7 +60,7 @@ class EventsController: UIViewController, UITableViewDataSource, UITableViewDele
|
|||||||
override func viewDidLoad() {
|
override func viewDidLoad() {
|
||||||
super.viewDidLoad()
|
super.viewDidLoad()
|
||||||
|
|
||||||
self.title = self.vehicle?.number ?? "Events"
|
self.title = self.vehicle?.getNumber() ?? "Events"
|
||||||
|
|
||||||
#if targetEnvironment(macCatalyst)
|
#if targetEnvironment(macCatalyst)
|
||||||
self.map.showsZoomControls = true
|
self.map.showsZoomControls = true
|
||||||
@ -207,7 +207,7 @@ class EventsController: UIViewController, UITableViewDataSource, UITableViewDele
|
|||||||
controller.onDone = { newEvent in
|
controller.onDone = { newEvent in
|
||||||
self.navigationController?.popViewController(animated: true, completion: {
|
self.navigationController?.popViewController(animated: true, completion: {
|
||||||
IHProgressHUD.show()
|
IHProgressHUD.show()
|
||||||
Api.add(event: newEvent, to: vehicle.number)
|
Api.add(event: newEvent, to: vehicle.getNumber())
|
||||||
.observeOn(MainScheduler.instance)
|
.observeOn(MainScheduler.instance)
|
||||||
.subscribe(onSuccess: { self.update(vehicle: $0) }, onError:
|
.subscribe(onSuccess: { self.update(vehicle: $0) }, onError:
|
||||||
{ error in
|
{ error in
|
||||||
|
|||||||
@ -204,9 +204,9 @@ class ReportController: UIViewController, UICollectionViewDataSource, UICollecti
|
|||||||
if let idSection = ReportIdSection(rawValue: indexPath.item) {
|
if let idSection = ReportIdSection(rawValue: indexPath.item) {
|
||||||
switch idSection {
|
switch idSection {
|
||||||
case .number:
|
case .number:
|
||||||
var num = vehicle.number
|
var num = vehicle.getNumber()
|
||||||
if vehicle.outdated, let current = vehicle.currentNumber {
|
if vehicle.outdated, let current = vehicle.currentNumber {
|
||||||
num = "\(vehicle.number) (\(current))"
|
num = "\(vehicle.getNumber()) (\(current))"
|
||||||
}
|
}
|
||||||
cell?.configure(param: idSection.description, value: num)
|
cell?.configure(param: idSection.description, value: num)
|
||||||
break
|
break
|
||||||
@ -423,7 +423,7 @@ class ReportController: UIViewController, UICollectionViewDataSource, UICollecti
|
|||||||
let shareLink = UIAlertAction(title: "As link", style: .default) { _ in
|
let shareLink = UIAlertAction(title: "As link", style: .default) { _ in
|
||||||
guard let vehicle = self.vehicle else { return }
|
guard let vehicle = self.vehicle else { return }
|
||||||
|
|
||||||
if let jwt = try? JWT<EmptyPayload>.generate(for: vehicle.number), let url = URL(string: Constants.reportLinkBaseURL + "?token=" + jwt) {
|
if let jwt = try? JWT<EmptyPayload>.generate(for: vehicle.getNumber()), let url = URL(string: Constants.reportLinkBaseURL + "?token=" + jwt) {
|
||||||
let controller = UIActivityViewController(activityItems: [url], applicationActivities: nil)
|
let controller = UIActivityViewController(activityItems: [url], applicationActivities: nil)
|
||||||
controller.popoverPresentationController?.barButtonItem = sender
|
controller.popoverPresentationController?.barButtonItem = sender
|
||||||
self.present(controller, animated: true)
|
self.present(controller, animated: true)
|
||||||
@ -449,7 +449,7 @@ class ReportController: UIViewController, UICollectionViewDataSource, UICollecti
|
|||||||
guard let url = self.reportImageUrl else { return nil }
|
guard let url = self.reportImageUrl else { return nil }
|
||||||
|
|
||||||
let metadata = LPLinkMetadata()
|
let metadata = LPLinkMetadata()
|
||||||
metadata.title = self.vehicle?.number
|
metadata.title = self.vehicle?.getNumber()
|
||||||
metadata.originalURL = url
|
metadata.originalURL = url
|
||||||
metadata.url = url
|
metadata.url = url
|
||||||
metadata.imageProvider = NSItemProvider.init(contentsOf: url)
|
metadata.imageProvider = NSItemProvider.init(contentsOf: url)
|
||||||
@ -463,7 +463,7 @@ class ReportController: UIViewController, UICollectionViewDataSource, UICollecti
|
|||||||
let sheet = UIAlertController(title: "Copy to pasteboard", message: nil, preferredStyle: .actionSheet)
|
let sheet = UIAlertController(title: "Copy to pasteboard", message: nil, preferredStyle: .actionSheet)
|
||||||
sheet.popoverPresentationController?.barButtonItem = self.copyBarItem
|
sheet.popoverPresentationController?.barButtonItem = self.copyBarItem
|
||||||
let cancel = UIAlertAction(title: "Cancel", style: .cancel) { _ in sheet.dismiss(animated: true, completion: nil) }
|
let cancel = UIAlertAction(title: "Cancel", style: .cancel) { _ in sheet.dismiss(animated: true, completion: nil) }
|
||||||
let copyPlateNumber = UIAlertAction(title: "Plate number", style: .default) { _ in UIPasteboard.general.string = self.vehicle?.number }
|
let copyPlateNumber = UIAlertAction(title: "Plate number", style: .default) { _ in UIPasteboard.general.string = self.vehicle?.getNumber() }
|
||||||
let copyVin = UIAlertAction(title: "VIN", style: .default) { _ in UIPasteboard.general.string = self.vehicle?.vin1 }
|
let copyVin = UIAlertAction(title: "VIN", style: .default) { _ in UIPasteboard.general.string = self.vehicle?.vin1 }
|
||||||
sheet.addAction(copyPlateNumber)
|
sheet.addAction(copyPlateNumber)
|
||||||
sheet.addAction(copyVin)
|
sheet.addAction(copyVin)
|
||||||
|
|||||||
@ -19,7 +19,7 @@ extension Vehicle: Dated {
|
|||||||
|
|
||||||
extension AudioRecord: Dated {
|
extension AudioRecord: Dated {
|
||||||
var date: Date {
|
var date: Date {
|
||||||
Date(timeIntervalSince1970: self.addedDate)
|
Date(timeIntervalSince1970: self.getAddedDate())
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -68,7 +68,7 @@ extension Vehicle {
|
|||||||
UIRectFill(rect)
|
UIRectFill(rect)
|
||||||
|
|
||||||
y += 12
|
y += 12
|
||||||
"\(self.brand?.name?.original ?? "Unknown model") (\(self.number))".draw(with: CGRect(x: 0, y: y, width: w, height: 30), options: .usesLineFragmentOrigin, attributes: titleAttributes, context: nil)
|
"\(self.brand?.name?.original ?? "Unknown model") (\(self.getNumber()))".draw(with: CGRect(x: 0, y: y, width: w, height: 30), options: .usesLineFragmentOrigin, attributes: titleAttributes, context: nil)
|
||||||
y += 50
|
y += 50
|
||||||
"GENERAL".draw(with: CGRect(x: 15, y: y, width: w - 15, height: 24), options: .usesLineFragmentOrigin, attributes: headerAttributes, context: nil)
|
"GENERAL".draw(with: CGRect(x: 15, y: y, width: w - 15, height: 24), options: .usesLineFragmentOrigin, attributes: headerAttributes, context: nil)
|
||||||
y += 24
|
y += 24
|
||||||
@ -93,7 +93,7 @@ extension Vehicle {
|
|||||||
y += 24
|
y += 24
|
||||||
self.drawLine(y: y, width: w, margin: 0, context: ctx)
|
self.drawLine(y: y, width: w, margin: 0, context: ctx)
|
||||||
y += 1/UIScreen.main.scale
|
y += 1/UIScreen.main.scale
|
||||||
self.drawCell(y: y, width: w, height: cellHeight, title: "Plate number", value: self.number, context: ctx)
|
self.drawCell(y: y, width: w, height: cellHeight, title: "Plate number", value: self.getNumber(), context: ctx)
|
||||||
y += cellHeight
|
y += cellHeight
|
||||||
self.drawCell(y: y, width: w, height: cellHeight, title: "VIN", value: self.vin1 ?? "<unknown>", context: ctx)
|
self.drawCell(y: y, width: w, height: cellHeight, title: "VIN", value: self.vin1 ?? "<unknown>", context: ctx)
|
||||||
y += cellHeight
|
y += cellHeight
|
||||||
@ -216,7 +216,7 @@ extension Vehicle {
|
|||||||
}
|
}
|
||||||
text += "Steering wheel position: \(position)\n"
|
text += "Steering wheel position: \(position)\n"
|
||||||
text += "Japanese: \(self.isJapanese ? "yes" : "no")\n"
|
text += "Japanese: \(self.isJapanese ? "yes" : "no")\n"
|
||||||
text += "Plate number: \(self.number)\n"
|
text += "Plate number: \(self.getNumber())\n"
|
||||||
if let vin = self.vin1 { text += "VIN: \(vin)\n" }
|
if let vin = self.vin1 { text += "VIN: \(vin)\n" }
|
||||||
if let sts = self.sts { text += "STS: \(sts)\n" }
|
if let sts = self.sts { text += "STS: \(sts)\n" }
|
||||||
if let pts = self.pts { text += "PTS: \(pts)\n" }
|
if let pts = self.pts { text += "PTS: \(pts)\n" }
|
||||||
|
|||||||
@ -7,7 +7,7 @@ class AudioRecord: Object, IdentifiableType {
|
|||||||
@objc dynamic var path: String = ""
|
@objc dynamic var path: String = ""
|
||||||
@objc dynamic var number: String?
|
@objc dynamic var number: String?
|
||||||
@objc dynamic var rawText: String = ""
|
@objc dynamic var rawText: String = ""
|
||||||
@objc dynamic var addedDate: TimeInterval = Date().timeIntervalSince1970
|
@objc private dynamic var addedDate: TimeInterval = Date().timeIntervalSince1970
|
||||||
@objc dynamic var duration: TimeInterval = 0
|
@objc dynamic var duration: TimeInterval = 0
|
||||||
@objc dynamic var event: VehicleEvent?
|
@objc dynamic var event: VehicleEvent?
|
||||||
|
|
||||||
@ -35,4 +35,12 @@ class AudioRecord: Object, IdentifiableType {
|
|||||||
override class func ignoredProperties() -> [String] {
|
override class func ignoredProperties() -> [String] {
|
||||||
return ["identity", "identifier"]
|
return ["identity", "identifier"]
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func getAddedDate() -> TimeInterval {
|
||||||
|
if self.identifier == 0 {
|
||||||
|
self.identifier = self.addedDate
|
||||||
|
}
|
||||||
|
|
||||||
|
return self.addedDate
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -73,7 +73,7 @@ class Vehicle: Object, Decodable, IdentifiableType {
|
|||||||
@objc dynamic var year: Int = 0
|
@objc dynamic var year: Int = 0
|
||||||
@objc dynamic var category: String?
|
@objc dynamic var category: String?
|
||||||
@objc dynamic var engine: VehicleEngine?
|
@objc dynamic var engine: VehicleEngine?
|
||||||
@objc dynamic var number: String = ""
|
@objc private dynamic var number: String = ""
|
||||||
@objc dynamic var currentNumber: String?
|
@objc dynamic var currentNumber: String?
|
||||||
@objc dynamic var vin1: String?
|
@objc dynamic var vin1: String?
|
||||||
@objc dynamic var vin2: String?
|
@objc dynamic var vin2: String?
|
||||||
@ -87,7 +87,15 @@ class Vehicle: Object, Decodable, IdentifiableType {
|
|||||||
let ownershipPeriods = List<VehicleOwnershipPeriod>()
|
let ownershipPeriods = List<VehicleOwnershipPeriod>()
|
||||||
let events = List<VehicleEvent>()
|
let events = List<VehicleEvent>()
|
||||||
|
|
||||||
var identity: String { number }
|
//var identity: String { number }
|
||||||
|
|
||||||
|
var identifier: String = ""
|
||||||
|
var identity: String {
|
||||||
|
if self.identifier.isEmpty {
|
||||||
|
self.identifier = self.number
|
||||||
|
}
|
||||||
|
return self.identifier
|
||||||
|
}
|
||||||
|
|
||||||
enum CodingKeys: String, CodingKey {
|
enum CodingKeys: String, CodingKey {
|
||||||
case brand
|
case brand
|
||||||
@ -141,21 +149,40 @@ class Vehicle: Object, Decodable, IdentifiableType {
|
|||||||
if let eventsArray = try container.decodeIfPresent([VehicleEvent].self, forKey: .events) {
|
if let eventsArray = try container.decodeIfPresent([VehicleEvent].self, forKey: .events) {
|
||||||
self.events.append(objectsIn: eventsArray)
|
self.events.append(objectsIn: eventsArray)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
print("Init from decoder - \(self.number)")
|
||||||
|
self.identifier = self.number
|
||||||
}
|
}
|
||||||
|
|
||||||
required init() {
|
required init() {
|
||||||
|
super.init()
|
||||||
|
print("Init - \(self.number)")
|
||||||
|
self.identifier = self.number
|
||||||
}
|
}
|
||||||
|
|
||||||
init(_ number: String) {
|
init(_ number: String) {
|
||||||
|
print("Init with number - \(number)")
|
||||||
|
self.identifier = number
|
||||||
self.number = number
|
self.number = number
|
||||||
self.addedDate = Date().timeIntervalSince1970*1000
|
self.addedDate = Date().timeIntervalSince1970*1000
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func getNumber() -> String {
|
||||||
|
if self.identifier.isEmpty {
|
||||||
|
self.identifier = self.number
|
||||||
|
}
|
||||||
|
|
||||||
|
return self.number
|
||||||
|
}
|
||||||
|
|
||||||
override static func primaryKey() -> String? {
|
override static func primaryKey() -> String? {
|
||||||
return "number"
|
return "number"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
override class func ignoredProperties() -> [String] {
|
||||||
|
return ["identity", "identifier"]
|
||||||
|
}
|
||||||
|
|
||||||
var unrecognized: Bool {
|
var unrecognized: Bool {
|
||||||
return self.brand == nil
|
return self.brand == nil
|
||||||
}
|
}
|
||||||
|
|||||||
@ -3,9 +3,9 @@ import Foundation
|
|||||||
enum Constants {
|
enum Constants {
|
||||||
static var baseUrl: String {
|
static var baseUrl: String {
|
||||||
#if DEBUG
|
#if DEBUG
|
||||||
//return "http://127.0.0.1:3000/"
|
return "http://127.0.0.1:3000/"
|
||||||
//return "http://192.168.1.67:3000/"
|
//return "http://192.168.1.67:3000/"
|
||||||
return "https://vps.aliencat.pro:8443/"
|
//return "https://vps.aliencat.pro:8443/"
|
||||||
#else
|
#else
|
||||||
return "https://vps.aliencat.pro:8443/"
|
return "https://vps.aliencat.pro:8443/"
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user