mirror of
https://github.com/simple-login/app.git
synced 2024-09-20 15:05:59 +08:00
Create DirectoryMailbox model
This commit is contained in:
parent
9603683c18
commit
8161d89c39
|
@ -1272,6 +1272,17 @@ class Directory(db.Model, ModelMixin):
|
||||||
|
|
||||||
user = db.relationship(User)
|
user = db.relationship(User)
|
||||||
|
|
||||||
|
_mailboxes = db.relationship(
|
||||||
|
"Mailbox", secondary="directory_mailbox", lazy="joined"
|
||||||
|
)
|
||||||
|
|
||||||
|
@property
|
||||||
|
def mailboxes(self):
|
||||||
|
if self._mailboxes:
|
||||||
|
return self._mailboxes
|
||||||
|
else:
|
||||||
|
return [self.user.default_mailbox]
|
||||||
|
|
||||||
def nb_alias(self):
|
def nb_alias(self):
|
||||||
return Alias.filter_by(directory_id=self.id).count()
|
return Alias.filter_by(directory_id=self.id).count()
|
||||||
|
|
||||||
|
@ -1446,6 +1457,19 @@ class AliasMailbox(db.Model, ModelMixin):
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
class DirectoryMailbox(db.Model, ModelMixin):
|
||||||
|
__table_args__ = (
|
||||||
|
db.UniqueConstraint("directory_id", "mailbox_id", name="uq_directory_mailbox"),
|
||||||
|
)
|
||||||
|
|
||||||
|
directory_id = db.Column(
|
||||||
|
db.ForeignKey(Directory.id, ondelete="cascade"), nullable=False
|
||||||
|
)
|
||||||
|
mailbox_id = db.Column(
|
||||||
|
db.ForeignKey(Mailbox.id, ondelete="cascade"), nullable=False
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
_NB_RECOVERY_CODE = 8
|
_NB_RECOVERY_CODE = 8
|
||||||
_RECOVERY_CODE_LENGTH = 8
|
_RECOVERY_CODE_LENGTH = 8
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue