1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
//! Team Management Module
//!
//! This module provides comprehensive team management functionality including:
//! - Team CRUD operations
//! - Member management (add, remove, update roles)
//! - Team settings and configuration
//! - Usage statistics tracking
//!
//! ## Architecture
//!
//! The module follows a repository pattern with:
//! - `TeamRepository` trait for storage abstraction
//! - `InMemoryTeamRepository` for testing and development
//! - `PostgresTeamRepository` for production (requires `postgres` feature)
//! - `TeamManager` for business logic coordination
//!
//! ## Usage
//!
//! ```ignore
//! use litellm_rs::core::teams::{TeamManager, InMemoryTeamRepository, CreateTeamRequest};
//! use std::sync::Arc;
//!
//! let repo = Arc::new(InMemoryTeamRepository::new());
//! let manager = TeamManager::new(repo);
//!
//! let request = CreateTeamRequest {
//! name: "my-team".to_string(),
//! display_name: Some("My Team".to_string()),
//! description: None,
//! settings: None,
//! };
//!
//! let team = manager.create_team(request).await?;
//! ```
// Re-export commonly used types
pub use ;
pub use ;
pub use PostgresTeamRepository;
// Re-export team model types for convenience
pub use crate;