coil_memberships/module/
mod.rs1use super::*;
2use coil_auth::Capability;
3use coil_core::{
4 AdminContributionKind, AdminNavigationSection, AdminResourceContribution, CapabilityContract,
5 CoreServiceDependency, EventSubscription, ExtensionSlotDescriptor, ExtensionSlotKind,
6 HttpSurfaceArea, HttpSurfaceContribution, HttpSurfaceMethod, IntegrationKind, IntegrationPoint,
7 JobContract, JobTriggerKind, MigrationContract, ModuleBehavior, ModuleDependency,
8 ModuleManifest, PlatformModule, RegistrationError, ReportDefinition, ReportDeliveryMode,
9 ReportFormat, ReportSensitivity, RouteSurface, RouteSurfaceKind, SearchDocumentKind,
10 SearchFieldContribution, SearchFieldRole, SearchIndexContribution, SearchInvalidationRule,
11 SearchInvalidationTrigger, SearchRebuildStrategy, SearchVisibility, ServiceRegistry,
12};
13use coil_data::{MigrationId, MigrationOwner, MigrationPlan, MigrationStep};
14
15mod core;
16mod manifest;
17mod migrations;
18mod registration;
19
20pub use core::MembershipsModule;
21
22use manifest::build_manifest;
23use migrations::install_module_migration_plan;
24use registration::register_module_services;
25
26impl PlatformModule for MembershipsModule {
27 fn manifest(&self) -> ModuleManifest {
28 build_manifest(self)
29 }
30
31 fn register(&self, registry: &mut ServiceRegistry) -> Result<(), RegistrationError> {
32 register_module_services(self, registry)
33 }
34
35 fn install_migration_plan(&self) -> Option<MigrationPlan> {
36 install_module_migration_plan(self)
37 }
38}