MCPcopy Create free account
hub / github.com/alphagov/notifications-api / VerifyCode

Class VerifyCode

app/models.py:1466–1489  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1464 ("st_dep_jobs_service_id_contact_list_id", ("service_id", "contact_list_id"), ("dependencies",)),
1465 )
1466
1467
1468class 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

Calls

no outgoing calls