Announcement.all()   A
last analyzed

Complexity

Conditions 1

Size

Total Lines 4

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 1
dl 0
loc 4
rs 10
c 0
b 0
f 0
1
from .model import *
2
3
from sqlalchemy_utils import ArrowType
4
5
class Announcement(Base):
6
    __tablename__ = 'announcements'
7
8
    id           = Column(Integer, primary_key=True, nullable=False)
9
    timestamp    = Column(ArrowType, nullable=False, default=datetime.datetime.utcnow)
10
    user_id      = Column(Integer, ForeignKey("users.id"), nullable=False) # user that added the announcement
11
    announcement = Column(Text)
12
    enabled      = Column(Boolean, default=True, nullable=False)
13
    deleted      = Column(Boolean, default=False, nullable=False)
14
15
    def __init__(self, user, announcement):
16
        self.user_id = user.id
17
        self.announcement = announcement
18
19
    @classmethod
20
    def from_id(cls, id):
21
        e = DBSession.query(cls).filter(cls.id == id).one()
22
        return e
23
24
    @classmethod
25
    def all(cls):
26
        e = DBSession.query(cls).filter(cls.deleted==False).all()
27
        return e
28
29
    @classmethod
30
    def all_enabled(cls):
31
        e = DBSession.query(cls)\
32
                     .filter(cls.deleted==False)\
33
                     .filter(cls.enabled==True)\
34
                     .all()
35
        return e
36