#import "ee_else_ce/repository/queries/path_locks.fragment.graphql"

query getBlobInfo(
  $projectPath: ID!
  $filePath: String!
  $ref: String!
  $shouldFetchRawText: Boolean!
) {
  project(fullPath: $projectPath) {
    userPermissions {
      pushCode
      downloadCode
      createMergeRequestIn
      forkProject
    }
    ...ProjectPathLocksFragment
    repository {
      empty
      blobs(paths: [$filePath], ref: $ref) {
        nodes {
          id
          webPath
          name
          size
          rawSize
          rawTextBlob @include(if: $shouldFetchRawText)
          fileType
          language
          path
          editBlobPath
          ideEditPath
          forkAndEditPath
          ideForkAndEditPath
          environmentFormattedExternalUrl
          environmentExternalUrlForRouteMap
          canModifyBlob
          canCurrentUserPushToBranch
          archived
          storedExternally
          externalStorage
          externalStorageUrl
          rawPath
          replacePath
          pipelineEditorPath
          simpleViewer {
            fileType
            tooLarge
            type
            renderError
          }
          richViewer {
            fileType
            tooLarge
            type
            renderError
          }
        }
      }
    }
  }
}
