Files
imphnen-backend-service/imphnen-iam/src/v1/teams/mod.rs
T
2025-10-27 19:23:29 +07:00

62 lines
1.7 KiB
Rust

pub mod admin_teams_controller;
pub mod teams_controller;
pub mod teams_dto;
pub mod teams_repository;
pub mod teams_schema;
pub mod teams_service;
use axum::Router;
// Export only essential types and functions from each submodule
pub use admin_teams_controller::{
admin_teams_router,
get_all_teams as admin_get_all_teams,
get_team_by_id as admin_get_team_by_id,
get_team_members as admin_get_team_members,
create_team as admin_create_team,
update_team as admin_update_team,
delete_team as admin_delete_team,
invite_team_members as admin_invite_team_members
};
pub use teams_controller::{
teams_router as user_teams_router,
get_team_list,
get_team_by_id as user_get_team_by_id,
get_team_members as user_get_team_members
};
pub use teams_dto::{
TeamsCreateRequestDto,
TeamsUpdateRequestDto,
TeamInviteRequestDto,
TeamMemberDto,
TeamsListItemDto,
TeamsDetailItemDto,
PublicTeamsListItemDto,
PublicTeamsDetailItemDto,
AdminTeamsListItemDto,
AdminTeamsDetailItemDto,
TeamAcceptInvitationRequestDto,
TeamsSearchQueryDto,
TeamsDetailQueryDto,
TeamsListQueryDto,
TeamMembersQueryDto,
TeamInvitationsQueryDto,
MemberTeamsDetailItemDto,
AddTeamMemberRequestDto,
UpdateMemberRoleRequestDto,
TeamInvitationListDto,
MyInvitationDto
};
pub use teams_repository::TeamsRepository;
pub use teams_schema::{TeamsSchema, TeamMembersSchema, TeamInvitationsSchema};
pub fn teams_router() -> Router {
Router::new()
// Public routes
.merge(teams_controller::teams_router())
// Admin routes - prefixed with /admin to avoid route conflicts
.nest("/admin", admin_teams_controller::admin_teams_router())
}