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
def get(self): return { 'projects': list( map(lambda x: x.json(), ProjectModel.get_projects_by_user_id(get_jwt_identity()))) }