Low Level Classes: Team Member - Taskframe/taskframe-python GitHub Wiki

The TeamMember class represents a user that may contribute to a Taskframe. TeamMembers may have different roles:

  • "worker": may only submit answers to tasks
  • "reviewer": may review answers from workers (and also submit answers themselves)
  • "admin": may change taskframe settings

Quick Summary

from taskframe import TeamMember

# list all team members on a Taskframe:
TeamMember.list(taskframe_id="XXXXXX")

# retrieve a specific team memeber:
team_member = TeamMember.retrieve(id=1234, taskframe_id="XXXXXX")

# create a team member:
team_member = TeamMember.create(taskframe_id="XXXXXX", email="[email protected]", role="worker")

# update a team member:
team_member = TeamMember.update(id=1234, taskframe_id="XXXXXX", role="reviewer", status="inactive")

# submit local changes of a TeamMember instance (ie. create or update):
team_member= TeamMember(taskframe_id="XXXXXX", role="reviewer", email="[email protected]")
team_member.submit()

List

List all team members of a given Taskframe. The list is paginated. This is a class method.

Signature:

@classmethod
def list(cls, taskframe_id=None, offset=0, limit=25):

Parameters:

  • taskframe_id
  • offset
  • limit

Return:

List of TeamMember instances.

Example:

TeamMember.list(taskframe_id="XXXXXX")

Retrieve

Get a specific existing team_member given it's id. This is a class method.

Signature:

@classmethod
def retrieve(cls, id=None, taskframe_id=None):

Parameters:

  • id (required)
  • taskframe_id (required)

Returns:

TeamMember instance.

Example:

team_member = TeamMember.retrieve(id=1234, taskframe_id="XXXXXX")

Create

Create a team_member. This is a class method.

Signature:

@classmethod
def create(cls, taskframe_id=None, email=None, role=None, status="active"):

Parameters:

  • taskframe_id (required)
  • email (required)
  • role (required)
  • status

Returns:

TeamMember instance.

Example:

team_member = TeamMember.create(taskframe_id="XXXXXX", email="[email protected]", role="worker")

Update

Update an existing team_member. Supports partial updates. This is a class method.

Signature:

@classmethod
def update(cls, id, taskframe_id=None, role=None, status=None):

Parameters:

  • id (required)
  • taskframe_id (required)
  • role
  • status

(Note that you can not update the user email once it's created.

Returns:

TeamMember instance.

Example:

team_member = TeamMember.update(id=1234, taskframe_id="XXXXXX", role="reviewer", status="inactive")

Submit

Given a TeamMember instance, creates or update the instance on the API. This is an instance method.

Signature:

def submit(self):

Parameters: None

Returns: None

Example:

team_member= TeamMember(taskframe_id="XXXXXX", role="reviewer", email="[email protected]")
team_member.submit()