import Cocoa
-class NyukyoSpeedChangeCommand: JSONCommand {
- override class func canExecuteAPI(_ api: String) -> Bool {
- if api == "/kcsapi/api_req_nyukyo/speedchange" { return true }
- return false
+final class NyukyoSpeedChangeCommand: JSONCommand {
+
+ override class func canExecuteAPI(_ api: API) -> Bool {
+
+ return api.endpoint == .speedChange
}
+
override func execute() {
- let store = ServerDataStore.oneTimeEditor()
- let nDock = arguments["api_ndock_id"]
- .flatMap { Int($0) }
- .flatMap { store.nyukyoDock(by: $0) }
- nDock
- .flatMap { $0.ship_id }
- .flatMap { store.ship(byId: $0) }
- .map { $0.nowhp = $0.maxhp }
- nDock?.ship_id = 0
- nDock?.state = 0
- store.material()
- .map { $0.kousokushuhuku = $0.kousokushuhuku - 1 }
+ let store = ServerDataStore.oneTimeEditor()
+ store.sync {
+
+ let nDock = self.parameter["api_ndock_id"].int.flatMap(store.nyukyoDock(by:))
+
+ nDock.flatMap { $0.ship_id }.flatMap(store.ship(by:)).map { $0.nowhp = $0.maxhp }
+ nDock?.ship_id = 0
+ nDock?.state = 0
+
+ store.material().map { $0.kousokushuhuku = $0.kousokushuhuku - 1 }
+ }
}
}