34 lines
900 B
Python
34 lines
900 B
Python
from sqlalchemy import Column, ForeignKey
|
|
from sqlalchemy.dialects.postgresql import UUID
|
|
from sqlalchemy.orm import relationship, backref
|
|
|
|
from atat.models.base import Base
|
|
import atat.models.mixins as mixins
|
|
|
|
|
|
class PortfolioInvitation(
|
|
Base, mixins.TimestampsMixin, mixins.InvitesMixin, mixins.AuditableMixin
|
|
):
|
|
__tablename__ = "portfolio_invitations"
|
|
|
|
portfolio_role_id = Column(
|
|
UUID(as_uuid=True), ForeignKey("portfolio_roles.id"), index=True, nullable=False
|
|
)
|
|
role = relationship(
|
|
"PortfolioRole",
|
|
backref=backref("invitations", order_by="PortfolioInvitation.time_created"),
|
|
)
|
|
|
|
@property
|
|
def portfolio(self):
|
|
if self.role: # pragma: no branch
|
|
return self.role.portfolio
|
|
|
|
@property
|
|
def portfolio_id(self):
|
|
return self.role.portfolio_id
|
|
|
|
@property
|
|
def application_id(self):
|
|
return None
|