query BrowseSourceSuggestions(
  $first: Int
  $last: Int
  $before: String
  $after: String
  $sortBy: SourceSuggestionsSort
  $sourceType: SourceSource
  $citationId: Int
  $sourceId: Int
  $molecularProfileName: String
  $diseaseName: String
  $comment: String
  $submitter: String
  $citation: String
  $submitterId: Int
  $status: SourceSuggestionStatus
) {
  sourceSuggestions(
    first: $first
    last: $last
    before: $before
    after: $after
    sortBy: $sortBy
    sourceType: $sourceType
    citationId: $citationId
    sourceId: $sourceId
    molecularProfileName: $molecularProfileName
    diseaseName: $diseaseName
    comment: $comment
    submitter: $submitter
    citation: $citation
    submitterId: $submitterId
    status: $status
  ) {
    pageInfo {
      endCursor
      hasNextPage
      startCursor
      hasPreviousPage
    }
    totalCount
    filteredCount
    pageCount
    edges {
      cursor
      node {
        ...BrowseSourceSuggestionRowFields
      }
    }
  }
}

fragment BrowseSourceSuggestionRowFields on SourceSuggestion {
  id
  molecularProfile {
    id
    name
    link
    deprecated
  }
  disease {
    id
    name
    link
    deprecated
  }
  source {
    link
    id
    citation
    citationId
    sourceType
    sourceUrl
    displayType
    deprecated
  }
  user {
    id
    displayName
    role
    profileImagePath(size: 32)
  }
  creationActivity {
    parsedNote {
      ...parsedCommentFragment
    }
  }
  lastStatusUpdateActivity {
    parsedNote {
      ...parsedCommentFragment
    }
  }
  status
  reason
  createdAt
}

mutation UpdateSourceSuggestionStatus(
  $input: UpdateSourceSuggestionStatusInput!
) {
  updateSourceSuggestionStatus(input: $input) {
    sourceSuggestion {
      id
      status
    }
  }
}
