feat(db): Initialen Admin-User beim ersten Start anlegen
Wenn beim Start keine User in der Datenbank vorhanden sind, wird automatisch ein verifizierter Admin angelegt: E-Mail: admin@localhost Passwort: changeme Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
parent
57182c5412
commit
fd9eb99b6a
|
|
@ -1,5 +1,12 @@
|
||||||
# Changelog
|
# Changelog
|
||||||
|
|
||||||
|
## [0.08.19] - 2026-02-20
|
||||||
|
|
||||||
|
### Added
|
||||||
|
- **Initialer Admin-User**: Existiert beim Start keine Datenbank, wird automatisch ein
|
||||||
|
verifizierter Admin-Account angelegt (`admin@localhost` / `changeme`).
|
||||||
|
Passwort-Änderung nach dem ersten Login empfohlen.
|
||||||
|
|
||||||
## [0.08.18] - 2026-02-20
|
## [0.08.18] - 2026-02-20
|
||||||
|
|
||||||
### Changed
|
### Changed
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
version: "0.08.18"
|
version: "0.08.19"
|
||||||
|
|
||||||
bot:
|
bot:
|
||||||
name: "MeshDD-Bot"
|
name: "MeshDD-Bot"
|
||||||
|
|
|
||||||
14
main.py
14
main.py
|
|
@ -4,6 +4,7 @@ import signal
|
||||||
import threading
|
import threading
|
||||||
|
|
||||||
from meshbot import config
|
from meshbot import config
|
||||||
|
from meshbot.auth import hash_password
|
||||||
from meshbot.database import Database
|
from meshbot.database import Database
|
||||||
from meshbot.bot import MeshBot
|
from meshbot.bot import MeshBot
|
||||||
from meshbot.nina import NinaBot
|
from meshbot.nina import NinaBot
|
||||||
|
|
@ -21,9 +22,20 @@ async def main():
|
||||||
logger.info("Starting %s v%s", config.get("bot.name"), config.get("version"))
|
logger.info("Starting %s v%s", config.get("bot.name"), config.get("version"))
|
||||||
|
|
||||||
# Database
|
# Database
|
||||||
db = Database(config.get("database.path", "meshdd.db"))
|
db = Database(config.get("database.path", "data/meshdd.db"))
|
||||||
await db.connect()
|
await db.connect()
|
||||||
|
|
||||||
|
# Seed initial admin if no users exist
|
||||||
|
if not await db.get_all_users():
|
||||||
|
await db.create_user(
|
||||||
|
email="admin@localhost",
|
||||||
|
password=hash_password("changeme"),
|
||||||
|
name="Administrator",
|
||||||
|
role="admin",
|
||||||
|
is_verified=1,
|
||||||
|
)
|
||||||
|
logger.info("Initial admin created: admin@localhost / changeme <- bitte Passwort aendern!")
|
||||||
|
|
||||||
# WebSocket Manager
|
# WebSocket Manager
|
||||||
ws_manager = WebSocketManager()
|
ws_manager = WebSocketManager()
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue