angee.platform_integrate_vcs.models
Marketplace models — VCS provenance on platform.Addon + the addon source kind.
CatalogProvenance
class CatalogProvenance(AngeeModel)VCS provenance folded onto platform.Addon (the integrate Source extension pattern).
Records the integrate Source a row was discovered from and its bearing directory within the repo. The composer folds these columns into the one Addon table — an installed/local row gains them once a marketplace sync has seen it in a repo; a REMOTE row always carries them.
Meta
class Meta()Abstract extension base composed into platform.Addon.
AddonCatalogManager
class AddonCatalogManager(AngeeManager)Owns the reconcile of marketplace rows from an addon Source.
sync_from_source
def sync_from_source(source: Any) -> intDiscover addon.toml under source and reconcile platform.Addon rows.
Mirrors TemplateManager.sync_from_source but writes into platform.Addon (the one marketplace registry), tier-scoped so it never fights platform's own reconcile: an addon already materialised (in available_addons) gets only its provenance set — platform owns that row's source/state. One not materialised becomes a REMOTE/DISABLED row. REMOTE rows from this source no longer discovered are marked REMOVED. Runs under system_context.
AddonCatalog
class AddonCatalog(AngeeModel)The addon source kind — discovers marketplace rows into platform.Addon.
A table-less binding (managed = False): its source_kind registers the kind with integrate's Source dispatch (so source.refresh() and a bridge sync route here), and its manager owns the reconcile. The rows it produces live in platform.Addon — the marketplace is one registry, not a parallel table.
source_kind
Binds the addon source kind to this model (see integrate.Source).
Meta
class Meta()Table-less dispatch binding for the addon source kind.