summaryrefslogtreecommitdiff
path: root/server/apps/model.py
diff options
context:
space:
mode:
Diffstat (limited to 'server/apps/model.py')
-rw-r--r--server/apps/model.py60
1 files changed, 60 insertions, 0 deletions
diff --git a/server/apps/model.py b/server/apps/model.py
new file mode 100644
index 0000000..0748f70
--- /dev/null
+++ b/server/apps/model.py
@@ -0,0 +1,60 @@
+# 记录参数值和数据库表字段名之间的双向映射
+from bidict import bidict
+
+from settings import *
+
+# 参数与数据表映射关系
+tabmapping = bidict({
+ "agent": MYSQL_TAB_AGENT,
+ "task": MYSQL_TAB_TASK,
+ "user": MYSQL_TAB_USER,
+ "target": MYSQL_TAB_TARGETDATA,
+ "syslog": MYSQL_TAB_SYSLOG, })
+
+# 参数与数据表中时间字段的映射关系
+timemapping = {
+ "agent": "START_TIME",
+ "task": "CREATED_TIME",
+ "user": "CREATED_TIME",
+ "target": "UPDATED_TIME",
+}
+
+# 不同接口的参数(或值)和对应数据表字段的映射关系
+keymapping = {
+ "agent": bidict({
+ "atype": "AGENT_TYPE",
+ "status": "STATUS",
+ "idle": "IDLE"
+ }),
+ "target": bidict({
+ "cou": "COU",
+ "isp": "ISP",
+ "IPv6": "IPv6",
+ "DNSSEC": "DNSSEC",
+ "DoH": "DOH",
+ "DoT": "DOT",
+ "ADDRv4": "ADDRv4",
+ "ADDRv6": "ADDRv6"
+ })}
+
+# 所有参数在数据库中对应的数据类型,用于拼接sql语句时特殊处理
+typemapping = {
+ "atype": "str",
+ "status": "int",
+ "idle": "int",
+ "cou": "str",
+ "isp": "str",
+ "ip": "str",
+ "IPv6": "int",
+ "DNSSEC": "int",
+ "DoH": "int",
+ "DoT": "int",
+ "ADDRv4": "str",
+ "ADDRv6": "str"
+}
+
+# 默认参数
+default_data = {
+ "agent": {"atype": "all", "status": 2, "idle": 2},
+ "target": {"proto": None, "isp": None, "cou": None}
+}