pub mod address;
pub mod attachment;
pub mod contact;
pub mod event;
pub mod folder;
pub mod mail_group;
pub mod mail_group_alias;
pub mod mail_group_manager;
pub mod mail_group_member;
pub mod mail_group_permission_member;
pub mod message;
pub mod public_mailbox;
pub mod public_mailbox_alias;
pub mod public_mailbox_member;
pub mod rule;
pub mod user_mailbox_alias;
use crate::core::config::Config;
pub struct V1 {
pub folder: folder::FolderService,
pub message: message::MessageService,
pub attachment: attachment::AttachmentService,
pub event: event::EventService,
pub rule: rule::RuleService,
pub contact: contact::ContactService,
pub mail_group: mail_group::MailGroupService,
pub mail_group_manager: mail_group_manager::MailGroupManagerService,
pub mail_group_member: mail_group_member::MailGroupMemberService,
pub mail_group_alias: mail_group_alias::MailGroupAliasService,
pub mail_group_permission_member:
mail_group_permission_member::MailGroupPermissionMemberService,
pub public_mailbox: public_mailbox::PublicMailboxService,
pub public_mailbox_member: public_mailbox_member::PublicMailboxMemberService,
pub public_mailbox_alias: public_mailbox_alias::PublicMailboxAliasService,
pub user_mailbox_alias: user_mailbox_alias::UserMailboxAliasService,
pub address: address::AddressService,
}
impl V1 {
pub fn new(config: Config) -> Self {
Self {
folder: folder::FolderService::new(config.clone()),
message: message::MessageService::new(config.clone()),
attachment: attachment::AttachmentService::new(config.clone()),
event: event::EventService::new(config.clone()),
rule: rule::RuleService::new(config.clone()),
contact: contact::ContactService::new(config.clone()),
mail_group: mail_group::MailGroupService::new(config.clone()),
mail_group_manager: mail_group_manager::MailGroupManagerService::new(config.clone()),
mail_group_member: mail_group_member::MailGroupMemberService::new(config.clone()),
mail_group_alias: mail_group_alias::MailGroupAliasService::new(config.clone()),
mail_group_permission_member:
mail_group_permission_member::MailGroupPermissionMemberService::new(config.clone()),
public_mailbox: public_mailbox::PublicMailboxService::new(config.clone()),
public_mailbox_member: public_mailbox_member::PublicMailboxMemberService::new(
config.clone(),
),
public_mailbox_alias: public_mailbox_alias::PublicMailboxAliasService::new(
config.clone(),
),
user_mailbox_alias: user_mailbox_alias::UserMailboxAliasService::new(config.clone()),
address: address::AddressService::new(config),
}
}
}