Enterprise access to the Platform is available on demand, and allows companies or organizations to mimic their internal structure and hierarchy on the Seven Bridges Platform, thus facilitating simpler and more efficient collaboration.
Enterprise accounts are granted to users through their organizations.
The organization associated with the Enterprise account may create user
groups (Divisions
and Teams
) composed of
Enterprise account holders, which are used to enable collaboration
between members of the organization.
A Division
on the Platform is a subgroup of users within
an Enterprise
. Use the Division
entity to
replicate the structure and hierarchy of an organization, such as
departmental groups on the Platform. Enterprise
administrators create Divisions
, but they can assign
Division
administrators to manage them.
A Team
is a subgroup within a Division
.
Division administrators can create Teams
to simplify adding
multiple members to a project at once. A single Division
member can belong to multiple Teams
.
Division related operations can be accessed through the
divisions
path from the Auth
object.
When fetching a single division, it is represented as a
Division
object, which contains the following
information:
id
: Division IDname
: Division nameThe division object also has additional methods that can be executed
directly on it, such as: TO BE ADDED
The following call returns a Collection with a list of all divisions you are a member of. Each division ID, name and URL on the Seven Bridges Platform will be returned.
# Authenticate (division authentication token is required)
a <- Auth$new(platform = "aws-us", token = "<your-token>")
# Query all divisions of which you are a member
a$divisions$query()
The following call returns the details of a specified division.
# Retrieve details of a specified division
a$divisions$get(id = "division-id")
To retrieve a list of all teams in a division that you are a member
of, use the list_teams()
method of a Division
object. This method returns a Collection
of
Team
objects, each containing the team’s ID and name.
If you want to list all teams within the division, regardless of
whether you are a member, set the list_all
parameter to
TRUE
.
# Retrieve details of a specified division
my_division <- a$divisions$get(id = "division-id")
# List division teams you are a member of
my_division$list_teams()
# List all teams in the division, including those you are not a member of
my_division$list_teams(list_all = TRUE)
To retrieve a list of all members in a division, use the
list_members()
method of a Division
object.
This method returns a Collection
of User
objects, each containing user details.
If you want to filter members by role, you can specify the
role
parameter. The supported roles are
"ADMIN"
, "MEMBER"
, and
"EXTERNAL_COLLABORATOR"
. The default value for this
parameter is NULL
, meaning that if role
is not
provided, members of all roles will be included in the results.
# Retrieve details of a specific division
my_division <- a$divisions$get(id = "division-id")
# List all members in the division
my_division$list_members()
# List only members with the "ADMIN" role
my_division$list_members(role = "ADMIN")
To remove a member from a division, use the
remove_member()
method of a Division
object.
This action revokes the user’s membership in the division but does not
delete their Platform account.
Only users with the ADMIN
role in the division have
permission to remove members. If a user without ADMIN
privileges attempts to perform this action, an error will be raised.
The user parameter accepts either a username (formatted as
"division-name/username"
) or a User
object.
# Retrieve details of a specific division
my_division <- a$divisions$get(id = "division-id")
# Remove a member using their username
my_division$remove_member(user = "division-name/username")
# Remove a member using a User object
members <- my_division$list_members(role = "MEMBER")
member_to_remove <- members$items[[1]]
my_division$remove_member(user = member_to_remove)
As mentioned before, the Team
entity is the subgroup of
the Division
and enterprise users can perform certain
actions on created teams too.
We have created the Teams
class as a
Resource
class, just like we have for Apps
,
Files
, Projects
, etc., in addition to the
Team
class, which stores information about a single
team.
Teams
class helps us organizing our team methods on
Auth
object, therefore, on the auth$teams
path
you may find the well known methods for querying teams
(query()
), fetching a single team (get()
),
creating a new team (create()
) and deleting teams
(delete()
).
Querying teams (query()
) requires a division parameter
provided in form of string (as division ID) or as Division
object, and it returns a Collection
of teams user has
access to. With parameter list_all
you can control whether
to return all teams regardless of whether you are a member of a team or
not.
Method get()
fetches a single team by its ID
provided.
Creating new teams (create()
) requires only a
division
parameter specifying where to create the team, and
a name
parameter for the new team’s name.
Deleting teams (delete()
) is possible by providing a
team ID or Team
object.
Examples of usage are presented below:
# Query all teams in a specific division
my_teams <- a$teams$query(division = "division-id", list_all = TRUE)
print(my_teams)
── 1 ──
── Team ─────────────────────────────────────────────────────────────────────
• name: <team-name-1>
• id: <team-id-1>
• href: <href-1>
── 2 ──
── Team ─────────────────────────────────────────────────────────────────────
• name: <team-name-2>
• id: <team-id-2>
• href: <href-2>
# Fetch single team by ID
my_test_team <- a$teams$get("my-test-team-id")
print(my_test_team)
# Create new team
new_team <- a$teams$create(division = "division-id", name = "my-new-team")
print(new_team)
# Delete a team
a$teams$delete(team = "my-new-team-id")
When you retrieve a single Team, you can use the following methods to manage it:
Your ability to perform these actions depends on your
role
within the platform division to which the team
belongs. Some operations require ADMIN
privileges, while
users with the MEMBER
or EXTERNAL_COLLABORATOR
role may have limited access. If you attempt an action without
sufficient privileges, you will receive an error message like:
Insufficient privileges to access the requested team/member information.
To retrieve the members of a specific team, use the
list_members()
method on a Team
object:
# Fetch a team by its ID
my_team <- a$teams$get("my-team-id")
# List the team's members
my_team$list_members()
You can add a new member to a team using the
add_member()
method on a Team
object:
# Add a team member by providing their username
my_team$add_member(user = "division-name/username")
Alternatively, you can pass a User
object to the
user
parameter instead of a username.
You can remove a team member using the remove_member()
method on a Team
object:
# Remove a team member by providing their username
my_team$remove_member(user = "division-name/username")
Providing a User
object would work as well.
To rename an existing team, use the rename()
method on a
Team
object and provide the new name via the
name
parameter:
# Rename the team
my_team$rename(name = "new-team-name")
If you need to delete a team, use the delete()
method on
the corresponding Team
object:
# Delete the team
my_team$delete()
After executing this command, you will see a confirmation message in the console:
The team <team-id> has been deleted.