pub mod error;
pub use error::{ServiceError, ServiceResult};
pub mod mailing_ab_test_service;
pub mod mailing_audience_service;
pub mod mailing_contact_service;
pub mod mailing_subscription_service;
pub mod opt_out_reason_service;
pub mod mailing_service;
pub mod mailing_trace_service;
pub mod mailing_filter_service;
pub use mailing_ab_test_service::MailingAbTestService;
pub use mailing_audience_service::MailingAudienceService;
pub use mailing_contact_service::MailingContactService;
pub use mailing_subscription_service::MailingSubscriptionService;
pub use opt_out_reason_service::OptOutReasonService;
pub use mailing_service::MailingService;
pub use mailing_trace_service::MailingTraceService;
pub use mailing_filter_service::MailingFilterService;
pub use mailing_ab_test_service::MailingAbTestRowRules;
pub use mailing_audience_service::MailingAudienceRowRules;
pub use mailing_contact_service::MailingContactRowRules;
pub use mailing_subscription_service::MailingSubscriptionRowRules;
pub use opt_out_reason_service::OptOutReasonRowRules;
pub use mailing_service::MailingRowRules;
pub use mailing_trace_service::MailingTraceRowRules;
pub use mailing_filter_service::MailingFilterRowRules;
pub fn build_mailing_ab_test_service(
repository: std::sync::Arc<crate::infrastructure::persistence::MailingAbTestRepository>,
) -> MailingAbTestService {
MailingAbTestService::with_repository(repository).with_guard(std::sync::Arc::new(MailingAbTestRowRules))
}
pub fn build_mailing_audience_service(
repository: std::sync::Arc<crate::infrastructure::persistence::MailingAudienceRepository>,
) -> MailingAudienceService {
MailingAudienceService::with_repository(repository).with_guard(std::sync::Arc::new(MailingAudienceRowRules))
}
pub fn build_mailing_contact_service(
repository: std::sync::Arc<crate::infrastructure::persistence::MailingContactRepository>,
) -> MailingContactService {
MailingContactService::with_repository(repository).with_guard(std::sync::Arc::new(MailingContactRowRules))
}
pub fn build_mailing_subscription_service(
repository: std::sync::Arc<crate::infrastructure::persistence::MailingSubscriptionRepository>,
) -> MailingSubscriptionService {
MailingSubscriptionService::with_repository(repository).with_guard(std::sync::Arc::new(MailingSubscriptionRowRules))
}
pub fn build_opt_out_reason_service(
repository: std::sync::Arc<crate::infrastructure::persistence::OptOutReasonRepository>,
) -> OptOutReasonService {
OptOutReasonService::with_repository(repository).with_guard(std::sync::Arc::new(OptOutReasonRowRules))
}
pub fn build_mailing_service(
repository: std::sync::Arc<crate::infrastructure::persistence::MailingRepository>,
) -> MailingService {
MailingService::with_repository(repository).with_guard(std::sync::Arc::new(MailingRowRules))
}
pub fn build_mailing_trace_service(
repository: std::sync::Arc<crate::infrastructure::persistence::MailingTraceRepository>,
) -> MailingTraceService {
MailingTraceService::with_repository(repository).with_guard(std::sync::Arc::new(MailingTraceRowRules))
}
pub fn build_mailing_filter_service(
repository: std::sync::Arc<crate::infrastructure::persistence::MailingFilterRepository>,
) -> MailingFilterService {
MailingFilterService::with_repository(repository).with_guard(std::sync::Arc::new(MailingFilterRowRules))
}
include!("mod.ext.rs");