def post(self):
     self.response.content_type = "application/json; charset=utf-8"
     user_id = self.request.get('user_id')
     friend_id = self.request.get('friend_id')
     try:
         users = ShourFriend.is_requestable(user_id, friend_id)
         ShourFriend.is_duplicate_request(user_id, friend_id)
         ShourFriend.request(users[0], users[1])
         data = {"message": True}
         json.dump(data, self.response.out, ensure_ascii=False)
     except ShourAppError, e:
         data = {"message": False, "err":e.value}
         json.dump(data, self.response.out, ensure_ascii=False)
 def post(self):
     self.response.content_type = "application/json; charset=utf-8"
     user_id = self.request.get('user_id')
     friend_id = self.request.get('friend_id')
     try:
         users = ShourFriend.is_acceptable(user_id, friend_id)
         ShourFriend.is_duplicate_accept(user_id, friend_id)
         # リクエストされていたデータ
         friend_request = ShourFriend.get_relation(friend_id, user_id)
         # 友人リクエスト承認者の投稿したイベント
         user_events = ShourPost.get_master_event(user_id)
         # 友人リクエスト申請者の投稿したイベント
         friend_events = ShourPost.get_master_event(friend_id)
         # クロスグループトランザクションCross-Group (XG) Transactions有効化
         xg_on = db.create_transaction_options(xg=True)
         db.run_in_transaction_options(xg_on, ShourFriend.accept, users[0], users[1], friend_request, user_events, friend_events)
         data = {"message": True}
         json.dump(data, self.response.out, ensure_ascii=False)
     except ShourAppError, e:
         data = {"message": False, "err":e.value}
         json.dump(data, self.response.out, ensure_ascii=False)
Exemplo n.º 3
0
 def get_feed_new(self, user_id, limit, offset):
     if offset == 0:
         offset = 0
     else:
         offset = limit * offset + 1
     logging.info("友人検索")
     friends = ShourFriend.show_all_friends(user_id)
     for friend in friends:
         query = ShourPost.all()
         logging.info(friend.friend_id)
         query.filter("user_id =", friend.friend_id)
         # 公開のものを取得
         query.filter("public_id =", 0)
         # query.order("-created_at")
         events = query.fetch(limit=limit, offset=offset)
         datas = []
         for event in events:
             data = {
                 "event": {
                     "event_id": event.key().id(),
                     "comment:": event.comment,
                     "created_at": event.created_at,
                     "end_time": event.end_time,
                     "master": event.master,
                     "modified_at": event.modified_at,
                     "place_address": event.place_address,
                     "place_lat": event.place_lat,
                     "place_lng": event.place_lng,
                     "place_name": event.place_name,
                     "public_id": event.public_id,
                     "start_time": event.start_time,
                     "status_id": event.status_id,
                 },
                 "user": {
                     "user_id": event.user_reference.key().id(),
                     "name": event.user_reference.name,
                     "picture_url": event.user_reference.picture_url,
                 },
             }
             datas.append(data)
     # 投稿が新しい順にソート
     sorted(datas, key=lambda data: data["event"]["event_id"], reverse=True)
     return datas
 def post(self):
     self.response.content_type = "application/json; charset=utf-8"
     user_id = self.request.get('user_id')
     friend_id = self.request.get('friend_id')
     try:
         friendship_from_me = ShourFriend.get_relation(user_id, friend_id)
         friendship_from_you = ShourFriend.get_relation(friend_id, user_id)
         if friendship_from_me:
             ShourFriend.destroy(friendship_from_me)
         if friendship_from_you:
             ShourFriend.destroy(friendship_from_you)
         data = {"message": True}
         json.dump(data, self.response.out, ensure_ascii=False)
     except ShourAppError, e:
         data = {"message": False, "err":e.value}
         json.dump(data, self.response.out, ensure_ascii=False)
 def post(self):
     self.response.content_type = "application/json; charset=utf-8"
     user_id = self.request.get('user_id')
     friend_requests = ShourFriend.notice(user_id)
     data = jsonencoder.GqlEncoder().encode(friend_requests)
     self.response.out.write(data)