· 5 years ago · Dec 26, 2020, 01:54 PM
1from app import db, logger
2from sqlalchemy.exc import SQLAlchemyError as Error
3
4
5class APISeverActions(db.Model):
6 """
7 Statuses performing API server operations with the database
8 """
9 __tablename__ = 'api_server_actions'
10
11 id = db.Column(db.Integer, primary_key=True, nullable=False, autoincrement=True)
12 key = db.Column(db.VARCHAR(50), nullable=False)
13 status = db.Column(db.Boolean, nullable=False)
14
15 def __init__(self, key, status):
16 self.key = key
17 self.status = status
18
19 def get_status(self, session, key: str) -> bool:
20 try:
21 action = session.query(self).filter(self.key == key).first()
22 if not action:
23 return False
24 if not action.status:
25 return False
26 return True
27 except Error as e:
28 logger.error(e)
29 return False
30
31 def set_status(self, session, status: bool) -> bool:
32 try:
33 session.query(self).update({
34 'status': status
35 })
36 session.commit()
37 return True
38 except Error as e:
39 logger.error(e)
40 return False
41
42 def reset_all(self, session) -> bool:
43 try:
44 session.query(self).update({
45 'status': 0
46 })
47 session.commit()
48 return True
49 except Error as e:
50 logger.error(e)
51 return False
52