changes
This commit is contained in:
@@ -188,4 +188,33 @@ class FileAlert(BaseModel):
|
||||
|
||||
def __repr__(self):
|
||||
status = "🔔" if self.is_active and not self.is_acknowledged else "✓"
|
||||
return f"<FileAlert({status} {self.alert_type} - {self.file_no} on {self.alert_date})>"
|
||||
return f"<FileAlert({status} {self.alert_type} - {self.file_no} on {self.alert_date})>"
|
||||
|
||||
|
||||
class FileRelationship(BaseModel):
|
||||
"""
|
||||
Track relationships between files (e.g., related, parent/child, duplicate).
|
||||
Enables cross-referencing and conflict checks.
|
||||
"""
|
||||
__tablename__ = "file_relationships"
|
||||
|
||||
id = Column(Integer, primary_key=True, autoincrement=True)
|
||||
source_file_no = Column(String(45), ForeignKey("files.file_no"), nullable=False, index=True)
|
||||
target_file_no = Column(String(45), ForeignKey("files.file_no"), nullable=False, index=True)
|
||||
|
||||
# Relationship metadata
|
||||
relationship_type = Column(String(45), nullable=False) # related, parent, child, duplicate, conflict, referral
|
||||
notes = Column(Text)
|
||||
|
||||
# Who created it (cached for reporting)
|
||||
created_by_user_id = Column(Integer, ForeignKey("users.id"))
|
||||
created_by_name = Column(String(100))
|
||||
|
||||
# Relationships
|
||||
source_file = relationship("File", foreign_keys=[source_file_no])
|
||||
target_file = relationship("File", foreign_keys=[target_file_no])
|
||||
|
||||
def __repr__(self):
|
||||
return (
|
||||
f"<FileRelationship({self.source_file_no} -[{self.relationship_type}]-> {self.target_file_no})>"
|
||||
)
|
||||
Reference in New Issue
Block a user