@cryptotaxi247 / CoPilot / commits / 4d3b7a05

Create rules.py

taylor_socfortress committed Jul 10, 2023 at 16:39 UTC 4d3b7a059aaf8e9da6e6102f621621f223803809
1 file changed +54
backend/app/models/rules.py new
+54
@@ -0,0 +1,54 @@
1 +from datetime import datetime
2 +
3 +from loguru import logger
4 +from sqlalchemy.dialects.postgresql import JSONB # Add this line
5 +
6 +from app import db
7 +from app import ma
8 +
9 +
10 +# Class for the disabled rule IDs which will store the rule ID, previous configuration, new configuration, reason for
11 +# disabling, date disabled, and the length of time the rule will be disabled for
12 +# Path: backend\app\rules.py
13 +class DisabledRules(db.Model):
14 + id = db.Column(db.Integer, primary_key=True)
15 + rule_id = db.Column(db.String(100))
16 + previous_level = db.Column(db.String(1000))
17 + new_level = db.Column(db.String(1000))
18 + reason_for_disabling = db.Column(db.String(100))
19 + date_disabled = db.Column(db.DateTime, default=datetime.utcnow)
20 + length_of_time = db.Column(db.Integer)
21 +
22 + def __init__(
23 + self,
24 + rule_id,
25 + previous_level,
26 + new_level,
27 + reason_for_disabling,
28 + length_of_time,
29 + ):
30 + self.rule_id = rule_id
31 + self.previous_level = previous_level
32 + self.new_level = new_level
33 + self.reason_for_disabling = reason_for_disabling
34 + self.length_of_time = length_of_time
35 +
36 + def __repr__(self):
37 + return f"<DisabledRules {self.rule_id}>"
38 +
39 +
40 +class DisabledRulesSchema(ma.Schema):
41 + class Meta:
42 + fields = (
43 + "id",
44 + "rule_id",
45 + "previous_level",
46 + "new_level",
47 + "reason_for_disabling",
48 + "date_disabled",
49 + "length_of_time",
50 + )
51 +
52 +
53 +disabled_rule_schema = DisabledRulesSchema()
54 +disabled_rules_schema = DisabledRulesSchema(many=True)