Files
imphnen-backend-service/imphnen-iam/src/lib.rs
T

100 lines
2.9 KiB
Rust
Raw Normal View History

2025-04-06 22:13:46 +07:00
pub mod v1;
pub mod permission_macros;
// 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 permission macros
pub use permission_macros::{check_permissions, check_authenticated};
// 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,
2025-10-27 19:23:29 +07:00
AddTeamMemberRequestDto, UpdateMemberRoleRequestDto,
TeamInvitationListDto, MyInvitationDto
};
pub use v1::users::{UsersRepository, UsersSchema, UsersDetailItemDto, UsersCreateRequestDto};