Esempio n. 1
0
class Review(db.Model, Base):
    __tablename__ = "reviews"

    rating = db.Column(db.Numeric())
    content = db.Column(db.Unicode(2000))
    mod_id = db.Column(None, db.ForeignKey("mods.id"))
    author_id = db.Column(None, db.ForeignKey("users.id"))

    def __init__(self, **kwargs):
        super().__init__(**kwargs)

        self._upvoters = set()
        self._downvoters = set()
        self._helpfuls = set()

    @property
    def upvoters(self):
        return self._upvoters

    @property
    def downvoters(self):
        return self._downvoters

    @property
    def helpfuls(self):
        return self._helpfuls
Esempio n. 2
0
class Report(db.Model, Base):
    __tablename__ = "report"

    content = db.Column(db.Unicode(1000))
    author_id = db.Column(None, db.ForeignKey("user.id", ondelete="CASCADE"))
    mod_id = db.Column(None, db.ForeignKey("mod.id", ondelete="CASCADE"))
    type = db.Column(db.Enum(ReportType))
Esempio n. 3
0
class UserReport(db.Model, Base):
    __tablename__ = "userreport"  # No underscore, as its not a many-many relationship.

    content = db.Column(db.Unicode(1000))
    author_id = db.Column(None, db.ForeignKey("user.id"))
    user_id = db.Column(None, db.ForeignKey("user.id"))
    type = db.Column(db.Enum(UserReportType))
Esempio n. 4
0
class Review(db.Model, Base):
    __tablename__ = "review"

    rating = db.Column(db.Numeric())
    content = db.Column(db.Unicode(2000))
    title = db.Column(db.Unicode(32))
    mod_id = db.Column(None, db.ForeignKey("mod.id", ondelete="CASCADE"))
    author_id = db.Column(None, db.ForeignKey("user.id", ondelete="CASCADE"))
Esempio n. 5
0
class EditorsChoice(db.Model, Base):
    __tablename__ = "editors_choice"

    mod_id = db.Column(None, db.ForeignKey("mods.id"))
    featured = db.Column(db.Boolean(), default=False)
    editors_notes = db.Column(db.Unicode(500), nullable=True)  # 500 char limit as defined in spec
    author_id = db.Column(None, db.ForeignKey("users.id"))
    article_url = db.Column(db.Unicode(), nullable=True)
Esempio n. 6
0
class Review(db.Model, Base):
    __tablename__ = "review"

    rating = db.Column(db.Numeric())
    content = db.Column(db.Unicode(2000))
    title = db.Column(db.Unicode(32))
    mod_id = db.Column(None, db.ForeignKey("mod.id", ondelete="CASCADE"))
    author_id = db.Column(None, db.ForeignKey("user.id", ondelete="CASCADE"))

    def __init__(self, **kwargs):
        super().__init__(**kwargs)

        self._upvotes = []
        self._downvotes = []
        self._funnys = []

    @property
    def upvotes(self):
        return self._upvotes

    @property
    def downvotes(self):
        return self._downvotes

    @property
    def funnys(self):
        return self._funnys

    @upvotes.setter
    def upvotes(self, value: "ReviewReaction"):
        self._upvotes.append(value)

    @downvotes.setter
    def downvotes(self, value: "ReviewReaction"):
        self._downvotes.append(value)

    @funnys.setter
    def funnys(self, value: "ReviewReaction"):
        self._funnys.append(value)

    def to_dict(self):
        return {
            **{k: v
               for k, v in super().to_dict},
            "upvotes": self._upvotes,
            "downvotes": self._downvotes,
            "funnys": self._funnys,
        }
Esempio n. 7
0
class Media(db.Model, Base):
    __tablename__ = "media"

    id = db.Column(db.Unicode(), primary_key=True)
    type = db.Column(db.Enum(MediaType))
    url = db.Column(db.Unicode())
    mod_id = db.Column(None, db.ForeignKey("mods.id"))
Esempio n. 8
0
class UserFavorites(db.Model):
    __tablename__ = "user_favourites"

    user_id = db.Column(None, db.ForeignKey("users.id"))
    mod_id = db.Column(None, db.ForeignKey("mods.id"))
Esempio n. 9
0
class Connection(db.Model, Base):
    __tablename__ = "connections"

    name = db.Column(db.Unicode())
    type = db.Column(db.Enum(ConnectionType))
    user = db.Column(None, db.ForeignKey("users.id"))
Esempio n. 10
0
class ModAuthor(db.Model, Base):
    __tablename__ = "user_mod"

    role = db.Column(db.Enum(AuthorRole), default=AuthorRole.unassigned)
    user_id = db.Column(None, db.ForeignKey("user.id", ondelete="CASCADE"))
    mod_id = db.Column(None, db.ForeignKey("mod.id", ondelete="CASCADE"))
Esempio n. 11
0
class ReviewDownvoters(db.Model):
    __tablename__ = "review_downvoters"

    review_id = db.Column(None, db.ForeignKey("reviews.id"))
    user_id = db.Column(None, db.ForeignKey("users.id"))
Esempio n. 12
0
class ReviewHelpfuls(db.Model):
    __tablename__ = "review_helpfuls"

    review_id = db.Column(None, db.ForeignKey("reviews.id"))
    user_id = db.Column(None, db.ForeignKey("users.id"))
Esempio n. 13
0
class ModPlaytester(db.Model, Base):
    __tablename__ = "mod_playtester"

    user_id = db.Column(None, db.ForeignKey("user.id", ondelete="CASCADE"))
    mod_id = db.Column(None, db.ForeignKey("mod.id", ondelete="CASCADE"))
Esempio n. 14
0
class UserFavorite(db.Model, Base):
    __tablename__ = "user_favorite"

    user_id = db.Column(None, db.ForeignKey("user.id", ondelete="CASCADE"))
    mod_id = db.Column(None, db.ForeignKey("mod.id", ondelete="CASCADE"))
Esempio n. 15
0
class ReviewReaction(db.Model, Base):
    __tablename__ = "review_reaction"

    review_id = db.Column(None, db.ForeignKey("review.id", ondelete="CASCADE"))
    user_id = db.Column(None, db.ForeignKey("user.id", ondelete="CASCADE"))
    reaction = db.Column(db.Enum(ReactionType), nullable=False)
Esempio n. 16
0
class Media(db.Model, Base):
    __tablename__ = "media"

    type = db.Column(db.Enum(MediaType))
    url = db.Column(db.Unicode())
    mod_id = db.Column(None, db.ForeignKey("mod.id", ondelete="CASCADE"))
Esempio n. 17
0
class Connection(db.Model, Base):
    __tablename__ = "connection"

    name = db.Column(db.Unicode())
    type = db.Column(db.Enum(ConnectionType))
    user = db.Column(None, db.ForeignKey("user.id", ondelete="CASCADE"))
Esempio n. 18
0
class UserReport(db.Model, Base):
    __tablename__ = "user_reports"

    content = db.Column(db.Unicode(200))
    author_id = db.Column(None, db.ForeignKey("users.id"))
    target_id = db.Column(None, db.ForeignKey("users.id"))
Esempio n. 19
0
class ModAuthors(db.Model):
    __tablename__ = "user_mods"

    role = db.Column(db.Enum(AuthorRole), default=AuthorRole.Unassigned)
    user_id = db.Column(None, db.ForeignKey("users.id"))
    mod_id = db.Column(None, db.ForeignKey("mods.id"))
Esempio n. 20
0
class Report(db.Model, Base):
    __tablename__ = "reports"

    content = db.Column(db.Unicode(200))
    author_id = db.Column(None, db.ForeignKey("users.id"))
    mod_id = db.Column(None, db.ForeignKey("mods.id"))