use crate::core::config::Config;
pub mod approval;
pub mod external_approval;
pub mod external_instance;
pub mod external_task;
pub mod file;
pub mod instance;
pub mod instance_comment;
pub mod message;
pub mod search;
pub mod task;
pub mod p2_approval_instance_approved_v4;
pub mod p2_approval_instance_created_v4;
pub mod p2_approval_instance_rejected_v4;
use approval::ApprovalService;
use external_approval::ExternalApprovalService;
use external_instance::ExternalInstanceService;
use external_task::ExternalTaskService;
use file::FileService;
use instance::InstanceService;
use instance_comment::InstanceCommentService;
use message::MessageService;
use search::SearchService;
use task::TaskService;
pub struct V4 {
pub approval: ApprovalService,
pub instance: InstanceService,
pub task: TaskService,
pub file: FileService,
pub instance_comment: InstanceCommentService,
pub external_approval: ExternalApprovalService,
pub external_instance: ExternalInstanceService,
pub external_task: ExternalTaskService,
pub message: MessageService,
pub search: SearchService,
}
impl V4 {
pub fn new(config: Config) -> Self {
Self {
approval: ApprovalService::new(config.clone()),
instance: InstanceService::new(config.clone()),
task: TaskService::new(config.clone()),
file: FileService::new(config.clone()),
instance_comment: InstanceCommentService::new(config.clone()),
external_approval: ExternalApprovalService::new(config.clone()),
external_instance: ExternalInstanceService::new(config.clone()),
external_task: ExternalTaskService::new(config.clone()),
message: MessageService::new(config.clone()),
search: SearchService::new(config),
}
}
}