Esempio n. 1
0
 def __init__(self, name, desc, goal, below, category):
     self.name = name
     self.desc = desc
     self.goal = goal
     self.below = below
     self.category_id = getattr(
         CategoryModel.find_existing_by_name(category), "id", None)
Esempio n. 2
0
 def __init__(self, desc, ecoPoints, savings, weekly, category):
     self.desc = desc
     self.ecoPoints = ecoPoints
     self.savings = savings
     self.weekly = weekly
     self.category_id = getattr(
         CategoryModel.find_existing_by_name(category), "id", None)
Esempio n. 3
0
 def update(self, data):
     for k in data:
         if k == "category":
             setattr(
                 self, "category_id",
                 getattr(CategoryModel.find_existing_by_name(data[k]), "id",
                         None))
         else:
             setattr(self, k, data[k])
     setattr(self, "updated", datetime.now())
Esempio n. 4
0
    def delete(cls, name):
        category = CategoryModel.find_existing_by_name(name)

        if not category:
            return {"message": "Category not found"}, 404
        
        try:
            category.delete_from_db()
        except IntegrityError as e:
            return {"database_exception": str(e)}, 400
        except Exception as e:
            return {"message": "Internal error occurred during deletion."}, 500
        
        return {"message": "Category deleted from database."}, 200
Esempio n. 5
0
    def post(cls, name):
        category = CategoryModel.find_existing_by_name(name)
        if category:
            return {"message": "Category with name '{}' already exists".format(name)}, 400

        data = cls.parser.parse_args()

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

        return category.json(), 201
Esempio n. 6
0
    def put(cls, name):
        category = CategoryModel.find_existing_by_name(name)

        data = cls.parser.parse_args()

        if not category:
            category = CategoryModel(name, **data)
        else:
            category.update(data)

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

        return category.json(), 201
Esempio n. 7
0
    def get(cls, name):
        category = CategoryModel.find_existing_by_name(name)
        if not category:
            return {"message": "Category not found."}, 404

        return category.json(), 200