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:
+91
-4
@@ -1,6 +1,93 @@
|
||||
pub mod v1;
|
||||
|
||||
pub use imphnen_entities::*;
|
||||
pub use imphnen_libs::*;
|
||||
pub use imphnen_utils::*;
|
||||
pub use v1::*;
|
||||
// Re-export core entity types used throughout the IAM module
|
||||
pub use imphnen_entities::{
|
||||
MessageResponseDto,
|
||||
MetaRequestDto,
|
||||
MetaResponseDto,
|
||||
ResponseSuccessDto,
|
||||
ResponseListSuccessDto,
|
||||
CountResult,
|
||||
Error,
|
||||
ExperienceDto,
|
||||
EducationDto,
|
||||
UsersDetailQueryDto,
|
||||
PermissionsEnum,
|
||||
PermissionsItemDto,
|
||||
PermissionsQueryDto,
|
||||
};
|
||||
|
||||
// Explicitly export only the imphnen_libs types actually used in IAM
|
||||
pub use imphnen_libs::{
|
||||
AppState,
|
||||
ResourceEnum,
|
||||
decode_access_token,
|
||||
decode_refresh_token,
|
||||
encode_access_token,
|
||||
encode_refresh_token,
|
||||
encode_reset_password_token,
|
||||
hash_password,
|
||||
send_email,
|
||||
verify_password,
|
||||
Env,
|
||||
SurrealWsClient,
|
||||
SurrealMemClient,
|
||||
UserLookupService,
|
||||
AuthRepositoryTrait,
|
||||
jsonwebtoken::Claims,
|
||||
};
|
||||
|
||||
// Explicitly export only the imphnen_utils types actually used in IAM
|
||||
pub use imphnen_utils::{
|
||||
make_thing,
|
||||
make_thing_from_enum,
|
||||
get_id,
|
||||
get_iso_date,
|
||||
extract_id,
|
||||
build_multi_thing_condition,
|
||||
execute_safe_update_query,
|
||||
DetailQueryBuilder,
|
||||
QueryListBuilder,
|
||||
success_response,
|
||||
success_list_response,
|
||||
common_response,
|
||||
validate_request,
|
||||
generate_oauth_csrf_token,
|
||||
validate_oauth_csrf_token,
|
||||
validate_csrf_token,
|
||||
extract_email_token_async,
|
||||
OtpManager,
|
||||
};
|
||||
|
||||
// Export the main router functions and types from v1 module
|
||||
pub use v1::{
|
||||
iam_public_routes,
|
||||
iam_protected_routes,
|
||||
auth_router,
|
||||
users_router,
|
||||
roles_router,
|
||||
permissions_router,
|
||||
teams_router,
|
||||
permissions_guard,
|
||||
};
|
||||
|
||||
// Export IAM-specific types
|
||||
pub use v1::auth::{
|
||||
AuthRepository, AuthOtpSchema,
|
||||
AuthLoginRequestDto, AuthLoginResponsetDto, AuthRegisterRequestDto,
|
||||
AuthResendOtpRequestDto, AuthVerifyEmailRequestDto,
|
||||
AuthNewPasswordRequestDto, AuthRefreshTokenRequestDto,
|
||||
TokenDto, UserCacheSchema,
|
||||
};
|
||||
pub use v1::permissions::{PermissionsRepository, PermissionsSchema};
|
||||
pub use v1::roles::{RolesRepository, RolesSchema, RolesEnum, RolesDetailQueryDto, RolesRequestCreateDto, RolesRequestUpdateDto, RolesDetailItemDto};
|
||||
pub use v1::teams::{
|
||||
TeamsRepository, TeamsSchema, TeamsCreateRequestDto, TeamsUpdateRequestDto,
|
||||
TeamInviteRequestDto, TeamMemberDto, AdminTeamsListItemDto,
|
||||
AdminTeamsDetailItemDto, TeamsDetailItemDto, TeamsListItemDto,
|
||||
TeamAcceptInvitationRequestDto, TeamsSearchQueryDto, PublicTeamsListItemDto,
|
||||
PublicTeamsDetailItemDto, TeamsDetailQueryDto, TeamsListQueryDto,
|
||||
TeamMembersSchema, TeamInvitationsSchema, TeamMembersQueryDto,
|
||||
TeamInvitationsQueryDto, MemberTeamsDetailItemDto,
|
||||
};
|
||||
pub use v1::users::{UsersRepository, UsersSchema, UsersDetailItemDto, UsersCreateRequestDto};
|
||||
|
||||
Reference in New Issue
Block a user