from conf.const import Const from conf.firebaseInit import fs from conf.util import Util from events.args import Args
classSelect(Args): defshow_restaurant_list(self): # 상태 설정 fs.collection(Const.COL_USER).document(self.user_key).update({ Const.FIELD_STATE: Const.STATE_SELECT_RESTAURANT }, firestore.CreateIfMissingOption(True))
# 그룹이 없으면 그룹 선택으로 보낸다. try: user = fs.collection(Const.COL_USER).document(self.user_key).get() user_group = user.get(Const.FIELD_GROUP) except: print("NotFound user") return self.show_group_list()
try: # 해당 그룹의 식당목록을 가져온다. restaurant_list = []
group = fs.collection(Const.COL_GROUP).document(user_group).get() restaurants = group.get(Const.FIELD_RESTAURANT) for key, val in restaurants.items(): restaurant_list.append(key) except: print('No RESTAURANTS') return Util.show_start_menu('등록된 식당이 없습니다')
firestore는 컬렉션, 도큐먼트, 컬렉션, 도큐먼트, … 로 구성되어 있습니다. 문서에 정보를 입력하는데, 기존의 정보가 있을 수도 있으므로 update를 사용하였습니다. 없는 경우 문서를 생성하기 위해 firestore.CreateIfMissingOption(True)를 추가하였습니다.