Esempio n. 1
0
    def post(self):
        parser = reqparse.RequestParser()

        parser.add_argument('description',
                            type=str,
                            required=True,
                            help="Field description cannot be empty")
        parser.add_argument(
            'start_date',
            type=lambda x: dt.datetime.strptime(x, "%Y-%m-%d %H:%M:%S"),
            required=True,
            help="Field due_date cannot be empty")
        parser.add_argument(
            'end_date',
            type=lambda x: dt.datetime.strptime(x, "%Y-%m-%d %H:%M:%S"),
            required=True,
            help="Field due_date cannot be empty")
        parser.add_argument('owner_id',
                            type=int,
                            required=True,
                            help="Field owner_id cannot be empty")

        payload = parser.parse_args()

        task = TaskModel(payload['description'], payload['start_date'],
                         payload['end_date'], False, payload['owner_id'])
        task.save()

        return {
            'message': 'Task created without issues',
            'record': task.json()
        }, 201
 def post(self):
     args = TaskAPI.parser.parse_args()
     task = TaskModel(**args)
     try:
         task.save_to_db()
     except:
         return {"message": "An error occurred creating the task."}, 500
     return task.json(), 201
Esempio n. 3
0
    def post(self):
        content = request.get_json()
        task = TaskModel(content["task"])
        try:
            task.save_to_db()
        except:
            return {"message": "An error occurred inserting the item."}, 500

        return task.json(), 201
Esempio n. 4
0
 def put(self, task_id):
     task = TaskModel.find_by_id(task_id)
     data = Task.parser.parse_args()
     if task:
         task.is_finished = data['is_finished']
     else:
         task = TaskModel(data['body'], data['list_id'])
     task.save_to_db()
     return task.json()
    def put(self, _id):
        data = self.parser.parse_args()
        task = TaskModel.find_by_id(_id)

        if task:
            task.title = data['title']
            task.description = data['description']
            task.done = data['done']
        else:
            task = TaskModel(**data)
        task.save_to_db()

        return task.json()
    def post(self):
        """create task"""
        data = Task.parser.parse_args()
        if data['description'] not in {"", None}:
            task = TaskModel(data['description'])
        else:
            return {"message": "A task must have a description."}

        try:
            task.save_to_db()
        except:
            return {'message': "An error occurred inserting the bill."}, 500
        return task.json(), 201
Esempio n. 7
0
    def post(self):
        data = Task.parser.parse_args()

        if 'name' not in data or 'description' not in data or 'deadline' not in data:
            return {'message': 'invalid json sent in body'}, 400

        task = TaskModel(data['name'], data['description'], data['deadline'],
                         current_identity.first().id)
        try:
            task.save_to_db()
        except:
            return {'message': 'error occurred while inserting task'}, 500
        return task.json(), 201
Esempio n. 8
0
 def post(self, task_id):
     if TaskModel.find_task(task_id):
         return {
             "message": "task if '{}' already exists.".format(task_id)
         }, 400  # Bad request
     dados = Task.argumentos.parse_args()
     task = TaskModel(task_id, **dados)
     try:
         task.save_task()
     except:
         return {
             'message': 'An internal error ocurred trying to save task.'
         }, 500
     return task.json()
Esempio n. 9
0
    def post(cls):
        data = parser.parse_args()

        try:
            task = TaskModel(**data)
            task.save_to_db()
        except IntegrityError as e:
            return {"database_exception": str(e)}, 400
        except Exception as e:
            return {
                "message": "Internal error occurred during insertion."
            }, 500

        return task.json(), 201
Esempio n. 10
0
    def post(self, name):
        if TaskModel.find_by_name(name):
            return {
                'message': f"A task with name '{name}' already exists!"
            }, 400

        data = Task.parser.parse_args()

        task = TaskModel(name, **data)

        try:
            task.save_to_db()
        except:
            return {'message': "An error occured creating the task."}, 500

        return task.json()
Esempio n. 11
0
    def put(self, id):
        data = Task.parser.parse_args()

        task = TaskModel.find_by_id(id)

        if task is None:
            task = TaskModel(**data)

        else:
            task.name = data['name']
            task.description = data['description']
            task.duedate = data['duedate']
            task.completed = data['completed']

        task.save_to_db()

        return task.json()
Esempio n. 12
0
    def put(self, name):
        data = Task.parser.parse_args()

        task = TaskModel.find_by_name(name)

        if task is None:
            task = TaskModel(name, **data)
        else:
            task.name = name
            task.description = data['description']

        try:
            task.save_to_db()
        except:
            return {'message': "An error occured."}, 500

        return task.json()
Esempio n. 13
0
    def post(self):

        data = Task.parser.parse_args()

        # we instantiate the TaskModel class with name and price parameters
        # and store a reference to it in the task variable
        task = TaskModel(**data)

        try:
            # we take the TaskModel instance and call its insert method
            # so that it inserts the fields specified above from the request
            # into the db
            task.save_to_db()
        except:
            return {
                'message': "An error occurred inserting the task."
            }, 500  # Internal server error

        return task.json(), 201  # return with 'created' status code
Esempio n. 14
0
    def put(cls, id):
        data = parser.parse_args()
        task = TaskModel.find_existing_by_id(id)

        if not task:
            task = TaskModel(**data)
        else:
            task.update(data)

        try:
            task.save_to_db()
        except IntegrityError as e:
            return {"database_exception": str(e)}, 400
        except:
            return {
                "message": "Internal error occurred during the update."
            }, 500

        return task.json(), 201
Esempio n. 15
0
    def post(self, task):
        if TaskModel.find_by_name(task):
            return {
                'message':
                "A network tool already exist with '{}'".format(task),
            }, 400

        data = Task.parser.parse_args()
        task = TaskModel(data['manufacture'], data['device'], task,
                         data['command'], data['notes'])

        try:
            task.save_to_db()
        except:
            return {
                'message':
                "an error occurred when inserting that new network tool into the toolbox"
            }, 500

        return task.json(), 201
Esempio n. 16
0
    def put(self):
        data = Task.parser.parse_args()
        task = TaskModel.find_by_task_id_and_user_id(
            data['id'],
            current_identity.first().id).first()

        if 'name' not in data or 'description' not in data or 'deadline' not in data or 'done' not in data:
            return {'message': 'invalid json sent in body'}, 400

        if task is None:
            task = TaskModel(data['name'], data['description'],
                             data['deadline'],
                             current_identity.first().id)
            task.done = data['done']
        else:
            task.update(data['name'], data['description'], data['deadline'],
                        data['done'])
        try:
            task.save_to_db()
        except:
            return {'message': 'error occurred while saving task'}, 500
        return task.json()
Esempio n. 17
0
    def post(self):
        # Get post args and validate input
        try:
            parse = reqparse.RequestParser()
            parse.add_argument(
                'file',
                type=FileStorage,
                location='files',
                required=True,
            )
            file: FileStorage = parse.parse_args()['file']
            image_name = file.filename
            image = Image.open(file)
            print(file.filename)
            # image.save(image. )
        except UnidentifiedImageError:
            return {'message', 'not an image file'}, 404

        # Schedule task using Redis
        try:
            queue_job = queue.enqueue(process_image, image)

            task = TaskModel(
                queue_job.id,
                current_identity.id,
                queue_job.get_status(),
                queue_job.result,
                queue_job.created_at,
                queue_job.started_at,
                queue_job.ended_at,
                queue_job.enqueued_at,
                queue_job.origin
            )
            task.save_to_db()
        except Exception as err:
            return {'message': err.args}, 500

        # Return success or failed for created task
        return task.json(), 201
Esempio n. 18
0
    def post(self):
        data = Task.parser.parse_args()

        title = data['title']
        category_name = data['category_name']

        task = TaskModel.find_by_title(title, current_identity.id)
        if task:
            return {"message": "Task '{}', already exists.".format(title)}, 400

        category = CategoryModel.find_by_name(category_name)

        task = TaskModel(title, current_identity.id, category.id)

        try:
            task.save_to_db()
        except:
            return {
                "message": "An error occurred while storing the task."
            }, 500

        return task.json(), 201
Esempio n. 19
0
    def post(self):
        data = Task.parser.parse_args()

        task = TaskModel.find_by_description_and_instructor(
            data["task_description"], data["instructor_id"]
        )
        if task:
            return {"error": "The task already exists"}, 500
        else:
            newTask = TaskModel(
                data["task_name"],
                data["task_description"],
                data["instructor_id"],
                data["task_notes"],
            )

        try:
            newTask.save_to_db()
        except:
            return {"message": "An error occurred inserting the task"}, 500

        return {"task": newTask.json()}, 201