EMSE Async GraphQL API Reference
This is the reference documentation for the Asynchronous Learning Management Systems' GraphQL API, developed at Old Dominion University's Engineering Management & Systems Engineering department.
API Endpoints
# Local server:
http://localhost:4000/graphql
Queries
answer
Description
Fetch an Answer by any of its parameters. An empty object as the input parameter will return all Answers, an ID will retrieve an array with just a single Answer. If a only a Question ID is provided than all answers for that question will be returned. If a combination of parameters are used then only documents that match all the parameters will be included in the array.
Response
Returns [Answer!]!
Arguments
Name | Description |
---|---|
args - AnswerFields!
|
Example
Query
query Answer($args: AnswerFields!) {
answer(args: $args) {
id
text
correct
weight
index
parentQuestion {
id
number
variant
text
points
answers {
...AnswerFragment
}
parent {
...QuizFragment
}
instances {
...QuizInstanceFragment
}
}
}
}
Variables
{"args": AnswerFields}
Response
{
"data": {
"answer": [
{
"id": "4",
"text": "xyz789",
"correct": false,
"weight": 987.65,
"index": "xyz789",
"parentQuestion": Question
}
]
}
}
assignment
Description
Get a list of assignments given a set of parameters, passing an empty object in will recieve all and passing in an id will fetch a single document. Parameters can be any of the fields that exist in a assignment
Response
Returns [Assignment!]
Arguments
Name | Description |
---|---|
input - AssignmentFields!
|
Example
Query
query Assignment($input: AssignmentFields!) {
assignment(input: $input) {
id
updatedAt
name
dueAt
contentURL
contentType
acceptedTypes
section {
id
sectionNumber
sectionName
description
duration
intro
numSlides
keywords
objectives
createdAt
updatedAt
assignments {
...AssignmentFragment
}
members {
...SectionEnrollmentFragment
}
feedback {
...SectionFeedbackFragment
}
parentSections {
...SectionFragment
}
subSections {
...SectionFragment
}
collections {
...CollectionFragment
}
courseIDs
}
assignmentResults {
id
submittedAt
result
feedback
submissionURL
fileType
student {
...PlanOfStudyFragment
}
gradedBy {
...UserFragment
}
assignment {
...AssignmentFragment
}
}
}
}
Variables
{"input": AssignmentFields}
Response
{
"data": {
"assignment": [
{
"id": 4,
"updatedAt": "2007-12-03",
"name": "abc123",
"dueAt": "2007-12-03",
"contentURL": "abc123",
"contentType": "xyz789",
"acceptedTypes": "DOCX",
"section": Section,
"assignmentResults": [AssignmentResult]
}
]
}
}
assignmentResult
Description
Get a list of assignmentResults given a set of parameters, passing an empty object in will recieve all and passing in an id will fetch a single document. Parameters can be any of the fields that exist in a assignmentResult
Response
Returns [AssignmentResult!]
Arguments
Name | Description |
---|---|
input - AssignmentResFields!
|
Example
Query
query AssignmentResult($input: AssignmentResFields!) {
assignmentResult(input: $input) {
id
submittedAt
result
feedback
submissionURL
fileType
student {
id
student {
...UserFragment
}
sections {
...SectionEnrollmentFragment
}
assignmentResults {
...AssignmentResultFragment
}
sectionsLeft {
...SectionEnrollmentFragment
}
quizResults {
...QuizResultFragment
}
}
gradedBy {
id
openID
email
picURL
createdAt
firstName
lastName
middleName
isAdmin
isActive
biography
phoneNumber
dob
social {
...SocialFragment
}
plan {
...PlanOfStudyFragment
}
tokens
feedback {
...SectionFeedbackFragment
}
assignmentGraded {
...AssignmentResultFragment
}
instructorProfile {
...InstructorProfileFragment
}
watchedThreads {
...ThreadFragment
}
watchedThreadIDs
createdThreads {
...ThreadFragment
}
}
assignment {
id
updatedAt
name
dueAt
contentURL
contentType
acceptedTypes
section {
...SectionFragment
}
assignmentResults {
...AssignmentResultFragment
}
}
}
}
Variables
{"input": AssignmentResFields}
Response
{
"data": {
"assignmentResult": [
{
"id": "4",
"submittedAt": "2007-12-03",
"result": 987.65,
"feedback": "abc123",
"submissionURL": "xyz789",
"fileType": "abc123",
"student": PlanOfStudy,
"gradedBy": User,
"assignment": Assignment
}
]
}
}
collection
Description
Retrieve a specific collection based on document ID
Response
Returns [Collection]
Arguments
Name | Description |
---|---|
input - CollectionFields
|
Example
Query
query Collection($input: CollectionFields) {
collection(input: $input) {
id
name
createdAt
updatedAt
modules {
id
prefix
number
name
content {
...ContentFragment
}
threads {
...ThreadFragment
}
collections {
...CollectionFragment
}
collectionIDs
position
quizzes {
...QuizFragment
}
moduleProgress {
...ModuleProgressFragment
}
objectives
keywords
hours
description
instructor {
...InstructorProfileFragment
}
instructorID
}
moduleIDs
section {
id
sectionNumber
sectionName
description
duration
intro
numSlides
keywords
objectives
createdAt
updatedAt
assignments {
...AssignmentFragment
}
members {
...SectionEnrollmentFragment
}
feedback {
...SectionFeedbackFragment
}
parentSections {
...SectionFragment
}
subSections {
...SectionFragment
}
collections {
...CollectionFragment
}
courseIDs
}
sectionID
position
}
}
Variables
{"input": CollectionFields}
Response
{
"data": {
"collection": [
{
"id": "4",
"name": "xyz789",
"createdAt": "2007-12-03",
"updatedAt": "2007-12-03",
"modules": [Module],
"moduleIDs": [4],
"section": Section,
"sectionID": 4,
"position": 987
}
]
}
}
content
Description
Retrieve Content Given a set of parameters
Response
Returns [Content!]
Arguments
Name | Description |
---|---|
input - ContentFields
|
Example
Query
query Content($input: ContentFields) {
content(input: $input) {
id
type
link
parent {
id
prefix
number
name
content {
...ContentFragment
}
threads {
...ThreadFragment
}
collections {
...CollectionFragment
}
collectionIDs
position
quizzes {
...QuizFragment
}
moduleProgress {
...ModuleProgressFragment
}
objectives
keywords
hours
description
instructor {
...InstructorProfileFragment
}
instructorID
}
primary
}
}
Variables
{"input": ContentFields}
Response
{
"data": {
"content": [
{
"id": 4,
"type": "PDF",
"link": "xyz789",
"parent": Module,
"primary": false
}
]
}
}
course
Description
Get a list of courses given a set of parameters, passing an empty object in will recieve all and passing in an id will fetch a single document. Parameters can be any of the fields that exist in a course
Response
Returns [Course!]
Arguments
Name | Description |
---|---|
input - CourseFields!
|
Example
Query
query Course($input: CourseFields!) {
course(input: $input) {
id
name
number
prefix
sectionIDs
required
carnegieHours
}
}
Variables
{"input": CourseFields}
Response
{
"data": {
"course": [
{
"id": 4,
"name": "xyz789",
"number": 123,
"prefix": "xyz789",
"sectionIDs": [4],
"required": false,
"carnegieHours": 123
}
]
}
}
directMessages
Description
Get all messages in a group.
Response
Returns [DirectMessageResponse!]!
Example
Query
query DirectMessages(
$receiverID: ID!,
$senderID: ID!
) {
directMessages(
receiverID: $receiverID,
senderID: $senderID
) {
id
createdAt
updatedAt
body
authorID
recipientID
author {
id
openID
email
picURL
createdAt
firstName
lastName
middleName
isAdmin
isActive
biography
phoneNumber
dob
social {
...SocialFragment
}
plan {
...PlanOfStudyFragment
}
tokens
feedback {
...SectionFeedbackFragment
}
assignmentGraded {
...AssignmentResultFragment
}
instructorProfile {
...InstructorProfileFragment
}
watchedThreads {
...ThreadFragment
}
watchedThreadIDs
createdThreads {
...ThreadFragment
}
}
recipient {
... on User {
...UserFragment
}
... on Group {
...GroupFragment
}
}
}
}
Variables
{"receiverID": 4, "senderID": 4}
Response
{
"data": {
"directMessages": [
{
"id": "4",
"createdAt": "2007-12-03",
"updatedAt": "2007-12-03",
"body": "xyz789",
"authorID": "4",
"recipientID": 4,
"author": User,
"recipient": User
}
]
}
}
groupMessages
Description
Get all messages in a group. If the receiverID is not matched by the receiverID of the message, the message is not returned.
Response
Returns [DirectMessageResponse!]!
Arguments
Name | Description |
---|---|
groupID - ID!
|
Example
Query
query GroupMessages($groupID: ID!) {
groupMessages(groupID: $groupID) {
id
createdAt
updatedAt
body
authorID
recipientID
author {
id
openID
email
picURL
createdAt
firstName
lastName
middleName
isAdmin
isActive
biography
phoneNumber
dob
social {
...SocialFragment
}
plan {
...PlanOfStudyFragment
}
tokens
feedback {
...SectionFeedbackFragment
}
assignmentGraded {
...AssignmentResultFragment
}
instructorProfile {
...InstructorProfileFragment
}
watchedThreads {
...ThreadFragment
}
watchedThreadIDs
createdThreads {
...ThreadFragment
}
}
recipient {
... on User {
...UserFragment
}
... on Group {
...GroupFragment
}
}
}
}
Variables
{"groupID": "4"}
Response
{
"data": {
"groupMessages": [
{
"id": 4,
"createdAt": "2007-12-03",
"updatedAt": "2007-12-03",
"body": "abc123",
"authorID": 4,
"recipientID": 4,
"author": User,
"recipient": User
}
]
}
}
groups
Description
Get all groups for a user.
Example
Query
query Groups($userID: ID!) {
groups(userID: $userID) {
id
name
members {
id
openID
email
picURL
createdAt
firstName
lastName
middleName
isAdmin
isActive
biography
phoneNumber
dob
social {
...SocialFragment
}
plan {
...PlanOfStudyFragment
}
tokens
feedback {
...SectionFeedbackFragment
}
assignmentGraded {
...AssignmentResultFragment
}
instructorProfile {
...InstructorProfileFragment
}
watchedThreads {
...ThreadFragment
}
watchedThreadIDs
createdThreads {
...ThreadFragment
}
}
public
messages {
id
createdAt
updatedAt
body
authorID
recipientID
author {
...UserFragment
}
recipient {
... on User {
...UserFragment
}
... on Group {
...GroupFragment
}
}
}
}
}
Variables
{"userID": "4"}
Response
{
"data": {
"groups": [
{
"id": "4",
"name": "abc123",
"members": [User],
"public": false,
"messages": [DirectMessageResponse]
}
]
}
}
instructorProfile
Description
Query that fetches instructor Profile based on id
Response
Returns an InstructorProfile
Arguments
Name | Description |
---|---|
id - ID!
|
Example
Query
query InstructorProfile($id: ID!) {
instructorProfile(id: $id) {
id
account {
id
openID
email
picURL
createdAt
firstName
lastName
middleName
isAdmin
isActive
biography
phoneNumber
dob
social {
...SocialFragment
}
plan {
...PlanOfStudyFragment
}
tokens
feedback {
...SectionFeedbackFragment
}
assignmentGraded {
...AssignmentResultFragment
}
instructorProfile {
...InstructorProfileFragment
}
watchedThreads {
...ThreadFragment
}
watchedThreadIDs
createdThreads {
...ThreadFragment
}
}
title
officeLocation
officeHours
contactPolicy
background
researchInterest
selectedPapersAndPublications
}
}
Variables
{"id": "4"}
Response
{
"data": {
"instructorProfile": {
"id": "4",
"account": User,
"title": "abc123",
"officeLocation": "xyz789",
"officeHours": ["abc123"],
"contactPolicy": "xyz789",
"background": "xyz789",
"researchInterest": ["abc123"],
"selectedPapersAndPublications": [
"xyz789"
]
}
}
}
latestModuleProgress
Response
Returns a ModuleProgress
Example
Query
query LatestModuleProgress(
$planID: ID!,
$sectionID: ID!,
$moduleID: ID!
) {
latestModuleProgress(
planID: $planID,
sectionID: $sectionID,
moduleID: $moduleID
) {
id
status
completed
createdAt
updatedAt
enrollment {
id
enrolledAt
role
status
section {
...SectionFragment
}
plan {
...PlanOfStudyFragment
}
inactivePlan {
...PlanOfStudyFragment
}
progress {
...ProgressFragment
}
moduleProgress {
...ModuleProgressFragment
}
}
module {
id
prefix
number
name
content {
...ContentFragment
}
threads {
...ThreadFragment
}
collections {
...CollectionFragment
}
collectionIDs
position
quizzes {
...QuizFragment
}
moduleProgress {
...ModuleProgressFragment
}
objectives
keywords
hours
description
instructor {
...InstructorProfileFragment
}
instructorID
}
}
}
Variables
{
"planID": 4,
"sectionID": 4,
"moduleID": "4"
}
Response
{
"data": {
"latestModuleProgress": {
"id": "4",
"status": 123.45,
"completed": false,
"createdAt": "2007-12-03",
"updatedAt": "2007-12-03",
"enrollment": SectionEnrollment,
"module": Module
}
}
}
learningPath
Description
Retrieve a sepcific learning path based on the user's plan of study ID
Response
Returns [LearningPath!]!
Example
Query
query LearningPath(
$planID: ID!,
$pathID: ID
) {
learningPath(
planID: $planID,
pathID: $pathID
) {
id
createdAt
plan {
id
student {
...UserFragment
}
sections {
...SectionEnrollmentFragment
}
assignmentResults {
...AssignmentResultFragment
}
sectionsLeft {
...SectionEnrollmentFragment
}
quizResults {
...QuizResultFragment
}
}
planID
paths {
id
createdAt
updatedAt
course {
...CoursePathFragment
}
status
hoursSatisfies
learningOutcomes
}
}
}
Variables
{"planID": 4, "pathID": 4}
Response
{
"data": {
"learningPath": [
{
"id": "4",
"createdAt": "2007-12-03",
"plan": PlanOfStudy,
"planID": "4",
"paths": [Path]
}
]
}
}
module
Description
Retrieve modules given a set of parameters
Response
Returns [Module!]
Arguments
Name | Description |
---|---|
input - ModuleFields
|
Example
Query
query Module($input: ModuleFields) {
module(input: $input) {
id
prefix
number
name
content {
id
type
link
parent {
...ModuleFragment
}
primary
}
threads {
id
title
author {
...UserFragment
}
body
comments {
...ThreadFragment
}
topics
upvotes {
...UserFragment
}
usersWatching {
...UserFragment
}
createdAt
updatedAt
parentThread {
...ThreadFragment
}
parentThreadID
}
collections {
id
name
createdAt
updatedAt
modules {
...ModuleFragment
}
moduleIDs
section {
...SectionFragment
}
sectionID
position
}
collectionIDs
position
quizzes {
id
totalPoints
instructions
dueAt
timeLimit
numQuestions
minScore
parentModule {
...ModuleFragment
}
questionPool {
...QuestionFragment
}
instances {
...QuizInstanceFragment
}
}
moduleProgress {
id
status
completed
createdAt
updatedAt
enrollment {
...SectionEnrollmentFragment
}
module {
...ModuleFragment
}
}
objectives
keywords
hours
description
instructor {
id
account {
...UserFragment
}
title
officeLocation
officeHours
contactPolicy
background
researchInterest
selectedPapersAndPublications
}
instructorID
}
}
Variables
{"input": ModuleFields}
Response
{
"data": {
"module": [
{
"id": 4,
"prefix": "xyz789",
"number": 123,
"name": "xyz789",
"content": [Content],
"threads": [Thread],
"collections": [Collection],
"collectionIDs": ["4"],
"position": 123,
"quizzes": [Quiz],
"moduleProgress": [ModuleProgress],
"objectives": ["xyz789"],
"keywords": ["abc123"],
"hours": 987.65,
"description": "abc123",
"instructor": InstructorProfile,
"instructorID": 4
}
]
}
}
moduleFlowFromLearningPath
Response
Returns a ModuleFlow
Example
Query
query ModuleFlowFromLearningPath(
$planID: ID!,
$moduleID: ID!
) {
moduleFlowFromLearningPath(
planID: $planID,
moduleID: $moduleID
) {
previousModule {
id
prefix
number
name
content {
...ContentFragment
}
threads {
...ThreadFragment
}
collections {
...CollectionFragment
}
collectionIDs
position
quizzes {
...QuizFragment
}
moduleProgress {
...ModuleProgressFragment
}
objectives
keywords
hours
description
instructor {
...InstructorProfileFragment
}
instructorID
}
previousCollection {
id
name
createdAt
updatedAt
modules {
...ModuleFragment
}
moduleIDs
section {
...SectionFragment
}
sectionID
position
}
nextModule {
id
prefix
number
name
content {
...ContentFragment
}
threads {
...ThreadFragment
}
collections {
...CollectionFragment
}
collectionIDs
position
quizzes {
...QuizFragment
}
moduleProgress {
...ModuleProgressFragment
}
objectives
keywords
hours
description
instructor {
...InstructorProfileFragment
}
instructorID
}
nextCollection {
id
name
createdAt
updatedAt
modules {
...ModuleFragment
}
moduleIDs
section {
...SectionFragment
}
sectionID
position
}
currentModule {
id
prefix
number
name
content {
...ContentFragment
}
threads {
...ThreadFragment
}
collections {
...CollectionFragment
}
collectionIDs
position
quizzes {
...QuizFragment
}
moduleProgress {
...ModuleProgressFragment
}
objectives
keywords
hours
description
instructor {
...InstructorProfileFragment
}
instructorID
}
currentCollection {
id
name
createdAt
updatedAt
modules {
...ModuleFragment
}
moduleIDs
section {
...SectionFragment
}
sectionID
position
}
currentSection {
id
sectionNumber
sectionName
description
duration
intro
numSlides
keywords
objectives
createdAt
updatedAt
assignments {
...AssignmentFragment
}
members {
...SectionEnrollmentFragment
}
feedback {
...SectionFeedbackFragment
}
parentSections {
...SectionFragment
}
subSections {
...SectionFragment
}
collections {
...CollectionFragment
}
courseIDs
}
}
}
Variables
{"planID": 4, "moduleID": "4"}
Response
{
"data": {
"moduleFlowFromLearningPath": {
"previousModule": Module,
"previousCollection": Collection,
"nextModule": Module,
"nextCollection": Collection,
"currentModule": Module,
"currentCollection": Collection,
"currentSection": Section
}
}
}
modulesBySectionEnrollment
Description
Get a list of modules given the plan ID and enrollment ID
Example
Query
query ModulesBySectionEnrollment(
$planID: ID!,
$sectionID: ID!
) {
modulesBySectionEnrollment(
planID: $planID,
sectionID: $sectionID
) {
id
prefix
number
name
content {
id
type
link
parent {
...ModuleFragment
}
primary
}
threads {
id
title
author {
...UserFragment
}
body
comments {
...ThreadFragment
}
topics
upvotes {
...UserFragment
}
usersWatching {
...UserFragment
}
createdAt
updatedAt
parentThread {
...ThreadFragment
}
parentThreadID
}
collections {
id
name
createdAt
updatedAt
modules {
...ModuleFragment
}
moduleIDs
section {
...SectionFragment
}
sectionID
position
}
collectionIDs
position
quizzes {
id
totalPoints
instructions
dueAt
timeLimit
numQuestions
minScore
parentModule {
...ModuleFragment
}
questionPool {
...QuestionFragment
}
instances {
...QuizInstanceFragment
}
}
moduleProgress {
id
status
completed
createdAt
updatedAt
enrollment {
...SectionEnrollmentFragment
}
module {
...ModuleFragment
}
}
objectives
keywords
hours
description
instructor {
id
account {
...UserFragment
}
title
officeLocation
officeHours
contactPolicy
background
researchInterest
selectedPapersAndPublications
}
instructorID
}
}
Variables
{"planID": "4", "sectionID": 4}
Response
{
"data": {
"modulesBySectionEnrollment": [
{
"id": "4",
"prefix": "abc123",
"number": 987,
"name": "abc123",
"content": [Content],
"threads": [Thread],
"collections": [Collection],
"collectionIDs": ["4"],
"position": 123,
"quizzes": [Quiz],
"moduleProgress": [ModuleProgress],
"objectives": ["abc123"],
"keywords": ["abc123"],
"hours": 123.45,
"description": "xyz789",
"instructor": InstructorProfile,
"instructorID": 4
}
]
}
}
modulesFromLearningPath
Example
Query
query ModulesFromLearningPath($planID: ID!) {
modulesFromLearningPath(planID: $planID) {
id
prefix
number
name
content {
id
type
link
parent {
...ModuleFragment
}
primary
}
threads {
id
title
author {
...UserFragment
}
body
comments {
...ThreadFragment
}
topics
upvotes {
...UserFragment
}
usersWatching {
...UserFragment
}
createdAt
updatedAt
parentThread {
...ThreadFragment
}
parentThreadID
}
collections {
id
name
createdAt
updatedAt
modules {
...ModuleFragment
}
moduleIDs
section {
...SectionFragment
}
sectionID
position
}
collectionIDs
position
quizzes {
id
totalPoints
instructions
dueAt
timeLimit
numQuestions
minScore
parentModule {
...ModuleFragment
}
questionPool {
...QuestionFragment
}
instances {
...QuizInstanceFragment
}
}
moduleProgress {
id
status
completed
createdAt
updatedAt
enrollment {
...SectionEnrollmentFragment
}
module {
...ModuleFragment
}
}
objectives
keywords
hours
description
instructor {
id
account {
...UserFragment
}
title
officeLocation
officeHours
contactPolicy
background
researchInterest
selectedPapersAndPublications
}
instructorID
}
}
Variables
{"planID": 4}
Response
{
"data": {
"modulesFromLearningPath": [
{
"id": "4",
"prefix": "abc123",
"number": 987,
"name": "abc123",
"content": [Content],
"threads": [Thread],
"collections": [Collection],
"collectionIDs": [4],
"position": 987,
"quizzes": [Quiz],
"moduleProgress": [ModuleProgress],
"objectives": ["xyz789"],
"keywords": ["xyz789"],
"hours": 123.45,
"description": "abc123",
"instructor": InstructorProfile,
"instructorID": "4"
}
]
}
}
plan
Description
student PlanOfStudy by id
Response
Returns a PlanOfStudy
Arguments
Name | Description |
---|---|
studentID - ID!
|
Example
Query
query Plan($studentID: ID!) {
plan(studentID: $studentID) {
id
student {
id
openID
email
picURL
createdAt
firstName
lastName
middleName
isAdmin
isActive
biography
phoneNumber
dob
social {
...SocialFragment
}
plan {
...PlanOfStudyFragment
}
tokens
feedback {
...SectionFeedbackFragment
}
assignmentGraded {
...AssignmentResultFragment
}
instructorProfile {
...InstructorProfileFragment
}
watchedThreads {
...ThreadFragment
}
watchedThreadIDs
createdThreads {
...ThreadFragment
}
}
sections {
id
enrolledAt
role
status
section {
...SectionFragment
}
plan {
...PlanOfStudyFragment
}
inactivePlan {
...PlanOfStudyFragment
}
progress {
...ProgressFragment
}
moduleProgress {
...ModuleProgressFragment
}
}
assignmentResults {
id
submittedAt
result
feedback
submissionURL
fileType
student {
...PlanOfStudyFragment
}
gradedBy {
...UserFragment
}
assignment {
...AssignmentFragment
}
}
sectionsLeft {
id
enrolledAt
role
status
section {
...SectionFragment
}
plan {
...PlanOfStudyFragment
}
inactivePlan {
...PlanOfStudyFragment
}
progress {
...ProgressFragment
}
moduleProgress {
...ModuleProgressFragment
}
}
quizResults {
id
score
answers
submittedAt
student {
...PlanOfStudyFragment
}
quizInstance {
...QuizInstanceFragment
}
}
}
}
Variables
{"studentID": "4"}
Response
{
"data": {
"plan": {
"id": "4",
"student": User,
"sections": [SectionEnrollment],
"assignmentResults": [AssignmentResult],
"sectionsLeft": [SectionEnrollment],
"quizResults": [QuizResult]
}
}
}
planByID
Description
PlanOfStudy by the Documentid
Response
Returns a PlanOfStudy
Arguments
Name | Description |
---|---|
id - String!
|
Example
Query
query PlanByID($id: String!) {
planByID(id: $id) {
id
student {
id
openID
email
picURL
createdAt
firstName
lastName
middleName
isAdmin
isActive
biography
phoneNumber
dob
social {
...SocialFragment
}
plan {
...PlanOfStudyFragment
}
tokens
feedback {
...SectionFeedbackFragment
}
assignmentGraded {
...AssignmentResultFragment
}
instructorProfile {
...InstructorProfileFragment
}
watchedThreads {
...ThreadFragment
}
watchedThreadIDs
createdThreads {
...ThreadFragment
}
}
sections {
id
enrolledAt
role
status
section {
...SectionFragment
}
plan {
...PlanOfStudyFragment
}
inactivePlan {
...PlanOfStudyFragment
}
progress {
...ProgressFragment
}
moduleProgress {
...ModuleProgressFragment
}
}
assignmentResults {
id
submittedAt
result
feedback
submissionURL
fileType
student {
...PlanOfStudyFragment
}
gradedBy {
...UserFragment
}
assignment {
...AssignmentFragment
}
}
sectionsLeft {
id
enrolledAt
role
status
section {
...SectionFragment
}
plan {
...PlanOfStudyFragment
}
inactivePlan {
...PlanOfStudyFragment
}
progress {
...ProgressFragment
}
moduleProgress {
...ModuleProgressFragment
}
}
quizResults {
id
score
answers
submittedAt
student {
...PlanOfStudyFragment
}
quizInstance {
...QuizInstanceFragment
}
}
}
}
Variables
{"id": "xyz789"}
Response
{
"data": {
"planByID": {
"id": "4",
"student": User,
"sections": [SectionEnrollment],
"assignmentResults": [AssignmentResult],
"sectionsLeft": [SectionEnrollment],
"quizResults": [QuizResult]
}
}
}
planByParams
Response
Returns [PlanOfStudy!]
Arguments
Name | Description |
---|---|
input - PlanFields
|
Example
Query
query PlanByParams($input: PlanFields) {
planByParams(input: $input) {
id
student {
id
openID
email
picURL
createdAt
firstName
lastName
middleName
isAdmin
isActive
biography
phoneNumber
dob
social {
...SocialFragment
}
plan {
...PlanOfStudyFragment
}
tokens
feedback {
...SectionFeedbackFragment
}
assignmentGraded {
...AssignmentResultFragment
}
instructorProfile {
...InstructorProfileFragment
}
watchedThreads {
...ThreadFragment
}
watchedThreadIDs
createdThreads {
...ThreadFragment
}
}
sections {
id
enrolledAt
role
status
section {
...SectionFragment
}
plan {
...PlanOfStudyFragment
}
inactivePlan {
...PlanOfStudyFragment
}
progress {
...ProgressFragment
}
moduleProgress {
...ModuleProgressFragment
}
}
assignmentResults {
id
submittedAt
result
feedback
submissionURL
fileType
student {
...PlanOfStudyFragment
}
gradedBy {
...UserFragment
}
assignment {
...AssignmentFragment
}
}
sectionsLeft {
id
enrolledAt
role
status
section {
...SectionFragment
}
plan {
...PlanOfStudyFragment
}
inactivePlan {
...PlanOfStudyFragment
}
progress {
...ProgressFragment
}
moduleProgress {
...ModuleProgressFragment
}
}
quizResults {
id
score
answers
submittedAt
student {
...PlanOfStudyFragment
}
quizInstance {
...QuizInstanceFragment
}
}
}
}
Variables
{"input": PlanFields}
Response
{
"data": {
"planByParams": [
{
"id": "4",
"student": User,
"sections": [SectionEnrollment],
"assignmentResults": [AssignmentResult],
"sectionsLeft": [SectionEnrollment],
"quizResults": [QuizResult]
}
]
}
}
plans
Description
All the plans in the PlanOfStudy
Response
Returns [PlanOfStudy!]
Example
Query
query Plans {
plans {
id
student {
id
openID
email
picURL
createdAt
firstName
lastName
middleName
isAdmin
isActive
biography
phoneNumber
dob
social {
...SocialFragment
}
plan {
...PlanOfStudyFragment
}
tokens
feedback {
...SectionFeedbackFragment
}
assignmentGraded {
...AssignmentResultFragment
}
instructorProfile {
...InstructorProfileFragment
}
watchedThreads {
...ThreadFragment
}
watchedThreadIDs
createdThreads {
...ThreadFragment
}
}
sections {
id
enrolledAt
role
status
section {
...SectionFragment
}
plan {
...PlanOfStudyFragment
}
inactivePlan {
...PlanOfStudyFragment
}
progress {
...ProgressFragment
}
moduleProgress {
...ModuleProgressFragment
}
}
assignmentResults {
id
submittedAt
result
feedback
submissionURL
fileType
student {
...PlanOfStudyFragment
}
gradedBy {
...UserFragment
}
assignment {
...AssignmentFragment
}
}
sectionsLeft {
id
enrolledAt
role
status
section {
...SectionFragment
}
plan {
...PlanOfStudyFragment
}
inactivePlan {
...PlanOfStudyFragment
}
progress {
...ProgressFragment
}
moduleProgress {
...ModuleProgressFragment
}
}
quizResults {
id
score
answers
submittedAt
student {
...PlanOfStudyFragment
}
quizInstance {
...QuizInstanceFragment
}
}
}
}
Response
{
"data": {
"plans": [
{
"id": "4",
"student": User,
"sections": [SectionEnrollment],
"assignmentResults": [AssignmentResult],
"sectionsLeft": [SectionEnrollment],
"quizResults": [QuizResult]
}
]
}
}
progress
Description
Get a progress document by the given parameters. If no parameters are given, all progress documents will be returned. If the ID or enrollmentID is given, the other parameters will be ignored, and the returned document is always unique.
Response
Returns [Progress]!
Arguments
Name | Description |
---|---|
args - ProgressArgs!
|
The database defined ID of the progress document |
Example
Query
query Progress($args: ProgressArgs!) {
progress(args: $args) {
id
status
completed
createdAt
updatedAt
enrollment {
id
enrolledAt
role
status
section {
...SectionFragment
}
plan {
...PlanOfStudyFragment
}
inactivePlan {
...PlanOfStudyFragment
}
progress {
...ProgressFragment
}
moduleProgress {
...ModuleProgressFragment
}
}
}
}
Variables
{"args": ProgressArgs}
Response
{
"data": {
"progress": [
{
"id": "4",
"status": 123.45,
"completed": false,
"createdAt": "2007-12-03",
"updatedAt": "2007-12-03",
"enrollment": SectionEnrollment
}
]
}
}
question
Description
Fetch a Question by any of its parameters. An empty object as the input parameter will return all Questions, an ID will retrieve an array with just a single Question. If a only a pool ID is provided than all questions in that pool will be returned. If a combination of parameters are used then only documents that match all the parameters will be included in the array.
Response
Returns [Question!]!
Arguments
Name | Description |
---|---|
args - QuestionFields!
|
Example
Query
query Question($args: QuestionFields!) {
question(args: $args) {
id
number
variant
text
points
answers {
id
text
correct
weight
index
parentQuestion {
...QuestionFragment
}
}
parent {
id
totalPoints
instructions
dueAt
timeLimit
numQuestions
minScore
parentModule {
...ModuleFragment
}
questionPool {
...QuestionFragment
}
instances {
...QuizInstanceFragment
}
}
instances {
id
quiz {
...QuizFragment
}
questions {
...QuestionFragment
}
quizResult {
...QuizResultFragment
}
}
}
}
Variables
{"args": QuestionFields}
Response
{
"data": {
"question": [
{
"id": "4",
"number": 987,
"variant": 987,
"text": "abc123",
"points": 123.45,
"answers": [Answer],
"parent": Quiz,
"instances": [QuizInstance]
}
]
}
}
quiz
Description
Fetch a Quiz by any of its parameters. an empty object will return all quizzes and a single id will return a single quiz
Response
Returns [Quiz!]!
Arguments
Name | Description |
---|---|
args - QuizFields!
|
Example
Query
query Quiz($args: QuizFields!) {
quiz(args: $args) {
id
totalPoints
instructions
dueAt
timeLimit
numQuestions
minScore
parentModule {
id
prefix
number
name
content {
...ContentFragment
}
threads {
...ThreadFragment
}
collections {
...CollectionFragment
}
collectionIDs
position
quizzes {
...QuizFragment
}
moduleProgress {
...ModuleProgressFragment
}
objectives
keywords
hours
description
instructor {
...InstructorProfileFragment
}
instructorID
}
questionPool {
id
number
variant
text
points
answers {
...AnswerFragment
}
parent {
...QuizFragment
}
instances {
...QuizInstanceFragment
}
}
instances {
id
quiz {
...QuizFragment
}
questions {
...QuestionFragment
}
quizResult {
...QuizResultFragment
}
}
}
}
Variables
{"args": QuizFields}
Response
{
"data": {
"quiz": [
{
"id": 4,
"totalPoints": 123.45,
"instructions": "xyz789",
"dueAt": "2007-12-03",
"timeLimit": 123,
"numQuestions": 987,
"minScore": 123.45,
"parentModule": Module,
"questionPool": [Question],
"instances": [QuizInstance]
}
]
}
}
quizInstance
Description
Fetch a single or multiple instances of a quiz by any of its paramters. An empty object will return all instances. Giving only this parent quiz id will give all instances of a particular quiz.
Response
Returns [QuizInstance!]!
Arguments
Name | Description |
---|---|
args - QuizInstanceFields!
|
Example
Query
query QuizInstance($args: QuizInstanceFields!) {
quizInstance(args: $args) {
id
quiz {
id
totalPoints
instructions
dueAt
timeLimit
numQuestions
minScore
parentModule {
...ModuleFragment
}
questionPool {
...QuestionFragment
}
instances {
...QuizInstanceFragment
}
}
questions {
id
number
variant
text
points
answers {
...AnswerFragment
}
parent {
...QuizFragment
}
instances {
...QuizInstanceFragment
}
}
quizResult {
id
score
answers
submittedAt
student {
...PlanOfStudyFragment
}
quizInstance {
...QuizInstanceFragment
}
}
}
}
Variables
{"args": QuizInstanceFields}
Response
{
"data": {
"quizInstance": [
{
"id": "4",
"quiz": Quiz,
"questions": [Question],
"quizResult": QuizResult
}
]
}
}
quizResult
Description
Fetch a quiz result by any of its parameters. An empty object as the input parameter will get all records. If just a quiz ID is provided than all results for that quiz will be shown. If just a planID is given then just that users results will be shown. If combinations of parameters are used then only records that match all parameters will be returned.
Response
Returns [QuizResult!]!
Arguments
Name | Description |
---|---|
args - QuizResultFields!
|
Example
Query
query QuizResult($args: QuizResultFields!) {
quizResult(args: $args) {
id
score
answers
submittedAt
student {
id
student {
...UserFragment
}
sections {
...SectionEnrollmentFragment
}
assignmentResults {
...AssignmentResultFragment
}
sectionsLeft {
...SectionEnrollmentFragment
}
quizResults {
...QuizResultFragment
}
}
quizInstance {
id
quiz {
...QuizFragment
}
questions {
...QuestionFragment
}
quizResult {
...QuizResultFragment
}
}
}
}
Variables
{"args": QuizResultFields}
Response
{
"data": {
"quizResult": [
{
"id": "xyz789",
"score": 987.65,
"answers": ["abc123"],
"submittedAt": "2007-12-03",
"student": PlanOfStudy,
"quizInstance": QuizInstance
}
]
}
}
refresh
section
Description
Get a list of Sections given a set of parameters, passing an empty object in will recieve all and passing in an id will fetch a single document. Parameters can be any of the fields that exist in a Section An additional parameter: memberRole, can be provided to specify that Section members should only be selected if they have said role.
Response
Returns [Section!]
Arguments
Name | Description |
---|---|
input - SectionFields!
|
|
memberRole - UserRole
|
Example
Query
query Section(
$input: SectionFields!,
$memberRole: UserRole
) {
section(
input: $input,
memberRole: $memberRole
) {
id
sectionNumber
sectionName
description
duration
intro
numSlides
keywords
objectives
createdAt
updatedAt
assignments {
id
updatedAt
name
dueAt
contentURL
contentType
acceptedTypes
section {
...SectionFragment
}
assignmentResults {
...AssignmentResultFragment
}
}
members {
id
enrolledAt
role
status
section {
...SectionFragment
}
plan {
...PlanOfStudyFragment
}
inactivePlan {
...PlanOfStudyFragment
}
progress {
...ProgressFragment
}
moduleProgress {
...ModuleProgressFragment
}
}
feedback {
id
feedback
rating
student {
...UserFragment
}
section {
...SectionFragment
}
}
parentSections {
id
sectionNumber
sectionName
description
duration
intro
numSlides
keywords
objectives
createdAt
updatedAt
assignments {
...AssignmentFragment
}
members {
...SectionEnrollmentFragment
}
feedback {
...SectionFeedbackFragment
}
parentSections {
...SectionFragment
}
subSections {
...SectionFragment
}
collections {
...CollectionFragment
}
courseIDs
}
subSections {
id
sectionNumber
sectionName
description
duration
intro
numSlides
keywords
objectives
createdAt
updatedAt
assignments {
...AssignmentFragment
}
members {
...SectionEnrollmentFragment
}
feedback {
...SectionFeedbackFragment
}
parentSections {
...SectionFragment
}
subSections {
...SectionFragment
}
collections {
...CollectionFragment
}
courseIDs
}
collections {
id
name
createdAt
updatedAt
modules {
...ModuleFragment
}
moduleIDs
section {
...SectionFragment
}
sectionID
position
}
courseIDs
}
}
Variables
{"input": SectionFields, "memberRole": "STUDENT"}
Response
{
"data": {
"section": [
{
"id": 4,
"sectionNumber": 987,
"sectionName": "xyz789",
"description": "abc123",
"duration": 123.45,
"intro": "abc123",
"numSlides": 987,
"keywords": ["xyz789"],
"objectives": ["xyz789"],
"createdAt": "2007-12-03",
"updatedAt": "2007-12-03",
"assignments": [Assignment],
"members": [SectionEnrollment],
"feedback": [SectionFeedback],
"parentSections": [Section],
"subSections": [Section],
"collections": [Collection],
"courseIDs": ["4"]
}
]
}
}
sectionEnrollment
Description
Get a list of SectionEnrollments given a set of parameters, passing an empty object in will recieve all and passing in an id will fetch a single document. Parameters can be any of the fields that exist in a SectionEnrollment
Response
Returns [SectionEnrollment!]
Arguments
Name | Description |
---|---|
input - ModEnrollmentFields!
|
Example
Query
query SectionEnrollment($input: ModEnrollmentFields!) {
sectionEnrollment(input: $input) {
id
enrolledAt
role
status
section {
id
sectionNumber
sectionName
description
duration
intro
numSlides
keywords
objectives
createdAt
updatedAt
assignments {
...AssignmentFragment
}
members {
...SectionEnrollmentFragment
}
feedback {
...SectionFeedbackFragment
}
parentSections {
...SectionFragment
}
subSections {
...SectionFragment
}
collections {
...CollectionFragment
}
courseIDs
}
plan {
id
student {
...UserFragment
}
sections {
...SectionEnrollmentFragment
}
assignmentResults {
...AssignmentResultFragment
}
sectionsLeft {
...SectionEnrollmentFragment
}
quizResults {
...QuizResultFragment
}
}
inactivePlan {
id
student {
...UserFragment
}
sections {
...SectionEnrollmentFragment
}
assignmentResults {
...AssignmentResultFragment
}
sectionsLeft {
...SectionEnrollmentFragment
}
quizResults {
...QuizResultFragment
}
}
progress {
id
status
completed
createdAt
updatedAt
enrollment {
...SectionEnrollmentFragment
}
}
moduleProgress {
id
status
completed
createdAt
updatedAt
enrollment {
...SectionEnrollmentFragment
}
module {
...ModuleFragment
}
}
}
}
Variables
{"input": ModEnrollmentFields}
Response
{
"data": {
"sectionEnrollment": [
{
"id": 4,
"enrolledAt": "2007-12-03",
"role": "STUDENT",
"status": "ACTIVE",
"section": Section,
"plan": PlanOfStudy,
"inactivePlan": PlanOfStudy,
"progress": Progress,
"moduleProgress": [ModuleProgress]
}
]
}
}
sectionFeedback
Description
Get a list of SectionFeedbacks given a set of parameters, passing an empty object in will recieve all and passing in an id will fetch a single document. Parameters can be any of the fields that exist in a SectionFeedback
Response
Returns [SectionFeedback!]
Arguments
Name | Description |
---|---|
input - ModFeedbackFields!
|
Example
Query
query SectionFeedback($input: ModFeedbackFields!) {
sectionFeedback(input: $input) {
id
feedback
rating
student {
id
openID
email
picURL
createdAt
firstName
lastName
middleName
isAdmin
isActive
biography
phoneNumber
dob
social {
...SocialFragment
}
plan {
...PlanOfStudyFragment
}
tokens
feedback {
...SectionFeedbackFragment
}
assignmentGraded {
...AssignmentResultFragment
}
instructorProfile {
...InstructorProfileFragment
}
watchedThreads {
...ThreadFragment
}
watchedThreadIDs
createdThreads {
...ThreadFragment
}
}
section {
id
sectionNumber
sectionName
description
duration
intro
numSlides
keywords
objectives
createdAt
updatedAt
assignments {
...AssignmentFragment
}
members {
...SectionEnrollmentFragment
}
feedback {
...SectionFeedbackFragment
}
parentSections {
...SectionFragment
}
subSections {
...SectionFragment
}
collections {
...CollectionFragment
}
courseIDs
}
}
}
Variables
{"input": ModFeedbackFields}
Response
{
"data": {
"sectionFeedback": [
{
"id": 4,
"feedback": "xyz789",
"rating": 987,
"student": User,
"section": Section
}
]
}
}
sentMessages
Description
Get all messages sent by a user.
Response
Returns [DirectMessageResponse!]!
Arguments
Name | Description |
---|---|
senderID - ID!
|
Example
Query
query SentMessages($senderID: ID!) {
sentMessages(senderID: $senderID) {
id
createdAt
updatedAt
body
authorID
recipientID
author {
id
openID
email
picURL
createdAt
firstName
lastName
middleName
isAdmin
isActive
biography
phoneNumber
dob
social {
...SocialFragment
}
plan {
...PlanOfStudyFragment
}
tokens
feedback {
...SectionFeedbackFragment
}
assignmentGraded {
...AssignmentResultFragment
}
instructorProfile {
...InstructorProfileFragment
}
watchedThreads {
...ThreadFragment
}
watchedThreadIDs
createdThreads {
...ThreadFragment
}
}
recipient {
... on User {
...UserFragment
}
... on Group {
...GroupFragment
}
}
}
}
Variables
{"senderID": "4"}
Response
{
"data": {
"sentMessages": [
{
"id": 4,
"createdAt": "2007-12-03",
"updatedAt": "2007-12-03",
"body": "xyz789",
"authorID": "4",
"recipientID": 4,
"author": User,
"recipient": User
}
]
}
}
thread
Description
Get a list of threads that match the given parameters. If no parameters are given, all threads are returned. If the id parameter is given, the returned thread is guaranteed to be unique.
Response
Returns [Thread!]!
Arguments
Name | Description |
---|---|
input - IThreadByParams
|
Example
Query
query Thread($input: IThreadByParams) {
thread(input: $input) {
id
title
author {
id
openID
email
picURL
createdAt
firstName
lastName
middleName
isAdmin
isActive
biography
phoneNumber
dob
social {
...SocialFragment
}
plan {
...PlanOfStudyFragment
}
tokens
feedback {
...SectionFeedbackFragment
}
assignmentGraded {
...AssignmentResultFragment
}
instructorProfile {
...InstructorProfileFragment
}
watchedThreads {
...ThreadFragment
}
watchedThreadIDs
createdThreads {
...ThreadFragment
}
}
body
comments {
id
title
author {
...UserFragment
}
body
comments {
...ThreadFragment
}
topics
upvotes {
...UserFragment
}
usersWatching {
...UserFragment
}
createdAt
updatedAt
parentThread {
...ThreadFragment
}
parentThreadID
}
topics
upvotes {
id
openID
email
picURL
createdAt
firstName
lastName
middleName
isAdmin
isActive
biography
phoneNumber
dob
social {
...SocialFragment
}
plan {
...PlanOfStudyFragment
}
tokens
feedback {
...SectionFeedbackFragment
}
assignmentGraded {
...AssignmentResultFragment
}
instructorProfile {
...InstructorProfileFragment
}
watchedThreads {
...ThreadFragment
}
watchedThreadIDs
createdThreads {
...ThreadFragment
}
}
usersWatching {
id
openID
email
picURL
createdAt
firstName
lastName
middleName
isAdmin
isActive
biography
phoneNumber
dob
social {
...SocialFragment
}
plan {
...PlanOfStudyFragment
}
tokens
feedback {
...SectionFeedbackFragment
}
assignmentGraded {
...AssignmentResultFragment
}
instructorProfile {
...InstructorProfileFragment
}
watchedThreads {
...ThreadFragment
}
watchedThreadIDs
createdThreads {
...ThreadFragment
}
}
createdAt
updatedAt
parentThread {
id
title
author {
...UserFragment
}
body
comments {
...ThreadFragment
}
topics
upvotes {
...UserFragment
}
usersWatching {
...UserFragment
}
createdAt
updatedAt
parentThread {
...ThreadFragment
}
parentThreadID
}
parentThreadID
}
}
Variables
{"input": IThreadByParams}
Response
{
"data": {
"thread": [
{
"id": "4",
"title": "abc123",
"author": User,
"body": "xyz789",
"comments": [Thread],
"topics": ["xyz789"],
"upvotes": [User],
"usersWatching": [User],
"createdAt": "2007-12-03",
"updatedAt": "2007-12-03",
"parentThread": Thread,
"parentThreadID": "4"
}
]
}
}
user
Description
Query that fetches User based on the passed in parameters. If openID or id fields are set in the input, the returned user is guaranteed to be unique. If no params are provided, all users are returned
Response
Returns [User!]!
Arguments
Name | Description |
---|---|
input - UserFields
|
Example
Query
query User($input: UserFields) {
user(input: $input) {
id
openID
email
picURL
createdAt
firstName
lastName
middleName
isAdmin
isActive
biography
phoneNumber
dob
social {
id
twitter
github
linkedin
facebook
portfolio
account {
...UserFragment
}
}
plan {
id
student {
...UserFragment
}
sections {
...SectionEnrollmentFragment
}
assignmentResults {
...AssignmentResultFragment
}
sectionsLeft {
...SectionEnrollmentFragment
}
quizResults {
...QuizResultFragment
}
}
tokens
feedback {
id
feedback
rating
student {
...UserFragment
}
section {
...SectionFragment
}
}
assignmentGraded {
id
submittedAt
result
feedback
submissionURL
fileType
student {
...PlanOfStudyFragment
}
gradedBy {
...UserFragment
}
assignment {
...AssignmentFragment
}
}
instructorProfile {
id
account {
...UserFragment
}
title
officeLocation
officeHours
contactPolicy
background
researchInterest
selectedPapersAndPublications
}
watchedThreads {
id
title
author {
...UserFragment
}
body
comments {
...ThreadFragment
}
topics
upvotes {
...UserFragment
}
usersWatching {
...UserFragment
}
createdAt
updatedAt
parentThread {
...ThreadFragment
}
parentThreadID
}
watchedThreadIDs
createdThreads {
id
title
author {
...UserFragment
}
body
comments {
...ThreadFragment
}
topics
upvotes {
...UserFragment
}
usersWatching {
...UserFragment
}
createdAt
updatedAt
parentThread {
...ThreadFragment
}
parentThreadID
}
}
}
Variables
{"input": UserFields}
Response
{
"data": {
"user": [
{
"id": 4,
"openID": "4",
"email": "xyz789",
"picURL": "xyz789",
"createdAt": "2007-12-03",
"firstName": "xyz789",
"lastName": "xyz789",
"middleName": "xyz789",
"isAdmin": true,
"isActive": true,
"biography": "xyz789",
"phoneNumber": "abc123",
"dob": "2007-12-03",
"social": Social,
"plan": PlanOfStudy,
"tokens": ["4"],
"feedback": [SectionFeedback],
"assignmentGraded": [AssignmentResult],
"instructorProfile": InstructorProfile,
"watchedThreads": [Thread],
"watchedThreadIDs": ["4"],
"createdThreads": [Thread]
}
]
}
}
Mutations
addAssignment
Description
adds assignement in Section
Response
Returns an Assignment!
Arguments
Name | Description |
---|---|
input - NewAssignment
|
Example
Query
mutation AddAssignment($input: NewAssignment) {
addAssignment(input: $input) {
id
updatedAt
name
dueAt
contentURL
contentType
acceptedTypes
section {
id
sectionNumber
sectionName
description
duration
intro
numSlides
keywords
objectives
createdAt
updatedAt
assignments {
...AssignmentFragment
}
members {
...SectionEnrollmentFragment
}
feedback {
...SectionFeedbackFragment
}
parentSections {
...SectionFragment
}
subSections {
...SectionFragment
}
collections {
...CollectionFragment
}
courseIDs
}
assignmentResults {
id
submittedAt
result
feedback
submissionURL
fileType
student {
...PlanOfStudyFragment
}
gradedBy {
...UserFragment
}
assignment {
...AssignmentFragment
}
}
}
}
Variables
{"input": NewAssignment}
Response
{
"data": {
"addAssignment": {
"id": "4",
"updatedAt": "2007-12-03",
"name": "abc123",
"dueAt": "2007-12-03",
"contentURL": "xyz789",
"contentType": "abc123",
"acceptedTypes": "DOCX",
"section": Section,
"assignmentResults": [AssignmentResult]
}
}
}
addAssignmentResult
Description
Assignment Result is added
Response
Returns an AssignmentResult!
Arguments
Name | Description |
---|---|
input - NewAssignmentResult
|
Example
Query
mutation AddAssignmentResult($input: NewAssignmentResult) {
addAssignmentResult(input: $input) {
id
submittedAt
result
feedback
submissionURL
fileType
student {
id
student {
...UserFragment
}
sections {
...SectionEnrollmentFragment
}
assignmentResults {
...AssignmentResultFragment
}
sectionsLeft {
...SectionEnrollmentFragment
}
quizResults {
...QuizResultFragment
}
}
gradedBy {
id
openID
email
picURL
createdAt
firstName
lastName
middleName
isAdmin
isActive
biography
phoneNumber
dob
social {
...SocialFragment
}
plan {
...PlanOfStudyFragment
}
tokens
feedback {
...SectionFeedbackFragment
}
assignmentGraded {
...AssignmentResultFragment
}
instructorProfile {
...InstructorProfileFragment
}
watchedThreads {
...ThreadFragment
}
watchedThreadIDs
createdThreads {
...ThreadFragment
}
}
assignment {
id
updatedAt
name
dueAt
contentURL
contentType
acceptedTypes
section {
...SectionFragment
}
assignmentResults {
...AssignmentResultFragment
}
}
}
}
Variables
{"input": NewAssignmentResult}
Response
{
"data": {
"addAssignmentResult": {
"id": 4,
"submittedAt": "2007-12-03",
"result": 123.45,
"feedback": "abc123",
"submissionURL": "abc123",
"fileType": "abc123",
"student": PlanOfStudy,
"gradedBy": User,
"assignment": Assignment
}
}
}
addCommentToThread
Response
Returns a Thread
Arguments
Name | Description |
---|---|
parentThreadID - ID!
|
|
data - ICommentCreateInput!
|
Example
Query
mutation AddCommentToThread(
$parentThreadID: ID!,
$data: ICommentCreateInput!
) {
addCommentToThread(
parentThreadID: $parentThreadID,
data: $data
) {
id
title
author {
id
openID
email
picURL
createdAt
firstName
lastName
middleName
isAdmin
isActive
biography
phoneNumber
dob
social {
...SocialFragment
}
plan {
...PlanOfStudyFragment
}
tokens
feedback {
...SectionFeedbackFragment
}
assignmentGraded {
...AssignmentResultFragment
}
instructorProfile {
...InstructorProfileFragment
}
watchedThreads {
...ThreadFragment
}
watchedThreadIDs
createdThreads {
...ThreadFragment
}
}
body
comments {
id
title
author {
...UserFragment
}
body
comments {
...ThreadFragment
}
topics
upvotes {
...UserFragment
}
usersWatching {
...UserFragment
}
createdAt
updatedAt
parentThread {
...ThreadFragment
}
parentThreadID
}
topics
upvotes {
id
openID
email
picURL
createdAt
firstName
lastName
middleName
isAdmin
isActive
biography
phoneNumber
dob
social {
...SocialFragment
}
plan {
...PlanOfStudyFragment
}
tokens
feedback {
...SectionFeedbackFragment
}
assignmentGraded {
...AssignmentResultFragment
}
instructorProfile {
...InstructorProfileFragment
}
watchedThreads {
...ThreadFragment
}
watchedThreadIDs
createdThreads {
...ThreadFragment
}
}
usersWatching {
id
openID
email
picURL
createdAt
firstName
lastName
middleName
isAdmin
isActive
biography
phoneNumber
dob
social {
...SocialFragment
}
plan {
...PlanOfStudyFragment
}
tokens
feedback {
...SectionFeedbackFragment
}
assignmentGraded {
...AssignmentResultFragment
}
instructorProfile {
...InstructorProfileFragment
}
watchedThreads {
...ThreadFragment
}
watchedThreadIDs
createdThreads {
...ThreadFragment
}
}
createdAt
updatedAt
parentThread {
id
title
author {
...UserFragment
}
body
comments {
...ThreadFragment
}
topics
upvotes {
...UserFragment
}
usersWatching {
...UserFragment
}
createdAt
updatedAt
parentThread {
...ThreadFragment
}
parentThreadID
}
parentThreadID
}
}
Variables
{"parentThreadID": 4, "data": ICommentCreateInput}
Response
{
"data": {
"addCommentToThread": {
"id": "4",
"title": "abc123",
"author": User,
"body": "xyz789",
"comments": [Thread],
"topics": ["xyz789"],
"upvotes": [User],
"usersWatching": [User],
"createdAt": "2007-12-03",
"updatedAt": "2007-12-03",
"parentThread": Thread,
"parentThreadID": 4
}
}
}
addCourse
Description
adds Courses to the database. If many is true, it will add all the courses in the array and if false, the input will still need to be an array but with only one element
Response
Returns a Course!
Arguments
Name | Description |
---|---|
input - [CourseInput!]
|
|
many - Boolean
|
Example
Query
mutation AddCourse(
$input: [CourseInput!],
$many: Boolean
) {
addCourse(
input: $input,
many: $many
) {
id
name
number
prefix
sectionIDs
required
carnegieHours
}
}
Variables
{"input": [CourseInput], "many": true}
Response
{
"data": {
"addCourse": {
"id": "4",
"name": "xyz789",
"number": 123,
"prefix": "xyz789",
"sectionIDs": ["4"],
"required": false,
"carnegieHours": 123
}
}
}
addObjectives
Description
Adds Objectives to a Section while retaining the old ones
Example
Query
mutation AddObjectives(
$id: ID!,
$input: [String!]
) {
addObjectives(
id: $id,
input: $input
) {
id
sectionNumber
sectionName
description
duration
intro
numSlides
keywords
objectives
createdAt
updatedAt
assignments {
id
updatedAt
name
dueAt
contentURL
contentType
acceptedTypes
section {
...SectionFragment
}
assignmentResults {
...AssignmentResultFragment
}
}
members {
id
enrolledAt
role
status
section {
...SectionFragment
}
plan {
...PlanOfStudyFragment
}
inactivePlan {
...PlanOfStudyFragment
}
progress {
...ProgressFragment
}
moduleProgress {
...ModuleProgressFragment
}
}
feedback {
id
feedback
rating
student {
...UserFragment
}
section {
...SectionFragment
}
}
parentSections {
id
sectionNumber
sectionName
description
duration
intro
numSlides
keywords
objectives
createdAt
updatedAt
assignments {
...AssignmentFragment
}
members {
...SectionEnrollmentFragment
}
feedback {
...SectionFeedbackFragment
}
parentSections {
...SectionFragment
}
subSections {
...SectionFragment
}
collections {
...CollectionFragment
}
courseIDs
}
subSections {
id
sectionNumber
sectionName
description
duration
intro
numSlides
keywords
objectives
createdAt
updatedAt
assignments {
...AssignmentFragment
}
members {
...SectionEnrollmentFragment
}
feedback {
...SectionFeedbackFragment
}
parentSections {
...SectionFragment
}
subSections {
...SectionFragment
}
collections {
...CollectionFragment
}
courseIDs
}
collections {
id
name
createdAt
updatedAt
modules {
...ModuleFragment
}
moduleIDs
section {
...SectionFragment
}
sectionID
position
}
courseIDs
}
}
Variables
{
"id": "4",
"input": ["xyz789"]
}
Response
{
"data": {
"addObjectives": {
"id": "4",
"sectionNumber": 987,
"sectionName": "abc123",
"description": "xyz789",
"duration": 123.45,
"intro": "abc123",
"numSlides": 987,
"keywords": ["xyz789"],
"objectives": ["xyz789"],
"createdAt": "2007-12-03",
"updatedAt": "2007-12-03",
"assignments": [Assignment],
"members": [SectionEnrollment],
"feedback": [SectionFeedback],
"parentSections": [Section],
"subSections": [Section],
"collections": [Collection],
"courseIDs": ["4"]
}
}
}
addPlan
Description
Plan added to present PlanOfStudy
Response
Returns a PlanOfStudy!
Arguments
Name | Description |
---|---|
input - PlanInput
|
Example
Query
mutation AddPlan($input: PlanInput) {
addPlan(input: $input) {
id
student {
id
openID
email
picURL
createdAt
firstName
lastName
middleName
isAdmin
isActive
biography
phoneNumber
dob
social {
...SocialFragment
}
plan {
...PlanOfStudyFragment
}
tokens
feedback {
...SectionFeedbackFragment
}
assignmentGraded {
...AssignmentResultFragment
}
instructorProfile {
...InstructorProfileFragment
}
watchedThreads {
...ThreadFragment
}
watchedThreadIDs
createdThreads {
...ThreadFragment
}
}
sections {
id
enrolledAt
role
status
section {
...SectionFragment
}
plan {
...PlanOfStudyFragment
}
inactivePlan {
...PlanOfStudyFragment
}
progress {
...ProgressFragment
}
moduleProgress {
...ModuleProgressFragment
}
}
assignmentResults {
id
submittedAt
result
feedback
submissionURL
fileType
student {
...PlanOfStudyFragment
}
gradedBy {
...UserFragment
}
assignment {
...AssignmentFragment
}
}
sectionsLeft {
id
enrolledAt
role
status
section {
...SectionFragment
}
plan {
...PlanOfStudyFragment
}
inactivePlan {
...PlanOfStudyFragment
}
progress {
...ProgressFragment
}
moduleProgress {
...ModuleProgressFragment
}
}
quizResults {
id
score
answers
submittedAt
student {
...PlanOfStudyFragment
}
quizInstance {
...QuizInstanceFragment
}
}
}
}
Variables
{"input": PlanInput}
Response
{
"data": {
"addPlan": {
"id": "4",
"student": User,
"sections": [SectionEnrollment],
"assignmentResults": [AssignmentResult],
"sectionsLeft": [SectionEnrollment],
"quizResults": [QuizResult]
}
}
}
addSection
Description
Adds an entire Section
Response
Returns a Section!
Arguments
Name | Description |
---|---|
input - NewSection
|
Example
Query
mutation AddSection($input: NewSection) {
addSection(input: $input) {
id
sectionNumber
sectionName
description
duration
intro
numSlides
keywords
objectives
createdAt
updatedAt
assignments {
id
updatedAt
name
dueAt
contentURL
contentType
acceptedTypes
section {
...SectionFragment
}
assignmentResults {
...AssignmentResultFragment
}
}
members {
id
enrolledAt
role
status
section {
...SectionFragment
}
plan {
...PlanOfStudyFragment
}
inactivePlan {
...PlanOfStudyFragment
}
progress {
...ProgressFragment
}
moduleProgress {
...ModuleProgressFragment
}
}
feedback {
id
feedback
rating
student {
...UserFragment
}
section {
...SectionFragment
}
}
parentSections {
id
sectionNumber
sectionName
description
duration
intro
numSlides
keywords
objectives
createdAt
updatedAt
assignments {
...AssignmentFragment
}
members {
...SectionEnrollmentFragment
}
feedback {
...SectionFeedbackFragment
}
parentSections {
...SectionFragment
}
subSections {
...SectionFragment
}
collections {
...CollectionFragment
}
courseIDs
}
subSections {
id
sectionNumber
sectionName
description
duration
intro
numSlides
keywords
objectives
createdAt
updatedAt
assignments {
...AssignmentFragment
}
members {
...SectionEnrollmentFragment
}
feedback {
...SectionFeedbackFragment
}
parentSections {
...SectionFragment
}
subSections {
...SectionFragment
}
collections {
...CollectionFragment
}
courseIDs
}
collections {
id
name
createdAt
updatedAt
modules {
...ModuleFragment
}
moduleIDs
section {
...SectionFragment
}
sectionID
position
}
courseIDs
}
}
Variables
{"input": NewSection}
Response
{
"data": {
"addSection": {
"id": "4",
"sectionNumber": 123,
"sectionName": "xyz789",
"description": "abc123",
"duration": 987.65,
"intro": "xyz789",
"numSlides": 987,
"keywords": ["xyz789"],
"objectives": ["xyz789"],
"createdAt": "2007-12-03",
"updatedAt": "2007-12-03",
"assignments": [Assignment],
"members": [SectionEnrollment],
"feedback": [SectionFeedback],
"parentSections": [Section],
"subSections": [Section],
"collections": [Collection],
"courseIDs": [4]
}
}
}
addSectionEnrollment
Description
Course Section is paired Relating Course ID and Section Id
Response
Returns a SectionEnrollment!
Arguments
Name | Description |
---|---|
input - SectionEnrollmentInput
|
Example
Query
mutation AddSectionEnrollment($input: SectionEnrollmentInput) {
addSectionEnrollment(input: $input) {
id
enrolledAt
role
status
section {
id
sectionNumber
sectionName
description
duration
intro
numSlides
keywords
objectives
createdAt
updatedAt
assignments {
...AssignmentFragment
}
members {
...SectionEnrollmentFragment
}
feedback {
...SectionFeedbackFragment
}
parentSections {
...SectionFragment
}
subSections {
...SectionFragment
}
collections {
...CollectionFragment
}
courseIDs
}
plan {
id
student {
...UserFragment
}
sections {
...SectionEnrollmentFragment
}
assignmentResults {
...AssignmentResultFragment
}
sectionsLeft {
...SectionEnrollmentFragment
}
quizResults {
...QuizResultFragment
}
}
inactivePlan {
id
student {
...UserFragment
}
sections {
...SectionEnrollmentFragment
}
assignmentResults {
...AssignmentResultFragment
}
sectionsLeft {
...SectionEnrollmentFragment
}
quizResults {
...QuizResultFragment
}
}
progress {
id
status
completed
createdAt
updatedAt
enrollment {
...SectionEnrollmentFragment
}
}
moduleProgress {
id
status
completed
createdAt
updatedAt
enrollment {
...SectionEnrollmentFragment
}
module {
...ModuleFragment
}
}
}
}
Variables
{"input": SectionEnrollmentInput}
Response
{
"data": {
"addSectionEnrollment": {
"id": "4",
"enrolledAt": "2007-12-03",
"role": "STUDENT",
"status": "ACTIVE",
"section": Section,
"plan": PlanOfStudy,
"inactivePlan": PlanOfStudy,
"progress": Progress,
"moduleProgress": [ModuleProgress]
}
}
}
addSectionFeedback
Response
Returns a Section
Arguments
Name | Description |
---|---|
sectionId - ID!
|
Section Feedback is given relating to Sectionid |
userId - ID!
|
section Feedback is given relating to Userid |
input - SectionFeedbackInput
|
section Feedback is given relating to Sectionfeedbackinput |
Example
Query
mutation AddSectionFeedback(
$sectionId: ID!,
$userId: ID!,
$input: SectionFeedbackInput
) {
addSectionFeedback(
sectionId: $sectionId,
userId: $userId,
input: $input
) {
id
sectionNumber
sectionName
description
duration
intro
numSlides
keywords
objectives
createdAt
updatedAt
assignments {
id
updatedAt
name
dueAt
contentURL
contentType
acceptedTypes
section {
...SectionFragment
}
assignmentResults {
...AssignmentResultFragment
}
}
members {
id
enrolledAt
role
status
section {
...SectionFragment
}
plan {
...PlanOfStudyFragment
}
inactivePlan {
...PlanOfStudyFragment
}
progress {
...ProgressFragment
}
moduleProgress {
...ModuleProgressFragment
}
}
feedback {
id
feedback
rating
student {
...UserFragment
}
section {
...SectionFragment
}
}
parentSections {
id
sectionNumber
sectionName
description
duration
intro
numSlides
keywords
objectives
createdAt
updatedAt
assignments {
...AssignmentFragment
}
members {
...SectionEnrollmentFragment
}
feedback {
...SectionFeedbackFragment
}
parentSections {
...SectionFragment
}
subSections {
...SectionFragment
}
collections {
...CollectionFragment
}
courseIDs
}
subSections {
id
sectionNumber
sectionName
description
duration
intro
numSlides
keywords
objectives
createdAt
updatedAt
assignments {
...AssignmentFragment
}
members {
...SectionEnrollmentFragment
}
feedback {
...SectionFeedbackFragment
}
parentSections {
...SectionFragment
}
subSections {
...SectionFragment
}
collections {
...CollectionFragment
}
courseIDs
}
collections {
id
name
createdAt
updatedAt
modules {
...ModuleFragment
}
moduleIDs
section {
...SectionFragment
}
sectionID
position
}
courseIDs
}
}
Variables
{
"sectionId": "4",
"userId": "4",
"input": SectionFeedbackInput
}
Response
{
"data": {
"addSectionFeedback": {
"id": "4",
"sectionNumber": 987,
"sectionName": "xyz789",
"description": "abc123",
"duration": 123.45,
"intro": "xyz789",
"numSlides": 987,
"keywords": ["xyz789"],
"objectives": ["xyz789"],
"createdAt": "2007-12-03",
"updatedAt": "2007-12-03",
"assignments": [Assignment],
"members": [SectionEnrollment],
"feedback": [SectionFeedback],
"parentSections": [Section],
"subSections": [Section],
"collections": [Collection],
"courseIDs": ["4"]
}
}
}
addSocial
Description
adds Social to the user
Response
Returns a Social!
Arguments
Name | Description |
---|---|
user - ID!
|
|
input - SocialInput
|
Example
Query
mutation AddSocial(
$user: ID!,
$input: SocialInput
) {
addSocial(
user: $user,
input: $input
) {
id
twitter
github
linkedin
facebook
portfolio
account {
id
openID
email
picURL
createdAt
firstName
lastName
middleName
isAdmin
isActive
biography
phoneNumber
dob
social {
...SocialFragment
}
plan {
...PlanOfStudyFragment
}
tokens
feedback {
...SectionFeedbackFragment
}
assignmentGraded {
...AssignmentResultFragment
}
instructorProfile {
...InstructorProfileFragment
}
watchedThreads {
...ThreadFragment
}
watchedThreadIDs
createdThreads {
...ThreadFragment
}
}
}
}
Variables
{
"user": "4",
"input": SocialInput
}
Response
{
"data": {
"addSocial": {
"id": "4",
"twitter": "abc123",
"github": "xyz789",
"linkedin": "xyz789",
"facebook": "xyz789",
"portfolio": "abc123",
"account": User
}
}
}
addUserAsWatcherToThread
Example
Query
mutation AddUserAsWatcherToThread(
$id: ID!,
$userID: ID!
) {
addUserAsWatcherToThread(
id: $id,
userID: $userID
) {
id
title
author {
id
openID
email
picURL
createdAt
firstName
lastName
middleName
isAdmin
isActive
biography
phoneNumber
dob
social {
...SocialFragment
}
plan {
...PlanOfStudyFragment
}
tokens
feedback {
...SectionFeedbackFragment
}
assignmentGraded {
...AssignmentResultFragment
}
instructorProfile {
...InstructorProfileFragment
}
watchedThreads {
...ThreadFragment
}
watchedThreadIDs
createdThreads {
...ThreadFragment
}
}
body
comments {
id
title
author {
...UserFragment
}
body
comments {
...ThreadFragment
}
topics
upvotes {
...UserFragment
}
usersWatching {
...UserFragment
}
createdAt
updatedAt
parentThread {
...ThreadFragment
}
parentThreadID
}
topics
upvotes {
id
openID
email
picURL
createdAt
firstName
lastName
middleName
isAdmin
isActive
biography
phoneNumber
dob
social {
...SocialFragment
}
plan {
...PlanOfStudyFragment
}
tokens
feedback {
...SectionFeedbackFragment
}
assignmentGraded {
...AssignmentResultFragment
}
instructorProfile {
...InstructorProfileFragment
}
watchedThreads {
...ThreadFragment
}
watchedThreadIDs
createdThreads {
...ThreadFragment
}
}
usersWatching {
id
openID
email
picURL
createdAt
firstName
lastName
middleName
isAdmin
isActive
biography
phoneNumber
dob
social {
...SocialFragment
}
plan {
...PlanOfStudyFragment
}
tokens
feedback {
...SectionFeedbackFragment
}
assignmentGraded {
...AssignmentResultFragment
}
instructorProfile {
...InstructorProfileFragment
}
watchedThreads {
...ThreadFragment
}
watchedThreadIDs
createdThreads {
...ThreadFragment
}
}
createdAt
updatedAt
parentThread {
id
title
author {
...UserFragment
}
body
comments {
...ThreadFragment
}
topics
upvotes {
...UserFragment
}
usersWatching {
...UserFragment
}
createdAt
updatedAt
parentThread {
...ThreadFragment
}
parentThreadID
}
parentThreadID
}
}
Variables
{"id": "4", "userID": 4}
Response
{
"data": {
"addUserAsWatcherToThread": {
"id": "4",
"title": "xyz789",
"author": User,
"body": "abc123",
"comments": [Thread],
"topics": ["xyz789"],
"upvotes": [User],
"usersWatching": [User],
"createdAt": "2007-12-03",
"updatedAt": "2007-12-03",
"parentThread": Thread,
"parentThreadID": 4
}
}
}
createAnswer
Description
Create a new answer to a question. The answer must be associated with a question when created.
Response
Returns an Answer!
Arguments
Name | Description |
---|---|
input - CreateAnswer!
|
Example
Query
mutation CreateAnswer($input: CreateAnswer!) {
createAnswer(input: $input) {
id
text
correct
weight
index
parentQuestion {
id
number
variant
text
points
answers {
...AnswerFragment
}
parent {
...QuizFragment
}
instances {
...QuizInstanceFragment
}
}
}
}
Variables
{"input": CreateAnswer}
Response
{
"data": {
"createAnswer": {
"id": "4",
"text": "abc123",
"correct": true,
"weight": 123.45,
"index": "xyz789",
"parentQuestion": Question
}
}
}
createCollection
Description
Create a new collection
Response
Returns a Collection!
Arguments
Name | Description |
---|---|
data - CreateCollectionArgs!
|
Example
Query
mutation CreateCollection($data: CreateCollectionArgs!) {
createCollection(data: $data) {
id
name
createdAt
updatedAt
modules {
id
prefix
number
name
content {
...ContentFragment
}
threads {
...ThreadFragment
}
collections {
...CollectionFragment
}
collectionIDs
position
quizzes {
...QuizFragment
}
moduleProgress {
...ModuleProgressFragment
}
objectives
keywords
hours
description
instructor {
...InstructorProfileFragment
}
instructorID
}
moduleIDs
section {
id
sectionNumber
sectionName
description
duration
intro
numSlides
keywords
objectives
createdAt
updatedAt
assignments {
...AssignmentFragment
}
members {
...SectionEnrollmentFragment
}
feedback {
...SectionFeedbackFragment
}
parentSections {
...SectionFragment
}
subSections {
...SectionFragment
}
collections {
...CollectionFragment
}
courseIDs
}
sectionID
position
}
}
Variables
{"data": CreateCollectionArgs}
Response
{
"data": {
"createCollection": {
"id": 4,
"name": "xyz789",
"createdAt": "2007-12-03",
"updatedAt": "2007-12-03",
"modules": [Module],
"moduleIDs": [4],
"section": Section,
"sectionID": 4,
"position": 123
}
}
}
createContent
Description
Create a Content Record
Response
Returns a Content!
Arguments
Name | Description |
---|---|
input - CreateContentArgs!
|
Example
Query
mutation CreateContent($input: CreateContentArgs!) {
createContent(input: $input) {
id
type
link
parent {
id
prefix
number
name
content {
...ContentFragment
}
threads {
...ThreadFragment
}
collections {
...CollectionFragment
}
collectionIDs
position
quizzes {
...QuizFragment
}
moduleProgress {
...ModuleProgressFragment
}
objectives
keywords
hours
description
instructor {
...InstructorProfileFragment
}
instructorID
}
primary
}
}
Variables
{"input": CreateContentArgs}
Response
{
"data": {
"createContent": {
"id": 4,
"type": "PDF",
"link": "abc123",
"parent": Module,
"primary": true
}
}
}
createDirectMessage
Description
Send a message to a user. If the receiverID is and the senderID match, the service fails and returns an Error.
Response
Returns a Boolean!
Example
Query
mutation CreateDirectMessage(
$receiverID: ID!,
$message: String!,
$senderID: ID!
) {
createDirectMessage(
receiverID: $receiverID,
message: $message,
senderID: $senderID
)
}
Variables
{
"receiverID": "4",
"message": "abc123",
"senderID": 4
}
Response
{"data": {"createDirectMessage": false}}
createGroup
Response
Returns a Group!
Example
Query
mutation CreateGroup(
$name: String!,
$members: [ID!]!,
$publicGroup: Boolean
) {
createGroup(
name: $name,
members: $members,
publicGroup: $publicGroup
) {
id
name
members {
id
openID
email
picURL
createdAt
firstName
lastName
middleName
isAdmin
isActive
biography
phoneNumber
dob
social {
...SocialFragment
}
plan {
...PlanOfStudyFragment
}
tokens
feedback {
...SectionFeedbackFragment
}
assignmentGraded {
...AssignmentResultFragment
}
instructorProfile {
...InstructorProfileFragment
}
watchedThreads {
...ThreadFragment
}
watchedThreadIDs
createdThreads {
...ThreadFragment
}
}
public
messages {
id
createdAt
updatedAt
body
authorID
recipientID
author {
...UserFragment
}
recipient {
... on User {
...UserFragment
}
... on Group {
...GroupFragment
}
}
}
}
}
Variables
{
"name": "abc123",
"members": [4],
"publicGroup": false
}
Response
{
"data": {
"createGroup": {
"id": 4,
"name": "xyz789",
"members": [User],
"public": false,
"messages": [DirectMessageResponse]
}
}
}
createLearningPath
Description
Create a new learning path model with the given program structure
Response
Returns a LearningPath!
Arguments
Name | Description |
---|---|
planID - ID!
|
|
input - CreateLearningPathInput!
|
Example
Query
mutation CreateLearningPath(
$planID: ID!,
$input: CreateLearningPathInput!
) {
createLearningPath(
planID: $planID,
input: $input
) {
id
createdAt
plan {
id
student {
...UserFragment
}
sections {
...SectionEnrollmentFragment
}
assignmentResults {
...AssignmentResultFragment
}
sectionsLeft {
...SectionEnrollmentFragment
}
quizResults {
...QuizResultFragment
}
}
planID
paths {
id
createdAt
updatedAt
course {
...CoursePathFragment
}
status
hoursSatisfies
learningOutcomes
}
}
}
Variables
{"planID": 4, "input": CreateLearningPathInput}
Response
{
"data": {
"createLearningPath": {
"id": 4,
"createdAt": "2007-12-03",
"plan": PlanOfStudy,
"planID": "4",
"paths": [Path]
}
}
}
createModule
Description
Create a Module for an individual collection
Response
Returns a Module!
Arguments
Name | Description |
---|---|
input - ModuleInput!
|
Example
Query
mutation CreateModule($input: ModuleInput!) {
createModule(input: $input) {
id
prefix
number
name
content {
id
type
link
parent {
...ModuleFragment
}
primary
}
threads {
id
title
author {
...UserFragment
}
body
comments {
...ThreadFragment
}
topics
upvotes {
...UserFragment
}
usersWatching {
...UserFragment
}
createdAt
updatedAt
parentThread {
...ThreadFragment
}
parentThreadID
}
collections {
id
name
createdAt
updatedAt
modules {
...ModuleFragment
}
moduleIDs
section {
...SectionFragment
}
sectionID
position
}
collectionIDs
position
quizzes {
id
totalPoints
instructions
dueAt
timeLimit
numQuestions
minScore
parentModule {
...ModuleFragment
}
questionPool {
...QuestionFragment
}
instances {
...QuizInstanceFragment
}
}
moduleProgress {
id
status
completed
createdAt
updatedAt
enrollment {
...SectionEnrollmentFragment
}
module {
...ModuleFragment
}
}
objectives
keywords
hours
description
instructor {
id
account {
...UserFragment
}
title
officeLocation
officeHours
contactPolicy
background
researchInterest
selectedPapersAndPublications
}
instructorID
}
}
Variables
{"input": ModuleInput}
Response
{
"data": {
"createModule": {
"id": 4,
"prefix": "xyz789",
"number": 123,
"name": "abc123",
"content": [Content],
"threads": [Thread],
"collections": [Collection],
"collectionIDs": [4],
"position": 987,
"quizzes": [Quiz],
"moduleProgress": [ModuleProgress],
"objectives": ["xyz789"],
"keywords": ["xyz789"],
"hours": 987.65,
"description": "abc123",
"instructor": InstructorProfile,
"instructorID": "4"
}
}
}
createPath
Description
Add a new path to an existing learning path model
Response
Returns a SimpleLearningPath!
Arguments
Name | Description |
---|---|
planID - ID!
|
|
input - PathInput!
|
Example
Query
mutation CreatePath(
$planID: ID!,
$input: PathInput!
) {
createPath(
planID: $planID,
input: $input
) {
id
createdAt
plan {
id
student {
...UserFragment
}
sections {
...SectionEnrollmentFragment
}
assignmentResults {
...AssignmentResultFragment
}
sectionsLeft {
...SectionEnrollmentFragment
}
quizResults {
...QuizResultFragment
}
}
planID
paths {
id
createdAt
updatedAt
course {
...SimpleCoursePathFragment
}
status
hoursSatisfies
learningOutcomes
}
}
}
Variables
{"planID": 4, "input": PathInput}
Response
{
"data": {
"createPath": {
"id": "4",
"createdAt": "2007-12-03",
"plan": PlanOfStudy,
"planID": 4,
"paths": [SimplePath]
}
}
}
createProgress
Response
Returns a Progress!
Arguments
Name | Description |
---|---|
input - ProgressArgs!
|
|
enrollmentID - ID!
|
Example
Query
mutation CreateProgress(
$input: ProgressArgs!,
$enrollmentID: ID!
) {
createProgress(
input: $input,
enrollmentID: $enrollmentID
) {
id
status
completed
createdAt
updatedAt
enrollment {
id
enrolledAt
role
status
section {
...SectionFragment
}
plan {
...PlanOfStudyFragment
}
inactivePlan {
...PlanOfStudyFragment
}
progress {
...ProgressFragment
}
moduleProgress {
...ModuleProgressFragment
}
}
}
}
Variables
{
"input": ProgressArgs,
"enrollmentID": "4"
}
Response
{
"data": {
"createProgress": {
"id": 4,
"status": 987.65,
"completed": false,
"createdAt": "2007-12-03",
"updatedAt": "2007-12-03",
"enrollment": SectionEnrollment
}
}
}
createQuestion
Description
Create a new question. This new question must be associated with a question pool to be created
Response
Returns a Question!
Arguments
Name | Description |
---|---|
input - CreateQuestion
|
Example
Query
mutation CreateQuestion($input: CreateQuestion) {
createQuestion(input: $input) {
id
number
variant
text
points
answers {
id
text
correct
weight
index
parentQuestion {
...QuestionFragment
}
}
parent {
id
totalPoints
instructions
dueAt
timeLimit
numQuestions
minScore
parentModule {
...ModuleFragment
}
questionPool {
...QuestionFragment
}
instances {
...QuizInstanceFragment
}
}
instances {
id
quiz {
...QuizFragment
}
questions {
...QuestionFragment
}
quizResult {
...QuizResultFragment
}
}
}
}
Variables
{"input": CreateQuestion}
Response
{
"data": {
"createQuestion": {
"id": "4",
"number": 987,
"variant": 987,
"text": "xyz789",
"points": 987.65,
"answers": [Answer],
"parent": Quiz,
"instances": [QuizInstance]
}
}
}
createQuiz
Description
Create a new quiz record and associate it with its parent Module
Response
Returns a Quiz!
Arguments
Name | Description |
---|---|
input - CreateQuiz
|
Example
Query
mutation CreateQuiz($input: CreateQuiz) {
createQuiz(input: $input) {
id
totalPoints
instructions
dueAt
timeLimit
numQuestions
minScore
parentModule {
id
prefix
number
name
content {
...ContentFragment
}
threads {
...ThreadFragment
}
collections {
...CollectionFragment
}
collectionIDs
position
quizzes {
...QuizFragment
}
moduleProgress {
...ModuleProgressFragment
}
objectives
keywords
hours
description
instructor {
...InstructorProfileFragment
}
instructorID
}
questionPool {
id
number
variant
text
points
answers {
...AnswerFragment
}
parent {
...QuizFragment
}
instances {
...QuizInstanceFragment
}
}
instances {
id
quiz {
...QuizFragment
}
questions {
...QuestionFragment
}
quizResult {
...QuizResultFragment
}
}
}
}
Variables
{"input": CreateQuiz}
Response
{
"data": {
"createQuiz": {
"id": "4",
"totalPoints": 987.65,
"instructions": "abc123",
"dueAt": "2007-12-03",
"timeLimit": 987,
"numQuestions": 123,
"minScore": 123.45,
"parentModule": Module,
"questionPool": [Question],
"instances": [QuizInstance]
}
}
}
createQuizInstance
Description
Create a new instance of a quiz. Give just the ID of the parent quiz. This will randomly select the correct number of questions using random variants of each question
Response
Returns a QuizInstance!
Arguments
Name | Description |
---|---|
quizID - ID!
|
Example
Query
mutation CreateQuizInstance($quizID: ID!) {
createQuizInstance(quizID: $quizID) {
id
quiz {
id
totalPoints
instructions
dueAt
timeLimit
numQuestions
minScore
parentModule {
...ModuleFragment
}
questionPool {
...QuestionFragment
}
instances {
...QuizInstanceFragment
}
}
questions {
id
number
variant
text
points
answers {
...AnswerFragment
}
parent {
...QuizFragment
}
instances {
...QuizInstanceFragment
}
}
quizResult {
id
score
answers
submittedAt
student {
...PlanOfStudyFragment
}
quizInstance {
...QuizInstanceFragment
}
}
}
}
Variables
{"quizID": "4"}
Response
{
"data": {
"createQuizInstance": {
"id": "4",
"quiz": Quiz,
"questions": [Question],
"quizResult": QuizResult
}
}
}
createThread
Description
Creates a new thread
Response
Returns a Thread
Arguments
Name | Description |
---|---|
data - IThreadCreateInput!
|
Example
Query
mutation CreateThread($data: IThreadCreateInput!) {
createThread(data: $data) {
id
title
author {
id
openID
email
picURL
createdAt
firstName
lastName
middleName
isAdmin
isActive
biography
phoneNumber
dob
social {
...SocialFragment
}
plan {
...PlanOfStudyFragment
}
tokens
feedback {
...SectionFeedbackFragment
}
assignmentGraded {
...AssignmentResultFragment
}
instructorProfile {
...InstructorProfileFragment
}
watchedThreads {
...ThreadFragment
}
watchedThreadIDs
createdThreads {
...ThreadFragment
}
}
body
comments {
id
title
author {
...UserFragment
}
body
comments {
...ThreadFragment
}
topics
upvotes {
...UserFragment
}
usersWatching {
...UserFragment
}
createdAt
updatedAt
parentThread {
...ThreadFragment
}
parentThreadID
}
topics
upvotes {
id
openID
email
picURL
createdAt
firstName
lastName
middleName
isAdmin
isActive
biography
phoneNumber
dob
social {
...SocialFragment
}
plan {
...PlanOfStudyFragment
}
tokens
feedback {
...SectionFeedbackFragment
}
assignmentGraded {
...AssignmentResultFragment
}
instructorProfile {
...InstructorProfileFragment
}
watchedThreads {
...ThreadFragment
}
watchedThreadIDs
createdThreads {
...ThreadFragment
}
}
usersWatching {
id
openID
email
picURL
createdAt
firstName
lastName
middleName
isAdmin
isActive
biography
phoneNumber
dob
social {
...SocialFragment
}
plan {
...PlanOfStudyFragment
}
tokens
feedback {
...SectionFeedbackFragment
}
assignmentGraded {
...AssignmentResultFragment
}
instructorProfile {
...InstructorProfileFragment
}
watchedThreads {
...ThreadFragment
}
watchedThreadIDs
createdThreads {
...ThreadFragment
}
}
createdAt
updatedAt
parentThread {
id
title
author {
...UserFragment
}
body
comments {
...ThreadFragment
}
topics
upvotes {
...UserFragment
}
usersWatching {
...UserFragment
}
createdAt
updatedAt
parentThread {
...ThreadFragment
}
parentThreadID
}
parentThreadID
}
}
Variables
{"data": IThreadCreateInput}
Response
{
"data": {
"createThread": {
"id": 4,
"title": "abc123",
"author": User,
"body": "abc123",
"comments": [Thread],
"topics": ["xyz789"],
"upvotes": [User],
"usersWatching": [User],
"createdAt": "2007-12-03",
"updatedAt": "2007-12-03",
"parentThread": Thread,
"parentThreadID": 4
}
}
}
createUser
Description
Creates User
Example
Query
mutation CreateUser($input: NewUser) {
createUser(input: $input) {
id
openID
email
picURL
createdAt
firstName
lastName
middleName
isAdmin
isActive
biography
phoneNumber
dob
social {
id
twitter
github
linkedin
facebook
portfolio
account {
...UserFragment
}
}
plan {
id
student {
...UserFragment
}
sections {
...SectionEnrollmentFragment
}
assignmentResults {
...AssignmentResultFragment
}
sectionsLeft {
...SectionEnrollmentFragment
}
quizResults {
...QuizResultFragment
}
}
tokens
feedback {
id
feedback
rating
student {
...UserFragment
}
section {
...SectionFragment
}
}
assignmentGraded {
id
submittedAt
result
feedback
submissionURL
fileType
student {
...PlanOfStudyFragment
}
gradedBy {
...UserFragment
}
assignment {
...AssignmentFragment
}
}
instructorProfile {
id
account {
...UserFragment
}
title
officeLocation
officeHours
contactPolicy
background
researchInterest
selectedPapersAndPublications
}
watchedThreads {
id
title
author {
...UserFragment
}
body
comments {
...ThreadFragment
}
topics
upvotes {
...UserFragment
}
usersWatching {
...UserFragment
}
createdAt
updatedAt
parentThread {
...ThreadFragment
}
parentThreadID
}
watchedThreadIDs
createdThreads {
id
title
author {
...UserFragment
}
body
comments {
...ThreadFragment
}
topics
upvotes {
...UserFragment
}
usersWatching {
...UserFragment
}
createdAt
updatedAt
parentThread {
...ThreadFragment
}
parentThreadID
}
}
}
Variables
{"input": NewUser}
Response
{
"data": {
"createUser": {
"id": 4,
"openID": "4",
"email": "xyz789",
"picURL": "xyz789",
"createdAt": "2007-12-03",
"firstName": "xyz789",
"lastName": "abc123",
"middleName": "xyz789",
"isAdmin": true,
"isActive": false,
"biography": "abc123",
"phoneNumber": "abc123",
"dob": "2007-12-03",
"social": Social,
"plan": PlanOfStudy,
"tokens": ["4"],
"feedback": [SectionFeedback],
"assignmentGraded": [AssignmentResult],
"instructorProfile": InstructorProfile,
"watchedThreads": [Thread],
"watchedThreadIDs": [4],
"createdThreads": [Thread]
}
}
}
deleteAnswer
Description
Delete an answer record based on its document ID
Example
Query
mutation DeleteAnswer($id: ID!) {
deleteAnswer(id: $id) {
id
text
correct
weight
index
parentQuestion {
id
number
variant
text
points
answers {
...AnswerFragment
}
parent {
...QuizFragment
}
instances {
...QuizInstanceFragment
}
}
}
}
Variables
{"id": 4}
Response
{
"data": {
"deleteAnswer": {
"id": "4",
"text": "abc123",
"correct": false,
"weight": 123.45,
"index": "xyz789",
"parentQuestion": Question
}
}
}
deleteAssignment
Description
Deletes assignments in Section
Example
Query
mutation DeleteAssignment(
$section: ID!,
$id: ID!
) {
deleteAssignment(
section: $section,
id: $id
) {
id
sectionNumber
sectionName
description
duration
intro
numSlides
keywords
objectives
createdAt
updatedAt
assignments {
id
updatedAt
name
dueAt
contentURL
contentType
acceptedTypes
section {
...SectionFragment
}
assignmentResults {
...AssignmentResultFragment
}
}
members {
id
enrolledAt
role
status
section {
...SectionFragment
}
plan {
...PlanOfStudyFragment
}
inactivePlan {
...PlanOfStudyFragment
}
progress {
...ProgressFragment
}
moduleProgress {
...ModuleProgressFragment
}
}
feedback {
id
feedback
rating
student {
...UserFragment
}
section {
...SectionFragment
}
}
parentSections {
id
sectionNumber
sectionName
description
duration
intro
numSlides
keywords
objectives
createdAt
updatedAt
assignments {
...AssignmentFragment
}
members {
...SectionEnrollmentFragment
}
feedback {
...SectionFeedbackFragment
}
parentSections {
...SectionFragment
}
subSections {
...SectionFragment
}
collections {
...CollectionFragment
}
courseIDs
}
subSections {
id
sectionNumber
sectionName
description
duration
intro
numSlides
keywords
objectives
createdAt
updatedAt
assignments {
...AssignmentFragment
}
members {
...SectionEnrollmentFragment
}
feedback {
...SectionFeedbackFragment
}
parentSections {
...SectionFragment
}
subSections {
...SectionFragment
}
collections {
...CollectionFragment
}
courseIDs
}
collections {
id
name
createdAt
updatedAt
modules {
...ModuleFragment
}
moduleIDs
section {
...SectionFragment
}
sectionID
position
}
courseIDs
}
}
Variables
{
"section": "4",
"id": "4"
}
Response
{
"data": {
"deleteAssignment": {
"id": "4",
"sectionNumber": 987,
"sectionName": "abc123",
"description": "abc123",
"duration": 987.65,
"intro": "abc123",
"numSlides": 987,
"keywords": ["xyz789"],
"objectives": ["abc123"],
"createdAt": "2007-12-03",
"updatedAt": "2007-12-03",
"assignments": [Assignment],
"members": [SectionEnrollment],
"feedback": [SectionFeedback],
"parentSections": [Section],
"subSections": [Section],
"collections": [Collection],
"courseIDs": [4]
}
}
}
deleteAssignmentResult
Description
Assignment result is deleted
Response
Returns an AssignmentResult
Arguments
Name | Description |
---|---|
id - ID!
|
Example
Query
mutation DeleteAssignmentResult($id: ID!) {
deleteAssignmentResult(id: $id) {
id
submittedAt
result
feedback
submissionURL
fileType
student {
id
student {
...UserFragment
}
sections {
...SectionEnrollmentFragment
}
assignmentResults {
...AssignmentResultFragment
}
sectionsLeft {
...SectionEnrollmentFragment
}
quizResults {
...QuizResultFragment
}
}
gradedBy {
id
openID
email
picURL
createdAt
firstName
lastName
middleName
isAdmin
isActive
biography
phoneNumber
dob
social {
...SocialFragment
}
plan {
...PlanOfStudyFragment
}
tokens
feedback {
...SectionFeedbackFragment
}
assignmentGraded {
...AssignmentResultFragment
}
instructorProfile {
...InstructorProfileFragment
}
watchedThreads {
...ThreadFragment
}
watchedThreadIDs
createdThreads {
...ThreadFragment
}
}
assignment {
id
updatedAt
name
dueAt
contentURL
contentType
acceptedTypes
section {
...SectionFragment
}
assignmentResults {
...AssignmentResultFragment
}
}
}
}
Variables
{"id": 4}
Response
{
"data": {
"deleteAssignmentResult": {
"id": "4",
"submittedAt": "2007-12-03",
"result": 123.45,
"feedback": "xyz789",
"submissionURL": "abc123",
"fileType": "xyz789",
"student": PlanOfStudy,
"gradedBy": User,
"assignment": Assignment
}
}
}
deleteContent
Description
Delete an existing content record
Example
Query
mutation DeleteContent($contentID: ID!) {
deleteContent(contentID: $contentID) {
id
type
link
parent {
id
prefix
number
name
content {
...ContentFragment
}
threads {
...ThreadFragment
}
collections {
...CollectionFragment
}
collectionIDs
position
quizzes {
...QuizFragment
}
moduleProgress {
...ModuleProgressFragment
}
objectives
keywords
hours
description
instructor {
...InstructorProfileFragment
}
instructorID
}
primary
}
}
Variables
{"contentID": "4"}
Response
{
"data": {
"deleteContent": {
"id": 4,
"type": "PDF",
"link": "xyz789",
"parent": Module,
"primary": true
}
}
}
deleteCourse
Description
deletes all Courses referring id
Example
Query
mutation DeleteCourse($id: ID!) {
deleteCourse(id: $id) {
id
name
number
prefix
sectionIDs
required
carnegieHours
}
}
Variables
{"id": 4}
Response
{
"data": {
"deleteCourse": {
"id": 4,
"name": "abc123",
"number": 987,
"prefix": "xyz789",
"sectionIDs": [4],
"required": true,
"carnegieHours": 987
}
}
}
deleteLearningPath
Description
Delete an existing learning path
Response
Returns a LearningPath!
Example
Query
mutation DeleteLearningPath(
$planID: ID!,
$pathID: ID!
) {
deleteLearningPath(
planID: $planID,
pathID: $pathID
) {
id
createdAt
plan {
id
student {
...UserFragment
}
sections {
...SectionEnrollmentFragment
}
assignmentResults {
...AssignmentResultFragment
}
sectionsLeft {
...SectionEnrollmentFragment
}
quizResults {
...QuizResultFragment
}
}
planID
paths {
id
createdAt
updatedAt
course {
...CoursePathFragment
}
status
hoursSatisfies
learningOutcomes
}
}
}
Variables
{"planID": 4, "pathID": 4}
Response
{
"data": {
"deleteLearningPath": {
"id": 4,
"createdAt": "2007-12-03",
"plan": PlanOfStudy,
"planID": "4",
"paths": [Path]
}
}
}
deleteManyModule
Response
Returns a Boolean
Arguments
Name | Description |
---|---|
id - [String!]!
|
Example
Query
mutation DeleteManyModule($id: [String!]!) {
deleteManyModule(id: $id)
}
Variables
{"id": ["abc123"]}
Response
{"data": {"deleteManyModule": false}}
deleteModule
Example
Query
mutation DeleteModule($id: String!) {
deleteModule(id: $id) {
id
prefix
number
name
content {
id
type
link
parent {
...ModuleFragment
}
primary
}
threads {
id
title
author {
...UserFragment
}
body
comments {
...ThreadFragment
}
topics
upvotes {
...UserFragment
}
usersWatching {
...UserFragment
}
createdAt
updatedAt
parentThread {
...ThreadFragment
}
parentThreadID
}
collections {
id
name
createdAt
updatedAt
modules {
...ModuleFragment
}
moduleIDs
section {
...SectionFragment
}
sectionID
position
}
collectionIDs
position
quizzes {
id
totalPoints
instructions
dueAt
timeLimit
numQuestions
minScore
parentModule {
...ModuleFragment
}
questionPool {
...QuestionFragment
}
instances {
...QuizInstanceFragment
}
}
moduleProgress {
id
status
completed
createdAt
updatedAt
enrollment {
...SectionEnrollmentFragment
}
module {
...ModuleFragment
}
}
objectives
keywords
hours
description
instructor {
id
account {
...UserFragment
}
title
officeLocation
officeHours
contactPolicy
background
researchInterest
selectedPapersAndPublications
}
instructorID
}
}
Variables
{"id": "xyz789"}
Response
{
"data": {
"deleteModule": {
"id": "4",
"prefix": "xyz789",
"number": 987,
"name": "xyz789",
"content": [Content],
"threads": [Thread],
"collections": [Collection],
"collectionIDs": ["4"],
"position": 123,
"quizzes": [Quiz],
"moduleProgress": [ModuleProgress],
"objectives": ["abc123"],
"keywords": ["abc123"],
"hours": 987.65,
"description": "xyz789",
"instructor": InstructorProfile,
"instructorID": 4
}
}
}
deletePlan
Description
Deleting the PlanOfStudy
Response
Returns a PlanOfStudy
Arguments
Name | Description |
---|---|
id - ID!
|
Example
Query
mutation DeletePlan($id: ID!) {
deletePlan(id: $id) {
id
student {
id
openID
email
picURL
createdAt
firstName
lastName
middleName
isAdmin
isActive
biography
phoneNumber
dob
social {
...SocialFragment
}
plan {
...PlanOfStudyFragment
}
tokens
feedback {
...SectionFeedbackFragment
}
assignmentGraded {
...AssignmentResultFragment
}
instructorProfile {
...InstructorProfileFragment
}
watchedThreads {
...ThreadFragment
}
watchedThreadIDs
createdThreads {
...ThreadFragment
}
}
sections {
id
enrolledAt
role
status
section {
...SectionFragment
}
plan {
...PlanOfStudyFragment
}
inactivePlan {
...PlanOfStudyFragment
}
progress {
...ProgressFragment
}
moduleProgress {
...ModuleProgressFragment
}
}
assignmentResults {
id
submittedAt
result
feedback
submissionURL
fileType
student {
...PlanOfStudyFragment
}
gradedBy {
...UserFragment
}
assignment {
...AssignmentFragment
}
}
sectionsLeft {
id
enrolledAt
role
status
section {
...SectionFragment
}
plan {
...PlanOfStudyFragment
}
inactivePlan {
...PlanOfStudyFragment
}
progress {
...ProgressFragment
}
moduleProgress {
...ModuleProgressFragment
}
}
quizResults {
id
score
answers
submittedAt
student {
...PlanOfStudyFragment
}
quizInstance {
...QuizInstanceFragment
}
}
}
}
Variables
{"id": 4}
Response
{
"data": {
"deletePlan": {
"id": 4,
"student": User,
"sections": [SectionEnrollment],
"assignmentResults": [AssignmentResult],
"sectionsLeft": [SectionEnrollment],
"quizResults": [QuizResult]
}
}
}
deleteProgress
Description
Delete a progress document by the given ID. Returns true if the document was deleted, Error otherwise.
deleteQuestion
Description
Delete an existing question record give its document ID. It is important to note that deleting a question will also delete ALL associated Answer records
Example
Query
mutation DeleteQuestion($id: ID!) {
deleteQuestion(id: $id) {
id
number
variant
text
points
answers {
id
text
correct
weight
index
parentQuestion {
...QuestionFragment
}
}
parent {
id
totalPoints
instructions
dueAt
timeLimit
numQuestions
minScore
parentModule {
...ModuleFragment
}
questionPool {
...QuestionFragment
}
instances {
...QuizInstanceFragment
}
}
instances {
id
quiz {
...QuizFragment
}
questions {
...QuestionFragment
}
quizResult {
...QuizResultFragment
}
}
}
}
Variables
{"id": 4}
Response
{
"data": {
"deleteQuestion": {
"id": "4",
"number": 987,
"variant": 987,
"text": "xyz789",
"points": 123.45,
"answers": [Answer],
"parent": Quiz,
"instances": [QuizInstance]
}
}
}
deleteQuiz
Description
Delete a quiz record given its document ID
Example
Query
mutation DeleteQuiz($id: ID!) {
deleteQuiz(id: $id) {
id
totalPoints
instructions
dueAt
timeLimit
numQuestions
minScore
parentModule {
id
prefix
number
name
content {
...ContentFragment
}
threads {
...ThreadFragment
}
collections {
...CollectionFragment
}
collectionIDs
position
quizzes {
...QuizFragment
}
moduleProgress {
...ModuleProgressFragment
}
objectives
keywords
hours
description
instructor {
...InstructorProfileFragment
}
instructorID
}
questionPool {
id
number
variant
text
points
answers {
...AnswerFragment
}
parent {
...QuizFragment
}
instances {
...QuizInstanceFragment
}
}
instances {
id
quiz {
...QuizFragment
}
questions {
...QuestionFragment
}
quizResult {
...QuizResultFragment
}
}
}
}
Variables
{"id": 4}
Response
{
"data": {
"deleteQuiz": {
"id": "4",
"totalPoints": 987.65,
"instructions": "xyz789",
"dueAt": "2007-12-03",
"timeLimit": 987,
"numQuestions": 987,
"minScore": 123.45,
"parentModule": Module,
"questionPool": [Question],
"instances": [QuizInstance]
}
}
}
deleteQuizInstance
Description
Delete an existing quiz instance given its document ID. This will not delete the related quiz result.
Response
Returns a QuizInstance!
Arguments
Name | Description |
---|---|
id - ID!
|
Example
Query
mutation DeleteQuizInstance($id: ID!) {
deleteQuizInstance(id: $id) {
id
quiz {
id
totalPoints
instructions
dueAt
timeLimit
numQuestions
minScore
parentModule {
...ModuleFragment
}
questionPool {
...QuestionFragment
}
instances {
...QuizInstanceFragment
}
}
questions {
id
number
variant
text
points
answers {
...AnswerFragment
}
parent {
...QuizFragment
}
instances {
...QuizInstanceFragment
}
}
quizResult {
id
score
answers
submittedAt
student {
...PlanOfStudyFragment
}
quizInstance {
...QuizInstanceFragment
}
}
}
}
Variables
{"id": "4"}
Response
{
"data": {
"deleteQuizInstance": {
"id": "4",
"quiz": Quiz,
"questions": [Question],
"quizResult": QuizResult
}
}
}
deleteQuizResult
Description
Delete a quiz Submission given its document ID
Response
Returns a QuizResult
Arguments
Name | Description |
---|---|
id - ID!
|
Example
Query
mutation DeleteQuizResult($id: ID!) {
deleteQuizResult(id: $id) {
id
score
answers
submittedAt
student {
id
student {
...UserFragment
}
sections {
...SectionEnrollmentFragment
}
assignmentResults {
...AssignmentResultFragment
}
sectionsLeft {
...SectionEnrollmentFragment
}
quizResults {
...QuizResultFragment
}
}
quizInstance {
id
quiz {
...QuizFragment
}
questions {
...QuestionFragment
}
quizResult {
...QuizResultFragment
}
}
}
}
Variables
{"id": "4"}
Response
{
"data": {
"deleteQuizResult": {
"id": "abc123",
"score": 987.65,
"answers": ["abc123"],
"submittedAt": "2007-12-03",
"student": PlanOfStudy,
"quizInstance": QuizInstance
}
}
}
deleteSection
Description
Deletes the entire Section
Example
Query
mutation DeleteSection($id: ID!) {
deleteSection(id: $id) {
id
sectionNumber
sectionName
description
duration
intro
numSlides
keywords
objectives
createdAt
updatedAt
assignments {
id
updatedAt
name
dueAt
contentURL
contentType
acceptedTypes
section {
...SectionFragment
}
assignmentResults {
...AssignmentResultFragment
}
}
members {
id
enrolledAt
role
status
section {
...SectionFragment
}
plan {
...PlanOfStudyFragment
}
inactivePlan {
...PlanOfStudyFragment
}
progress {
...ProgressFragment
}
moduleProgress {
...ModuleProgressFragment
}
}
feedback {
id
feedback
rating
student {
...UserFragment
}
section {
...SectionFragment
}
}
parentSections {
id
sectionNumber
sectionName
description
duration
intro
numSlides
keywords
objectives
createdAt
updatedAt
assignments {
...AssignmentFragment
}
members {
...SectionEnrollmentFragment
}
feedback {
...SectionFeedbackFragment
}
parentSections {
...SectionFragment
}
subSections {
...SectionFragment
}
collections {
...CollectionFragment
}
courseIDs
}
subSections {
id
sectionNumber
sectionName
description
duration
intro
numSlides
keywords
objectives
createdAt
updatedAt
assignments {
...AssignmentFragment
}
members {
...SectionEnrollmentFragment
}
feedback {
...SectionFeedbackFragment
}
parentSections {
...SectionFragment
}
subSections {
...SectionFragment
}
collections {
...CollectionFragment
}
courseIDs
}
collections {
id
name
createdAt
updatedAt
modules {
...ModuleFragment
}
moduleIDs
section {
...SectionFragment
}
sectionID
position
}
courseIDs
}
}
Variables
{"id": "4"}
Response
{
"data": {
"deleteSection": {
"id": "4",
"sectionNumber": 123,
"sectionName": "abc123",
"description": "abc123",
"duration": 123.45,
"intro": "xyz789",
"numSlides": 987,
"keywords": ["xyz789"],
"objectives": ["xyz789"],
"createdAt": "2007-12-03",
"updatedAt": "2007-12-03",
"assignments": [Assignment],
"members": [SectionEnrollment],
"feedback": [SectionFeedback],
"parentSections": [Section],
"subSections": [Section],
"collections": [Collection],
"courseIDs": ["4"]
}
}
}
deleteSectionEnrollment
Description
Delete SectionEnrollment
Response
Returns a SectionEnrollment
Arguments
Name | Description |
---|---|
id - ID!
|
Example
Query
mutation DeleteSectionEnrollment($id: ID!) {
deleteSectionEnrollment(id: $id) {
id
enrolledAt
role
status
section {
id
sectionNumber
sectionName
description
duration
intro
numSlides
keywords
objectives
createdAt
updatedAt
assignments {
...AssignmentFragment
}
members {
...SectionEnrollmentFragment
}
feedback {
...SectionFeedbackFragment
}
parentSections {
...SectionFragment
}
subSections {
...SectionFragment
}
collections {
...CollectionFragment
}
courseIDs
}
plan {
id
student {
...UserFragment
}
sections {
...SectionEnrollmentFragment
}
assignmentResults {
...AssignmentResultFragment
}
sectionsLeft {
...SectionEnrollmentFragment
}
quizResults {
...QuizResultFragment
}
}
inactivePlan {
id
student {
...UserFragment
}
sections {
...SectionEnrollmentFragment
}
assignmentResults {
...AssignmentResultFragment
}
sectionsLeft {
...SectionEnrollmentFragment
}
quizResults {
...QuizResultFragment
}
}
progress {
id
status
completed
createdAt
updatedAt
enrollment {
...SectionEnrollmentFragment
}
}
moduleProgress {
id
status
completed
createdAt
updatedAt
enrollment {
...SectionEnrollmentFragment
}
module {
...ModuleFragment
}
}
}
}
Variables
{"id": 4}
Response
{
"data": {
"deleteSectionEnrollment": {
"id": 4,
"enrolledAt": "2007-12-03",
"role": "STUDENT",
"status": "ACTIVE",
"section": Section,
"plan": PlanOfStudy,
"inactivePlan": PlanOfStudy,
"progress": Progress,
"moduleProgress": [ModuleProgress]
}
}
}
deleteSectionFeedback
Description
Section feedback is deleted
Response
Returns a SectionFeedback
Arguments
Name | Description |
---|---|
id - ID!
|
Example
Query
mutation DeleteSectionFeedback($id: ID!) {
deleteSectionFeedback(id: $id) {
id
feedback
rating
student {
id
openID
email
picURL
createdAt
firstName
lastName
middleName
isAdmin
isActive
biography
phoneNumber
dob
social {
...SocialFragment
}
plan {
...PlanOfStudyFragment
}
tokens
feedback {
...SectionFeedbackFragment
}
assignmentGraded {
...AssignmentResultFragment
}
instructorProfile {
...InstructorProfileFragment
}
watchedThreads {
...ThreadFragment
}
watchedThreadIDs
createdThreads {
...ThreadFragment
}
}
section {
id
sectionNumber
sectionName
description
duration
intro
numSlides
keywords
objectives
createdAt
updatedAt
assignments {
...AssignmentFragment
}
members {
...SectionEnrollmentFragment
}
feedback {
...SectionFeedbackFragment
}
parentSections {
...SectionFragment
}
subSections {
...SectionFragment
}
collections {
...CollectionFragment
}
courseIDs
}
}
}
Variables
{"id": 4}
Response
{
"data": {
"deleteSectionFeedback": {
"id": 4,
"feedback": "xyz789",
"rating": 123,
"student": User,
"section": Section
}
}
}
deleteSocial
Description
Deletes Social
Example
Query
mutation DeleteSocial($id: ID!) {
deleteSocial(id: $id) {
id
twitter
github
linkedin
facebook
portfolio
account {
id
openID
email
picURL
createdAt
firstName
lastName
middleName
isAdmin
isActive
biography
phoneNumber
dob
social {
...SocialFragment
}
plan {
...PlanOfStudyFragment
}
tokens
feedback {
...SectionFeedbackFragment
}
assignmentGraded {
...AssignmentResultFragment
}
instructorProfile {
...InstructorProfileFragment
}
watchedThreads {
...ThreadFragment
}
watchedThreadIDs
createdThreads {
...ThreadFragment
}
}
}
}
Variables
{"id": "4"}
Response
{
"data": {
"deleteSocial": {
"id": 4,
"twitter": "abc123",
"github": "xyz789",
"linkedin": "xyz789",
"facebook": "xyz789",
"portfolio": "xyz789",
"account": User
}
}
}
deleteThread
Example
Query
mutation DeleteThread($id: ID!) {
deleteThread(id: $id) {
id
title
author {
id
openID
email
picURL
createdAt
firstName
lastName
middleName
isAdmin
isActive
biography
phoneNumber
dob
social {
...SocialFragment
}
plan {
...PlanOfStudyFragment
}
tokens
feedback {
...SectionFeedbackFragment
}
assignmentGraded {
...AssignmentResultFragment
}
instructorProfile {
...InstructorProfileFragment
}
watchedThreads {
...ThreadFragment
}
watchedThreadIDs
createdThreads {
...ThreadFragment
}
}
body
comments {
id
title
author {
...UserFragment
}
body
comments {
...ThreadFragment
}
topics
upvotes {
...UserFragment
}
usersWatching {
...UserFragment
}
createdAt
updatedAt
parentThread {
...ThreadFragment
}
parentThreadID
}
topics
upvotes {
id
openID
email
picURL
createdAt
firstName
lastName
middleName
isAdmin
isActive
biography
phoneNumber
dob
social {
...SocialFragment
}
plan {
...PlanOfStudyFragment
}
tokens
feedback {
...SectionFeedbackFragment
}
assignmentGraded {
...AssignmentResultFragment
}
instructorProfile {
...InstructorProfileFragment
}
watchedThreads {
...ThreadFragment
}
watchedThreadIDs
createdThreads {
...ThreadFragment
}
}
usersWatching {
id
openID
email
picURL
createdAt
firstName
lastName
middleName
isAdmin
isActive
biography
phoneNumber
dob
social {
...SocialFragment
}
plan {
...PlanOfStudyFragment
}
tokens
feedback {
...SectionFeedbackFragment
}
assignmentGraded {
...AssignmentResultFragment
}
instructorProfile {
...InstructorProfileFragment
}
watchedThreads {
...ThreadFragment
}
watchedThreadIDs
createdThreads {
...ThreadFragment
}
}
createdAt
updatedAt
parentThread {
id
title
author {
...UserFragment
}
body
comments {
...ThreadFragment
}
topics
upvotes {
...UserFragment
}
usersWatching {
...UserFragment
}
createdAt
updatedAt
parentThread {
...ThreadFragment
}
parentThreadID
}
parentThreadID
}
}
Variables
{"id": "4"}
Response
{
"data": {
"deleteThread": {
"id": "4",
"title": "xyz789",
"author": User,
"body": "abc123",
"comments": [Thread],
"topics": ["abc123"],
"upvotes": [User],
"usersWatching": [User],
"createdAt": "2007-12-03",
"updatedAt": "2007-12-03",
"parentThread": Thread,
"parentThreadID": "4"
}
}
}
deleteUser
Description
deletes user
Example
Query
mutation DeleteUser($openId: ID!) {
deleteUser(openId: $openId) {
id
openID
email
picURL
createdAt
firstName
lastName
middleName
isAdmin
isActive
biography
phoneNumber
dob
social {
id
twitter
github
linkedin
facebook
portfolio
account {
...UserFragment
}
}
plan {
id
student {
...UserFragment
}
sections {
...SectionEnrollmentFragment
}
assignmentResults {
...AssignmentResultFragment
}
sectionsLeft {
...SectionEnrollmentFragment
}
quizResults {
...QuizResultFragment
}
}
tokens
feedback {
id
feedback
rating
student {
...UserFragment
}
section {
...SectionFragment
}
}
assignmentGraded {
id
submittedAt
result
feedback
submissionURL
fileType
student {
...PlanOfStudyFragment
}
gradedBy {
...UserFragment
}
assignment {
...AssignmentFragment
}
}
instructorProfile {
id
account {
...UserFragment
}
title
officeLocation
officeHours
contactPolicy
background
researchInterest
selectedPapersAndPublications
}
watchedThreads {
id
title
author {
...UserFragment
}
body
comments {
...ThreadFragment
}
topics
upvotes {
...UserFragment
}
usersWatching {
...UserFragment
}
createdAt
updatedAt
parentThread {
...ThreadFragment
}
parentThreadID
}
watchedThreadIDs
createdThreads {
id
title
author {
...UserFragment
}
body
comments {
...ThreadFragment
}
topics
upvotes {
...UserFragment
}
usersWatching {
...UserFragment
}
createdAt
updatedAt
parentThread {
...ThreadFragment
}
parentThreadID
}
}
}
Variables
{"openId": "4"}
Response
{
"data": {
"deleteUser": {
"id": "4",
"openID": "4",
"email": "xyz789",
"picURL": "abc123",
"createdAt": "2007-12-03",
"firstName": "abc123",
"lastName": "abc123",
"middleName": "abc123",
"isAdmin": false,
"isActive": false,
"biography": "abc123",
"phoneNumber": "xyz789",
"dob": "2007-12-03",
"social": Social,
"plan": PlanOfStudy,
"tokens": ["4"],
"feedback": [SectionFeedback],
"assignmentGraded": [AssignmentResult],
"instructorProfile": InstructorProfile,
"watchedThreads": [Thread],
"watchedThreadIDs": [4],
"createdThreads": [Thread]
}
}
}
deleteUserSocial
Description
Deletes User social
Example
Query
mutation DeleteUserSocial($userId: ID!) {
deleteUserSocial(userId: $userId) {
id
twitter
github
linkedin
facebook
portfolio
account {
id
openID
email
picURL
createdAt
firstName
lastName
middleName
isAdmin
isActive
biography
phoneNumber
dob
social {
...SocialFragment
}
plan {
...PlanOfStudyFragment
}
tokens
feedback {
...SectionFeedbackFragment
}
assignmentGraded {
...AssignmentResultFragment
}
instructorProfile {
...InstructorProfileFragment
}
watchedThreads {
...ThreadFragment
}
watchedThreadIDs
createdThreads {
...ThreadFragment
}
}
}
}
Variables
{"userId": "4"}
Response
{
"data": {
"deleteUserSocial": {
"id": "4",
"twitter": "abc123",
"github": "abc123",
"linkedin": "abc123",
"facebook": "abc123",
"portfolio": "abc123",
"account": User
}
}
}
downvoteThread
Example
Query
mutation DownvoteThread(
$id: ID!,
$userID: ID!
) {
downvoteThread(
id: $id,
userID: $userID
) {
id
title
author {
id
openID
email
picURL
createdAt
firstName
lastName
middleName
isAdmin
isActive
biography
phoneNumber
dob
social {
...SocialFragment
}
plan {
...PlanOfStudyFragment
}
tokens
feedback {
...SectionFeedbackFragment
}
assignmentGraded {
...AssignmentResultFragment
}
instructorProfile {
...InstructorProfileFragment
}
watchedThreads {
...ThreadFragment
}
watchedThreadIDs
createdThreads {
...ThreadFragment
}
}
body
comments {
id
title
author {
...UserFragment
}
body
comments {
...ThreadFragment
}
topics
upvotes {
...UserFragment
}
usersWatching {
...UserFragment
}
createdAt
updatedAt
parentThread {
...ThreadFragment
}
parentThreadID
}
topics
upvotes {
id
openID
email
picURL
createdAt
firstName
lastName
middleName
isAdmin
isActive
biography
phoneNumber
dob
social {
...SocialFragment
}
plan {
...PlanOfStudyFragment
}
tokens
feedback {
...SectionFeedbackFragment
}
assignmentGraded {
...AssignmentResultFragment
}
instructorProfile {
...InstructorProfileFragment
}
watchedThreads {
...ThreadFragment
}
watchedThreadIDs
createdThreads {
...ThreadFragment
}
}
usersWatching {
id
openID
email
picURL
createdAt
firstName
lastName
middleName
isAdmin
isActive
biography
phoneNumber
dob
social {
...SocialFragment
}
plan {
...PlanOfStudyFragment
}
tokens
feedback {
...SectionFeedbackFragment
}
assignmentGraded {
...AssignmentResultFragment
}
instructorProfile {
...InstructorProfileFragment
}
watchedThreads {
...ThreadFragment
}
watchedThreadIDs
createdThreads {
...ThreadFragment
}
}
createdAt
updatedAt
parentThread {
id
title
author {
...UserFragment
}
body
comments {
...ThreadFragment
}
topics
upvotes {
...UserFragment
}
usersWatching {
...UserFragment
}
createdAt
updatedAt
parentThread {
...ThreadFragment
}
parentThreadID
}
parentThreadID
}
}
Variables
{"id": 4, "userID": "4"}
Response
{
"data": {
"downvoteThread": {
"id": "4",
"title": "abc123",
"author": User,
"body": "abc123",
"comments": [Thread],
"topics": ["xyz789"],
"upvotes": [User],
"usersWatching": [User],
"createdAt": "2007-12-03",
"updatedAt": "2007-12-03",
"parentThread": Thread,
"parentThreadID": 4
}
}
}
login
newGroupMessage
Description
Send a message to a group of users.
Response
Returns a Boolean!
Example
Query
mutation NewGroupMessage(
$groupID: ID!,
$message: String!,
$senderID: ID!
) {
newGroupMessage(
groupID: $groupID,
message: $message,
senderID: $senderID
)
}
Variables
{
"groupID": 4,
"message": "xyz789",
"senderID": "4"
}
Response
{"data": {"newGroupMessage": true}}
pairCourseSection
Example
Query
mutation PairCourseSection(
$courseId: ID!,
$sectionId: ID!
) {
pairCourseSection(
courseId: $courseId,
sectionId: $sectionId
) {
id
sectionNumber
sectionName
description
duration
intro
numSlides
keywords
objectives
createdAt
updatedAt
assignments {
id
updatedAt
name
dueAt
contentURL
contentType
acceptedTypes
section {
...SectionFragment
}
assignmentResults {
...AssignmentResultFragment
}
}
members {
id
enrolledAt
role
status
section {
...SectionFragment
}
plan {
...PlanOfStudyFragment
}
inactivePlan {
...PlanOfStudyFragment
}
progress {
...ProgressFragment
}
moduleProgress {
...ModuleProgressFragment
}
}
feedback {
id
feedback
rating
student {
...UserFragment
}
section {
...SectionFragment
}
}
parentSections {
id
sectionNumber
sectionName
description
duration
intro
numSlides
keywords
objectives
createdAt
updatedAt
assignments {
...AssignmentFragment
}
members {
...SectionEnrollmentFragment
}
feedback {
...SectionFeedbackFragment
}
parentSections {
...SectionFragment
}
subSections {
...SectionFragment
}
collections {
...CollectionFragment
}
courseIDs
}
subSections {
id
sectionNumber
sectionName
description
duration
intro
numSlides
keywords
objectives
createdAt
updatedAt
assignments {
...AssignmentFragment
}
members {
...SectionEnrollmentFragment
}
feedback {
...SectionFeedbackFragment
}
parentSections {
...SectionFragment
}
subSections {
...SectionFragment
}
collections {
...CollectionFragment
}
courseIDs
}
collections {
id
name
createdAt
updatedAt
modules {
...ModuleFragment
}
moduleIDs
section {
...SectionFragment
}
sectionID
position
}
courseIDs
}
}
Variables
{"courseId": 4, "sectionId": "4"}
Response
{
"data": {
"pairCourseSection": {
"id": "4",
"sectionNumber": 987,
"sectionName": "xyz789",
"description": "abc123",
"duration": 123.45,
"intro": "xyz789",
"numSlides": 123,
"keywords": ["abc123"],
"objectives": ["xyz789"],
"createdAt": "2007-12-03",
"updatedAt": "2007-12-03",
"assignments": [Assignment],
"members": [SectionEnrollment],
"feedback": [SectionFeedback],
"parentSections": [Section],
"subSections": [Section],
"collections": [Collection],
"courseIDs": ["4"]
}
}
}
submitQuiz
Description
Submit a quiz to be graded. This will create a QuizResultRecord with the users score.
Response
Returns a QuizResult
Arguments
Name | Description |
---|---|
input - QuizSubmission!
|
Example
Query
mutation SubmitQuiz($input: QuizSubmission!) {
submitQuiz(input: $input) {
id
score
answers
submittedAt
student {
id
student {
...UserFragment
}
sections {
...SectionEnrollmentFragment
}
assignmentResults {
...AssignmentResultFragment
}
sectionsLeft {
...SectionEnrollmentFragment
}
quizResults {
...QuizResultFragment
}
}
quizInstance {
id
quiz {
...QuizFragment
}
questions {
...QuestionFragment
}
quizResult {
...QuizResultFragment
}
}
}
}
Variables
{"input": QuizSubmission}
Response
{
"data": {
"submitQuiz": {
"id": "xyz789",
"score": 123.45,
"answers": ["xyz789"],
"submittedAt": "2007-12-03",
"student": PlanOfStudy,
"quizInstance": QuizInstance
}
}
}
unpairCourseSection
Description
Course Section is Unpaired Relating to Course Id and mobile Id
Example
Query
mutation UnpairCourseSection(
$courseId: ID!,
$sectionId: ID!
) {
unpairCourseSection(
courseId: $courseId,
sectionId: $sectionId
) {
id
sectionNumber
sectionName
description
duration
intro
numSlides
keywords
objectives
createdAt
updatedAt
assignments {
id
updatedAt
name
dueAt
contentURL
contentType
acceptedTypes
section {
...SectionFragment
}
assignmentResults {
...AssignmentResultFragment
}
}
members {
id
enrolledAt
role
status
section {
...SectionFragment
}
plan {
...PlanOfStudyFragment
}
inactivePlan {
...PlanOfStudyFragment
}
progress {
...ProgressFragment
}
moduleProgress {
...ModuleProgressFragment
}
}
feedback {
id
feedback
rating
student {
...UserFragment
}
section {
...SectionFragment
}
}
parentSections {
id
sectionNumber
sectionName
description
duration
intro
numSlides
keywords
objectives
createdAt
updatedAt
assignments {
...AssignmentFragment
}
members {
...SectionEnrollmentFragment
}
feedback {
...SectionFeedbackFragment
}
parentSections {
...SectionFragment
}
subSections {
...SectionFragment
}
collections {
...CollectionFragment
}
courseIDs
}
subSections {
id
sectionNumber
sectionName
description
duration
intro
numSlides
keywords
objectives
createdAt
updatedAt
assignments {
...AssignmentFragment
}
members {
...SectionEnrollmentFragment
}
feedback {
...SectionFeedbackFragment
}
parentSections {
...SectionFragment
}
subSections {
...SectionFragment
}
collections {
...CollectionFragment
}
courseIDs
}
collections {
id
name
createdAt
updatedAt
modules {
...ModuleFragment
}
moduleIDs
section {
...SectionFragment
}
sectionID
position
}
courseIDs
}
}
Variables
{"courseId": 4, "sectionId": "4"}
Response
{
"data": {
"unpairCourseSection": {
"id": 4,
"sectionNumber": 987,
"sectionName": "xyz789",
"description": "abc123",
"duration": 987.65,
"intro": "abc123",
"numSlides": 123,
"keywords": ["xyz789"],
"objectives": ["abc123"],
"createdAt": "2007-12-03",
"updatedAt": "2007-12-03",
"assignments": [Assignment],
"members": [SectionEnrollment],
"feedback": [SectionFeedback],
"parentSections": [Section],
"subSections": [Section],
"collections": [Collection],
"courseIDs": ["4"]
}
}
}
updateAnswer
Description
Update a single answer record given its document ID. Most fields can be updated through this query.
Response
Returns [Answer!]!
Arguments
Name | Description |
---|---|
id - ID!
|
|
values - UpdateAnswer!
|
Example
Query
mutation UpdateAnswer(
$id: ID!,
$values: UpdateAnswer!
) {
updateAnswer(
id: $id,
values: $values
) {
id
text
correct
weight
index
parentQuestion {
id
number
variant
text
points
answers {
...AnswerFragment
}
parent {
...QuizFragment
}
instances {
...QuizInstanceFragment
}
}
}
}
Variables
{"id": 4, "values": UpdateAnswer}
Response
{
"data": {
"updateAnswer": [
{
"id": 4,
"text": "xyz789",
"correct": true,
"weight": 123.45,
"index": "abc123",
"parentQuestion": Question
}
]
}
}
updateAssignment
Description
Updates Assignements
Response
Returns an Assignment
Arguments
Name | Description |
---|---|
id - ID!
|
|
input - AssignmentInput
|
Example
Query
mutation UpdateAssignment(
$id: ID!,
$input: AssignmentInput
) {
updateAssignment(
id: $id,
input: $input
) {
id
updatedAt
name
dueAt
contentURL
contentType
acceptedTypes
section {
id
sectionNumber
sectionName
description
duration
intro
numSlides
keywords
objectives
createdAt
updatedAt
assignments {
...AssignmentFragment
}
members {
...SectionEnrollmentFragment
}
feedback {
...SectionFeedbackFragment
}
parentSections {
...SectionFragment
}
subSections {
...SectionFragment
}
collections {
...CollectionFragment
}
courseIDs
}
assignmentResults {
id
submittedAt
result
feedback
submissionURL
fileType
student {
...PlanOfStudyFragment
}
gradedBy {
...UserFragment
}
assignment {
...AssignmentFragment
}
}
}
}
Variables
{
"id": "4",
"input": AssignmentInput
}
Response
{
"data": {
"updateAssignment": {
"id": 4,
"updatedAt": "2007-12-03",
"name": "xyz789",
"dueAt": "2007-12-03",
"contentURL": "xyz789",
"contentType": "abc123",
"acceptedTypes": "DOCX",
"section": Section,
"assignmentResults": [AssignmentResult]
}
}
}
updateAssignmentResult
Description
Updated the results of an Assignment
Response
Returns an AssignmentResult
Example
Query
mutation UpdateAssignmentResult(
$id: ID!,
$result: Float!
) {
updateAssignmentResult(
id: $id,
result: $result
) {
id
submittedAt
result
feedback
submissionURL
fileType
student {
id
student {
...UserFragment
}
sections {
...SectionEnrollmentFragment
}
assignmentResults {
...AssignmentResultFragment
}
sectionsLeft {
...SectionEnrollmentFragment
}
quizResults {
...QuizResultFragment
}
}
gradedBy {
id
openID
email
picURL
createdAt
firstName
lastName
middleName
isAdmin
isActive
biography
phoneNumber
dob
social {
...SocialFragment
}
plan {
...PlanOfStudyFragment
}
tokens
feedback {
...SectionFeedbackFragment
}
assignmentGraded {
...AssignmentResultFragment
}
instructorProfile {
...InstructorProfileFragment
}
watchedThreads {
...ThreadFragment
}
watchedThreadIDs
createdThreads {
...ThreadFragment
}
}
assignment {
id
updatedAt
name
dueAt
contentURL
contentType
acceptedTypes
section {
...SectionFragment
}
assignmentResults {
...AssignmentResultFragment
}
}
}
}
Variables
{"id": "4", "result": 987.65}
Response
{
"data": {
"updateAssignmentResult": {
"id": 4,
"submittedAt": "2007-12-03",
"result": 987.65,
"feedback": "abc123",
"submissionURL": "xyz789",
"fileType": "xyz789",
"student": PlanOfStudy,
"gradedBy": User,
"assignment": Assignment
}
}
}
updateCollection
Description
Update a collection given its ID and the new data to update
Response
Returns a Collection!
Arguments
Name | Description |
---|---|
id - ID!
|
|
data - CollectionFields!
|
Example
Query
mutation UpdateCollection(
$id: ID!,
$data: CollectionFields!
) {
updateCollection(
id: $id,
data: $data
) {
id
name
createdAt
updatedAt
modules {
id
prefix
number
name
content {
...ContentFragment
}
threads {
...ThreadFragment
}
collections {
...CollectionFragment
}
collectionIDs
position
quizzes {
...QuizFragment
}
moduleProgress {
...ModuleProgressFragment
}
objectives
keywords
hours
description
instructor {
...InstructorProfileFragment
}
instructorID
}
moduleIDs
section {
id
sectionNumber
sectionName
description
duration
intro
numSlides
keywords
objectives
createdAt
updatedAt
assignments {
...AssignmentFragment
}
members {
...SectionEnrollmentFragment
}
feedback {
...SectionFeedbackFragment
}
parentSections {
...SectionFragment
}
subSections {
...SectionFragment
}
collections {
...CollectionFragment
}
courseIDs
}
sectionID
position
}
}
Variables
{"id": 4, "data": CollectionFields}
Response
{
"data": {
"updateCollection": {
"id": 4,
"name": "xyz789",
"createdAt": "2007-12-03",
"updatedAt": "2007-12-03",
"modules": [Module],
"moduleIDs": ["4"],
"section": Section,
"sectionID": 4,
"position": 987
}
}
}
updateContent
Description
Update a content Record
Response
Returns [Content!]
Arguments
Name | Description |
---|---|
input - ContentFields!
|
Example
Query
mutation UpdateContent($input: ContentFields!) {
updateContent(input: $input) {
id
type
link
parent {
id
prefix
number
name
content {
...ContentFragment
}
threads {
...ThreadFragment
}
collections {
...CollectionFragment
}
collectionIDs
position
quizzes {
...QuizFragment
}
moduleProgress {
...ModuleProgressFragment
}
objectives
keywords
hours
description
instructor {
...InstructorProfileFragment
}
instructorID
}
primary
}
}
Variables
{"input": ContentFields}
Response
{
"data": {
"updateContent": [
{
"id": 4,
"type": "PDF",
"link": "abc123",
"parent": Module,
"primary": true
}
]
}
}
updateCourse
Description
Updates Courses
Response
Returns a Course
Arguments
Name | Description |
---|---|
id - ID!
|
|
input - CourseInput
|
Example
Query
mutation UpdateCourse(
$id: ID!,
$input: CourseInput
) {
updateCourse(
id: $id,
input: $input
) {
id
name
number
prefix
sectionIDs
required
carnegieHours
}
}
Variables
{"id": 4, "input": CourseInput}
Response
{
"data": {
"updateCourse": {
"id": 4,
"name": "abc123",
"number": 123,
"prefix": "xyz789",
"sectionIDs": ["4"],
"required": true,
"carnegieHours": 123
}
}
}
updateInstructorProfile
Description
Updates the instructor profile of the user given the user ID
Response
Returns an InstructorProfile
Arguments
Name | Description |
---|---|
id - ID!
|
The unique ID of the user that relates to the instructor profile |
input - InstructorProfileInput!
|
Example
Query
mutation UpdateInstructorProfile(
$id: ID!,
$input: InstructorProfileInput!
) {
updateInstructorProfile(
id: $id,
input: $input
) {
id
account {
id
openID
email
picURL
createdAt
firstName
lastName
middleName
isAdmin
isActive
biography
phoneNumber
dob
social {
...SocialFragment
}
plan {
...PlanOfStudyFragment
}
tokens
feedback {
...SectionFeedbackFragment
}
assignmentGraded {
...AssignmentResultFragment
}
instructorProfile {
...InstructorProfileFragment
}
watchedThreads {
...ThreadFragment
}
watchedThreadIDs
createdThreads {
...ThreadFragment
}
}
title
officeLocation
officeHours
contactPolicy
background
researchInterest
selectedPapersAndPublications
}
}
Variables
{
"id": "4",
"input": InstructorProfileInput
}
Response
{
"data": {
"updateInstructorProfile": {
"id": "4",
"account": User,
"title": "xyz789",
"officeLocation": "xyz789",
"officeHours": ["abc123"],
"contactPolicy": "xyz789",
"background": "abc123",
"researchInterest": ["abc123"],
"selectedPapersAndPublications": [
"abc123"
]
}
}
}
updateLearningPath
Description
Update an existing learning path with the given program structure
Response
Returns a LearningPath!
Arguments
Name | Description |
---|---|
planID - ID!
|
|
pathID - ID!
|
|
input - PathInput!
|
Example
Query
mutation UpdateLearningPath(
$planID: ID!,
$pathID: ID!,
$input: PathInput!
) {
updateLearningPath(
planID: $planID,
pathID: $pathID,
input: $input
) {
id
createdAt
plan {
id
student {
...UserFragment
}
sections {
...SectionEnrollmentFragment
}
assignmentResults {
...AssignmentResultFragment
}
sectionsLeft {
...SectionEnrollmentFragment
}
quizResults {
...QuizResultFragment
}
}
planID
paths {
id
createdAt
updatedAt
course {
...CoursePathFragment
}
status
hoursSatisfies
learningOutcomes
}
}
}
Variables
{
"planID": 4,
"pathID": "4",
"input": PathInput
}
Response
{
"data": {
"updateLearningPath": {
"id": "4",
"createdAt": "2007-12-03",
"plan": PlanOfStudy,
"planID": 4,
"paths": [Path]
}
}
}
updateModule
Description
Update a module given its ID The input parameter is the data that will be updated in the module as well as the ID of the module to be updated. The replaceObj parameter specifies the mode in which module objectives should be updated. A true value will repalce existing objectives with the new list passed in, whereas a false value (default) will add the strings in the list to the existing data.
Response
Returns a Module
Arguments
Name | Description |
---|---|
input - ModuleFields
|
|
replaceObj - Boolean
|
Example
Query
mutation UpdateModule(
$input: ModuleFields,
$replaceObj: Boolean
) {
updateModule(
input: $input,
replaceObj: $replaceObj
) {
id
prefix
number
name
content {
id
type
link
parent {
...ModuleFragment
}
primary
}
threads {
id
title
author {
...UserFragment
}
body
comments {
...ThreadFragment
}
topics
upvotes {
...UserFragment
}
usersWatching {
...UserFragment
}
createdAt
updatedAt
parentThread {
...ThreadFragment
}
parentThreadID
}
collections {
id
name
createdAt
updatedAt
modules {
...ModuleFragment
}
moduleIDs
section {
...SectionFragment
}
sectionID
position
}
collectionIDs
position
quizzes {
id
totalPoints
instructions
dueAt
timeLimit
numQuestions
minScore
parentModule {
...ModuleFragment
}
questionPool {
...QuestionFragment
}
instances {
...QuizInstanceFragment
}
}
moduleProgress {
id
status
completed
createdAt
updatedAt
enrollment {
...SectionEnrollmentFragment
}
module {
...ModuleFragment
}
}
objectives
keywords
hours
description
instructor {
id
account {
...UserFragment
}
title
officeLocation
officeHours
contactPolicy
background
researchInterest
selectedPapersAndPublications
}
instructorID
}
}
Variables
{"input": ModuleFields, "replaceObj": true}
Response
{
"data": {
"updateModule": {
"id": 4,
"prefix": "xyz789",
"number": 123,
"name": "abc123",
"content": [Content],
"threads": [Thread],
"collections": [Collection],
"collectionIDs": [4],
"position": 123,
"quizzes": [Quiz],
"moduleProgress": [ModuleProgress],
"objectives": ["abc123"],
"keywords": ["xyz789"],
"hours": 987.65,
"description": "xyz789",
"instructor": InstructorProfile,
"instructorID": "4"
}
}
}
updatePlan
Description
Updating the PlanOfStudy
Response
Returns a PlanOfStudy
Example
Query
mutation UpdatePlan(
$id: ID!,
$input: PlanInput
) {
updatePlan(
id: $id,
input: $input
) {
id
student {
id
openID
email
picURL
createdAt
firstName
lastName
middleName
isAdmin
isActive
biography
phoneNumber
dob
social {
...SocialFragment
}
plan {
...PlanOfStudyFragment
}
tokens
feedback {
...SectionFeedbackFragment
}
assignmentGraded {
...AssignmentResultFragment
}
instructorProfile {
...InstructorProfileFragment
}
watchedThreads {
...ThreadFragment
}
watchedThreadIDs
createdThreads {
...ThreadFragment
}
}
sections {
id
enrolledAt
role
status
section {
...SectionFragment
}
plan {
...PlanOfStudyFragment
}
inactivePlan {
...PlanOfStudyFragment
}
progress {
...ProgressFragment
}
moduleProgress {
...ModuleProgressFragment
}
}
assignmentResults {
id
submittedAt
result
feedback
submissionURL
fileType
student {
...PlanOfStudyFragment
}
gradedBy {
...UserFragment
}
assignment {
...AssignmentFragment
}
}
sectionsLeft {
id
enrolledAt
role
status
section {
...SectionFragment
}
plan {
...PlanOfStudyFragment
}
inactivePlan {
...PlanOfStudyFragment
}
progress {
...ProgressFragment
}
moduleProgress {
...ModuleProgressFragment
}
}
quizResults {
id
score
answers
submittedAt
student {
...PlanOfStudyFragment
}
quizInstance {
...QuizInstanceFragment
}
}
}
}
Variables
{"id": 4, "input": PlanInput}
Response
{
"data": {
"updatePlan": {
"id": "4",
"student": User,
"sections": [SectionEnrollment],
"assignmentResults": [AssignmentResult],
"sectionsLeft": [SectionEnrollment],
"quizResults": [QuizResult]
}
}
}
updateProgress
Description
Update a progress document by either the Progress document's ID or by the enrollmentID. Returns the updated document if successful, Error otherwise.
Response
Returns a Progress!
Arguments
Name | Description |
---|---|
status - Float!
|
The status of the progress in a Float or Int |
id - ID
|
The database defined ID of the progress document to be updated. If this is given, the enrollmentID parameters will be ignored. |
enrollmentID - ID
|
The database defined ID of the enrollment document that holds the progress to be updated. If this is given, the id parameter will be ignored. |
Example
Query
mutation UpdateProgress(
$status: Float!,
$id: ID,
$enrollmentID: ID
) {
updateProgress(
status: $status,
id: $id,
enrollmentID: $enrollmentID
) {
id
status
completed
createdAt
updatedAt
enrollment {
id
enrolledAt
role
status
section {
...SectionFragment
}
plan {
...PlanOfStudyFragment
}
inactivePlan {
...PlanOfStudyFragment
}
progress {
...ProgressFragment
}
moduleProgress {
...ModuleProgressFragment
}
}
}
}
Variables
{"status": 987.65, "id": 4, "enrollmentID": 4}
Response
{
"data": {
"updateProgress": {
"id": "4",
"status": 123.45,
"completed": true,
"createdAt": "2007-12-03",
"updatedAt": "2007-12-03",
"enrollment": SectionEnrollment
}
}
}
updateQuestion
Description
Update a single question record given its document ID. Most fields can be updated through this query.
Response
Returns [Question!]!
Arguments
Name | Description |
---|---|
id - ID!
|
|
values - UpdateQuestion!
|
Example
Query
mutation UpdateQuestion(
$id: ID!,
$values: UpdateQuestion!
) {
updateQuestion(
id: $id,
values: $values
) {
id
number
variant
text
points
answers {
id
text
correct
weight
index
parentQuestion {
...QuestionFragment
}
}
parent {
id
totalPoints
instructions
dueAt
timeLimit
numQuestions
minScore
parentModule {
...ModuleFragment
}
questionPool {
...QuestionFragment
}
instances {
...QuizInstanceFragment
}
}
instances {
id
quiz {
...QuizFragment
}
questions {
...QuestionFragment
}
quizResult {
...QuizResultFragment
}
}
}
}
Variables
{
"id": "4",
"values": UpdateQuestion
}
Response
{
"data": {
"updateQuestion": [
{
"id": "4",
"number": 123,
"variant": 123,
"text": "xyz789",
"points": 123.45,
"answers": [Answer],
"parent": Quiz,
"instances": [QuizInstance]
}
]
}
}
updateQuiz
Description
Update a single quiz record given its document ID. Most fields can be updated through this query.
Response
Returns [Quiz!]!
Arguments
Name | Description |
---|---|
id - ID!
|
|
values - UpdateQuiz!
|
Example
Query
mutation UpdateQuiz(
$id: ID!,
$values: UpdateQuiz!
) {
updateQuiz(
id: $id,
values: $values
) {
id
totalPoints
instructions
dueAt
timeLimit
numQuestions
minScore
parentModule {
id
prefix
number
name
content {
...ContentFragment
}
threads {
...ThreadFragment
}
collections {
...CollectionFragment
}
collectionIDs
position
quizzes {
...QuizFragment
}
moduleProgress {
...ModuleProgressFragment
}
objectives
keywords
hours
description
instructor {
...InstructorProfileFragment
}
instructorID
}
questionPool {
id
number
variant
text
points
answers {
...AnswerFragment
}
parent {
...QuizFragment
}
instances {
...QuizInstanceFragment
}
}
instances {
id
quiz {
...QuizFragment
}
questions {
...QuestionFragment
}
quizResult {
...QuizResultFragment
}
}
}
}
Variables
{
"id": "4",
"values": UpdateQuiz
}
Response
{
"data": {
"updateQuiz": [
{
"id": "4",
"totalPoints": 987.65,
"instructions": "xyz789",
"dueAt": "2007-12-03",
"timeLimit": 123,
"numQuestions": 987,
"minScore": 123.45,
"parentModule": Module,
"questionPool": [Question],
"instances": [QuizInstance]
}
]
}
}
updateQuizScore
Description
Update the score of a Quiz Result. Takes the quiz id and the new score.
Response
Returns a QuizResult
Example
Query
mutation UpdateQuizScore(
$id: ID!,
$newScore: Float!
) {
updateQuizScore(
id: $id,
newScore: $newScore
) {
id
score
answers
submittedAt
student {
id
student {
...UserFragment
}
sections {
...SectionEnrollmentFragment
}
assignmentResults {
...AssignmentResultFragment
}
sectionsLeft {
...SectionEnrollmentFragment
}
quizResults {
...QuizResultFragment
}
}
quizInstance {
id
quiz {
...QuizFragment
}
questions {
...QuestionFragment
}
quizResult {
...QuizResultFragment
}
}
}
}
Variables
{"id": 4, "newScore": 987.65}
Response
{
"data": {
"updateQuizScore": {
"id": "xyz789",
"score": 123.45,
"answers": ["abc123"],
"submittedAt": "2007-12-03",
"student": PlanOfStudy,
"quizInstance": QuizInstance
}
}
}
updateSection
Description
updates a Section
Response
Returns a Section
Arguments
Name | Description |
---|---|
input - UpdateSection
|
Example
Query
mutation UpdateSection($input: UpdateSection) {
updateSection(input: $input) {
id
sectionNumber
sectionName
description
duration
intro
numSlides
keywords
objectives
createdAt
updatedAt
assignments {
id
updatedAt
name
dueAt
contentURL
contentType
acceptedTypes
section {
...SectionFragment
}
assignmentResults {
...AssignmentResultFragment
}
}
members {
id
enrolledAt
role
status
section {
...SectionFragment
}
plan {
...PlanOfStudyFragment
}
inactivePlan {
...PlanOfStudyFragment
}
progress {
...ProgressFragment
}
moduleProgress {
...ModuleProgressFragment
}
}
feedback {
id
feedback
rating
student {
...UserFragment
}
section {
...SectionFragment
}
}
parentSections {
id
sectionNumber
sectionName
description
duration
intro
numSlides
keywords
objectives
createdAt
updatedAt
assignments {
...AssignmentFragment
}
members {
...SectionEnrollmentFragment
}
feedback {
...SectionFeedbackFragment
}
parentSections {
...SectionFragment
}
subSections {
...SectionFragment
}
collections {
...CollectionFragment
}
courseIDs
}
subSections {
id
sectionNumber
sectionName
description
duration
intro
numSlides
keywords
objectives
createdAt
updatedAt
assignments {
...AssignmentFragment
}
members {
...SectionEnrollmentFragment
}
feedback {
...SectionFeedbackFragment
}
parentSections {
...SectionFragment
}
subSections {
...SectionFragment
}
collections {
...CollectionFragment
}
courseIDs
}
collections {
id
name
createdAt
updatedAt
modules {
...ModuleFragment
}
moduleIDs
section {
...SectionFragment
}
sectionID
position
}
courseIDs
}
}
Variables
{"input": UpdateSection}
Response
{
"data": {
"updateSection": {
"id": "4",
"sectionNumber": 123,
"sectionName": "abc123",
"description": "xyz789",
"duration": 123.45,
"intro": "xyz789",
"numSlides": 123,
"keywords": ["xyz789"],
"objectives": ["abc123"],
"createdAt": "2007-12-03",
"updatedAt": "2007-12-03",
"assignments": [Assignment],
"members": [SectionEnrollment],
"feedback": [SectionFeedback],
"parentSections": [Section],
"subSections": [Section],
"collections": [Collection],
"courseIDs": ["4"]
}
}
}
updateSectionEnrollment
Response
Returns a SectionEnrollment
Arguments
Name | Description |
---|---|
id - ID!
|
Section enrollment is updated relating to id |
input - SectionEnrollmentInput
|
Section enrollment input |
Example
Query
mutation UpdateSectionEnrollment(
$id: ID!,
$input: SectionEnrollmentInput
) {
updateSectionEnrollment(
id: $id,
input: $input
) {
id
enrolledAt
role
status
section {
id
sectionNumber
sectionName
description
duration
intro
numSlides
keywords
objectives
createdAt
updatedAt
assignments {
...AssignmentFragment
}
members {
...SectionEnrollmentFragment
}
feedback {
...SectionFeedbackFragment
}
parentSections {
...SectionFragment
}
subSections {
...SectionFragment
}
collections {
...CollectionFragment
}
courseIDs
}
plan {
id
student {
...UserFragment
}
sections {
...SectionEnrollmentFragment
}
assignmentResults {
...AssignmentResultFragment
}
sectionsLeft {
...SectionEnrollmentFragment
}
quizResults {
...QuizResultFragment
}
}
inactivePlan {
id
student {
...UserFragment
}
sections {
...SectionEnrollmentFragment
}
assignmentResults {
...AssignmentResultFragment
}
sectionsLeft {
...SectionEnrollmentFragment
}
quizResults {
...QuizResultFragment
}
}
progress {
id
status
completed
createdAt
updatedAt
enrollment {
...SectionEnrollmentFragment
}
}
moduleProgress {
id
status
completed
createdAt
updatedAt
enrollment {
...SectionEnrollmentFragment
}
module {
...ModuleFragment
}
}
}
}
Variables
{"id": 4, "input": SectionEnrollmentInput}
Response
{
"data": {
"updateSectionEnrollment": {
"id": "4",
"enrolledAt": "2007-12-03",
"role": "STUDENT",
"status": "ACTIVE",
"section": Section,
"plan": PlanOfStudy,
"inactivePlan": PlanOfStudy,
"progress": Progress,
"moduleProgress": [ModuleProgress]
}
}
}
updateSectionFeedback
Description
Section feedback is updated
Response
Returns a SectionFeedback
Arguments
Name | Description |
---|---|
id - ID!
|
|
input - SectionFeedbackUpdate
|
Example
Query
mutation UpdateSectionFeedback(
$id: ID!,
$input: SectionFeedbackUpdate
) {
updateSectionFeedback(
id: $id,
input: $input
) {
id
feedback
rating
student {
id
openID
email
picURL
createdAt
firstName
lastName
middleName
isAdmin
isActive
biography
phoneNumber
dob
social {
...SocialFragment
}
plan {
...PlanOfStudyFragment
}
tokens
feedback {
...SectionFeedbackFragment
}
assignmentGraded {
...AssignmentResultFragment
}
instructorProfile {
...InstructorProfileFragment
}
watchedThreads {
...ThreadFragment
}
watchedThreadIDs
createdThreads {
...ThreadFragment
}
}
section {
id
sectionNumber
sectionName
description
duration
intro
numSlides
keywords
objectives
createdAt
updatedAt
assignments {
...AssignmentFragment
}
members {
...SectionEnrollmentFragment
}
feedback {
...SectionFeedbackFragment
}
parentSections {
...SectionFragment
}
subSections {
...SectionFragment
}
collections {
...CollectionFragment
}
courseIDs
}
}
}
Variables
{
"id": "4",
"input": SectionFeedbackUpdate
}
Response
{
"data": {
"updateSectionFeedback": {
"id": "4",
"feedback": "abc123",
"rating": 123,
"student": User,
"section": Section
}
}
}
updateSocial
Description
Updates Social to the user
Response
Returns a Social
Arguments
Name | Description |
---|---|
id - ID!
|
|
input - SocialInput!
|
Example
Query
mutation UpdateSocial(
$id: ID!,
$input: SocialInput!
) {
updateSocial(
id: $id,
input: $input
) {
id
twitter
github
linkedin
facebook
portfolio
account {
id
openID
email
picURL
createdAt
firstName
lastName
middleName
isAdmin
isActive
biography
phoneNumber
dob
social {
...SocialFragment
}
plan {
...PlanOfStudyFragment
}
tokens
feedback {
...SectionFeedbackFragment
}
assignmentGraded {
...AssignmentResultFragment
}
instructorProfile {
...InstructorProfileFragment
}
watchedThreads {
...ThreadFragment
}
watchedThreadIDs
createdThreads {
...ThreadFragment
}
}
}
}
Variables
{
"id": "4",
"input": SocialInput
}
Response
{
"data": {
"updateSocial": {
"id": "4",
"twitter": "abc123",
"github": "xyz789",
"linkedin": "abc123",
"facebook": "xyz789",
"portfolio": "xyz789",
"account": User
}
}
}
updateThread
Response
Returns a Thread
Arguments
Name | Description |
---|---|
id - ID!
|
|
data - IThreadCreateInput!
|
Example
Query
mutation UpdateThread(
$id: ID!,
$data: IThreadCreateInput!
) {
updateThread(
id: $id,
data: $data
) {
id
title
author {
id
openID
email
picURL
createdAt
firstName
lastName
middleName
isAdmin
isActive
biography
phoneNumber
dob
social {
...SocialFragment
}
plan {
...PlanOfStudyFragment
}
tokens
feedback {
...SectionFeedbackFragment
}
assignmentGraded {
...AssignmentResultFragment
}
instructorProfile {
...InstructorProfileFragment
}
watchedThreads {
...ThreadFragment
}
watchedThreadIDs
createdThreads {
...ThreadFragment
}
}
body
comments {
id
title
author {
...UserFragment
}
body
comments {
...ThreadFragment
}
topics
upvotes {
...UserFragment
}
usersWatching {
...UserFragment
}
createdAt
updatedAt
parentThread {
...ThreadFragment
}
parentThreadID
}
topics
upvotes {
id
openID
email
picURL
createdAt
firstName
lastName
middleName
isAdmin
isActive
biography
phoneNumber
dob
social {
...SocialFragment
}
plan {
...PlanOfStudyFragment
}
tokens
feedback {
...SectionFeedbackFragment
}
assignmentGraded {
...AssignmentResultFragment
}
instructorProfile {
...InstructorProfileFragment
}
watchedThreads {
...ThreadFragment
}
watchedThreadIDs
createdThreads {
...ThreadFragment
}
}
usersWatching {
id
openID
email
picURL
createdAt
firstName
lastName
middleName
isAdmin
isActive
biography
phoneNumber
dob
social {
...SocialFragment
}
plan {
...PlanOfStudyFragment
}
tokens
feedback {
...SectionFeedbackFragment
}
assignmentGraded {
...AssignmentResultFragment
}
instructorProfile {
...InstructorProfileFragment
}
watchedThreads {
...ThreadFragment
}
watchedThreadIDs
createdThreads {
...ThreadFragment
}
}
createdAt
updatedAt
parentThread {
id
title
author {
...UserFragment
}
body
comments {
...ThreadFragment
}
topics
upvotes {
...UserFragment
}
usersWatching {
...UserFragment
}
createdAt
updatedAt
parentThread {
...ThreadFragment
}
parentThreadID
}
parentThreadID
}
}
Variables
{"id": 4, "data": IThreadCreateInput}
Response
{
"data": {
"updateThread": {
"id": 4,
"title": "abc123",
"author": User,
"body": "xyz789",
"comments": [Thread],
"topics": ["xyz789"],
"upvotes": [User],
"usersWatching": [User],
"createdAt": "2007-12-03",
"updatedAt": "2007-12-03",
"parentThread": Thread,
"parentThreadID": "4"
}
}
}
updateUser
Description
Updates user
Response
Returns a User
Arguments
Name | Description |
---|---|
input - UpdateUser
|
Example
Query
mutation UpdateUser($input: UpdateUser) {
updateUser(input: $input) {
id
openID
email
picURL
createdAt
firstName
lastName
middleName
isAdmin
isActive
biography
phoneNumber
dob
social {
id
twitter
github
linkedin
facebook
portfolio
account {
...UserFragment
}
}
plan {
id
student {
...UserFragment
}
sections {
...SectionEnrollmentFragment
}
assignmentResults {
...AssignmentResultFragment
}
sectionsLeft {
...SectionEnrollmentFragment
}
quizResults {
...QuizResultFragment
}
}
tokens
feedback {
id
feedback
rating
student {
...UserFragment
}
section {
...SectionFragment
}
}
assignmentGraded {
id
submittedAt
result
feedback
submissionURL
fileType
student {
...PlanOfStudyFragment
}
gradedBy {
...UserFragment
}
assignment {
...AssignmentFragment
}
}
instructorProfile {
id
account {
...UserFragment
}
title
officeLocation
officeHours
contactPolicy
background
researchInterest
selectedPapersAndPublications
}
watchedThreads {
id
title
author {
...UserFragment
}
body
comments {
...ThreadFragment
}
topics
upvotes {
...UserFragment
}
usersWatching {
...UserFragment
}
createdAt
updatedAt
parentThread {
...ThreadFragment
}
parentThreadID
}
watchedThreadIDs
createdThreads {
id
title
author {
...UserFragment
}
body
comments {
...ThreadFragment
}
topics
upvotes {
...UserFragment
}
usersWatching {
...UserFragment
}
createdAt
updatedAt
parentThread {
...ThreadFragment
}
parentThreadID
}
}
}
Variables
{"input": UpdateUser}
Response
{
"data": {
"updateUser": {
"id": "4",
"openID": "4",
"email": "abc123",
"picURL": "xyz789",
"createdAt": "2007-12-03",
"firstName": "abc123",
"lastName": "abc123",
"middleName": "xyz789",
"isAdmin": true,
"isActive": true,
"biography": "xyz789",
"phoneNumber": "abc123",
"dob": "2007-12-03",
"social": Social,
"plan": PlanOfStudy,
"tokens": [4],
"feedback": [SectionFeedback],
"assignmentGraded": [AssignmentResult],
"instructorProfile": InstructorProfile,
"watchedThreads": [Thread],
"watchedThreadIDs": [4],
"createdThreads": [Thread]
}
}
}
updateUserSocial
Description
updates user social
Response
Returns a Social
Arguments
Name | Description |
---|---|
userId - ID!
|
|
input - SocialInput!
|
Example
Query
mutation UpdateUserSocial(
$userId: ID!,
$input: SocialInput!
) {
updateUserSocial(
userId: $userId,
input: $input
) {
id
twitter
github
linkedin
facebook
portfolio
account {
id
openID
email
picURL
createdAt
firstName
lastName
middleName
isAdmin
isActive
biography
phoneNumber
dob
social {
...SocialFragment
}
plan {
...PlanOfStudyFragment
}
tokens
feedback {
...SectionFeedbackFragment
}
assignmentGraded {
...AssignmentResultFragment
}
instructorProfile {
...InstructorProfileFragment
}
watchedThreads {
...ThreadFragment
}
watchedThreadIDs
createdThreads {
...ThreadFragment
}
}
}
}
Variables
{"userId": 4, "input": SocialInput}
Response
{
"data": {
"updateUserSocial": {
"id": "4",
"twitter": "abc123",
"github": "xyz789",
"linkedin": "abc123",
"facebook": "xyz789",
"portfolio": "xyz789",
"account": User
}
}
}
upvoteThread
Example
Query
mutation UpvoteThread(
$id: ID!,
$userID: ID!
) {
upvoteThread(
id: $id,
userID: $userID
) {
id
title
author {
id
openID
email
picURL
createdAt
firstName
lastName
middleName
isAdmin
isActive
biography
phoneNumber
dob
social {
...SocialFragment
}
plan {
...PlanOfStudyFragment
}
tokens
feedback {
...SectionFeedbackFragment
}
assignmentGraded {
...AssignmentResultFragment
}
instructorProfile {
...InstructorProfileFragment
}
watchedThreads {
...ThreadFragment
}
watchedThreadIDs
createdThreads {
...ThreadFragment
}
}
body
comments {
id
title
author {
...UserFragment
}
body
comments {
...ThreadFragment
}
topics
upvotes {
...UserFragment
}
usersWatching {
...UserFragment
}
createdAt
updatedAt
parentThread {
...ThreadFragment
}
parentThreadID
}
topics
upvotes {
id
openID
email
picURL
createdAt
firstName
lastName
middleName
isAdmin
isActive
biography
phoneNumber
dob
social {
...SocialFragment
}
plan {
...PlanOfStudyFragment
}
tokens
feedback {
...SectionFeedbackFragment
}
assignmentGraded {
...AssignmentResultFragment
}
instructorProfile {
...InstructorProfileFragment
}
watchedThreads {
...ThreadFragment
}
watchedThreadIDs
createdThreads {
...ThreadFragment
}
}
usersWatching {
id
openID
email
picURL
createdAt
firstName
lastName
middleName
isAdmin
isActive
biography
phoneNumber
dob
social {
...SocialFragment
}
plan {
...PlanOfStudyFragment
}
tokens
feedback {
...SectionFeedbackFragment
}
assignmentGraded {
...AssignmentResultFragment
}
instructorProfile {
...InstructorProfileFragment
}
watchedThreads {
...ThreadFragment
}
watchedThreadIDs
createdThreads {
...ThreadFragment
}
}
createdAt
updatedAt
parentThread {
id
title
author {
...UserFragment
}
body
comments {
...ThreadFragment
}
topics
upvotes {
...UserFragment
}
usersWatching {
...UserFragment
}
createdAt
updatedAt
parentThread {
...ThreadFragment
}
parentThreadID
}
parentThreadID
}
}
Variables
{"id": 4, "userID": "4"}
Response
{
"data": {
"upvoteThread": {
"id": 4,
"title": "xyz789",
"author": User,
"body": "xyz789",
"comments": [Thread],
"topics": ["abc123"],
"upvotes": [User],
"usersWatching": [User],
"createdAt": "2007-12-03",
"updatedAt": "2007-12-03",
"parentThread": Thread,
"parentThreadID": 4
}
}
}
waiveSection
Response
Returns a Progress!
Arguments
Name | Description |
---|---|
args - ProgressWaiveArgs!
|
Example
Query
mutation WaiveSection($args: ProgressWaiveArgs!) {
waiveSection(args: $args) {
id
status
completed
createdAt
updatedAt
enrollment {
id
enrolledAt
role
status
section {
...SectionFragment
}
plan {
...PlanOfStudyFragment
}
inactivePlan {
...PlanOfStudyFragment
}
progress {
...ProgressFragment
}
moduleProgress {
...ModuleProgressFragment
}
}
}
}
Variables
{"args": ProgressWaiveArgs}
Response
{
"data": {
"waiveSection": {
"id": "4",
"status": 123.45,
"completed": true,
"createdAt": "2007-12-03",
"updatedAt": "2007-12-03",
"enrollment": SectionEnrollment
}
}
}
Subscriptions
newDirectMessage
Description
Subscribe to new messages in a group. If the receiverID is not matched by the receiverID of the message, the message is not caught by WS.
Response
Returns a DirectMessageResponse!
Arguments
Name | Description |
---|---|
receiverID - ID
|
Example
Query
subscription NewDirectMessage($receiverID: ID) {
newDirectMessage(receiverID: $receiverID) {
id
createdAt
updatedAt
body
authorID
recipientID
author {
id
openID
email
picURL
createdAt
firstName
lastName
middleName
isAdmin
isActive
biography
phoneNumber
dob
social {
...SocialFragment
}
plan {
...PlanOfStudyFragment
}
tokens
feedback {
...SectionFeedbackFragment
}
assignmentGraded {
...AssignmentResultFragment
}
instructorProfile {
...InstructorProfileFragment
}
watchedThreads {
...ThreadFragment
}
watchedThreadIDs
createdThreads {
...ThreadFragment
}
}
recipient {
... on User {
...UserFragment
}
... on Group {
...GroupFragment
}
}
}
}
Variables
{"receiverID": "4"}
Response
{
"data": {
"newDirectMessage": {
"id": "4",
"createdAt": "2007-12-03",
"updatedAt": "2007-12-03",
"body": "abc123",
"authorID": "4",
"recipientID": 4,
"author": User,
"recipient": User
}
}
}
newGroupMessage
Response
Returns a DirectMessageResponse!
Arguments
Name | Description |
---|---|
groupID - ID
|
Example
Query
subscription NewGroupMessage($groupID: ID) {
newGroupMessage(groupID: $groupID) {
id
createdAt
updatedAt
body
authorID
recipientID
author {
id
openID
email
picURL
createdAt
firstName
lastName
middleName
isAdmin
isActive
biography
phoneNumber
dob
social {
...SocialFragment
}
plan {
...PlanOfStudyFragment
}
tokens
feedback {
...SectionFeedbackFragment
}
assignmentGraded {
...AssignmentResultFragment
}
instructorProfile {
...InstructorProfileFragment
}
watchedThreads {
...ThreadFragment
}
watchedThreadIDs
createdThreads {
...ThreadFragment
}
}
recipient {
... on User {
...UserFragment
}
... on Group {
...GroupFragment
}
}
}
}
Variables
{"groupID": 4}
Response
{
"data": {
"newGroupMessage": {
"id": 4,
"createdAt": "2007-12-03",
"updatedAt": "2007-12-03",
"body": "xyz789",
"authorID": 4,
"recipientID": 4,
"author": User,
"recipient": User
}
}
}
Types
Answer
Fields
Field Name | Description |
---|---|
id - ID!
|
The document ID of this answer |
text - String!
|
The actual human readable text of this answer |
correct - Boolean!
|
If this possible is marked as a correct response |
weight - Float
|
The weight towards total points this answer will have default is evenly distributed for each correct answer in a question |
index - String
|
The index of the answer when listed (A, B, C, D, etc.) If no value is specified then the order will be random when queried |
parentQuestion - Question!
|
The question that this answer belongs to |
Example
{
"id": 4,
"text": "xyz789",
"correct": false,
"weight": 987.65,
"index": "xyz789",
"parentQuestion": Question
}
AnswerFields
Fields
Input Field | Description |
---|---|
id - ID
|
The document ID of this answer |
text - String
|
The actual human readable text of this answer |
correct - Boolean
|
If this possible is marked as a correct response |
weight - Float
|
The weight towards total points this answer will have default is evenly distributed for each correct answer in a question |
index - String
|
The index of the answer when listed (A, B, C, D, etc.) |
parentQuestion - ID
|
The question that this answer belongs to |
Example
{
"id": "4",
"text": "abc123",
"correct": false,
"weight": 987.65,
"index": "xyz789",
"parentQuestion": 4
}
Assignment
Fields
Field Name | Description |
---|---|
id - ID!
|
Assignment id |
updatedAt - Date!
|
date and time at which assignment is updated |
name - String!
|
Name of the assignment |
dueAt - Date
|
due of the assignment |
contentURL - String
|
s3 id of the content |
contentType - String
|
File type that the assignment is submitted in |
acceptedTypes - FileType
|
Accepted file types for assignments |
section - Section!
|
Assignment belonging to the Section |
assignmentResults - [AssignmentResult]
|
Assignment Result |
Example
{
"id": "4",
"updatedAt": "2007-12-03",
"name": "abc123",
"dueAt": "2007-12-03",
"contentURL": "xyz789",
"contentType": "abc123",
"acceptedTypes": "DOCX",
"section": Section,
"assignmentResults": [AssignmentResult]
}
AssignmentFields
Example
{
"id": "4",
"updatedAt": "2007-12-03",
"name": "xyz789",
"dueAt": "2007-12-03",
"contentURL": "xyz789",
"contentType": "xyz789",
"acceptedTypes": "DOCX",
"section": 4,
"assignmentResult": 4
}
AssignmentInput
AssignmentResFields
Example
{
"id": 4,
"submittedAt": "2007-12-03",
"result": 123.45,
"feedback": "abc123",
"submissionURL": "xyz789",
"fileType": "xyz789",
"student": 4,
"gradedBy": "4",
"assignment": 4
}
AssignmentResult
Fields
Field Name | Description |
---|---|
id - ID!
|
id of AssignmentResult |
submittedAt - Date!
|
Time at which the Assignment Result is given |
result - Float!
|
result of the Assignment |
feedback - String
|
feedback given on the Assignment |
submissionURL - String
|
s3 id of the submitted file |
fileType - String
|
File type that the submission is in |
student - PlanOfStudy
|
Assignment Result of the student |
gradedBy - User
|
Assignment graded by the User |
assignment - Assignment
|
Assignment to which result is given |
Example
{
"id": 4,
"submittedAt": "2007-12-03",
"result": 123.45,
"feedback": "xyz789",
"submissionURL": "xyz789",
"fileType": "xyz789",
"student": PlanOfStudy,
"gradedBy": User,
"assignment": Assignment
}
Boolean
Description
The Boolean
scalar type represents true
or false
.
Example
true
Collection
Fields
Field Name | Description |
---|---|
id - ID!
|
id of the collection |
name - String!
|
Name of the collection |
createdAt - Date!
|
Date and Time of the collection created at |
updatedAt - Date!
|
Date and Time of the collection updated at |
modules - [Module]
|
List of modules in the collection |
moduleIDs - [ID!]
|
|
section - Section!
|
The Section that this collection belongs to |
sectionID - ID!
|
The Section's unique ID that this collection belongs to |
position - Int
|
The position index of the collection in a Section |
Example
{
"id": 4,
"name": "abc123",
"createdAt": "2007-12-03",
"updatedAt": "2007-12-03",
"modules": [Module],
"moduleIDs": ["4"],
"section": Section,
"sectionID": "4",
"position": 123
}
CollectionFields
CollectionPath
Fields
Field Name | Description |
---|---|
id - ID!
|
|
name - String!
|
|
modules - [ModulePath!]!
|
Example
{
"id": "4",
"name": "xyz789",
"modules": [ModulePath]
}
CollectionPathInput
Fields
Input Field | Description |
---|---|
id - ID!
|
|
modules - [ModulePathInput!]!
|
Example
{"id": 4, "modules": [ModulePathInput]}
Content
Fields
Field Name | Description |
---|---|
id - ID!
|
Document ID for this content |
type - ContentType!
|
The type of content that this link/id references |
link - String!
|
The URL or other access point for the content being referenced. This will typically be an AWS s3 bucket ID |
parent - Module!
|
The module that this content belongs to. |
primary - Boolean!
|
Boolean property that marks each element in the content array of a module as either the primary content type or secondary resources |
Example
{
"id": "4",
"type": "PDF",
"link": "abc123",
"parent": Module,
"primary": true
}
ContentFields
Fields
Input Field | Description |
---|---|
id - ID
|
Document ID for this content |
type - ContentType
|
The type of content that this link/id references |
link - String
|
The URL or other access point for the content being referenced. This will typically be an AWS s3 bucket ID |
parent - ID
|
The module that this content belongs to. |
primary - Boolean
|
Boolean property that marks each element in the content array of a module as either the primary content type or secondary resources |
Example
{
"id": "4",
"type": "PDF",
"link": "abc123",
"parent": 4,
"primary": true
}
ContentType
Values
Enum Value | Description |
---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Example
"PDF"
Course
Fields
Field Name | Description |
---|---|
id - ID!
|
course id |
name - String!
|
Name of the course |
number - Int
|
|
prefix - String
|
|
sectionIDs - [ID]
|
Sections in the course |
required - Boolean!
|
Boolean value to check if the course is required/core or an elective |
carnegieHours - Int!
|
Number of Carnegie Unit and Student Hours that the course is worth |
Example
{
"id": 4,
"name": "xyz789",
"number": 123,
"prefix": "xyz789",
"sectionIDs": [4],
"required": false,
"carnegieHours": 987
}
CourseFields
CourseInput
Fields
Input Field | Description |
---|---|
name - String!
|
The name of the given Course |
number - Int
|
|
prefix - String
|
|
section - ID
|
Additional section to be related to the course |
required - Boolean
|
The boolean attribute to decide weather the course is part of core courses or electives |
carnegieHours - Int
|
The Carnegie Hours of the Course |
Example
{
"name": "abc123",
"number": 123,
"prefix": "xyz789",
"section": "4",
"required": true,
"carnegieHours": 123
}
CoursePath
Fields
Field Name | Description |
---|---|
id - ID!
|
course id |
name - String!
|
Name of the course |
prefix - String
|
|
number - Int
|
|
required - Boolean!
|
Boolean value to check if the course is required/core or an elective |
carnegieHours - Int!
|
Number of Carnegie Unit and Student Hours that the course is worth |
sections - [SectionPath!]!
|
Example
{
"id": 4,
"name": "xyz789",
"prefix": "abc123",
"number": 123,
"required": true,
"carnegieHours": 987,
"sections": [SectionPath]
}
CoursePathInput
Fields
Input Field | Description |
---|---|
id - ID!
|
|
sections - [SectionPathInput!]!
|
Example
{"id": 4, "sections": [SectionPathInput]}
CreateAnswer
Fields
Input Field | Description |
---|---|
text - String!
|
The actual human readable text of this answer |
correct - Boolean!
|
If this possible is marked as a correct response |
weight - Float
|
The weight towards total points this answer will have default is evenly distributed for each correct answer in a question |
index - String
|
The index of the answer when listed (A, B, C, D, etc.) |
parentQuestion - ID!
|
The question that this answer belongs to |
Example
{
"text": "abc123",
"correct": true,
"weight": 123.45,
"index": "abc123",
"parentQuestion": "4"
}
CreateCollectionArgs
CreateContentArgs
Fields
Input Field | Description |
---|---|
type - ContentType!
|
The type of content that this link/id references |
link - String!
|
The URL or other access point for the content being referenced. This will typically be an AWS s3 bucket ID |
parent - ID!
|
The module that this content belongs to. |
primary - Boolean!
|
Boolean property that marks each element in the content array of a module as either the primary content type or secondary resources |
Example
{
"type": "PDF",
"link": "xyz789",
"parent": "4",
"primary": true
}
CreateLearningPathInput
Fields
Input Field | Description |
---|---|
path - PathInput
|
|
paths - [PathInput!]
|
Example
{
"path": PathInput,
"paths": [PathInput]
}
CreateQuestion
Fields
Input Field | Description |
---|---|
number - Int!
|
The question number on the quiz/in the pool |
variant - Int!
|
The variant of the question number that this question is |
text - String!
|
The text of the question (the readable question itself) |
points - Float
|
The amount of points this question is worth |
parentQuiz - ID!
|
The quiz this question belongs to |
Example
{
"number": 987,
"variant": 987,
"text": "abc123",
"points": 987.65,
"parentQuiz": "4"
}
CreateQuiz
Fields
Input Field | Description |
---|---|
totalPoints - Float!
|
The total amount of points possible on this quiz |
instructions - String
|
The instruction field for this quiz |
dueAt - Date
|
The time the Quiz is due |
timeLimit - Int
|
The allotted time to take this quiz in ms |
numQuestions - Int!
|
The number of questions on this quiz |
minScore - Float
|
The minimum passing score for this quiz |
parentModule - ID!
|
The module that this quiz belongs to |
Example
{
"totalPoints": 987.65,
"instructions": "xyz789",
"dueAt": "2007-12-03",
"timeLimit": 987,
"numQuestions": 123,
"minScore": 123.45,
"parentModule": "4"
}
Date
Example
"2007-12-03"
DirectMessageResponse
Example
{
"id": "4",
"createdAt": "2007-12-03",
"updatedAt": "2007-12-03",
"body": "abc123",
"authorID": 4,
"recipientID": 4,
"author": User,
"recipient": User
}
EnrollmentStatus
Values
Enum Value | Description |
---|---|
|
|
|
Example
"ACTIVE"
FileType
Values
Enum Value | Description |
---|---|
|
|
|
|
|
|
|
|
|
Example
"DOCX"
Float
Description
The Float
scalar type represents signed double-precision fractional values as specified by IEEE 754.
Example
123.45
Group
Fields
Field Name | Description |
---|---|
id - ID!
|
|
name - String!
|
|
members - [User!]!
|
|
public - Boolean!
|
|
messages - [DirectMessageResponse!]!
|
Example
{
"id": "4",
"name": "xyz789",
"members": [User],
"public": true,
"messages": [DirectMessageResponse]
}
ICommentCreateInput
Example
{
"id": "4",
"body": "abc123",
"author": 4
}
ID
Description
The ID
scalar type represents a unique identifier, often used to refetch an object or as key for a cache. The ID type appears in a JSON response as a String; however, it is not intended to be human-readable. When expected as an input type, any string (such as "4"
) or integer (such as 4
) input value will be accepted as an ID.
Example
"4"
IThreadByParams
Fields
Input Field | Description |
---|---|
id - ID
|
The ID of the thread to be exactly equal to the given value. If this parameter is given, all other parameters are ignored. The returned thread is guaranteed to be unique, but still returned as an array. |
title - String
|
The title of the thread to be partially matched to the given value. Upper and lower case characters are not treated equally. |
body - String
|
The content body of the thread to be partially matched to the given value. Upper and lower case characters are not treated equally. |
topics - [String]
|
The topic tags associated with the thread |
parentThread - ID
|
The ID of the parent thread to be exactly equal to the given value. |
comments - ID
|
The ID of a comment to be exactly equal to the given value. The query will look through all Threads that are comments and return the parent thread and the entire comments array that matches the given ID. |
author - ID
|
The ID of the user to be exactly equal to the given value. |
Example
{
"id": 4,
"title": "xyz789",
"body": "abc123",
"topics": ["abc123"],
"parentThread": 4,
"comments": 4,
"author": "4"
}
IThreadCreateInput
Fields
Input Field | Description |
---|---|
title - String
|
The title of the thread. If this parameter is not given, the thread will be created as a comment to another thread, but only if the parentThread parameter is given. If this parameter is not given, the thread will be created as a new thread. |
body - String!
|
The content body of the thread. Currently only supports text. |
topics - [String]
|
The topic tags associated with the thread |
parentThread - ID
|
The ID of the parent thread that this comment belongs to. If this parameter is not given, the thread will be created as a new thread, and not as a comment. If this parameter is not given, the title parameter must be given. |
author - ID!
|
The ID of the user that is creating the thread. The thread's ID will be added to the user's list of watched threads. |
Example
{
"title": "abc123",
"body": "abc123",
"topics": ["abc123"],
"parentThread": "4",
"author": "4"
}
InstructorProfile
Fields
Field Name | Description |
---|---|
id - ID!
|
Instructor Profile id |
account - User
|
Account pointing to User |
title - String
|
Title of the Instructor Profile |
officeLocation - String
|
office location of the user |
officeHours - [String]
|
office hours of the user |
contactPolicy - String
|
contract policy needed |
background - String
|
Background of the Profile |
researchInterest - [String]
|
Research interest of the User |
selectedPapersAndPublications - [String]
|
The papers and publications selected |
Example
{
"id": 4,
"account": User,
"title": "xyz789",
"officeLocation": "abc123",
"officeHours": ["abc123"],
"contactPolicy": "xyz789",
"background": "xyz789",
"researchInterest": ["abc123"],
"selectedPapersAndPublications": [
"abc123"
]
}
InstructorProfileInput
Fields
Input Field | Description |
---|---|
title - String
|
Instructor profile title |
officeLocation - String
|
Office-location of Instructor Profile |
officeHours - [String]
|
Office hours of Instructor Profile |
contactPolicy - String
|
Contact Policy of Instructor Profile |
background - String
|
Background of Profile |
researchInterest - [String]
|
Research Interest of the Instructor |
selectedPapersAndPublications - [String]
|
Selected Papers and Publications of the Instructor |
Example
{
"title": "xyz789",
"officeLocation": "abc123",
"officeHours": ["xyz789"],
"contactPolicy": "xyz789",
"background": "abc123",
"researchInterest": ["xyz789"],
"selectedPapersAndPublications": [
"abc123"
]
}
Int
Description
The Int
scalar type represents non-fractional signed whole numeric values. Int can represent values between -(2^31) and 2^31 - 1.
Example
987
LearningPath
Fields
Field Name | Description |
---|---|
id - ID!
|
|
createdAt - Date!
|
|
plan - PlanOfStudy!
|
|
planID - ID!
|
|
paths - [Path!]!
|
Example
{
"id": 4,
"createdAt": "2007-12-03",
"plan": PlanOfStudy,
"planID": 4,
"paths": [Path]
}
Members
ModEnrollmentFields
ModFeedbackFields
Module
Fields
Field Name | Description |
---|---|
id - ID!
|
document ID |
prefix - String
|
|
number - Int
|
|
name - String!
|
Module Name |
content - [Content]
|
The link/id of the actual content data itself |
threads - [Thread]
|
The list of threads related to the module |
collections - [Collection]
|
The collection that the module belongs to |
collectionIDs - [ID!]
|
|
position - Int
|
The position index of the module in the collection it belongs to. |
quizzes - [Quiz!]
|
The quizzes that belong to this module |
moduleProgress - [ModuleProgress]
|
The progress model that is associated with this module |
objectives - [String!]!
|
A list of learning objectives being covered in this Section |
keywords - [String!]!
|
A list of keywords that most accurately describe the content of this Module |
hours - Float!
|
The number of carnige hours granted for completion of this Section |
description - String
|
|
instructor - InstructorProfile
|
|
instructorID - ID
|
Example
{
"id": "4",
"prefix": "abc123",
"number": 123,
"name": "xyz789",
"content": [Content],
"threads": [Thread],
"collections": [Collection],
"collectionIDs": [4],
"position": 987,
"quizzes": [Quiz],
"moduleProgress": [ModuleProgress],
"objectives": ["abc123"],
"keywords": ["xyz789"],
"hours": 987.65,
"description": "xyz789",
"instructor": InstructorProfile,
"instructorID": "4"
}
ModuleFields
Fields
Input Field | Description |
---|---|
id - ID
|
document ID |
name - String
|
Module Name |
number - Int
|
|
prefix - String
|
|
content - ID
|
The link/id of the actual content data itself |
thread - ID
|
The list of ids to threads related to the module (Only a single value is supported) |
collection - ID
|
The ID of the parent collection |
position - Int
|
The index of the module in the collection |
objectives - [String!]
|
Learning objectives that are taught in this Section |
keywords - [String!]
|
|
hours - Float
|
The number of carnige hours granted for completing this Section |
description - String
|
|
instructor - ID
|
Example
{
"id": "4",
"name": "xyz789",
"number": 123,
"prefix": "abc123",
"content": "4",
"thread": 4,
"collection": 4,
"position": 987,
"objectives": ["abc123"],
"keywords": ["abc123"],
"hours": 123.45,
"description": "xyz789",
"instructor": 4
}
ModuleFlow
Fields
Field Name | Description |
---|---|
previousModule - Module
|
|
previousCollection - Collection
|
|
nextModule - Module
|
|
nextCollection - Collection
|
|
currentModule - Module
|
|
currentCollection - Collection
|
|
currentSection - Section
|
Example
{
"previousModule": Module,
"previousCollection": Collection,
"nextModule": Module,
"nextCollection": Collection,
"currentModule": Module,
"currentCollection": Collection,
"currentSection": Section
}
ModuleInput
Fields
Input Field | Description |
---|---|
name - String!
|
Module Name |
prefix - String
|
|
number - Int
|
|
content - ID
|
The link/id of the actual content data itself |
collection - ID
|
The ID of the parent collection |
position - Int
|
The index of the Module in the collection |
objectives - [String!]
|
The list of learning objectives for this Section |
keywords - [String!]
|
|
hours - Float!
|
The number of carnige hours granted for completing this Section |
description - String
|
|
instructor - ID
|
Example
{
"name": "xyz789",
"prefix": "abc123",
"number": 987,
"content": "4",
"collection": "4",
"position": 123,
"objectives": ["xyz789"],
"keywords": ["abc123"],
"hours": 123.45,
"description": "xyz789",
"instructor": 4
}
ModulePath
Fields
Field Name | Description |
---|---|
id - ID!
|
document ID |
name - String!
|
Module Name |
number - Int
|
|
prefix - String
|
|
content - [Content]
|
The link/id of the actual content data itself |
threads - [Thread]
|
The list of threads related to the module |
collections - [Collection]
|
The collection that the module belongs to |
collectionIDs - [ID!]
|
|
position - Int
|
The position index of the module in the collection it belongs to. |
quizzes - [Quiz!]
|
The quizzes that belong to this module |
moduleProgress - [ModuleProgress]
|
The progress model that is associated with this module |
objectives - [String!]!
|
A list of learning objectives being covered in this Section |
keywords - [String!]!
|
A list of keywords that most accurately describe the content of this Module |
hours - Float!
|
The number of carnige hours granted for completion of this Section |
enrollmentID - ID
|
|
description - String
|
|
instructor - InstructorProfile
|
|
instructorID - ID
|
Example
{
"id": 4,
"name": "xyz789",
"number": 123,
"prefix": "xyz789",
"content": [Content],
"threads": [Thread],
"collections": [Collection],
"collectionIDs": [4],
"position": 987,
"quizzes": [Quiz],
"moduleProgress": [ModuleProgress],
"objectives": ["xyz789"],
"keywords": ["xyz789"],
"hours": 123.45,
"enrollmentID": "4",
"description": "xyz789",
"instructor": InstructorProfile,
"instructorID": 4
}
ModulePathInput
Fields
Input Field | Description |
---|---|
id - ID!
|
Example
{"id": 4}
ModuleProgress
Fields
Field Name | Description |
---|---|
id - ID!
|
The database defined ID of the progress document |
status - Float!
|
The numerical status of the progress 0% - 100% |
completed - Boolean!
|
A boolean to conveniently check if the progress is completed |
createdAt - Date!
|
The date the progress was created |
updatedAt - Date!
|
The date the progress was last updated |
enrollment - SectionEnrollment!
|
The enrollment that this progress is associated with (one-to-one) |
module - Module!
|
The module that this progress is associated with (one-to-one) |
Example
{
"id": 4,
"status": 123.45,
"completed": false,
"createdAt": "2007-12-03",
"updatedAt": "2007-12-03",
"enrollment": SectionEnrollment,
"module": Module
}
NewAssignment
Fields
Input Field | Description |
---|---|
name - String!
|
Name of the NewAssignement |
dueAt - Date!
|
Due date and Time of NewAssignment |
section - ID!
|
Section to which the NewAssignement Belongs to |
contentType - String!
|
File type that the assignment is submitted in |
contentURL - String!
|
s3 id of the content |
acceptedTypes - FileType!
|
Accepted file types for assignments |
Example
{
"name": "xyz789",
"dueAt": "2007-12-03",
"section": 4,
"contentType": "abc123",
"contentURL": "xyz789",
"acceptedTypes": "DOCX"
}
NewAssignmentResult
Fields
Input Field | Description |
---|---|
assignment - ID!
|
Relating assignment result to assignment |
student - ID!
|
Relating Assignment Result to Student |
grader - ID!
|
Relating Assignment Result to Grader |
result - Float!
|
result of the NewAssignement |
submissionURL - String!
|
s3 id of the submitted file |
fileType - String!
|
File type that the submission is in |
Example
{
"assignment": 4,
"student": 4,
"grader": "4",
"result": 123.45,
"submissionURL": "xyz789",
"fileType": "abc123"
}
NewSection
Fields
Input Field | Description |
---|---|
sectionNumber - Int!
|
Number of the Section |
sectionName - String!
|
Name of the Section |
description - String!
|
description of the section |
duration - Float!
|
Duration of the NewSection |
intro - String!
|
Introduction of the NewSection |
numSlides - Int!
|
Number of Slides in NewSection |
keywords - [String!]!
|
keywords of the NewSection |
Example
{
"sectionNumber": 123,
"sectionName": "xyz789",
"description": "xyz789",
"duration": 123.45,
"intro": "abc123",
"numSlides": 123,
"keywords": ["xyz789"]
}
NewUser
Fields
Input Field | Description |
---|---|
openID - String!
|
openID of New user |
email - String!
|
email fo the New user |
picURL - String!
|
picUrl of the New user |
firstName - String!
|
firstname of the New user |
lastName - String!
|
last name of the new user |
middleName - String!
|
middle name of new user |
biography - String
|
user biography |
phoneNumber - String
|
user phoneNumber |
Example
{
"openID": "xyz789",
"email": "xyz789",
"picURL": "abc123",
"firstName": "xyz789",
"lastName": "xyz789",
"middleName": "xyz789",
"biography": "abc123",
"phoneNumber": "abc123"
}
Path
Fields
Field Name | Description |
---|---|
id - ID!
|
|
createdAt - Date!
|
|
updatedAt - Date!
|
|
course - CoursePath!
|
|
status - PathStatus!
|
|
hoursSatisfies - Float!
|
|
learningOutcomes - [String!]!
|
Example
{
"id": 4,
"createdAt": "2007-12-03",
"updatedAt": "2007-12-03",
"course": CoursePath,
"status": "DRAFT",
"hoursSatisfies": 987.65,
"learningOutcomes": ["abc123"]
}
PathInput
Fields
Input Field | Description |
---|---|
course - CoursePathInput!
|
|
status - PathStatus
|
|
hoursSatisfies - Float
|
|
learningOutcomes - [String!]
|
Example
{
"course": CoursePathInput,
"status": "DRAFT",
"hoursSatisfies": 123.45,
"learningOutcomes": ["xyz789"]
}
PathStatus
Values
Enum Value | Description |
---|---|
|
|
|
Example
"DRAFT"
PlanFields
PlanInput
Fields
Input Field | Description |
---|---|
student - ID
|
Example
{"student": "4"}
PlanOfStudy
Fields
Field Name | Description |
---|---|
id - ID!
|
|
student - User
|
Name of the Student Account |
sections - [SectionEnrollment]
|
Sections that are enrolled by the Student |
assignmentResults - [AssignmentResult!]
|
Results obtained for the Assignement Taken |
sectionsLeft - [SectionEnrollment]
|
Sections to be completed |
quizResults - [QuizResult!]
|
Results on quizzes taken |
Example
{
"id": "4",
"student": User,
"sections": [SectionEnrollment],
"assignmentResults": [AssignmentResult],
"sectionsLeft": [SectionEnrollment],
"quizResults": [QuizResult]
}
Progress
Fields
Field Name | Description |
---|---|
id - ID!
|
The database defined ID of the progress document |
status - Float!
|
The numerical status of the progress 0% - 100% |
completed - Boolean!
|
A boolean to conveniently check if the progress is completed |
createdAt - Date!
|
The date the progress was created |
updatedAt - Date!
|
The date the progress was last updated |
enrollment - SectionEnrollment!
|
The enrollment that this progress is associated with (one-to-one) |
Example
{
"id": 4,
"status": 987.65,
"completed": true,
"createdAt": "2007-12-03",
"updatedAt": "2007-12-03",
"enrollment": SectionEnrollment
}
ProgressArgs
Example
{
"id": "4",
"completed": true,
"status": 987.65,
"createdAt": "2007-12-03",
"updatedAt": "2007-12-03",
"enrollmentID": 4
}
ProgressWaiveArgs
Fields
Input Field | Description |
---|---|
enrollmentID - ID
|
The database defined ID of the enrollment document that holds the progress to be waived. If this is given, the other parameters will be ignored. |
sectionID - ID
|
The database defined ID of the section that holds the enrollment to be accredited. |
planID - ID
|
The database defined ID of the plan of study that holds the enrollment to be accredited. |
Example
{
"enrollmentID": 4,
"sectionID": 4,
"planID": "4"
}
Question
Fields
Field Name | Description |
---|---|
id - ID!
|
The document ID of the question |
number - Int!
|
The question number on the quiz/in the pool |
variant - Int
|
Which variant of the question is this record |
text - String!
|
The text of the question (the readable question itself) |
points - Float!
|
The amount of points this question is worth |
answers - [Answer!]!
|
The possible answers to this question |
parent - Quiz!
|
The parent Quiz of this question |
instances - [QuizInstance!]!
|
The quiz instances that this question/variant is used in |
Example
{
"id": 4,
"number": 987,
"variant": 123,
"text": "abc123",
"points": 123.45,
"answers": [Answer],
"parent": Quiz,
"instances": [QuizInstance]
}
QuestionFields
Fields
Input Field | Description |
---|---|
id - ID
|
The document ID of the question |
number - Int
|
The question number on the quiz/in the pool |
variant - Int
|
The variant (unique to question number) of a question |
text - String
|
The text of a question (the readable question itself) |
points - Float
|
The amount of points a question is worth |
parent - ID
|
The Quiz that a question belongs to |
Example
{
"id": 4,
"number": 123,
"variant": 123,
"text": "abc123",
"points": 987.65,
"parent": "4"
}
Quiz
Fields
Field Name | Description |
---|---|
id - ID!
|
The document ID For this quiz |
totalPoints - Float!
|
The total amount of points possible on the quiz |
instructions - String
|
The instruction field for this quiz |
dueAt - Date
|
The time the Quiz is due |
timeLimit - Int
|
The allotted time to take this quiz in ms |
numQuestions - Int!
|
The number of questions on this quiz |
minScore - Float!
|
The minimum passing score for this quiz |
parentModule - Module!
|
The module that this quiz belongs to |
questionPool - [Question!]!
|
The possible questions and variants of for this quiz |
instances - [QuizInstance!]!
|
The list of actual quiz instances students are taking |
Example
{
"id": "4",
"totalPoints": 123.45,
"instructions": "abc123",
"dueAt": "2007-12-03",
"timeLimit": 123,
"numQuestions": 987,
"minScore": 123.45,
"parentModule": Module,
"questionPool": [Question],
"instances": [QuizInstance]
}
QuizFields
Fields
Input Field | Description |
---|---|
id - ID
|
The document ID For this quiz |
totalPoints - Float
|
The total amount of points possible on this quiz |
instructions - String
|
The instruction field for this quiz |
dueAt - Date
|
The time the Quiz is due |
timeLimit - Int
|
The allotted time to take this quiz in ms |
numQuestions - Int
|
The number of questions on this quiz |
minScore - Float
|
The minimum passing score for this quiz |
parentModule - ID
|
The module that this quiz belongs to |
Example
{
"id": "4",
"totalPoints": 123.45,
"instructions": "abc123",
"dueAt": "2007-12-03",
"timeLimit": 987,
"numQuestions": 123,
"minScore": 987.65,
"parentModule": "4"
}
QuizInstance
Fields
Field Name | Description |
---|---|
id - ID!
|
The document ID for this QuizInstance |
quiz - Quiz!
|
The quiz template this is an instance of |
questions - [Question!]!
|
The list of questions in this instance of a quiz. One variant for each question number will be selected |
quizResult - QuizResult!
|
The submission for this instance |
Example
{
"id": 4,
"quiz": Quiz,
"questions": [Question],
"quizResult": QuizResult
}
QuizInstanceFields
QuizResult
Fields
Field Name | Description |
---|---|
id - String!
|
The document ID of the quiz result |
score - Float!
|
The score received on this quiz |
answers - [String!]!
|
The list of answers provided for questions on this quiz |
submittedAt - Date
|
The time and date that this result was submitted at. |
student - PlanOfStudy!
|
The plan of study of the user who took the quiz |
quizInstance - QuizInstance!
|
The quiz this result is for. This field relation is immutable to protect the grading algorithm |
Example
{
"id": "xyz789",
"score": 123.45,
"answers": ["abc123"],
"submittedAt": "2007-12-03",
"student": PlanOfStudy,
"quizInstance": QuizInstance
}
QuizResultFields
Example
{
"id": "xyz789",
"score": 987.65,
"student": "4",
"quizInstance": 4
}
QuizSubmission
Section
Fields
Field Name | Description |
---|---|
id - ID!
|
Section Id |
sectionNumber - Int!
|
Number of the Section |
sectionName - String!
|
Name of hte Section |
description - String!
|
Description of the Section |
duration - Float!
|
Duration of the Section |
intro - String!
|
Introduction of the Section |
numSlides - Int!
|
No of slides in the Section |
keywords - [String!]!
|
Keywords in the Sections |
objectives - [String!]!
|
objectives in the Sections |
createdAt - Date!
|
Date and Time of the Section Created at |
updatedAt - Date!
|
Date and Time of the Section Updated at |
assignments - [Assignment!]!
|
Assignement in the Section |
members - [SectionEnrollment!]!
|
Memebers enrolled in the Section |
feedback - [SectionFeedback!]!
|
Feedback of the Section |
parentSections - [Section!]!
|
Parent Sections of the Section |
subSections - [Section!]!
|
Child Sections in the Section |
collections - [Collection!]!
|
A list of collections that have this Section's materials |
courseIDs - [ID!]!
|
courseIDs set |
Example
{
"id": 4,
"sectionNumber": 987,
"sectionName": "xyz789",
"description": "abc123",
"duration": 987.65,
"intro": "abc123",
"numSlides": 987,
"keywords": ["xyz789"],
"objectives": ["xyz789"],
"createdAt": "2007-12-03",
"updatedAt": "2007-12-03",
"assignments": [Assignment],
"members": [SectionEnrollment],
"feedback": [SectionFeedback],
"parentSections": [Section],
"subSections": [Section],
"collections": [Collection],
"courseIDs": ["4"]
}
SectionEnrollment
Fields
Field Name | Description |
---|---|
id - ID!
|
id of the SectionEnrollment |
enrolledAt - Date!
|
TimeStamp at which the Section is enrolledAt |
role - UserRole!
|
Role of the user:Either Student, Teacher or Grader |
status - EnrollmentStatus!
|
Status of the enrollment: Either Active or Inactive |
section - Section!
|
Current Section |
plan - PlanOfStudy
|
Plan of study Chosen |
inactivePlan - PlanOfStudy
|
Inactive plan of study |
progress - Progress!
|
The progress that this enrollment is associated with (one-to-one) |
moduleProgress - [ModuleProgress]
|
The progress model that is associated with this module |
Example
{
"id": 4,
"enrolledAt": "2007-12-03",
"role": "STUDENT",
"status": "ACTIVE",
"section": Section,
"plan": PlanOfStudy,
"inactivePlan": PlanOfStudy,
"progress": Progress,
"moduleProgress": [ModuleProgress]
}
SectionEnrollmentInput
Fields
Input Field | Description |
---|---|
section - ID!
|
Relating Section to SectionEnrollment |
plan - ID!
|
Relating Plan to Section enrollment |
role - UserRole!
|
Relating role to SectionEnrollment |
status - EnrollmentStatus!
|
The status of the current enrollment |
Example
{"section": 4, "plan": 4, "role": "STUDENT", "status": "ACTIVE"}
SectionFeedback
Example
{
"id": "4",
"feedback": "abc123",
"rating": 987,
"student": User,
"section": Section
}
SectionFeedbackInput
SectionFeedbackUpdate
SectionFields
Fields
Input Field | Description |
---|---|
id - ID
|
|
sectionNumber - Int
|
|
sectionName - String
|
|
description - String
|
|
duration - Float
|
|
intro - String
|
|
numSlides - Int
|
|
keywords - [String!]
|
|
createdAt - Date
|
|
updatedAt - Date
|
|
objectives - [String!]
|
|
assignments - ID
|
|
members - [ID!]
|
|
feedback - ID
|
|
parentSections - [ID!]
|
|
subSections - [ID!]
|
Example
{
"id": "4",
"sectionNumber": 987,
"sectionName": "xyz789",
"description": "xyz789",
"duration": 123.45,
"intro": "abc123",
"numSlides": 123,
"keywords": ["abc123"],
"createdAt": "2007-12-03",
"updatedAt": "2007-12-03",
"objectives": ["xyz789"],
"assignments": "4",
"members": [4],
"feedback": "4",
"parentSections": ["4"],
"subSections": ["4"]
}
SectionPath
Fields
Field Name | Description |
---|---|
name - String!
|
|
collections - [CollectionPath!]!
|
A list of collections that have this Section's materials |
id - ID!
|
Section Id |
sectionNumber - Int!
|
Number of the Section |
sectionName - String!
|
Name of hte Section |
description - String!
|
Description of the Section |
duration - Float!
|
Duration of the Section |
intro - String!
|
Introduction of the Section |
numSlides - Int!
|
No of slides in the Section |
keywords - [String!]!
|
Keywords in the Sections |
objectives - [String!]!
|
objectives in the Sections |
createdAt - Date!
|
Date and Time of the Section Created at |
updatedAt - Date!
|
Date and Time of the Section Updated at |
assignments - [Assignment!]!
|
Assignement in the Section |
members - [SectionEnrollment!]!
|
Memebers enrolled in the Section |
feedback - [SectionFeedback!]!
|
Feedback of the Section |
parentSections - [Section!]!
|
Parent Sections of the Section |
subSections - [Section!]!
|
Child Sections in the Section |
courseIDs - [ID!]!
|
courseIDs set |
Example
{
"name": "xyz789",
"collections": [CollectionPath],
"id": "4",
"sectionNumber": 123,
"sectionName": "abc123",
"description": "xyz789",
"duration": 987.65,
"intro": "abc123",
"numSlides": 987,
"keywords": ["xyz789"],
"objectives": ["abc123"],
"createdAt": "2007-12-03",
"updatedAt": "2007-12-03",
"assignments": [Assignment],
"members": [SectionEnrollment],
"feedback": [SectionFeedback],
"parentSections": [Section],
"subSections": [Section],
"courseIDs": [4]
}
SectionPathInput
Fields
Input Field | Description |
---|---|
id - ID!
|
|
collections - [CollectionPathInput!]!
|
Example
{
"id": "4",
"collections": [CollectionPathInput]
}
SimpleCollection
Fields
Field Name | Description |
---|---|
modules - [SimpleModule!]!
|
List of modules in the collection |
id - ID!
|
id of the collection |
name - String!
|
Name of the collection |
createdAt - Date!
|
Date and Time of the collection created at |
updatedAt - Date!
|
Date and Time of the collection updated at |
section - Section!
|
The Section that this collection belongs to |
sectionID - ID!
|
The Section's unique ID that this collection belongs to |
position - Int
|
The position index of the collection in a Section |
Example
{
"modules": [SimpleModule],
"id": 4,
"name": "abc123",
"createdAt": "2007-12-03",
"updatedAt": "2007-12-03",
"section": Section,
"sectionID": 4,
"position": 987
}
SimpleCoursePath
Fields
Field Name | Description |
---|---|
id - ID!
|
|
sections - [SimpleSection!]!
|
Example
{"id": 4, "sections": [SimpleSection]}
SimpleLearningPath
Fields
Field Name | Description |
---|---|
id - ID!
|
|
createdAt - Date!
|
|
plan - PlanOfStudy!
|
|
planID - ID!
|
|
paths - [SimplePath!]!
|
Example
{
"id": 4,
"createdAt": "2007-12-03",
"plan": PlanOfStudy,
"planID": "4",
"paths": [SimplePath]
}
SimpleModule
Fields
Field Name | Description |
---|---|
id - ID!
|
|
name - String!
|
|
collections - [SimpleCollection!]!
|
Example
{
"id": 4,
"name": "xyz789",
"collections": [SimpleCollection]
}
SimplePath
Fields
Field Name | Description |
---|---|
id - ID!
|
|
createdAt - Date!
|
|
updatedAt - Date!
|
|
course - SimpleCoursePath!
|
|
status - PathStatus!
|
|
hoursSatisfies - Float!
|
|
learningOutcomes - [String!]!
|
Example
{
"id": 4,
"createdAt": "2007-12-03",
"updatedAt": "2007-12-03",
"course": SimpleCoursePath,
"status": "DRAFT",
"hoursSatisfies": 123.45,
"learningOutcomes": ["xyz789"]
}
SimpleSection
Fields
Field Name | Description |
---|---|
id - ID!
|
|
name - String!
|
|
collections - [SimpleCollection!]!
|
Example
{
"id": "4",
"name": "abc123",
"collections": [SimpleCollection]
}
Social
Fields
Field Name | Description |
---|---|
id - ID!
|
Document id |
twitter - String
|
Url Pointing to Twitter |
github - String
|
Url pointing to github |
linkedin - String
|
Url pointing to linkedin |
facebook - String
|
Url pointing to Facebook |
portfolio - String
|
Url pointing to portfolio |
account - User!
|
relating social to the user account |
Example
{
"id": 4,
"twitter": "abc123",
"github": "xyz789",
"linkedin": "abc123",
"facebook": "xyz789",
"portfolio": "xyz789",
"account": User
}
SocialFields
Example
{
"id": "abc123",
"twitter": "abc123",
"github": "abc123",
"linkedin": "xyz789",
"facebook": "xyz789",
"portfolio": "abc123",
"account": "abc123"
}
SocialInput
Example
{
"twitter": "abc123",
"github": "abc123",
"linkedin": "xyz789",
"facebook": "xyz789",
"portfolio": "xyz789"
}
String
Description
The String
scalar type represents textual data, represented as UTF-8 character sequences. The String type is most often used by GraphQL to represent free-form human-readable text.
Example
"abc123"
Thread
Description
A thread is a collection of messages posted to a particular topic.
Fields
Field Name | Description |
---|---|
id - ID!
|
The ID of the document object |
title - String
|
The title of the thread |
author - User!
|
The author of the thread |
body - String!
|
The content body of the thread |
comments - [Thread]
|
The comments added to the thread |
topics - [String]
|
The topic tags associated with the thread |
upvotes - [User!]
|
The number of upvotes for the thread |
usersWatching - [User!]
|
The list of users who are subscribed to changes/notifications on the thread |
createdAt - Date!
|
The timestamp when the thread was created |
updatedAt - Date!
|
The timestamp when the thread was last updated or interacted with |
parentThread - Thread
|
The thread that this comment belongs to |
parentThreadID - ID
|
The ID of the thread that this comment belongs to |
Example
{
"id": "4",
"title": "xyz789",
"author": User,
"body": "abc123",
"comments": [Thread],
"topics": ["abc123"],
"upvotes": [User],
"usersWatching": [User],
"createdAt": "2007-12-03",
"updatedAt": "2007-12-03",
"parentThread": Thread,
"parentThreadID": "4"
}
UpdateAnswer
Fields
Input Field | Description |
---|---|
text - String
|
The actual human readable text of this answer |
correct - Boolean
|
If this possible is marked as a correct response |
weight - Float
|
The weight towards total points this answer will have default is evenly distributed for each correct answer in a question |
index - String
|
The index of the answer when listed (A, B, C, D, etc.) |
parentQuestion - ID
|
The question that this answer belongs to |
Example
{
"text": "abc123",
"correct": true,
"weight": 987.65,
"index": "xyz789",
"parentQuestion": 4
}
UpdateQuestion
Fields
Input Field | Description |
---|---|
number - Int
|
The question number on the quiz/in the pool |
variant - Int
|
The variant of the question number that this question is |
text - String
|
The text of the question (the readable question itself) |
points - Float
|
The amount of points this question is worth |
parentQuiz - ID
|
The quiz this question belongs to |
Example
{
"number": 987,
"variant": 987,
"text": "abc123",
"points": 987.65,
"parentQuiz": "4"
}
UpdateQuiz
Fields
Input Field | Description |
---|---|
totalPoints - Float
|
The total amount of points possible on this quiz |
instructions - String
|
The instruction field for this quiz |
dueAt - Date
|
The time the Quiz is due |
timeLimit - Int
|
The allotted time to take this quiz in ms |
numQuestions - Int
|
The number of questions on this quiz |
minScore - Float
|
The minimum passing score for this quiz |
parentModule - ID
|
The module that this quiz belongs to |
Example
{
"totalPoints": 123.45,
"instructions": "abc123",
"dueAt": "2007-12-03",
"timeLimit": 987,
"numQuestions": 123,
"minScore": 123.45,
"parentModule": "4"
}
UpdateSection
Fields
Input Field | Description |
---|---|
id - ID!
|
UpdateSection id |
sectionName - String
|
Section Name of the UpdateSection |
sectionNumber - Int
|
Section NUmber of the UpdateSection |
intro - String
|
Introduction of the UpdateSection |
description - String
|
Decription of the UpdateSection |
duration - Float
|
Duration of the UpdateSection |
numSlides - Int
|
Number of slides in UpdateSection |
keywords - [String!]
|
Keywords in UpdateSection |
objectives - [String!]
|
The objective to be added to the Section |
Example
{
"id": 4,
"sectionName": "abc123",
"sectionNumber": 123,
"intro": "abc123",
"description": "abc123",
"duration": 987.65,
"numSlides": 987,
"keywords": ["xyz789"],
"objectives": ["xyz789"]
}
UpdateUser
Fields
Input Field | Description |
---|---|
id - ID!
|
The document's unique ID field |
openID - String!
|
Google's Open ID field that is unique to each Google Account |
email - String
|
The email of the update user |
picURL - String
|
Picture URL of update user |
firstName - String
|
firstname fo the update user |
lastName - String
|
lastname of the update user |
middleName - String
|
middle name of the update user |
biography - String
|
user biography |
phoneNumber - String
|
user phoneNumber |
dob - Date
|
dob of the update user |
isAdmin - Boolean
|
to check if the update user is admin |
isActive - Boolean
|
to check if the update user is active |
instructorProfile - ID
|
The ID of the instructor profile that needs to be updated |
Example
{
"id": 4,
"openID": "abc123",
"email": "abc123",
"picURL": "xyz789",
"firstName": "abc123",
"lastName": "xyz789",
"middleName": "abc123",
"biography": "xyz789",
"phoneNumber": "abc123",
"dob": "2007-12-03",
"isAdmin": false,
"isActive": false,
"instructorProfile": 4
}
User
Fields
Field Name | Description |
---|---|
id - ID!
|
User ID |
openID - ID!
|
User OpenID |
email - String!
|
User Email |
picURL - String
|
User picURL |
createdAt - Date
|
User CreatedAt |
firstName - String
|
Firstname of the user |
lastName - String
|
lastname of the user |
middleName - String
|
Middle name of the user |
isAdmin - Boolean
|
to check if the user is admin |
isActive - Boolean
|
to check if the user is active |
biography - String
|
user biography |
phoneNumber - String
|
user phoneNumber |
dob - Date
|
user dob |
social - Social
|
User social |
plan - PlanOfStudy
|
User plan of study |
tokens - [ID!]
|
Token pointing to id |
feedback - [SectionFeedback!]
|
feedback of the user pointing to section feedback |
assignmentGraded - [AssignmentResult!]
|
assignment graded pointing to assignment result of the user |
instructorProfile - InstructorProfile
|
Instructor profile of the user |
watchedThreads - [Thread!]
|
The list of threads that the user is subscribed to |
watchedThreadIDs - [ID!]
|
|
createdThreads - [Thread!]
|
The list of threads that the user has created |
Example
{
"id": "4",
"openID": "4",
"email": "abc123",
"picURL": "xyz789",
"createdAt": "2007-12-03",
"firstName": "xyz789",
"lastName": "abc123",
"middleName": "abc123",
"isAdmin": false,
"isActive": false,
"biography": "xyz789",
"phoneNumber": "xyz789",
"dob": "2007-12-03",
"social": Social,
"plan": PlanOfStudy,
"tokens": ["4"],
"feedback": [SectionFeedback],
"assignmentGraded": [AssignmentResult],
"instructorProfile": InstructorProfile,
"watchedThreads": [Thread],
"watchedThreadIDs": [4],
"createdThreads": [Thread]
}
UserFields
Fields
Input Field | Description |
---|---|
id - String
|
|
openID - String
|
|
email - String
|
|
picURL - String
|
|
createdAt - String
|
|
firstName - String
|
|
lastName - String
|
|
middleName - String
|
|
isAdmin - Boolean
|
|
isActive - Boolean
|
|
biography - String
|
|
phoneNumber - String
|
|
dob - Date
|
|
social - String
|
|
plan - String
|
|
feedback - String
|
|
assignmentGraded - String
|
Example
{
"id": "abc123",
"openID": "xyz789",
"email": "abc123",
"picURL": "xyz789",
"createdAt": "xyz789",
"firstName": "xyz789",
"lastName": "abc123",
"middleName": "xyz789",
"isAdmin": false,
"isActive": false,
"biography": "abc123",
"phoneNumber": "abc123",
"dob": "2007-12-03",
"social": "abc123",
"plan": "xyz789",
"feedback": "abc123",
"assignmentGraded": "xyz789"
}
UserRole
Values
Enum Value | Description |
---|---|
|
|
|
|
|
Example
"STUDENT"