Exemplo n.º 1
0
	def put(self, id):
		try:
			self.parser.add_argument('_id', required=True, help="Field id is mandatory")
			self.parser.add_argument('_rev', required=True, help="Field rev is mandatory")
			self.parser.add_argument('title', required=True, help="Field title is mandatory")
			self.parser.add_argument('location', required=True, help="Field location is mandatory")
			self.parser.add_argument('visibility', required=True, help="Field visibility is mandatory")
			self.parser.add_argument('multimedia', required=True, help="Field multimedia is mandatory")
			self.parser.add_argument('story_type', required=True, help="Field story_type is mandatory")
			self.parser.add_argument('user_id', required=True, help="Field user_id is mandatory")

			self._validate_author(id)
			args = self.parser.parse_args()
			
			body = json.loads(request.data.decode('utf-8'))

			storie = StorieModel.update_storie(id, body)
			UserActivityModel.log_storie_activity(storie["user_id"], storie["_id"], "EDIT")
			return ResponseBuilder.build_response(storie, 200)

		except BadRequest as ex:
			return ErrorHandler.create_error_response("Fields id, rev, title, location, user_id, visibility, multimedia and story_type are mandatory", 400)
		except NoStorieFoundException as e:
			return ErrorHandler.create_error_response(str(e), 404)
		except DataVersionException as e:
			return ErrorHandler.create_error_response(str(e), 409)
		except UserMismatchException as e:
			return ErrorHandler.create_error_response(str(e), 409)
		except DBConnectionError as e:
			return ErrorHandler.create_error_response(str(e), 500)
Exemplo n.º 2
0
	def delete(self, id):
		try:
			self._validate_author(id)
			body = json.loads(request.data.decode('utf-8'))
			storie_user_id = body['user_id']
			storie = StorieModel.delete_storie(id, storie_user_id)
			UserActivityModel.log_storie_activity(storie["user_id"], storie["_id"], "DELETE")
			return ResponseBuilder.build_response(storie, 204)
		except NoStorieFoundException as e:
			return ErrorHandler.create_error_response(str(e), 404)
		except UserMismatchException as e:
			return ErrorHandler.create_error_response(str(e), 409)
		except DBConnectionError as e:
			return ErrorHandler.create_error_response(str(e), 500)
Exemplo n.º 3
0
    def post(self):
        try:

            self.parser.add_argument('title',
                                     required=True,
                                     help="Field title is mandatory")
            self.parser.add_argument('location',
                                     required=True,
                                     help="Field location is mandatory")
            self.parser.add_argument('visibility',
                                     required=True,
                                     help="Field visibility is mandatory")
            self.parser.add_argument('multimedia',
                                     required=True,
                                     help="Field multimedia is mandatory")
            self.parser.add_argument('story_type',
                                     required=True,
                                     help="Field story_type is mandatory")
            self.parser.add_argument('user_id',
                                     required=True,
                                     help="Field user_id is mandatory")

            args = self.parser.parse_args()
            validate_sender(args.get("user_id"))

            storie = self._create_user_storie_request(request)

            UserActivityModel.log_storie_activity(storie["user_id"],
                                                  storie["_id"], "ADD")
            self._create_multimedia_file(args.get('title'),
                                         args.get('multimedia'))
            return storie

        except BadRequest as ex:
            return ErrorHandler.create_error_response(
                "Fields title, location, visibility, multimedia, user_id and story_type are mandatory",
                400)
        except UserMismatchException as e:
            return ErrorHandler.create_error_response(str(e), 409)
        except DBConnectionError as e:
            return ErrorHandler.create_error_response(str(e), 500)