open-lark 0.13.0

Enterprise-grade Lark/Feishu Open API SDK with comprehensive Chinese documentation and advanced error handling
Documentation
//! 日历(Calendar)服务
//!
//! 提供飞书日历的完整功能集,支持日历管理、日程安排、会议室预订等
//! 企业级时间管理需求。是团队协作和时间规划的核心服务模块。
//!
//! # 核心功能
//!
//! ## 日历管理
//! - 📅 个人和共享日历的创建与管理
//! - 🎨 日历外观和属性设置
//! - 👥 日历共享和权限控制
//! - 🔄 日历同步和导入导出
//!
//! ## 日程管理
//! - 📝 日程的增删改查操作
//! - ⏰ 提醒和通知设置
//! - 🔄 重复日程和规则配置
//! - 📋 日程详情和描述管理
//!
//! ## 会议室管理
//! - 🏢 会议室信息和资源管理
//! - 📅 会议室预订和冲突检测
//! - 📊 会议室使用统计和分析
//! - 🔧 会议室设备和设施配置
//!
//! ## 参与人管理
//! - 👤 日程参与者的邀请和管理
//! - ✅ 参与状态跟踪(接受/拒绝/待定)
//! - 📧 邀请通知和提醒发送
//! - 🔄 参与者权限和角色设置
//!
//! ## 高级功能
//! - 🏖️ 请假日程和假期管理
//! - 📝 会议纪要和记录关联
//! - 🔗 CalDAV标准协议支持
//! - 📧 Exchange日历集成和同步
//!
//! # 使用示例
//!
//! ```rust
//! use open_lark::prelude::*;
//!
//! let client = LarkClient::builder("app_id", "app_secret")
//!     .with_app_type(AppType::SelfBuild)
//!     .build();
//!
//! // 获取日历服务
//! let calendar = &client.calendar;
//!
//! // 创建日历示例
//! // let create_calendar_req = CreateCalendarRequest::builder()
//! //     .summary("团队日历")
//! //     .description("团队日程安排和会议")
//! //     .build();
//! // let calendar_result = calendar.v4.calendar.create(create_calendar_req, None).await?;
//!
//! // 创建日程示例
//! // let create_event_req = CreateEventRequest::builder()
//! //     .calendar_id("calendar_id")
//! //     .summary("团队周会")
//! //     .start_time("2024-07-01T10:00:00")
//! //     .end_time("2024-07-01T11:00:00")
//! //     .build();
//! // let event_result = calendar.v4.calendar_event.create(create_event_req, None).await?;
//! ```
//!
//! # API版本
//!
//! 当前支持v4版本,是最新的稳定版本,提供:
//! - 完整的日历和日程管理功能
//! - 高性能的批量操作支持
//! - 丰富的查询和筛选选项
//! - 企业级的安全和权限控制
//!
//! # 集成特性
//!
//! - 📱 移动端和桌面端同步
//! - 🔗 第三方日历系统集成
//! - 📊 数据分析和报表支持
//! - 🔒 企业安全策略兼容

use crate::core::config::Config;

/// 日历服务 v4 版本
pub mod v4;

use v4::V4;

/// 日历服务
///
/// 飞书日历功能的统一管理入口,提供完整的时间管理和日程协作能力。
/// 支持个人日程管理、团队协作、会议室预订等企业级需求。
///
/// # 服务架构
///
/// - **v4**: 最新版本API,提供完整的日历功能集
///
/// # 核心特性
///
/// - 🚀 高性能日程查询和操作
/// - 👥 多人协作和冲突检测
/// - 🔔 智能提醒和通知系统
/// - 📱 跨平台同步和访问
/// - 🔐 企业级权限和安全控制
///
/// # 适用场景
///
/// - 企业团队日程协调
/// - 会议室资源管理
/// - 项目时间规划
/// - 个人时间管理
/// - 跨部门协作安排
///
/// # 最佳实践
///
/// - 合理设置日程提醒时间
/// - 及时更新参与状态
/// - 避免会议室预订冲突
/// - 定期清理过期日程
/// - 使用重复规则减少重复操作
pub struct CalendarService {
    /// v4版本API服务
    pub v4: V4,
}

impl CalendarService {
    /// 创建新的日历服务实例
    ///
    /// # 参数
    /// - `config`: 客户端配置,包含认证信息和API设置
    ///
    /// # 返回值
    /// 配置完成的日历服务实例
    pub fn new(config: Config) -> Self {
        Self {
            v4: V4::new(config),
        }
    }
}