Exemple #1
0
 def register(email, password):
     user_data = Database.find_one("users", {"email": email})
     if user_data is not None:
         raise UserAlreadyExistsError("Sorry, this user already exists!")
     if not Utils.valid_email(email):
         raise InvalidEmailAddressError("Please enter valid email address!")
     User(email, Utils.hash_password(password)).save_user_data()
     return True
Exemple #2
0
 def user_validation(email, password):
     # generate sha512 hashed password
     user_data = Database.find_one("users", {"email": email})
     if user_data is None:
         raise UserNotExistsError("Sorry, this user does not exist!")
     if not Utils.check_hashed_password(password, user_data["password"]):
         raise InvalidPasswordError("Sorry, this password is invalid!")
     return True
Exemple #3
0
 def find_alerts_to_update(cls, minutes_since_update=AlertConst.TIME):
     update_limit = datetime.datetime.utcnow() - datetime.timedelta(
         minutes=minutes_since_update)
     return [
         cls(**e) for e in Database.find("alerts", {
             "last_check": {
                 "$lte": update_limit
             },
             "active": True
         })
     ]
Exemple #4
0
 def delete(self):
     Database.remove("alerts", {"_id": self._id})
Exemple #5
0
 def find_by_id(cls, alert_id):
     return cls(**Database.find_one("alerts", {"_id": alert_id}))
Exemple #6
0
 def find_by_email(cls, user_email):
     alerts_data = Database.find("alerts", {"user_email": user_email})
     return [cls(**alert) for alert in alerts_data]
Exemple #7
0
 def save_alert_data(self):
     Database.update("alerts", {"_id": self._id}, self.json())
Exemple #8
0
def database_init():
    Database.initialize()
Exemple #9
0
 def find_by_email(cls, email):
     return cls(**Database.find_one("users", {"email": email}))
Exemple #10
0
 def save_user_data(self):
     Database.insert("users", self.json())
Exemple #11
0
from project.models.alerts.alert import Alert
from project.common.database import Database

Database.initialize()

alerts_to_update = Alert.find_alerts_to_update()

for alert in alerts_to_update:
    alert.check_price()
    alert.send_email_alert()
Exemple #12
0
 def get_by_id(cls, item_id):
     return cls(**Database.find_one("items", {"_id": item_id}))
Exemple #13
0
 def save_item_data(self):
     Database.update("items", {"_id": self._id}, self.json())