2 // KenzoDockMapper.swift
5 // Created by Hori,Masaki on 2017/02/25.
6 // Copyright © 2017年 Hori,Masaki. All rights reserved.
11 final class KenzoDockMapper: JSONMapper {
13 typealias ObjectType = KenzoDock
15 let apiResponse: APIResponse
16 let configuration: MappingConfiguration<KenzoDock>
18 required init(_ apiResponse: APIResponse) {
20 self.apiResponse = apiResponse
21 self.configuration = MappingConfiguration(entity: KenzoDock.entity,
22 dataKeys: KenzoDockMapper.dataKeys(apiResponse),
23 editorStore: ServerDataStore.oneTimeEditor())
27 private enum KenzoDockAPI: String {
29 case getMemberKDock = "/kcsapi/api_get_member/kdock"
30 case kousyouGetShip = "/kcsapi/api_req_kousyou/getship"
31 case getMemberRequireInfo = "/kcsapi/api_get_member/require_info"
34 private class func dataKeys(_ apiResponse: APIResponse) -> [String] {
36 guard let kenzoDockApi = KenzoDockAPI(rawValue: apiResponse.api) else { return ["api_data"] }
39 case .kousyouGetShip: return ["api_data", "api_kdock"]
41 case .getMemberRequireInfo: return ["api_data", "api_kdock"]
43 case .getMemberKDock: return ["api_data"]