5 // Created by Hori,Masaki on 2017/02/24.
6 // Copyright © 2017年 Hori,Masaki. All rights reserved.
11 final class BasicMapper: JSONMapper {
13 let apiResponse: APIResponse
14 let configuration: MappingConfiguration<Basic>
16 required init(_ apiResponse: APIResponse) {
18 self.apiResponse = apiResponse
19 self.configuration = MappingConfiguration(entity: Basic.entity,
20 dataKeys: BasicMapper.dataKeys(apiResponse),
21 editorStore: ServerDataStore.oneTimeEditor())
24 private class func dataKeys(_ apiResponse: APIResponse) -> [String] {
26 switch apiResponse.api.endpoint {
28 case .port: return ["api_data", "api_basic"]
30 case .basic: return ["api_data"]
32 default: return Logger.shared.log("Missing API: \(apiResponse.api)", value: ["api_data"])
38 let store = ServerDataStore.oneTimeEditor()
40 guard let basic = store.basic() ?? store.createBasic() else {
42 return Logger.shared.log("Can not Get Basic")
45 registerElement(data, to: basic)