roboto.principal#

Module Contents#

class roboto.principal.RobotoPrincipal(/, **data)#

Bases: pydantic.BaseModel

Represents a principal (user or organization) in the Roboto platform.

A principal is an entity that can perform actions, own resources, or be granted permissions within the Roboto platform. This class provides a unified way to represent both users and organizations.

Parameters:

data (Any)

classmethod for_org(org_id)#

Create a principal representing an organization.

Parameters:

org_id (str) – Unique identifier for the organization.

Returns:

A RobotoPrincipal instance configured for the specified organization.

Return type:

RobotoPrincipal

Examples

Create a principal for an organization:

>>> from roboto.principal import RobotoPrincipal
>>> org_principal = RobotoPrincipal.for_org("org_67890")
>>> print(org_principal.ptype)
RobotoPrincipalType.Org
>>> print(org_principal.id)
org_67890
classmethod for_user(user_id)#

Create a principal representing a user.

Parameters:

user_id (str) – Unique identifier for the user.

Returns:

A RobotoPrincipal instance configured for the specified user.

Return type:

RobotoPrincipal

Examples

Create a principal for a user:

>>> from roboto.principal import RobotoPrincipal
>>> user_principal = RobotoPrincipal.for_user("user_12345")
>>> print(user_principal.ptype)
RobotoPrincipalType.User
>>> print(user_principal.id)
user_12345
id: str#

Unique identifier for the principal.

ptype: RobotoPrincipalType#

The type of principal (user or organization).

class roboto.principal.RobotoPrincipalType#

Bases: str, enum.Enum

Types of principals supported by the Roboto platform.

Org = 'org'#

Entire organization.

User = 'user'#

Individual user.