MCPcopy Create free account
hub / github.com/dfinity/orbit / add_user

Function add_user

tests/integration/src/station_test_data/user.rs:8–33  ·  view source on GitHub ↗
(
    env: &PocketIc,
    station_canister_id: Principal,
    requester: Principal,
    group_ids: Vec<String>,
)

Source from the content-addressed store, hash-verified

6use station_api::{ListUsersInput, ListUsersResponse};
7
8pub fn add_user(
9 env: &PocketIc,
10 station_canister_id: Principal,
11 requester: Principal,
12 group_ids: Vec<String>,
13) -> station_api::UserDTO {
14 let next_id = next_unique_id();
15 let user_name = format!("user-{next_id}");
16 let next_id = next_id.to_be_bytes();
17 let identity = Principal::from_slice(next_id.as_ref());
18 let add_user =
19 station_api::RequestOperationInput::AddUser(station_api::AddUserOperationInput {
20 name: user_name,
21 identities: vec![identity],
22 groups: group_ids,
23 status: station_api::UserStatusDTO::Active,
24 });
25 let add_user_request = submit_request(env, requester, station_canister_id, add_user);
26 let new_request = wait_for_request(env, requester, station_canister_id, add_user_request)
27 .expect("Failed to add user");
28
29 match new_request.operation {
30 station_api::RequestOperationDTO::AddUser(add_user) => add_user.user.unwrap(),
31 _ => panic!("invalid request operation"),
32 }
33}
34
35pub fn edit_user_name(
36 env: &PocketIc,

Callers 5

canister_installFunction · 0.50
reviewFunction · 0.50
canister_callFunction · 0.50
asset_uploadFunction · 0.50
asset_validationFunction · 0.50

Calls 3

submit_requestFunction · 0.85
wait_for_requestFunction · 0.85
next_unique_idFunction · 0.50

Tested by 4

reviewFunction · 0.40
canister_callFunction · 0.40
asset_uploadFunction · 0.40
asset_validationFunction · 0.40