Skip to main content

coil_ops/
lib.rs

1use coil_auth::Capability;
2use coil_core::{
3    AdminContributionKind, AdminNavigationSection, AdminResourceContribution,
4    BulkOperationDefinition as ManifestBulkOperationDefinition,
5    BulkOperationKind as ManifestBulkOperationKind,
6    BulkOperationScope as ManifestBulkOperationScope, CapabilityContract, CoreServiceDependency,
7    EventSubscription, ExtensionSlotDescriptor, ExtensionSlotKind, HttpSurfaceArea,
8    HttpSurfaceContribution, HttpSurfaceMethod, IntegrationKind, IntegrationPoint, JobContract,
9    JobTriggerKind, MigrationContract, ModuleBehavior, ModuleDependency, ModuleManifest,
10    PlatformModule, RegistrationError, ReportDefinition as ManifestReportDefinition,
11    ReportDeliveryMode as ManifestReportDeliveryMode, ReportFormat as ManifestReportFormat,
12    ReportSensitivity as ManifestReportSensitivity, RouteSurface, RouteSurfaceKind,
13    ServiceRegistry,
14};
15#[cfg(test)]
16use coil_core::{
17    SearchDocumentKind as ManifestSearchDocumentKind,
18    SearchFieldContribution as ManifestSearchFieldContribution,
19    SearchFieldRole as ManifestSearchFieldRole,
20    SearchIndexContribution as ManifestSearchIndexContribution,
21    SearchInvalidationRule as ManifestSearchInvalidationRule,
22    SearchInvalidationTrigger as ManifestSearchInvalidationTrigger,
23    SearchRebuildStrategy as ManifestSearchRebuildStrategy,
24    SearchVisibility as ManifestSearchVisibility,
25};
26use coil_data::{MigrationId, MigrationOwner, MigrationPlan, MigrationStep};
27use coil_jobs::JobsRuntime;
28#[cfg(test)]
29use coil_jobs::{IdempotencyKey, JobInstant};
30
31mod bulk;
32mod catalog;
33mod error;
34mod identifiers;
35mod planner;
36mod recovery;
37mod reports;
38mod search;
39mod validation;
40
41pub use bulk::{
42    BulkCatalog, BulkOperationDefinition, BulkOperationKind, BulkOperationPlan,
43    BulkOperationRequest, BulkOperationScope,
44};
45pub use catalog::OpsCatalog;
46pub use error::OpsModelError;
47pub use identifiers::{
48    BulkExecutionId, BulkOperationId, RecoveryExecutionId, RecoveryWorkflowId, ReportExportId,
49    ReportId, SearchFieldId, SearchIndexId,
50};
51pub use planner::OpsPlanner;
52pub(crate) use planner::default_retry_policy;
53pub use recovery::{
54    RecoveryCatalog, RecoveryPlan, RecoveryPlanRequest, RecoveryStage, RecoveryWorkflowDefinition,
55};
56pub use reports::{
57    ReportCatalog, ReportDefinition, ReportDeliveryMode, ReportExportPlan, ReportExportRequest,
58    ReportFormat, ReportParameter, ReportSensitivity,
59};
60pub use search::{
61    SearchCatalog, SearchDocumentKind, SearchFieldContribution, SearchFieldRole,
62    SearchIndexContribution, SearchInvalidationRule, SearchInvalidationTrigger,
63    SearchRebuildStrategy, SearchVisibility,
64};
65
66mod module;
67pub use module::OpsModule;
68
69pub fn module() -> OpsModule {
70    OpsModule::new()
71}
72
73#[cfg(test)]
74mod tests;