chat-db.js 9.89 KB
Newer Older
1 2 3
// 名前空間
var CHAT_DB = {};

4
// ios用
5 6 7 8 9 10 11 12 13 14 15 16 17
function callNativeApp(iosKey, jsonData) {
    console.log("callNativeApp called");
    var result;
    try {
        var key = iosKey;
        var data = jsonData;
        var payload = {key: key, data: data};
        // payloadの形 {"type":"SJbridge","data":{"name":"abc","role":"dev"}}
        // resにObjective-cからのレスポンスが返る
        result = prompt(JSON.stringify (payload));
        console.log(result);
    } catch(err) {
        console.log('The native context does not exist yet');
18
    }
19 20
    return result;
}
21

22
//ロカールDBからルーム一覧情報を取得
23
CHAT_DB.getRoomList = function(roomType, keyWord) {
24
    if (CHAT_UTIL.isIOS()) {
25
        return JSON.parse(callNativeApp("getRoomList", {"roomType": roomType, "keyWord": keyWord}));
26
    } else if (CHAT_UTIL.isAndroid()) {
27
    	return JSON.parse(android.getRoomList(roomType, keyWord));
28 29 30
    }
};

Takatoshi Miura committed
31 32
CHAT_DB.callGetRoomList = function(roomType) {
    if (CHAT_UTIL.isIOS()) {
33
        return JSON.parse(callNativeApp("getRoomList", {"roomType": roomType}));
Takatoshi Miura committed
34 35 36 37 38 39
    } else if (CHAT_UTIL.isAndroid()) {
        //String形式をJsonに変更してReturn
    	return JSON.parse(android.getRoomList(roomType));
    }
}

40
//ロカールDBからログインしたユーザのデータを取得する。
41
CHAT_DB.getMyInfo = function() {
42
    if (CHAT_UTIL.isIOS()) {
43
        return JSON.parse(callNativeApp("getMyInfo", {}));
44 45
    } else if (CHAT_UTIL.isAndroid()) {
        //String形式をJsonに変更してReturn
Lee Munkyeong committed
46
    	return JSON.parse(android.getMyInfo());
47 48 49 50 51
    }
};

CHAT_DB.getMessages = function(roomId) {
    if (CHAT_UTIL.isIOS()) {
52
        return JSON.parse(callNativeApp("getMessages", {"roomId": roomId}));
53 54 55 56 57 58
    } else if (CHAT_UTIL.isAndroid()) {
        //String形式をJsonに変更してReturn
    	return JSON.parse(android.getMessageList(roomId));
    }
};

Lee Munkyeong committed
59 60
CHAT_DB.getFavoriteUsersNotInRoom = function() {
    if (CHAT_UTIL.isIOS()) {
Takatoshi Miura committed
61
        return JSON.parse(callNativeApp("getFavoriteUsersNotInRoom", {}));
Lee Munkyeong committed
62 63 64 65 66 67
    } else if (CHAT_UTIL.isAndroid()) {
        //String形式をJsonに変更してReturn
    	return JSON.parse(android.getFavoriteUsersNotInRoom());
    }
};

68 69
CHAT_DB.getFavoriteUsers = function() {
    if (CHAT_UTIL.isIOS()) {
70
        return JSON.parse(callNativeApp("getFavoriteUsers", {}));
71 72 73 74 75 76 77 78
    } else if (CHAT_UTIL.isAndroid()) {
        //String形式をJsonに変更してReturn
    	return JSON.parse(android.getFavoriteUsers());
    }
};

CHAT_DB.getFavoriteGroups = function() {
    if (CHAT_UTIL.isIOS()) {
79
        return JSON.parse(callNativeApp("getFavoriteGroups", {}));
80 81 82 83 84 85 86 87
    } else if (CHAT_UTIL.isAndroid()) {
        //String形式をJsonに変更してReturn
    	return JSON.parse(android.getFavoriteGroups());
    }
};

CHAT_DB.getMyGroupUsers = function() {
    if (CHAT_UTIL.isIOS()) {
88
        return JSON.parse(callNativeApp("getMyGroupUsers", {}));
89 90 91 92 93 94 95 96
    } else if (CHAT_UTIL.isAndroid()) {
        //String形式をJsonに変更してReturn
    	return JSON.parse(android.getMyGroupUsers());
    }
};

CHAT_DB.getGroupInfo = function(groupId) {
    if (CHAT_UTIL.isIOS()) {
97
        return JSON.parse(callNativeApp("getGroupInfo", {"groupId": groupId}));
98 99 100 101 102 103
    } else if (CHAT_UTIL.isAndroid()) {
        //String形式をJsonに変更してReturn
    	return JSON.parse(android.getGroupInfo(groupId));
    }
};

104 105
CHAT_DB.getGroupInfoForAddUser = function(groupId) {
  if (CHAT_UTIL.isIOS()) {
106
    return JSON.parse(callNativeApp("getGroupInfoForAddUser", {"groupId": groupId}));
107 108 109 110 111 112
  } else if (CHAT_UTIL.isAndroid()) {
      //String形式をJsonに変更してReturn
    return JSON.parse(android.getGroupInfoForAddUser(groupId));
  }
};

Kang Donghun committed
113 114
CHAT_DB.loadSelectedUsers = function() {
    if (CHAT_UTIL.isIOS()) {
Takatoshi Miura committed
115
        return JSON.parse(callNativeApp("getSelectedUserList", {}));
Kang Donghun committed
116 117 118 119 120 121 122
    } else if (CHAT_UTIL.isAndroid()) {
        //String形式をJsonに変更してReturn
        console.log(JSON.parse(android.getSelectedUserList()));
    	return JSON.parse(android.getSelectedUserList());
    }
}

123 124
CHAT_DB.getNameCardData = function(shopMemberId) {
    if (CHAT_UTIL.isIOS()) {
125
        return JSON.parse(callNativeApp("getNameCardData", {"shopMemberId": shopMemberId}));
126 127 128
    } else if (CHAT_UTIL.isAndroid()) {
    	return JSON.parse(android.getNameCardData(shopMemberId));
    }
Lee Munkyeong committed
129 130 131 132
};

CHAT_DB.getMyGroupShopMemberByName = function(shopMemberName) {
    if (CHAT_UTIL.isIOS()) {
133
        return JSON.parse(callNativeApp("getMyGroupShopMemberByName", {"shopMemberName": shopMemberName}));
Lee Munkyeong committed
134 135 136 137 138 139
    } else if (CHAT_UTIL.isAndroid()) {
        //String形式をJsonに変更してReturn
    	return JSON.parse(android.getMyGroupShopMemberByName(shopMemberName));
    }
};

Lee Munkyeong committed
140 141
CHAT_DB.getMyGroupShopMemberNotInRoomByName = function(shopMemberName) {
    if (CHAT_UTIL.isIOS()) {
Takatoshi Miura committed
142
        return JSON.parse(callNativeApp("getMyGroupShopMemberNotInRoomByName", {"shopMemberName": shopMemberName}));
Lee Munkyeong committed
143 144 145 146 147 148
    } else if (CHAT_UTIL.isAndroid()) {
        //String形式をJsonに変更してReturn
    	return JSON.parse(android.getMyGroupShopMemberNotInRoomByName(shopMemberName));
    }
};

Lee Munkyeong committed
149 150
CHAT_DB.getAllGroupShopMemberByName = function(shopMemberName) {
    if (CHAT_UTIL.isIOS()) {
151
        return JSON.parse(callNativeApp("getAllGroupShopMemberByName", {"shopMemberName": shopMemberName}));
Lee Munkyeong committed
152 153 154 155 156 157
    } else if (CHAT_UTIL.isAndroid()) {
        //String形式をJsonに変更してReturn
    	return JSON.parse(android.getAllGroupShopMemberByName(shopMemberName));
    }
};

Lee Munkyeong committed
158 159
CHAT_DB.getAllGroupShopMemberNotInRoomByName = function(shopMemberName) {
    if (CHAT_UTIL.isIOS()) {
Takatoshi Miura committed
160
        return JSON.parse(callNativeApp("getAllGroupShopMemberNotInRoomByName", {"shopMemberName": shopMemberName}));
Lee Munkyeong committed
161 162 163 164 165 166
    } else if (CHAT_UTIL.isAndroid()) {
        //String形式をJsonに変更してReturn
    	return JSON.parse(android.getAllGroupShopMemberNotInRoomByName(shopMemberName));
    }
};

Lee Munkyeong committed
167 168
CHAT_DB.getGroupByName = function(groupName) {
    if (CHAT_UTIL.isIOS()) {
169
        return JSON.parse(callNativeApp("getGroupByName", {"groupName": groupName}));
Lee Munkyeong committed
170 171 172 173 174
    } else if (CHAT_UTIL.isAndroid()) {
        //String形式をJsonに変更してReturn
    	return JSON.parse(android.getGroupByName(groupName));
    }
};
Lee Munkyeong committed
175 176 177

CHAT_DB.getUsersInRoom = function(roomId) {
    if (CHAT_UTIL.isIOS()) {
178
        return JSON.parse(callNativeApp("getUsersInRoom", {"roomId": roomId}));
Lee Munkyeong committed
179 180 181 182
    } else if (CHAT_UTIL.isAndroid()) {
        //String形式をJsonに変更してReturn
    	return JSON.parse(android.getUsersInRoom(roomId));
    }
Lee Munkyeong committed
183 184
}

185 186
// アーカイブ一覧
CHAT_DB.getArchiveList = function() {
Lee Munkyeong committed
187
    if (CHAT_UTIL.isIOS()) {
188
        return JSON.parse(callNativeApp("getArchiveList", {}));
Lee Munkyeong committed
189
    } else if (CHAT_UTIL.isAndroid()) {
Lee Munkyeong committed
190
        return JSON.parse(android.getArchiveList());
Lee Munkyeong committed
191 192 193 194 195
    }
};

CHAT_DB.updateArchiveList = function() {
    if (CHAT_UTIL.isIOS()) {
196
        webkit.messageHandlers.updateArchiveList.postMessage({});
Lee Munkyeong committed
197
    } else if (CHAT_UTIL.isAndroid()) {
Lee Munkyeong committed
198
        android.updateArchiveList();
Lee Munkyeong committed
199 200 201 202
    }
};

// アーカイブ一覧検索
203
CHAT_DB.getArchiveByName = function(archiveName) {
Lee Munkyeong committed
204
    if (CHAT_UTIL.isIOS()) {
205
        return JSON.parse(callNativeApp("getArchiveByName", {"archiveName": archiveName}));
Lee Munkyeong committed
206
    } else if (CHAT_UTIL.isAndroid()) {
207
        return JSON.parse(android.getArchiveListByName(archiveName));
Lee Munkyeong committed
208 209 210 211
    }
};

// アーカイブ詳細
212
CHAT_DB.getArchiveDetail = function(archiveId) {
Lee Munkyeong committed
213
    if (CHAT_UTIL.isIOS()) {
214
        return JSON.parse(callNativeApp("getArchiveDetail", {"archiveId": archiveId}));
Lee Munkyeong committed
215
    } else if (CHAT_UTIL.isAndroid()) {
216
        return JSON.parse(android.getArchiveDetail(archiveId));
Lee Munkyeong committed
217 218 219 220 221
    }
};

CHAT_DB.updateArchiveDetail = function(archiveId) {
    if (CHAT_UTIL.isIOS()) {
222
        webkit.messageHandlers.updateArchiveDetail.postMessage(archiveId);
Lee Munkyeong committed
223
    } else if (CHAT_UTIL.isAndroid()) {
224
        android.updateArchiveDetail(archiveId);
Lee Munkyeong committed
225 226
    }
};
Lee Munkyeong committed
227 228 229

CHAT_DB.searchMessages = function(keyword, userList) {
    if (CHAT_UTIL.isIOS()) {
Takatoshi Miura committed
230
        return JSON.parse(callNativeApp("searchMessages", {"keyWord": keyword, "userList": userList}));
Lee Munkyeong committed
231 232 233
    } else if (CHAT_UTIL.isAndroid()) {
        return JSON.parse(android.searchMessages(keyword, userList));
    }
234
};
Lee Munkyeong committed
235 236 237

CHAT_DB.getMyGroupUsersNotInRoom = function() {
    if (CHAT_UTIL.isIOS()) {
Takatoshi Miura committed
238
        return JSON.parse(callNativeApp("getMyGroupUsersNotInRoom", {}));
Lee Munkyeong committed
239 240 241 242
    } else if (CHAT_UTIL.isAndroid()) {
        //String形式をJsonに変更してReturn
    	return JSON.parse(android.getMyGroupUsersNotInRoom());
    }
243 244 245 246
};

CHAT_DB.getUserInfo = function(shopMemberId) {
    if (CHAT_UTIL.isIOS()) {
247
        return JSON.parse(callNativeApp("getUserInfo", {"shopMemberId": shopMemberId}));
248 249 250 251
    } else if (CHAT_UTIL.isAndroid()) {
        //String形式をJsonに変更してReturn
    	return JSON.parse(android.getUserInfo(shopMemberId));
    }
252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302
};

CHAT_DB.getBeforeRoomType = function() {
    // Androidは実装不要
    if (CHAT_UTIL.isIOS()) {
        return callNativeApp("getBeforeRoomType", {});
    }
};

CHAT_DB.getRoomType = function() {
    // Androidは実装不要
    if (CHAT_UTIL.isIOS()) {
        return callNativeApp("getRoomType", {});
    }
};

CHAT_DB.removeFavoriteUser = function(shopMemberId) {
    // Androidは実装不要
    if (CHAT_UTIL.isIOS()) {
        var result = callNativeApp("removeFavoriteUser", {"shopMemberId": shopMemberId});
        if (result == "true") {
            return true;
        } else {
            return false;
        } 
    }
};

CHAT_DB.addFavoriteUser = function(shopMemberId) {
    // Androidは実装不要
    if (CHAT_UTIL.isIOS()) {
        var result = callNativeApp("addFavoriteUser", {"shopMemberId": shopMemberId});
        if (result == "true") {
            return true;
        } else {
            return false;
        } 
    }
};

CHAT_DB.addFavoriteGroup = function(groupId) {
    // Androidは実装不要
    if (CHAT_UTIL.isIOS()) {
        var result = callNativeApp("addFavoriteGroup", {"groupId": groupId});
        if (result == "true") {
            return true;
        } else {
            return false;
        } 
    }
};