Users & Participants

Institution and course owner

Users exist in a variety of levels in Eduflow. Institutions and courses allow direct access to their owner. In GraphQL, these are associated with the User object type.

Institution owner

{
  institution {
    name
    owner {
      name
      email
    }
  }
}

Course owner

{
  course(id: "00000000-5945-95c7-65fd-a9747b200320") {
    owner {
      name
      email
    }
  }
}

Course participants

In courses, users are queried through a pageable connection: Course.participants. Since course users have course-specific context associated them (their participant type and status), their User objects are wrapped in Participant.

Participant types: Owner (creator of course), Admins, Instructors, Assistants and Students.

{
  course(id: "00000000-5944-95c7-65fc-a9747b200320") {
    participants(first: 5) {
      edges {
        node {
          participantType
          participantStatus
          user {
            name
            email
          }
        }
      }
    }
  }
}

Searching by username

{
  course(id: "00000000-5945-95c7-65fc-a9747b2003210") {
    participants(first: 1, searchTerm: "Angela") {
      edges {
        node {
          participantType
          participantStatus
          user {
            name
            email
          }
        }
      }
    }
  }
}

Searching by participant type:

{
  course(id: "00000000-5945-95c7-65fc-a9747b200120") {
    participants(first: 5, participantTypeFilter: Student) {
      edges {
        node {
          participantType
          participantStatus
          user {
            name
            email
          }
        }
      }
    }
  }
}

Individual participant lookup

{
  course(id: "00000000-5943-95c7-65fc-a9747b200320") {
    participants(id: "7a41ad8e-f252-449d-8add-13c8ae27470b") {
      edges {
        node {
          participantType
          participantStatus
          user {
            name
            email
          }
        }
      }
    }
  }
}

Invitation links and embed (a.k.a magic links) can be accessed through the Participant response object:

{
  course(id: "00000000-5943-95c7-65fc-a9747b200320") {
    owner {
      name
      email
    }
    participants {
      edges {
        node {
          participantStatus
          invitationLink
          embedLoginLink
        }
      }
    }
  }
}
  • invitationLink: Will prompt user to create a password

  • embedLoginLink: "Magic link", takes user directly to to course

Last updated