.managedUsers

Facilitates the management of users, including creating and managing user accounts and their related operations.

📘

For more inspiration, check out these recipes involving managed users

createUser({referenceUserId: string}): Create a new Northstake user managed by the staking partner

  const user: CreateManagedUserRequest = {
      referenceUserId: '123_321_456_654'
    }
    const newUserResponse  = await api.managedUsers.createUser(user)

    if (newUserResponse.status === 201) {
      console.log(`
        User created with northstake id: ${newUserResponse.body.userId}
      `)
    } else {
      console.log('Failed to create user')
    }

deleteUser(userId: string): Delete a specific managed user

  const userId = 'northstake_user_guuid'

    const response = await api.managedUsers.deleteUser(userId)

    if (response.status === 204) {
      console.log(`
        User deleted
      `)
    } else {
      console.log('Failed to delete user')
    }

getUser(userId: number): Get information for a specific user managed by the staking partner.

 const userId = 'northstake_user_guuid'
 const {body:managedUser} =await api.managedUsers.getUser(userId)
  
  console.log(`
    Managed User Information:
    ${JSON.stringify(managedUser)}
  `)
  

getUsers(page?: number): Get all users managed by the staking partner in a paginated response.

    const { body: userList } = await api.stakingPartnerManagedUsers.getAllManagedUsers();

    //iterate through every page of users and print their userId and referenceUserId

    for (let i = 0; i < userList.pages; i++) {
      const  {body: users}  = await api.managedUsers.getUsers(i);
      users.forEach((user) => {
        console.log(`
        User ID: ${user.userId}
        reference User ID: ${user.referenceUserId}
        `);
      });
    }