1
Fork 0
mirror of https://github.com/pds-nest/nest.git synced 2024-11-22 21:14:18 +00:00
pds-2021-g2-nest/nest_backend/database/tables/Condition.py

27 lines
868 B
Python
Raw Normal View History

"""
This module defines the Condition database class.
"""
2021-05-07 17:46:14 +00:00
from ..base import ext
from .Enums import ConditionType
2021-05-07 17:46:14 +00:00
class Condition(ext.Model):
__tablename__ = "condition"
2021-05-07 17:46:14 +00:00
id = ext.Column(ext.Integer, primary_key=True)
2021-05-11 16:45:40 +00:00
type = ext.Column(ext.Enum(ConditionType), nullable=False, default=ConditionType.hashtag)
2021-05-07 17:46:14 +00:00
content = ext.Column(ext.String, nullable=False)
# FK
2021-05-07 17:46:14 +00:00
repository_id = ext.Column(ext.Integer, ext.ForeignKey("repository.id", ondelete="CASCADE"))
# Relationships
2021-05-11 16:45:40 +00:00
repository = ext.relationship("Repository", back_populates="conditions")
2021-05-07 17:46:14 +00:00
tweets = ext.relationship("Contains", back_populates="condition")
2021-05-17 13:29:08 +00:00
alerts = ext.relationship("MadeOf", back_populates="condition")
2021-04-29 02:35:51 +00:00
def to_json(self):
return {
"id": self.id,
2021-05-02 21:01:10 +00:00
"type": self.type.value,
2021-04-29 02:35:51 +00:00
"content": self.content,
}