| 1464 | ("st_dep_jobs_service_id_contact_list_id", ("service_id", "contact_list_id"), ("dependencies",)), |
| 1465 | ) |
| 1466 | |
| 1467 | |
| 1468 | class VerifyCode(db.Model): |
| 1469 | __tablename__ = "verify_codes" |
| 1470 | |
| 1471 | id = db.Column(UUID(as_uuid=True), primary_key=True, default=uuid.uuid4) |
| 1472 | user_id = db.Column(UUID(as_uuid=True), db.ForeignKey("users.id"), index=True, nullable=False) |
| 1473 | user = db.relationship("User", backref=db.backref("verify_codes", lazy="dynamic")) |
| 1474 | _code = db.Column(db.String, nullable=False) |
| 1475 | code_type = db.Column( |
| 1476 | db.Enum(*VERIFY_CODE_TYPES, name="verify_code_types"), index=False, unique=False, nullable=False |
| 1477 | ) |
| 1478 | expiry_datetime = db.Column(db.DateTime, nullable=False) |
| 1479 | code_used = db.Column(db.Boolean, default=False) |
| 1480 | created_at = db.Column(db.DateTime, index=False, unique=False, nullable=False, default=datetime.datetime.utcnow) |
| 1481 | |
| 1482 | @property |
| 1483 | def code(self): |
| 1484 | raise AttributeError("Code not readable") |
| 1485 | |
| 1486 | @code.setter |
| 1487 | def code(self, cde): |
| 1488 | self._code = hashpw(cde) |
| 1489 | |
| 1490 | def check_code(self, cde): |
| 1491 | return check_hash(cde, self._code) |
| 1492 |
no outgoing calls