Skip to main content

raps_admin/
lib.rs

1// SPDX-License-Identifier: Apache-2.0
2// Copyright 2024-2025 Dmytro Yemelianov
3
4//! Account Admin Bulk Management
5//!
6//! This crate provides bulk user management capabilities for ACC/BIM 360 accounts:
7//! - Add users to multiple projects in a single operation
8//! - Remove users from multiple projects
9//! - Update user roles across projects
10//! - Manage folder-level permissions
11//!
12//! Features:
13//! - Configurable concurrency with rate limit handling
14//! - Progress tracking with callbacks
15//! - State persistence for resumable operations
16//! - Retry logic with exponential backoff
17
18#![allow(clippy::uninlined_format_args)]
19
20pub mod bulk;
21pub mod error;
22pub mod filter;
23pub mod operations;
24pub mod report;
25pub mod types;
26
27// Re-exports for convenience
28pub use bulk::executor::{
29    BulkConfig, BulkExecutor, BulkOperationResult, ItemDetail, ItemResult, ProcessItem,
30    ProgressUpdate,
31};
32pub use bulk::state::{OperationState, OperationSummary, StateManager, StateUpdate};
33pub use error::{AdminError, ExitCode};
34pub use filter::ProjectFilter;
35pub use operations::{
36    BulkAddUserParams, BulkRemoveUserParams, BulkUpdateFolderRightsParams, BulkUpdateRoleParams,
37    bulk_add_user, bulk_remove_user, bulk_update_folder_rights, bulk_update_role,
38    resume_bulk_add_user, resume_bulk_remove_user, resume_bulk_update_folder_rights,
39    resume_bulk_update_role,
40};
41pub use types::{FolderType, OperationStatus, OperationType, PermissionLevel};