Ejemplo n.º 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
Ejemplo n.º 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
Ejemplo n.º 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
         })
     ]
Ejemplo n.º 4
0
 def delete(self):
     Database.remove("alerts", {"_id": self._id})
Ejemplo n.º 5
0
 def find_by_id(cls, alert_id):
     return cls(**Database.find_one("alerts", {"_id": alert_id}))
Ejemplo n.º 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]
Ejemplo n.º 7
0
 def save_alert_data(self):
     Database.update("alerts", {"_id": self._id}, self.json())
Ejemplo n.º 8
0
def database_init():
    Database.initialize()
Ejemplo n.º 9
0
 def find_by_email(cls, email):
     return cls(**Database.find_one("users", {"email": email}))
Ejemplo n.º 10
0
 def save_user_data(self):
     Database.insert("users", self.json())
Ejemplo n.º 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()
Ejemplo n.º 12
0
 def get_by_id(cls, item_id):
     return cls(**Database.find_one("items", {"_id": item_id}))
Ejemplo n.º 13
0
 def save_item_data(self):
     Database.update("items", {"_id": self._id}, self.json())