query getBlobInfo($projectPath: ID!, $filePath: String!, $ref: String!) {
  project(fullPath: $projectPath) {
    id
    userPermissions {
      pushCode
      downloadCode
      createMergeRequestIn
      forkProject
    }
    pathLocks {
      nodes {
        id
        path
        user {
          id
          username
        }
      }
    }
    repository {
      empty
      blobs(paths: [$filePath], ref: $ref) {
        nodes {
          id
          webPath
          name
          size
          rawSize
          rawTextBlob
          fileType
          path
          editBlobPath
          ideEditPath
          forkAndEditPath
          ideForkAndEditPath
          canModifyBlob
          canCurrentUserPushToBranch
          storedExternally
          rawPath
          replacePath
          pipelineEditorPath
          simpleViewer {
            fileType
            tooLarge
            type
            renderError
          }
          richViewer {
            fileType
            tooLarge
            type
            renderError
          }
        }
      }
    }
  }
}
