Beispiel #1
0
    def post(self):
        data = NewProject.parser.parse_args()
        user_id = get_jwt_identity()
        check_projects = ProjectModel.get_projects_by_user_id(user_id)
        check_projects = [
            pr for pr in check_projects if pr.name == data['name']
        ]
        if check_projects:
            return {
                'message':
                "A project with name '{}' already exists.".format(data['name'])
            }, 400

        # Create a new project
        project = ProjectModel(id=None, **data)
        try:
            project.save_to_db()
        except Exception as e:
            print(e)
            return {"message": "An error occurred inserting the item."}, 500

        # Map the project to the user
        mapping_user = UserProjectMap(user_id=user_id, project_id=project.id)
        try:
            mapping_user.save_to_db()
        except:
            project.delete_from_db()
            return {
                "message": "An error occurred mapping the user to the project."
            }, 500

        return project.json(), 201
Beispiel #2
0
 def get(self):
     return {
         'projects':
         list(
             map(lambda x: x.json(),
                 ProjectModel.get_projects_by_user_id(get_jwt_identity())))
     }