open-lark 0.14.0

Enterprise-grade Lark/Feishu Open API SDK with comprehensive Chinese documentation and advanced error handling
Documentation
use crate::{
    core::config::Config,
    service::attendance::v1::{
        archive_rule::ArchiveRuleService, group::GroupService,
        leave_accrual_record::LeaveAccrualRecordService,
        leave_employ_expire_record::LeaveEmployExpireRecordService, shift::ShiftService,
        user_approval::UserApprovalService, user_daily_shift::UserDailyShiftService,
        user_setting::UserSettingService, user_stats_data::UserStatsDataService,
        user_task::UserTaskService, user_task_remedy::UserTaskRemedyService,
    },
};

pub mod archive_rule;
pub mod group;
pub mod leave_accrual_record;
pub mod leave_employ_expire_record;
pub mod models;
pub mod p2_attendance_user_task_status_change_v1;
pub mod p2_attendance_user_task_updated_v1;
pub mod shift;
pub mod user_approval;
pub mod user_daily_shift;
pub mod user_setting;
pub mod user_stats_data;
pub mod user_task;
pub mod user_task_remedy;

pub struct V1 {
    pub shift: ShiftService,
    pub user_daily_shift: UserDailyShiftService,
    pub group: GroupService,
    pub user_setting: UserSettingService,
    pub user_stats_data: UserStatsDataService,
    pub user_approval: UserApprovalService,
    pub user_task: UserTaskService,
    pub user_task_remedy: UserTaskRemedyService,
    pub archive_rule: ArchiveRuleService,
    pub leave_employ_expire_record: LeaveEmployExpireRecordService,
    pub leave_accrual_record: LeaveAccrualRecordService,
}

impl V1 {
    pub fn new(config: Config) -> Self {
        Self {
            shift: ShiftService {
                config: config.clone(),
            },
            user_daily_shift: UserDailyShiftService {
                config: config.clone(),
            },
            group: GroupService {
                config: config.clone(),
            },
            user_setting: UserSettingService {
                config: config.clone(),
            },
            user_stats_data: UserStatsDataService {
                config: config.clone(),
            },
            user_approval: UserApprovalService {
                config: config.clone(),
            },
            user_task: UserTaskService {
                config: config.clone(),
            },
            user_task_remedy: UserTaskRemedyService {
                config: config.clone(),
            },
            archive_rule: ArchiveRuleService {
                config: config.clone(),
            },
            leave_employ_expire_record: LeaveEmployExpireRecordService {
                config: config.clone(),
            },
            leave_accrual_record: LeaveAccrualRecordService {
                config: config.clone(),
            },
        }
    }
}