feat: Core Plugin system — is_core flag, topological sort dependency resolution, deactivation protection

This commit is contained in:
leocrm-bot
2026-07-07 07:44:02 +02:00
parent 1694b14c55
commit bb4b0ce514
8 changed files with 147 additions and 1 deletions
+1
View File
@@ -31,6 +31,7 @@ class Plugin(Base, TimestampMixin):
status: Mapped[str] = mapped_column(String(20), nullable=False, default="installed")
installed: Mapped[bool] = mapped_column(Boolean, nullable=False, default=True)
active: Mapped[bool] = mapped_column(Boolean, nullable=False, default=False)
is_core: Mapped[bool] = mapped_column(Boolean, nullable=False, default=False)
config: Mapped[dict[str, Any] | None] = mapped_column(
Text,
nullable=True, # JSON string for plugin configuration