add application_invitation table
This commit is contained in:
@@ -14,6 +14,7 @@ from .environment import Environment
|
||||
from .attachment import Attachment
|
||||
from .audit_event import AuditEvent
|
||||
from .portfolio_invitation import PortfolioInvitation
|
||||
from .application_invitation import ApplicationInvitation
|
||||
from .task_order import TaskOrder
|
||||
from .dd_254 import DD254
|
||||
|
||||
|
41
atst/models/application_invitation.py
Normal file
41
atst/models/application_invitation.py
Normal file
@@ -0,0 +1,41 @@
|
||||
from sqlalchemy import Column, ForeignKey
|
||||
from sqlalchemy.dialects.postgresql import UUID
|
||||
from sqlalchemy.orm import relationship, backref
|
||||
|
||||
from atst.models import Base
|
||||
from atst.models.mixins import TimestampsMixin, AuditableMixin, InvitesMixin
|
||||
|
||||
|
||||
class ApplicationInvitation(Base, TimestampsMixin, AuditableMixin, InvitesMixin):
|
||||
__tablename__ = "application_invitations"
|
||||
|
||||
application_role_id = Column(
|
||||
UUID(as_uuid=True), ForeignKey("application_roles.id"), index=True
|
||||
)
|
||||
role = relationship(
|
||||
"ApplicationRole",
|
||||
backref=backref("invitations", order_by="ApplicationInvitation.time_created"),
|
||||
)
|
||||
|
||||
@property
|
||||
def application(self):
|
||||
if self.role: # pragma: no branch
|
||||
return self.role.application
|
||||
|
||||
@property
|
||||
def application_id(self):
|
||||
return self.role.application_id
|
||||
|
||||
@property
|
||||
def event_details(self):
|
||||
return {"email": self.email, "dod_id": self.user_dod_id}
|
||||
|
||||
@property
|
||||
def history(self):
|
||||
changes = self.get_changes()
|
||||
change_set = {}
|
||||
|
||||
if "status" in changes:
|
||||
change_set["status"] = [s.name for s in changes["status"]]
|
||||
|
||||
return change_set
|
@@ -7,7 +7,7 @@ from atst.models.mixins import TimestampsMixin, AuditableMixin, InvitesMixin
|
||||
|
||||
|
||||
class PortfolioInvitation(Base, TimestampsMixin, AuditableMixin, InvitesMixin):
|
||||
__tablename__ = "invitations"
|
||||
__tablename__ = "portfolio_invitations"
|
||||
|
||||
portfolio_role_id = Column(
|
||||
UUID(as_uuid=True), ForeignKey("portfolio_roles.id"), index=True
|
||||
|
Reference in New Issue
Block a user