Skip to main content

openlark_platform/common/
api_endpoints.rs

1//! OpenLark Platform API 端点定义
2//!
3//! 提供统一的 API 端点管理和 URL 生成功能
4
5/// Admin V1 API 端点枚举
6#[derive(Debug, Clone)]
7pub enum AdminApiV1 {
8    /// 创建勋章
9    CreateBadge,
10    /// 获取勋章列表
11    ListBadge,
12}
13
14impl AdminApiV1 {
15    /// 获取对应的 API 路径
16    pub fn path(&self) -> &'static str {
17        match self {
18            AdminApiV1::CreateBadge => "/open-apis/admin/v1/badges",
19            AdminApiV1::ListBadge => "/open-apis/admin/v1/badges",
20        }
21    }
22}
23
24/// 模块导出
25pub mod prelude {
26    pub use super::AdminApiV1;
27}
28
29#[cfg(test)]
30mod tests {
31    use super::*;
32
33    #[test]
34    fn test_adminapiv1_path_coverage() {
35        let paths = [AdminApiV1::CreateBadge.path(), AdminApiV1::ListBadge.path()];
36        assert!(paths.iter().all(|path| path.starts_with("/open-apis/")));
37    }
38}