Exemple #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
Exemple #2
0
    def post(self):
        data = Project.parser.parse_args()
        current_user_id = get_jwt_identity()

        project_name = data["project_name"]
        if not project_name:
            return {"message": "Please enter the project name"}

        description = data['description']

        try:
            project = ProjectModel(**data)
            project.user_id = get_jwt_identity()
            project.is_archived = False
            project.save_to_db()
            print("moi", project.user_id)
        except:
            return {"message": "An error occured creating the Project"}, 500

        project_id = project.id
        project_name = project.project_name
        description = project.description
        is_archived = project.is_archived
        return {
            "project_id": project_id,
            "project_name": project_name,
            "description": description,
            "is_archived": is_archived
        }, 201
Exemple #3
0
    def post(self, name):
        project_parse = reqparse.RequestParser()
        project_parse.add_argument('name',
                                   type=non_empty_string,
                                   required=True,
                                   help='Name is required')
        project_parse.add_argument('description',
                                   type=non_empty_string,
                                   required=True,
                                   help="description is required")
        project_parse.add_argument('project_color_identity',
                                   type=non_empty_string,
                                   required=True,
                                   help="project_color_identity is required")

        project = ProjectModel.find_by_name(name)
        if project:
            return {
                "ProjectAlreadyExistsError": {
                    "message": "Project with given name already exists",
                    "status": 400
                }
            }

        data = project_parse.parse_args()
        project = ProjectModel(data['name'], data['description'],
                               get_jwt_identity(),
                               data['project_color_identity'])
        project.save_to_db()
        return {"message": "Project Created", "status": 200}
Exemple #4
0
 def put(self, id):
     data = Project.parser.parse_args()
     project = ProjectModel.find_by_id(id)
     if project:
         project.name = data['name']
     else:
         project = ProjectModel(None, **data)
     project.save_to_db()
     return project.json()
Exemple #5
0
 def put(self, pname):
     data = Project.parser.parse_args()
     project = ProjectModel.find_by_name(pname, int(current_identity))
     if project:
         project.description = data['description']
     else:
         project = ProjectModel(pname, **data)
     project.save_to_db()
     return project.json()
Exemple #6
0
    def post(self):
        data = ProjectList.parser.parse_args()
        y, m, d = data['to_date'].split('-')
        project = ProjectModel(data['name'], datetime.datetime(int(y), int(m), int(d)))

        try:
            project.save_to_db()
        except:
            return {'message': 'An error occured inserting the project'}, 500

        return project.json(), 201
Exemple #7
0
    def post(self):
        data = Projects.parser.parse_args()
        project = ProjectModel(name=data['name'], user_id=data['user_id'])

        if (UserModel.find_by_id(project.user_id)):
            try:
                project.save_to_db()
                return project.json(), 201
            except:
                return {
                    "message": "An error occurred inserting the project."
                }, 500
        else:
            return {"message": "The associated user does not exist."}, 500
Exemple #8
0
 def post(self, pname):
     data = Project.parser.parse_args()
     # TODO: fix this <class 'werkzeug.local.LocalProxy'> to int problem
     project = ProjectModel(pname, data['description'],
                            int(current_identity), data['roles'])
     # print((data['roles']))
     # for rolestr in data['roles']:
     # print(eval(rolestr))
     # save roles
     try:
         project.save_to_db()
     except:
         return {"message": "An error occured inserting the project"}, 500
     return project.json(), 201
Exemple #9
0
    def post(self):
        user_id = get_jwt_identity()
        data = NewProject.parser.parse_args()
        name = data['name']
        description = data['description']
        datasource_id = data['datasourceId']
        collection_id = data['collectionId']
        columns = {'columns': data['columns']}
        project = ProjectModel(name, description, datasource_id, collection_id,
                               user_id)
        if (project.find_one_by_name(name, user_id)):
            return {'message': ERROR_DUPLICATE_NAME.format(name)}, 500
        else:
            mongo = ProjectUnstructureModel(columns)

            try:
                columns_filter_id = str(mongo.save_columns_filter_to_db())
            except Exception as e:
                return {
                    'message': ERROR_CANNOT_INSRET_MONGO.format(columns)
                }, 500

            try:
                project.save_to_db()
            except Exception as e:
                return {'message': ERROR_CANNOT_INSERT_DB}, 500

            try:
                project = project.find_one_by_name(name, user_id)
                if project:
                    project.save_columns_filter_db(columns_filter_id)
            except Exception as e:
                return {
                    'message':
                    ERROR_CANNOT_INSRET_COLUMNS_FILTER.format(columns)
                }, 500

            return {'message': '{} has already created'.format(name)}, 200