MCPcopy Create free account
hub / github.com/TheSmallHanCat/flow2api / _ensure_config_rows

Method _ensure_config_rows

src/core/database.py:72–317  ·  view source on GitHub ↗

Ensure all config tables have their default rows Args: db: Database connection config_dict: Configuration dictionary from setting.toml (optional) If None, use default values instead of reading from TOML.

(self, db, config_dict: dict = None)

Source from the content-addressed store, hash-verified

70 return False
71
72 async def _ensure_config_rows(self, db, config_dict: dict = None):
73 """Ensure all config tables have their default rows
74
75 Args:
76 db: Database connection
77 config_dict: Configuration dictionary from setting.toml (optional)
78 If None, use default values instead of reading from TOML.
79 """
80 # Ensure admin_config has a row
81 cursor = await db.execute("SELECT COUNT(*) FROM admin_config")
82 count = await cursor.fetchone()
83 if count[0] == 0:
84 admin_username = "admin"
85 admin_password = "admin"
86 api_key = "han1234"
87 error_ban_threshold = 3
88
89 if config_dict:
90 global_config = config_dict.get("global", {})
91 admin_username = global_config.get("admin_username", "admin")
92 admin_password = global_config.get("admin_password", "admin")
93 api_key = global_config.get("api_key", "han1234")
94
95 admin_config = config_dict.get("admin", {})
96 error_ban_threshold = admin_config.get("error_ban_threshold", 3)
97
98 await db.execute("""
99 INSERT INTO admin_config (id, username, password, api_key, error_ban_threshold)
100 VALUES (1, ?, ?, ?, ?)
101 """, (admin_username, admin_password, api_key, error_ban_threshold))
102
103 # Ensure proxy_config has a row
104 cursor = await db.execute("SELECT COUNT(*) FROM proxy_config")
105 count = await cursor.fetchone()
106 if count[0] == 0:
107 proxy_enabled = False
108 proxy_url = None
109 media_proxy_enabled = False
110 media_proxy_url = None
111
112 if config_dict:
113 proxy_config = config_dict.get("proxy", {})
114 proxy_enabled = proxy_config.get("proxy_enabled", False)
115 proxy_url = proxy_config.get("proxy_url", "")
116 proxy_url = proxy_url if proxy_url else None
117 media_proxy_enabled = proxy_config.get(
118 "media_proxy_enabled",
119 proxy_config.get("image_io_proxy_enabled", False)
120 )
121 media_proxy_url = proxy_config.get(
122 "media_proxy_url",
123 proxy_config.get("image_io_proxy_url", "")
124 )
125 media_proxy_url = media_proxy_url if media_proxy_url else None
126
127 await db.execute("""
128 INSERT INTO proxy_config (id, enabled, proxy_url, media_proxy_enabled, media_proxy_url)
129 VALUES (1, ?, ?, ?, ?)

Callers 2

check_and_migrate_dbMethod · 0.95
init_config_from_tomlMethod · 0.95

Calls 1

Tested by

no test coverage detected