OSDN Git Service

Doutakuを導入
[kcd/KCD.git] / KCD / UpdateSlotItemCommand.swift
1 //
2 //  UpdateSlotItemCommand.swift
3 //  KCD
4 //
5 //  Created by Hori,Masaki on 2017/01/10.
6 //  Copyright © 2017年 Hori,Masaki. All rights reserved.
7 //
8
9 import Cocoa
10
11 final class UpdateSlotItemCommand: JSONCommand {
12     
13     override func execute() {
14         
15         let data = json["api_data"]["api_slot_item"]
16         
17         guard let slotItemId = data["api_slotitem_id"].int else { return }
18         
19         guard let newSlotItemId = data["api_id"].int else {
20             
21             return Logger.shared.log("api_id is wrong")
22         }
23         
24         let store = ServerDataStore.oneTimeEditor()
25         
26         guard let masterSlotItem = store.sync(execute: { store.masterSlotItem(by: slotItemId) }) else {
27             
28             return Logger.shared.log("MasterSlotItem is not found")
29         }
30         
31         guard let new = store.sync(execute: { store.createSlotItem() }) else {
32             
33             return Logger.shared.log("Can not create new SlotItem")
34         }
35         
36         store.sync {
37             new.id = newSlotItemId
38             new.master_slotItem = masterSlotItem
39         }
40     }
41 }