[ ] Update build_entrypoint to use the new EntrypointPlugin linking table to retrieve plugin information
[ ] Update the PluginIdService.modify service to create PluginPluginFiles entries for the new snapshot
[ ] Add a mapped_column to Plugin that retrieves linked PluginFile snapshots
[ ] Update the PluginIdService.get and all other get services in plugins.py to retrieve latest PluginFile snapshots from the PluginPluginFile linking table instead of via separate query
[ ] Update any services that create, modify, or delete a PluginFile to create a new Plugin Snapshot that is properly linked to PluginFiles via the new PluginPluginFiles table
We want the UI to indicate when a plugin attached to an entrypoint is out-of-date and provide a mechanism to sync to the latest version of plugins.
To do this, we need to update relationships between Entrypoints, Plugins, and Plugin files enable Entrypoint to Plugin syncing behavior.
Tasks
PluginPluginFiles
entries for the new snapshotPluginFile
snapshotsget
services inplugins.py
to retrieve latestPluginFile
snapshots from thePluginPluginFile
linking table instead of via separate queryPluginFile
to create a newPlugin
Snapshot that is properly linked toPluginFiles
via the newPluginPluginFiles
tableplugin_files
key from PluginWithPluginFIlesDict and rename itPluginDict
PluginDict
classPluginWithFilesDict
to usePluginDict
(primarily as return types of functions)Definition of done