Skip to main content

coil_memberships/module/
mod.rs

1use 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}