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