import Cocoa
-fileprivate enum BasicAPI: String {
-
- case getMemberBasic = "/kcsapi/api_get_member/basic"
- case port = "/kcsapi/api_port/port"
-}
-
-fileprivate func dataKeys(_ apiResponse: APIResponse) -> [String] {
-
- guard let basicApi = BasicAPI(rawValue: apiResponse.api)
- else { return ["api_data"] }
-
- switch basicApi {
- case .port: return ["api_data", "api_basic"]
-
- default: return ["api_data"]
- }
-}
-
final class BasicMapper: JSONMapper {
typealias ObjectType = Basic
self.apiResponse = apiResponse
self.configuration = MappingConfiguration(entity: Basic.entity,
- dataKeys: dataKeys(apiResponse),
+ dataKeys: BasicMapper.dataKeys(apiResponse),
editorStore: ServerDataStore.oneTimeEditor())
}
+ private enum BasicAPI: String {
+
+ case getMemberBasic = "/kcsapi/api_get_member/basic"
+ case port = "/kcsapi/api_port/port"
+ }
+
+ private class func dataKeys(_ apiResponse: APIResponse) -> [String] {
+
+ guard let basicApi = BasicAPI(rawValue: apiResponse.api)
+ else { return ["api_data"] }
+
+ switch basicApi {
+ case .port: return ["api_data", "api_basic"]
+
+ case .getMemberBasic: return ["api_data"]
+ }
+ }
+
func commit() {
let store = ServerDataStore.oneTimeEditor()
import Cocoa
-fileprivate enum DeckAPI: String {
-
- case getMemberDeck = "/kcsapi/api_get_member/deck"
- case port = "/kcsapi/api_port/port"
- case getMemberShip2 = "/kcsapi/api_get_member/ship2"
- case getMemberShip3 = "/kcsapi/api_get_member/ship3"
- case getMemberShipDeck = "/kcsapi/api_get_member/ship_deck"
- case getMemberDeckPort = "/kcsapi/api_get_member/deck_port"
- case henseiPresetSelect = "/kcsapi/api_req_hensei/preset_select"
- case kaisouPowerUp = "/kcsapi/api_req_kaisou/powerup"
-}
-
-fileprivate func dataKeys(_ apiResponse: APIResponse) -> [String] {
-
- guard let deckApi = DeckAPI(rawValue: apiResponse.api)
- else { return ["api_data"] }
-
- switch deckApi {
- case .port: return ["api_data", "api_deck_port"]
-
- case .getMemberShip2: return ["api_data_deck"]
-
- case .getMemberShip3: return ["api_data", "api_deck_data"]
-
- case .getMemberShipDeck: return ["api_data", "api_deck_data"]
-
- case .kaisouPowerUp: return ["api_data", "api_deck"]
-
- default: return ["api_data"]
- }
-}
-
final class DeckMapper: JSONMapper {
typealias ObjectType = Deck
self.apiResponse = apiResponse
self.configuration = MappingConfiguration(entity: Deck.entity,
- dataKeys: dataKeys(apiResponse),
+ dataKeys: DeckMapper.dataKeys(apiResponse),
editorStore: ServerDataStore.oneTimeEditor())
}
+
+
+ private enum DeckAPI: String {
+
+ case getMemberDeck = "/kcsapi/api_get_member/deck"
+ case port = "/kcsapi/api_port/port"
+ case getMemberShip2 = "/kcsapi/api_get_member/ship2"
+ case getMemberShip3 = "/kcsapi/api_get_member/ship3"
+ case getMemberShipDeck = "/kcsapi/api_get_member/ship_deck"
+ case getMemberDeckPort = "/kcsapi/api_get_member/deck_port"
+ case henseiPresetSelect = "/kcsapi/api_req_hensei/preset_select"
+ case kaisouPowerUp = "/kcsapi/api_req_kaisou/powerup"
+ }
+
+ private class func dataKeys(_ apiResponse: APIResponse) -> [String] {
+
+ guard let deckApi = DeckAPI(rawValue: apiResponse.api)
+ else { return ["api_data"] }
+
+ switch deckApi {
+ case .port: return ["api_data", "api_deck_port"]
+
+ case .getMemberShip2: return ["api_data_deck"]
+
+ case .getMemberShip3: return ["api_data", "api_deck_data"]
+
+ case .getMemberShipDeck: return ["api_data", "api_deck_data"]
+
+ case .kaisouPowerUp: return ["api_data", "api_deck"]
+
+ case .getMemberDeck, .getMemberDeckPort, .henseiPresetSelect: return ["api_data"]
+ }
+ }
}
import Cocoa
-fileprivate enum KenzoDockAPI: String {
-
- case getMemberKDock = "/kcsapi/api_get_member/kdock"
- case kousyouGetShip = "/kcsapi/api_req_kousyou/getship"
- case getMemberRequireInfo = "/kcsapi/api_get_member/require_info"
-}
-
-fileprivate func dataKeys(_ apiResponse: APIResponse) -> [String] {
-
- guard let kenzoDockApi = KenzoDockAPI(rawValue: apiResponse.api)
- else { return ["api_data"] }
-
- switch kenzoDockApi {
- case .kousyouGetShip: return ["api_data", "api_kdock"]
-
- case .getMemberRequireInfo: return ["api_data", "api_kdock"]
-
- default: return ["api_data"]
- }
-}
-
final class KenzoDockMapper: JSONMapper {
typealias ObjectType = KenzoDock
self.apiResponse = apiResponse
self.configuration = MappingConfiguration(entity: KenzoDock.entity,
- dataKeys: dataKeys(apiResponse),
+ dataKeys: KenzoDockMapper.dataKeys(apiResponse),
editorStore: ServerDataStore.oneTimeEditor())
}
+
+
+ private enum KenzoDockAPI: String {
+
+ case getMemberKDock = "/kcsapi/api_get_member/kdock"
+ case kousyouGetShip = "/kcsapi/api_req_kousyou/getship"
+ case getMemberRequireInfo = "/kcsapi/api_get_member/require_info"
+ }
+
+ private class func dataKeys(_ apiResponse: APIResponse) -> [String] {
+
+ guard let kenzoDockApi = KenzoDockAPI(rawValue: apiResponse.api)
+ else { return ["api_data"] }
+
+ switch kenzoDockApi {
+ case .kousyouGetShip: return ["api_data", "api_kdock"]
+
+ case .getMemberRequireInfo: return ["api_data", "api_kdock"]
+
+ case .getMemberKDock: return ["api_data"]
+ }
+ }
}
import Cocoa
import SwiftyJSON
-fileprivate enum MaterialAPI: String {
-
- case port = "/kcsapi/api_port/port"
- case kousyouCreateItem = "/kcsapi/api_req_kousyou/createitem"
- case kousyouDestoroyShip = "/kcsapi/api_req_kousyou/destroyship"
- case kousyouRemodelSlot = "/kcsapi/api_req_kousyou/remodel_slot"
- case hokyuCharge = "/kcsapi/api_req_hokyu/charge"
-}
-
-fileprivate func dataKeys(_ apiResponse: APIResponse) -> [String] {
-
- guard let materialApi = MaterialAPI(rawValue: apiResponse.api)
- else { return ["api_data"] }
-
- switch materialApi {
- case .port: return ["api_data", "api_material"]
-
- case .kousyouCreateItem: return ["api_data", "api_material"]
-
- case .kousyouDestoroyShip: return ["api_data", "api_material"]
-
- case .kousyouRemodelSlot: return ["api_data", "api_after_material"]
-
- case .hokyuCharge: return ["api_data", "api_material"]
- }
-}
-
final class MaterialMapper: JSONMapper {
typealias ObjectType = Material
self.apiResponse = apiResponse
self.configuration = MappingConfiguration(entity: Material.entity,
- dataKeys: dataKeys(apiResponse),
+ dataKeys: MaterialMapper.dataKeys(apiResponse),
editorStore: ServerDataStore.oneTimeEditor())
}
+
+ private enum MaterialAPI: String {
+
+ case port = "/kcsapi/api_port/port"
+ case kousyouCreateItem = "/kcsapi/api_req_kousyou/createitem"
+ case kousyouDestoroyShip = "/kcsapi/api_req_kousyou/destroyship"
+ case kousyouRemodelSlot = "/kcsapi/api_req_kousyou/remodel_slot"
+ case hokyuCharge = "/kcsapi/api_req_hokyu/charge"
+ }
+
+ private class func dataKeys(_ apiResponse: APIResponse) -> [String] {
+
+ guard let materialApi = MaterialAPI(rawValue: apiResponse.api)
+ else { return ["api_data"] }
+
+ switch materialApi {
+ case .port: return ["api_data", "api_material"]
+
+ case .kousyouCreateItem: return ["api_data", "api_material"]
+
+ case .kousyouDestoroyShip: return ["api_data", "api_material"]
+
+ case .kousyouRemodelSlot: return ["api_data", "api_after_material"]
+
+ case .hokyuCharge: return ["api_data", "api_material"]
+ }
+ }
+
func commit() {
guard let store = configuration.editorStore as? ServerDataStore,
import Cocoa
-fileprivate enum DeckAPI: String {
-
- case getMemberNDock = "/kcsapi/api_get_member/ndock"
- case port = "/kcsapi/api_port/port"
-}
-
-fileprivate func dataKeys(_ apiResponse: APIResponse) -> [String] {
-
- guard let deckApi = DeckAPI(rawValue: apiResponse.api)
- else { return ["api_data"] }
-
- switch deckApi {
- case .port: return ["api_data", "api_ndock"]
-
- default: return ["api_data"]
- }
-}
-
final class NyukyoDockMapper: JSONMapper {
typealias ObjectType = NyukyoDock
self.apiResponse = apiResponse
self.configuration = MappingConfiguration(entity: NyukyoDock.entity,
- dataKeys: dataKeys(apiResponse),
+ dataKeys: NyukyoDockMapper.dataKeys(apiResponse),
editorStore: ServerDataStore.oneTimeEditor())
}
+
+
+ private enum DeckAPI: String {
+
+ case getMemberNDock = "/kcsapi/api_get_member/ndock"
+ case port = "/kcsapi/api_port/port"
+ }
+
+ private class func dataKeys(_ apiResponse: APIResponse) -> [String] {
+
+ guard let deckApi = DeckAPI(rawValue: apiResponse.api)
+ else { return ["api_data"] }
+
+ switch deckApi {
+ case .port: return ["api_data", "api_ndock"]
+
+ case .getMemberNDock: return ["api_data"]
+ }
+ }
}
import Cocoa
import SwiftyJSON
-fileprivate enum ShipAPI: String {
-
- case getMemberShip = "/kcsapi/api_get_member/ship"
- case port = "/kcsapi/api_port/port"
- case getMemberShip3 = "/kcsapi/api_get_member/ship3"
- case kousyouGetShip = "/kcsapi/api_req_kousyou/getship"
- case getMemberShipDeck = "/kcsapi/api_get_member/ship_deck"
- case kaisouPowerUp = "/kcsapi/api_req_kaisou/powerup"
- case kaisouSlotDeprive = "/kcsapi/api_req_kaisou/slot_deprive"
-}
-
-fileprivate func dataKeys(_ apiResponse: APIResponse) -> [String] {
-
- guard let shipApi = ShipAPI(rawValue: apiResponse.api)
- else { return ["api_data"] }
-
- switch shipApi {
- case .port: return ["api_data", "api_ship"]
-
- case .getMemberShip3: return ["api_data", "api_ship_data"]
-
- case .kousyouGetShip: return ["api_data", "api_ship"]
-
- case .getMemberShipDeck: return ["api_data", "api_ship_data"]
-
- case .kaisouPowerUp: return ["api_data", "api_ship"]
-
- case .kaisouSlotDeprive: return ["api_data", "api_ship_data", "api_set_ship"]
-
- case .getMemberShip: return ["api_data"]
- }
-}
-
extension MappingConfiguration {
func change(dataKeys: [String]) -> MappingConfiguration {
self.apiResponse = apiResponse
self.configuration = MappingConfiguration(entity: Ship.entity,
- dataKeys: dataKeys(apiResponse),
+ dataKeys: ShipMapper.dataKeys(apiResponse),
editorStore: ServerDataStore.oneTimeEditor(),
ignoreKeys:
["api_gomes", "api_gomes2", "api_broken", "api_powup",
self.configuration = configuration
}
+
+ private enum ShipAPI: String {
+
+ case getMemberShip = "/kcsapi/api_get_member/ship"
+ case port = "/kcsapi/api_port/port"
+ case getMemberShip3 = "/kcsapi/api_get_member/ship3"
+ case kousyouGetShip = "/kcsapi/api_req_kousyou/getship"
+ case getMemberShipDeck = "/kcsapi/api_get_member/ship_deck"
+ case kaisouPowerUp = "/kcsapi/api_req_kaisou/powerup"
+ case kaisouSlotDeprive = "/kcsapi/api_req_kaisou/slot_deprive"
+ }
+
+ private class func dataKeys(_ apiResponse: APIResponse) -> [String] {
+
+ guard let shipApi = ShipAPI(rawValue: apiResponse.api)
+ else { return ["api_data"] }
+
+ switch shipApi {
+ case .port: return ["api_data", "api_ship"]
+
+ case .getMemberShip3: return ["api_data", "api_ship_data"]
+
+ case .kousyouGetShip: return ["api_data", "api_ship"]
+
+ case .getMemberShipDeck: return ["api_data", "api_ship_data"]
+
+ case .kaisouPowerUp: return ["api_data", "api_ship"]
+
+ case .kaisouSlotDeprive: return ["api_data", "api_ship_data", "api_set_ship"]
+
+ case .getMemberShip: return ["api_data"]
+ }
+ }
+
private var registerIds: [Int] = []
private lazy var masterShips: [MasterShip] = {
import Cocoa
import SwiftyJSON
-fileprivate enum SlotItemAPI: String {
-
- case getMemberSlotItem = "/kcsapi/api_get_member/slot_item"
- case kousyouGetShip = "/kcsapi/api_req_kousyou/getship"
- case getMemberRequireInfo = "/kcsapi/api_get_member/require_info"
-}
-
-fileprivate func dataKeys(_ apiResponse: APIResponse) -> [String] {
-
- guard let slotItemApi = SlotItemAPI(rawValue: apiResponse.api)
- else { return ["api_data"] }
-
- switch slotItemApi {
- case .kousyouGetShip: return ["api_data", "api_slotitem"]
-
- case .getMemberRequireInfo: return ["api_data", "api_slot_item"]
-
- default: return ["api_data"]
- }
-}
-
final class SlotItemMapper: JSONMapper {
typealias ObjectType = SlotItem
self.apiResponse = apiResponse
self.configuration = MappingConfiguration(entity: SlotItem.entity,
- dataKeys: dataKeys(apiResponse),
+ dataKeys: SlotItemMapper.dataKeys(apiResponse),
editorStore: ServerDataStore.oneTimeEditor())
}
+
+ private enum SlotItemAPI: String {
+
+ case getMemberSlotItem = "/kcsapi/api_get_member/slot_item"
+ case kousyouGetShip = "/kcsapi/api_req_kousyou/getship"
+ case getMemberRequireInfo = "/kcsapi/api_get_member/require_info"
+ }
+
+ private class func dataKeys(_ apiResponse: APIResponse) -> [String] {
+
+ guard let slotItemApi = SlotItemAPI(rawValue: apiResponse.api)
+ else { return ["api_data"] }
+
+ switch slotItemApi {
+ case .kousyouGetShip: return ["api_data", "api_slotitem"]
+
+ case .getMemberRequireInfo: return ["api_data", "api_slot_item"]
+
+ case .getMemberSlotItem: return ["api_data"]
+ }
+ }
+
private var registerIds: [Int] = []
private lazy var masterSlotItems: [MasterSlotItem] = {
return ServerDataStore.default.sortedMasterSlotItemsById()