Ejemplo n.º 1
0
 def unprocess():
     try:
         data = {"userID": "phunguyen"}
         model = Test(data)
         return str(Test.RI() + "s")
     except Exception as e:
         raise UnprocessableEntity("RC_400", message=str(e))
Ejemplo n.º 2
0
 def isvote_isunvote_question(questionID):
     try:
         query = {"userID": session.get("userID"), "questionID": questionID}
         return isVote_or_isUnvote(module, VoteQuestion, UnvoteQuestion,
                                   query)
     except Exception as e:
         raise UnprocessableEntity("RC_400", message=str(e))
Ejemplo n.º 3
0
 def isvote_isunvote_comment(commentID):
     try:
         query = {"userID": session.get("userID"), "commentID": commentID}
         return isVote_or_isUnvote(module, VoteComment, UnvoteComment,
                                   query)
     except Exception as e:
         raise UnprocessableEntity("RC_400", message=str(e))
Ejemplo n.º 4
0
 def logout():
     try:
         session.clear()
         data_response = {"status": 200, "description": "ok"}
         return make_resource_response("resource", data_response)
     except Exception as e:
         raise UnprocessableEntity('RC_400', message=str(e))
Ejemplo n.º 5
0
 def delete_item(self, _id):
     model = self.Model(self.return_query(_id))
     done = model.delete()
     if done:
         return Response(status=204)
     else:
         raise UnprocessableEntity('RC_400', message='Delete fail')
Ejemplo n.º 6
0
 def test():
     try:
         data = request.json
         model = Test(data)
         resp = model.save()
         return make_resource_response("resource", resp)
     except Exception as e:
         raise UnprocessableEntity("RC_400", message=str(e))
Ejemplo n.º 7
0
 def comment_vote(commentID):
     try:
         data = request.json
         data["commentID"] = commentID
         query = {"commentID": commentID}
         return vote_or_unvote(module, VoteComment, data, query, "comment")
     except Exception as e:
         raise UnprocessableEntity("RC_400", message=str(e))
Ejemplo n.º 8
0
 def delete_item(self, ID):
     done = self.data.delete_one(self.resource, ID)
     if done:
         resp = {"status": 204, "description": "ok"}
         return make_resource_response("resource", resp)
     else:
         raise UnprocessableEntity(
             'RC_400', message="Delete fail, you don't have permission")
Ejemplo n.º 9
0
 def update_item(self, _id):
     try:
         data = request.json or request.form.to_dict()
         data.update(self.return_query(_id))
         model = self.Model(data)
         model.save()
         return make_resource_response(self.resource, model.to_primitive())
     except Exception as e:
         raise UnprocessableEntity('RC_400', message=e.to_primitive())
Ejemplo n.º 10
0
 def question_unvote(questionID):
     try:
         data = request.json
         data["questionID"] = questionID
         query = {"questionID": questionID}
         return vote_or_unvote(module, UnvoteQuestion, data, query,
                               "question")
     except Exception as e:
         raise UnprocessableEntity("RC_400", message=str(e))
Ejemplo n.º 11
0
 def replies(commentID):
     try:
         data = request.json
         module.data.update("comment", {"commentID": commentID},
                            {"$set": data})
         resp = module.data.find_one("comment", commentID)
         return make_resource_response("comment", resp)
     except Exception as e:
         raise UnprocessableEntity("RC_400", str(e))
Ejemplo n.º 12
0
 def create(self):
     try:
         data = request.json or request.form.to_dict()
         if session.get("AUTH_FIELD"):
             data["user"] = session.get("username")
         model = self.Model(data)
         model.save()
         return make_resource_response(self.resource, model.to_primitive())
     except Exception as e:
         raise UnprocessableEntity('RC_400', message=e.to_primitive())
Ejemplo n.º 13
0
    def views(questionID):
        try:
            query = {"questionID": questionID}
            update = {"$inc": {"views": 1}}

            module.data.find_one_and_update("question", query, update)
            resp = module.data.find_one("question", questionID)
            return make_resource_response("views", resp)
        except Exception as e:
            raise UnprocessableEntity("RC_400", message=str(e))
Ejemplo n.º 14
0
 def get_item(self, _id):
     try:
         dt = self.data.find_one(self.resource, _id)
         if dt:
             return make_resource_response(self.resource, data=dt)
         else:
             return NotFoundException('RG_404',
                                      message='Resource not found',
                                      data=dt)
     except Exception as e:
         raise UnprocessableEntity('RC_400', message=e.to_primitive())
Ejemplo n.º 15
0
    def create(self):
        try:
            data = request.json or request.form.to_dict()
            if session.get("AUTH_FIELD") and self.resource != "category":
                data["userID"] = session.get("userID")

            model = self.Model(data)
            resp = model.save()
            return make_resource_response(self.resource, resp)
        except Exception as e:
            raise UnprocessableEntity('RC_400', message=str(e))
Ejemplo n.º 16
0
    def update_item(self, ID):
        try:
            data = request.json or request.form.to_dict()
            data['_updated'] = datetime.datetime.now() + \
                datetime.timedelta(hours=7)
            query = self.return_query(ID)
            if session.get("AUTH_FIELD") and self.resource != "user":
                query["userID"] = session.get("userID")

            self.data.find_one_and_update(self.resource, query, {'$set': data})
            resp = self.data.find_one(self.resource, ID)

            return make_resource_response(self.resource, resp)
        except Exception as e:
            raise UnprocessableEntity('RC_400', message=str(e))
Ejemplo n.º 17
0
 def comments():
     try:
         data = request.json
         # check image and store in folder
         data = save_image_base64(module, data)
         # data["userID"] = session.get("userID")
         model = Comment(data)
         resp = model.save()
         module.data.update("question", {"questionID": data["questionID"]},
                            {"$inc": {
                                "comments": 1
                            }})
         return make_resource_response("comment", resp)
     except Exception as e:
         raise UnprocessableEntity("RC_400", str(e))
Ejemplo n.º 18
0
 def get_aggregate(self):
     try:
         pipeline = [{
             "$match": {}
         }, {
             "$project": {
                 "_id": 0,
                 "_updated": 0,
                 "_etag": 0,
                 "_created": 0
             }
         }]
         data = self.data.aggregate(self.resource, pipeline)
         return make_resource_response("resource", list(data))
     except Exception as e:
         raise UnprocessableEntity('RC_400', message=str(e))
Ejemplo n.º 19
0
 def topuser():
     try:
         pipeline = [{
             "$project": {
                 "topVote": {
                     "$subtract": ["$votes", "$unvotes"]
                 }
             }
         }, {
             "$sort": {
                 "topVote": -1
             }
         }, {
             "$limit": 6
         }]
         data = module.data.aggregate(User.RI(), pipeline)
         return make_resource_response("user", list(data))
     except Exception as e:
         raise UnprocessableEntity("RC_400", message=str(e))
Ejemplo n.º 20
0
    def register():
        try:
            # data = request.json or request.form.to_dict()
            data = request.json
            query = {"email": data.get("email")}
            if module.data.check_exist(User.RI(), query):
                return make_error(200, description="email is exist")

            model = User(data)
            model.save()
            data_response = {
                "status": 200,
                "description": "ok",
                "userID": data["userID"],
                "isSuccess": True
            }

            return make_resource_response("resource", data_response)
        except Exception as e:
            raise UnprocessableEntity('RC_400', message=str(e))
Ejemplo n.º 21
0
    def login():
        try:
            dt = request.json or request.form.to_dict()

            if not module.data.check_exist(User.RI(),
                                           {"email": dt.get("email")}):
                return make_error(200, description="Email is wrong")
            if not module.data.check_exist(User.RI(),
                                           {"password": dt.get("password")}):
                return make_error(200, description="password is wrong")

            session["userID"] = module.data.db.user.find_one(
                {"email": dt.get("email")})["userID"]
            session.permanent = True
            logger.warning("Session %r", session)
            data_response = {
                "status": 200,
                "description": "ok",
                "userID": session["userID"],
                "isSuccess": True
            }
            return make_resource_response("resource", data_response)
        except Exception as e:
            raise UnprocessableEntity('RC_400', message=str(e))