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 {
13 case getMemberKDock = "/kcsapi/api_get_member/kdock"
14 case kousyouGetShip = "/kcsapi/api_req_kousyou/getship"
15 case getMemberRequireInfo = "/kcsapi/api_get_member/require_info"
18 fileprivate func dataKeys(_ apiResponse: APIResponse) -> [String] {
20 guard let kenzoDockApi = KenzoDockAPI(rawValue: apiResponse.api)
21 else { return ["api_data"] }
24 case .kousyouGetShip: return ["api_data", "api_kdock"]
26 case .getMemberRequireInfo: return ["api_data", "api_kdock"]
28 default: return ["api_data"]
32 final class KenzoDockMapper: JSONMapper {
34 typealias ObjectType = KenzoDock
36 let apiResponse: APIResponse
37 let configuration: MappingConfiguration<KenzoDock>
39 required init(_ apiResponse: APIResponse) {
41 self.apiResponse = apiResponse
42 self.configuration = MappingConfiguration(entity: KenzoDock.entity,
43 dataKeys: dataKeys(apiResponse),
44 editorStore: ServerDataStore.oneTimeEditor())