Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
27 changes: 24 additions & 3 deletions cirro/services/user.py
Original file line number Diff line number Diff line change
@@ -1,10 +1,31 @@
from cirro_api_client.v1.api.users import invite_user
from cirro_api_client.v1.models import InviteUserRequest
from typing import List

from cirro.services.base import BaseService
from cirro_api_client.v1.api.users import invite_user, list_users, get_user
from cirro_api_client.v1.models import InviteUserRequest, User, UserDetail

from cirro.services.base import BaseService, get_all_records


class UserService(BaseService):
def list(self, max_items: int = 10000) -> List[User]:
"""
List users in the system
"""
return get_all_records(
records_getter=lambda page_args: list_users.sync(
client=self._api_client,
next_token=page_args.next_token,
limit=page_args.limit
),
max_items=max_items
)

def get(self, username: str) -> UserDetail:
"""
Get user details by username, including what projects they are assigned to
"""
return get_user.sync(username=username, client=self._api_client)

def invite_user(self, name: str, organization: str, email: str):
"""
Invite a user to the system.
Expand Down
Loading
Loading