Skip to content

permissions

A wrapper for the GeoEngine permissions API.

class RoleId()

A wrapper for a role id

@classmethod
def from_response(cls, response: dict[str, str]) -> RoleId

Parse a http response to an RoleId

def __eq__(other) -> bool

Checks if two role ids are equal

class Role()

A wrapper for a role

def __init__(role_id: UUID | RoleId | str, role_name: str)

Create a role with name and id

@classmethod
def from_response(cls,
response: geoengine_api_client.models.role.Role) -> Role

Parse a http response to an RoleId

def __eq__(other) -> bool

Checks if two role ids are equal

def role_id() -> RoleId

get the role id

class UserId()

A wrapper for a role id

@classmethod
def from_response(cls, response: dict[str, str]) -> UserId

Parse a http response to an UserId

def __eq__(other) -> bool

Checks if two role ids are equal

class PermissionListing()

PermissionListing

def __init__(permission: Permission, resource: Resource, role: Role)

Create a PermissionListing

@classmethod
def from_response(
cls, response: geoengine_api_client.models.PermissionListing
) -> PermissionListing

Transforms a response PermissionListing to a PermissionListing

def __eq__(other) -> bool

Checks if two listings are equal

class Permission(str, Enum)

A permission

def to_api_dict() -> geoengine_api_client.Permission

Convert to a dict for the API

def add_permission(role: RoleId,
resource: Resource,
permission: Permission,
timeout: int = 60)

Add a permission to a resource for a role. Requires admin role.

def remove_permission(role: RoleId,
resource: Resource,
permission: Permission,
timeout: int = 60)

Removes a permission to a resource from a role. Requires admin role.

def list_permissions(resource: Resource,
timeout: int = 60,
offset=0,
limit=20) -> list[PermissionListing]

Lists the roles and permissions assigned to a ressource

def add_role(name: str, timeout: int = 60) -> RoleId

Add a new role. Requires admin role.

def remove_role(role: RoleId, timeout: int = 60)

Remove a role. Requires admin role.

def assign_role(role: RoleId, user: UserId, timeout: int = 60)

Assign a role to a user. Requires admin role.

def revoke_role(role: RoleId, user: UserId, timeout: int = 60)

Assign a role to a user. Requires admin role.