@@ -14,9 +14,12 @@ use std::{iter::FromIterator, time::Duration};
1414use graph:: futures03:: future:: join_all;
1515use graph:: {
1616 cheap_clone:: CheapClone ,
17- components:: store:: {
18- self , BlockPtrForNumber , BlockStore , DeploymentLocator , EnsLookup as EnsLookupTrait ,
19- PruneReporter , PruneRequest , SubgraphFork ,
17+ components:: {
18+ server:: index_node:: VersionInfo ,
19+ store:: {
20+ self , BlockPtrForNumber , BlockStore , DeploymentLocator , EnsLookup as EnsLookupTrait ,
21+ PruneReporter , PruneRequest , SubgraphFork ,
22+ } ,
2023 } ,
2124 data:: query:: QueryTarget ,
2225 data:: subgraph:: { schema:: DeploymentCreate , status, DeploymentFeatures } ,
@@ -41,7 +44,6 @@ use crate::{
4144 index:: { IndexList , Method } ,
4245 Layout ,
4346 } ,
44- store:: VersionInfo ,
4547 writable:: { SourceableStore , WritableStore } ,
4648 ConnectionPool , NotificationSender ,
4749} ;
@@ -980,7 +982,7 @@ impl SubgraphStoreInner {
980982 }
981983
982984 pub ( crate ) fn version_info ( & self , version : & str ) -> Result < VersionInfo , StoreError > {
983- if let Some ( deployment_id) = self . mirror . deployment_for_version ( version) ? {
985+ if let Some ( ( deployment_id, created_at ) ) = self . mirror . version_info ( version) ? {
984986 let id = DeploymentHash :: new ( deployment_id. clone ( ) )
985987 . map_err ( |id| internal_error ! ( "illegal deployment id {}" , id) ) ?;
986988 let ( store, site) = self . store ( & id) ?;
@@ -994,11 +996,21 @@ impl SubgraphStoreInner {
994996 . ok_or_else ( || internal_error ! ( "no chain info for {}" , deployment_id) ) ?;
995997 let latest_ethereum_block_number =
996998 chain. latest_block . as_ref ( ) . map ( |block| block. number ( ) ) ;
999+ let subgraph_info = store. subgraph_info ( site. cheap_clone ( ) ) ?;
1000+ let layout = store. find_layout ( site. cheap_clone ( ) ) ?;
1001+ let network = site. network . clone ( ) ;
9971002
9981003 let info = VersionInfo {
1004+ created_at,
9991005 deployment_id,
10001006 latest_ethereum_block_number,
1007+ total_ethereum_blocks_count : None ,
1008+ synced : status. synced ,
10011009 failed : status. health . is_failed ( ) ,
1010+ description : subgraph_info. description ,
1011+ repository : subgraph_info. repository ,
1012+ schema : layout. input_schema . cheap_clone ( ) ,
1013+ network,
10021014 } ;
10031015 Ok ( info)
10041016 } else {
0 commit comments