Esempio n. 1
0
    def post(self):
        form = FriendRequestForm(self.request.arguments)
        if not form.validate():
            raise HTTPError(404)

        user_id = form.user_id.data

        user = yield UserDocument.find_one({'_id': ObjectId(user_id)})
        if not user or user['_id'] == self.current_user['_id']:
            raise HTTPError(404)

        is_friend = yield FriendDocument.is_friend(user_id,
                                                   self.current_user['_id'])
        if not is_friend:
            yield FriendDocument.add_friend(user_id, self.current_user['_id'])

        yield MessageDocument.remove({
            'sender':
            DBRef(UserDocument.meta['collection'], ObjectId(user_id)),
            'recipient':
            DBRef(UserDocument.meta['collection'],
                  ObjectId(self.current_user['_id'])),
            'message_type':
            MessageTopic.FRIEND_REQUEST_NEW
        })

        self.finish()
Esempio n. 2
0
    def post(self):
        form = FriendRequestForm(self.request.arguments)
        if not form.validate():
            raise HTTPError(404)

        user_id = form.user_id.data

        user = yield UserDocument.find_one({'_id': ObjectId(user_id)})
        if not user or user['_id'] == self.current_user['_id']:
            raise HTTPError(404)

        is_friend = yield FriendDocument.is_friend(
            user_id, self.current_user['_id']
        )
        if not is_friend:
            yield FriendDocument.add_friend(
                user_id, self.current_user['_id']
            )

        yield MessageDocument.remove({
            'sender': DBRef(
                UserDocument.meta['collection'],
                ObjectId(user_id)
            ),
            'recipient': DBRef(
                UserDocument.meta['collection'],
                ObjectId(self.current_user['_id'])
            ),
            'message_type': MessageTopic.FRIEND_REQUEST_NEW
        })
Esempio n. 3
0
    def delete_one(topic_id):
        topic = DBRef(TopicDocument.meta['collection'], ObjectId(topic_id))

        yield TopicDocument.remove({'_id': ObjectId(topic_id)})
        yield TopicStatisticsDocument.remove({'data': topic})
        yield TopicLikeDocument.delete(topic_id)
        yield TopicCommentDocument.delete(topic_id)
        yield MessageDocument.remove({'data': topic})

        raise gen.Return()
Esempio n. 4
0
    def delete_one(topic_id):
        topic = DBRef(
            TopicDocument.meta['collection'], ObjectId(topic_id)
        )

        yield TopicDocument.remove({'_id': ObjectId(topic_id)})
        yield TopicStatisticsDocument.remove({'data': topic})
        yield TopicLikeDocument.delete(topic_id)
        yield TopicCommentDocument.delete(topic_id)
        yield MessageDocument.remove({'data': topic})

        raise gen.Return()
Esempio n. 5
0
    def post(self):
        form = FriendRequestForm(self.request.arguments)
        if not form.validate():
            raise HTTPError(404)

        user_id = form.user_id.data

        yield MessageDocument.remove({
            'sender':
            DBRef(UserDocument.meta['collection'], ObjectId(user_id)),
            'recipient':
            DBRef(UserDocument.meta['collection'],
                  ObjectId(self.current_user['_id'])),
            'message_type':
            MessageTopic.FRIEND_REQUEST_NEW
        })
Esempio n. 6
0
    def post(self):
        form = FriendRequestForm(self.request.arguments)
        if not form.validate():
            raise HTTPError(404)

        user_id = form.user_id.data

        yield MessageDocument.remove({
            'sender': DBRef(
                UserDocument.meta['collection'],
                ObjectId(user_id)
            ),
            'recipient': DBRef(
                UserDocument.meta['collection'],
                ObjectId(self.current_user['_id'])
            ),
            'message_type': MessageTopic.FRIEND_REQUEST_NEW})
Esempio n. 7
0
    def remove_one(query):
        like = yield TopicLikeDocument.find_one(query)
        if like:
            yield TopicLikeDocument.remove(query)
            like_times = yield TopicLikeDocument.get_like_times(
                like['topic'].id
            )

            yield TopicDocument.update(
                {'_id': ObjectId(like['topic'].id)},
                {'$set': {'like_times': like_times}})

            yield MessageDocument.remove({
                'data': DBRef(TopicLikeDocument.meta['collection'],
                              ObjectId(like['_id']))
            })

        raise gen.Return()
Esempio n. 8
0
    def remove_one(query):
        like = yield ShareLikeDocument.find_one(query)
        if like:
            yield ShareLikeDocument.remove(query)

            like_times = yield ShareLikeDocument.get_like_times(
                like['share'].id)
            yield ShareDocument.update({'_id': ObjectId(like['share'].id)},
                                       {'$set': {
                                           'like_times': like_times
                                       }})

            yield MessageDocument.remove({
                'data':
                DBRef(ShareLikeDocument.meta['collection'],
                      ObjectId(like['_id']))
            })

        raise gen.Return()
Esempio n. 9
0
    def delete_one(comment_id):
        comment = yield ShareCommentDocument.find_one(
            {'_id': ObjectId(comment_id)})
        if comment:
            yield ShareCommentDocument.remove({'_id': ObjectId(comment_id)})

            comment_times = yield ShareCommentDocument.get_comment_times(
                comment['share'].id)
            yield ShareDocument.update(
                {'_id': ObjectId(comment['share'].id)},
                {'$set': {
                    'comment_times': comment_times
                }})

            yield MessageDocument.remove({
                'data':
                DBRef(ShareCommentDocument.meta['collection'],
                      ObjectId(comment_id))
            })

        raise gen.Return()
Esempio n. 10
0
    def delete_one(comment_id):
        comment = yield TopicCommentDocument.find_one({
            '_id': ObjectId(comment_id)
        })
        if comment:
            yield TopicCommentDocument.remove({'_id': ObjectId(comment_id)})

            comment_times = yield TopicCommentDocument.get_comment_times(
                comment['topic'].id
            )

            yield TopicDocument.update(
                {'_id': ObjectId(comment['topic'].id)},
                {'$set': {'comment_times': comment_times}}
            )

            yield MessageDocument.remove({
                'data': DBRef(TopicCommentDocument.meta['collection'],
                              ObjectId(comment_id))
            })

        raise gen.Return()