Track deletion process for long running operations Initially used for projects Can see it being user for other stuff in future Could also be useful for "hard deleting" stuff and having a record of that...
| 4 | |
| 5 | |
| 6 | class Deletion(Base): |
| 7 | """ |
| 8 | |
| 9 | Track deletion process for long running operations |
| 10 | |
| 11 | Initially used for projects |
| 12 | |
| 13 | Can see it being user for other stuff in future |
| 14 | |
| 15 | Could also be useful for "hard deleting" stuff |
| 16 | and having a record of that... |
| 17 | |
| 18 | |
| 19 | """ |
| 20 | __tablename__ = 'deletion' |
| 21 | id = Column(Integer, primary_key = True) |
| 22 | |
| 23 | notes = Column(String) |
| 24 | |
| 25 | mode = Column(String) # ie "remove_project_permission" |
| 26 | |
| 27 | cache = Column(MutableDict.as_mutable(JSONEncodedDict), |
| 28 | default = {}) |
| 29 | |
| 30 | project_id = Column(Integer, ForeignKey('project.id')) |
| 31 | project = relationship('Project', foreign_keys=[project_id]) |
| 32 | |
| 33 | member_created_id = Column(Integer, ForeignKey('member.id')) |
| 34 | member_created = relationship("Member", foreign_keys=[member_created_id]) |
| 35 | |
| 36 | member_updated_id = Column(Integer, ForeignKey('member.id')) |
| 37 | member_updated = relationship("Member", foreign_keys=[member_updated_id]) |
| 38 | |
| 39 | time_created = Column(DateTime, default=datetime.datetime.utcnow) |
| 40 | time_updated = Column(DateTime, onupdate=datetime.datetime.utcnow) |
no outgoing calls
no test coverage detected