851e7999ba
- KI-Copilot: NL query → proposed actions, execute with RBAC, history, audit logging - LLM client: mock mode (no API key) + OpenAI-compatible mode (AI_MODEL/AI_API_KEY) - Action mapper: NL intent → API calls (create/update/delete/search company/contact) - Workflow engine: step types (action/approval/notification/condition), JSONB steps - Workflow lifecycle: pending → in_progress → completed/rejected/cancelled - Event-triggered workflows: event bus → auto-start instances - Code-engine workflows: onboarding on user.created event - Approval timeout: auto-reject after configured hours - 5 new tenant-scoped tables with RLS: ai_conversations, ai_messages, workflows, workflow_instances, workflow_step_history - Migration 0004: all tables + RLS policies + tenant_id + indexes - 238 tests pass (30 AC + 105 coverage + 103 existing), 84.12% T09 module coverage - MissingGreenlet fix: safe accessor helpers for async ORM attribute access
33 lines
1.2 KiB
Python
33 lines
1.2 KiB
Python
"""SQLAlchemy models for LeoCRM."""
|
|
|
|
from app.models.tenant import Tenant
|
|
from app.models.user import User, UserTenant
|
|
from app.models.role import Role
|
|
from app.models.session import Session
|
|
from app.models.audit import AuditLog, DeletionLog
|
|
from app.models.notification import Notification
|
|
from app.models.auth import PasswordResetToken, ApiToken
|
|
from app.models.company import Company
|
|
from app.models.contact import Contact, CompanyContact
|
|
from app.models.plugin import Plugin, PluginMigration
|
|
|
|
__all__ = [
|
|
"Tenant", "User", "UserTenant", "Role", "Session",
|
|
"AuditLog", "DeletionLog", "Notification",
|
|
"PasswordResetToken", "ApiToken", "Company",
|
|
"Contact", "CompanyContact",
|
|
"Plugin", "PluginMigration",
|
|
]
|
|
from app.models.ai_conversation import AIConversation, AIMessage
|
|
from app.models.workflow import Workflow, WorkflowInstance, WorkflowStepHistory
|
|
|
|
__all__ = [
|
|
"Tenant", "User", "UserTenant", "Role", "Session",
|
|
"AuditLog", "DeletionLog", "Notification",
|
|
"PasswordResetToken", "ApiToken", "Company",
|
|
"Contact", "CompanyContact",
|
|
"Plugin", "PluginMigration",
|
|
"AIConversation", "AIMessage",
|
|
"Workflow", "WorkflowInstance", "WorkflowStepHistory",
|
|
]
|