feat: Mini-Apps registry, Stammdaten backend persistence, bank accounts
- Register 6 mini-apps in kommunikation plugin (contact_picker, file_share, calendar_invite, mail_forward, ai_search, task_create) - Connect AdressenTab to backend API (GET/POST/PATCH/DELETE /addresses) - Create BankAccount model, schema, service, routes + migration 0033 - Connect KontenTab to backend API (GET/POST/PATCH/DELETE /bank-accounts) - AI tools already working: 7 tools registered (hybrid_search, get_contact_mails, etc.)
This commit is contained in:
@@ -71,7 +71,57 @@ class KommunikationPlugin(BasePlugin):
|
||||
miniapp_registry = MiniAppRegistry()
|
||||
service_container.register("comm_miniapps", miniapp_registry)
|
||||
|
||||
logger.info("Kommunikation plugin activated — WebSocket + MiniApp registries ready")
|
||||
# Register built-in mini-apps
|
||||
miniapp_registry.register(
|
||||
app_id="contact_picker",
|
||||
name="Kontakt wählen",
|
||||
icon="👤",
|
||||
description="Kontakt aus dem CRM im Chat teilen",
|
||||
plugin_name="kommunikation",
|
||||
render_schema={"type": "object", "properties": {"contact_id": {"type": "string"}}},
|
||||
)
|
||||
miniapp_registry.register(
|
||||
app_id="file_share",
|
||||
name="Datei teilen",
|
||||
icon="📎",
|
||||
description="Datei aus dem DMS im Chat teilen",
|
||||
plugin_name="kommunikation",
|
||||
render_schema={"type": "object", "properties": {"file_id": {"type": "string"}}},
|
||||
)
|
||||
miniapp_registry.register(
|
||||
app_id="calendar_invite",
|
||||
name="Termin teilen",
|
||||
icon="📅",
|
||||
description="Kalender-Termin im Chat teilen",
|
||||
plugin_name="kommunikation",
|
||||
render_schema={"type": "object", "properties": {"event_id": {"type": "string"}}},
|
||||
)
|
||||
miniapp_registry.register(
|
||||
app_id="mail_forward",
|
||||
name="E-Mail weiterleiten",
|
||||
icon="✉️",
|
||||
description="E-Mail im Chat weiterleiten",
|
||||
plugin_name="kommunikation",
|
||||
render_schema={"type": "object", "properties": {"mail_id": {"type": "string"}}},
|
||||
)
|
||||
miniapp_registry.register(
|
||||
app_id="ai_search",
|
||||
name="KI Suche",
|
||||
icon="🔍",
|
||||
description="KI-gestützte Suche im CRM starten",
|
||||
plugin_name="kommunikation",
|
||||
render_schema={"type": "object", "properties": {"query": {"type": "string"}}},
|
||||
)
|
||||
miniapp_registry.register(
|
||||
app_id="task_create",
|
||||
name="Aufgabe erstellen",
|
||||
icon="✅",
|
||||
description="Aufgabe aus dem Chat erstellen",
|
||||
plugin_name="kommunikation",
|
||||
render_schema={"type": "object", "properties": {"title": {"type": "string"}, "due_date": {"type": "string"}}},
|
||||
)
|
||||
|
||||
logger.info("Kommunikation plugin activated — WebSocket + MiniApp registries ready (6 mini-apps registered)")
|
||||
|
||||
async def on_deactivate(self, db, service_container, event_bus) -> None:
|
||||
"""Clean up registries."""
|
||||
|
||||
Reference in New Issue
Block a user