query FeaturesSummary($featureId: Int!) {
  feature(id: $featureId) {
    ...FeatureSummaryFields
  }
}

fragment FeatureSummaryFields on Feature{
  id
  name
  fullName
  link
  deprecated
  flagged
  featureInstance {
    __typename
    ... on Gene {
      ... GeneSummaryFields
    }
    ... on Factor {
      ... FactorSummaryFields
    }
    ... on Fusion {
      ... FusionSummaryFields
    }
  }
  # lastSubmittedRevisionEvent {
  #   originatingUser {
  #     id
  #     displayName
  #     role
  #     profileImagePath(size: 32)
  #   }
  # }
  # lastAcceptedRevisionEvent {
  #   originatingUser {
  #     id
  #     displayName
  #     role
  #     profileImagePath(size: 32)
  #   }
  # }
}

fragment FusionSummaryFields on Fusion {
  id
  description
  featureAliases
  name
  sources {
    id
    citation
    link
    sourceUrl
    displayType
    sourceType
    deprecated
  }
  fivePrimeGene {
    ... GeneBaseFields
  }
  threePrimeGene {
    ... GeneBaseFields
  }
  fivePrimePartnerStatus
  threePrimePartnerStatus
  creationActivity {
    user {
      id
      displayName
      role
      profileImagePath(size: 32)
    }
    createdAt
  }
  deprecationActivity {
    user {
      id
      displayName
      role
      profileImagePath(size: 32)
    }
    createdAt
  }
}

fragment GeneBaseFields on Gene {
  id
  description
  featureAliases
  entrezId
  deprecated
  flagged
  name
  link
  sources {
    id
    citation
    link
    sourceUrl
    displayType
    sourceType
    deprecated
  }
}

fragment GeneSummaryFields on Gene {
  ...GeneBaseFields
  myGeneInfoDetails
}

fragment FactorSummaryFields on Factor {
  id
  name
  description
  featureAliases
  ncitId
  deprecated
  sources {
    id
    citation
    link
    sourceUrl
    displayType
    sourceType
    deprecated
  }
  ncitDetails {
    ...NcitDetails
  }
  creationActivity {
    user {
      id
      displayName
      role
      profileImagePath(size: 32)
    }
    createdAt
  }
  deprecationActivity {
    user {
      id
      displayName
      role
      profileImagePath(size: 32)
    }
    createdAt
  }
}

fragment NcitDetails on NcitDetails {
    synonyms {
      name
      source
    }
    definitions {
      definition
      source
    }
}
