Skip to main content

coil_runtime/jobs/
types.rs

1use super::super::*;
2
3#[derive(Debug, Clone, PartialEq, Eq)]
4pub struct RegisteredModuleJob {
5    pub module: String,
6    pub job: JobContract,
7}
8
9#[derive(Debug, Clone, PartialEq, Eq)]
10pub struct RegisteredEventSubscription {
11    pub module: String,
12    pub subscription: EventSubscription,
13}
14
15#[derive(Debug, Clone, PartialEq, Eq)]
16pub struct RegisteredSearchContribution {
17    pub module: String,
18    pub contribution: SearchIndexContribution,
19}
20
21#[derive(Debug, Clone, PartialEq, Eq)]
22pub struct RegisteredDataRepository {
23    pub module: String,
24    pub contribution: DataRepositoryContribution,
25}
26
27#[derive(Debug, Clone, PartialEq, Eq)]
28pub struct RegisteredReportDefinition {
29    pub module: String,
30    pub definition: ReportDefinition,
31}
32
33#[derive(Debug, Clone, PartialEq, Eq)]
34pub struct RegisteredBulkOperation {
35    pub module: String,
36    pub definition: BulkOperationDefinition,
37}
38
39#[derive(Debug, Clone, PartialEq, Eq)]
40pub struct RuntimeJobDefinition {
41    pub module: String,
42    pub contract: JobContract,
43    pub queue: JobQueueName,
44    pub retry_policy: RetryPolicy,
45}
46
47#[derive(Debug, Clone, PartialEq, Eq)]
48pub struct RuntimeEventSubscriptionDefinition {
49    pub module: String,
50    pub event_type: DomainEventType,
51    pub subscription_id: EventSubscriptionId,
52    pub handler_id: EventHandlerId,
53    pub job_name: String,
54    pub reaction_queue: JobQueueName,
55    pub retry_policy: RetryPolicy,
56    pub target_trigger: JobTriggerKind,
57    pub target_queue: JobQueueName,
58    pub description: String,
59}
60
61#[derive(Debug, Clone, PartialEq, Eq)]
62pub struct DomainEventDispatch {
63    pub event_id: DomainEventId,
64    pub event_type: DomainEventType,
65    pub enqueued_jobs: Vec<JobId>,
66}