roundabout,
created on Sunday, 21 July 2024, 13:38:12 (1721569092),
received on Wednesday, 31 July 2024, 06:54:51 (1722408891)
Author identity: vlad <vlad.muntoiu@gmail.com>
ff70854afdccb7878702715dbe881389a5dce0f6
models.py
@@ -180,6 +180,7 @@ with (app.app_context()):
bases = db.relationship("PullRequest", back_populates="base", foreign_keys="[PullRequest.base_route]", cascade="all, delete-orphan") labels = db.relationship("Label", back_populates="repo", cascade="all, delete-orphan")has_site = db.Column(db.SmallInteger, nullable=False, default=0, # 0 means no site, 1 means it's got a site, 2 means it's the user's primary site server_default="0") # (the one accessible at username.localhost)
@@ -243,6 +244,36 @@ with (app.app_context()):
celery_tasks.send_notification.apply_async(args=[user_notification.id]) class Label(db.Model): identifier = db.Column(db.String(162), unique=True, nullable=False, primary_key=True) repo_name = db.Column(db.String(98), db.ForeignKey("repo.route"), nullable=False) name = db.Column(db.Unicode(64), nullable=False) colour = db.Column(db.String(7), nullable=False) repo = db.relationship("Repo", back_populates="labels") posts = db.relationship("PostLabel", back_populates="label") def __init__(self, repo, name, colour): self.identifier = f"{repo.route}/" + secrets.token_hex(32) # randomise label IDs self.name = name self.colour = colour self.repo_name = repo.route class PostLabel(db.Model): id = db.Column(db.Integer, primary_key=True) post_identifier = db.Column(db.String(109), db.ForeignKey("post.identifier"), nullable=False) label_identifier = db.Column(db.String(64), db.ForeignKey("label.identifier"), nullable=False) post = db.relationship("Post", back_populates="labels") label = db.relationship("Label", back_populates="posts") def __init__(self, post, label): self.post_identifier = post.identifier self.post = post self.label = label class Post(db.Model): identifier = db.Column(db.String(109), unique=True, nullable=False, primary_key=True) number = db.Column(db.Integer, nullable=False)
@@ -273,6 +304,7 @@ with (app.app_context()):
primaryjoin="Post.identifier==Post.parent_id", foreign_keys="[Post.parent_id]") resolved_by = db.relationship("PullRequestResolvesThread", back_populates="post") labels = db.relationship("PostLabel", back_populates="post")def __init__(self, owner, repo, parent, subject, message): self.identifier = f"{repo.route}/{repo.last_post_id}"