Refactor and enhance SurrealDB integration and resource management

- Updated `lib.rs` to selectively expose specific entities and services for better clarity.
- Improved SurrealDB client initialization with detailed logging in `surrealdb/mod.rs`.
- Enhanced resource definitions in `resource.rs` with additional utility methods for better resource management.
- Refactored user data retrieval logic in `auth_middleware/mod.rs` for improved readability and efficiency.
- Cleaned up middleware exports in `lib.rs` for clearer API surface.
- Added detailed comments and documentation throughout the SurrealDB module for better maintainability.
- Updated tests to ensure compatibility with new changes and improved structure.
- Introduced new permissions module structure in `imphnen-utils` for future enhancements.
This commit is contained in:
MythEclipse
2025-09-26 17:35:30 +07:00
parent 96debc210a
commit 14b22328de
71 changed files with 1566 additions and 632 deletions
+42 -7
View File
@@ -5,15 +5,50 @@ pub mod teams_repository;
pub mod teams_schema;
pub mod teams_service;
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::*;
pub use teams_repository::*;
pub use teams_schema::*;
pub use 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
};
pub use teams_repository::TeamsRepository;
pub use teams_schema::{TeamsSchema, TeamMembersSchema, TeamInvitationsSchema};
pub fn teams_router() -> Router {
Router::new()
// Public routes