11import { DETAIL_TABLE_LENGTH , TABLE_REFETCH_INTERVAL } from '@/config' ;
2+ import { SchemaSearchPaginatedQuery } from '@/graphql/dataprotector/graphql' ;
3+ import { DatasetsQuery } from '@/graphql/poco/graphql' ;
24import { execute } from '@/graphql/pocoBulk/execute' ;
35import { useQuery } from '@tanstack/react-query' ;
46import { DataTable } from '@/components/DataTable' ;
57import { ErrorAlert } from '@/modules/ErrorAlert' ;
68import { columns } from '@/modules/datasets/datasetsTable/columns' ;
9+ import { useDatasetsSchemas } from '@/modules/datasets/hooks/useDatasetsSchemas' ;
10+ import { SchemaFilter } from '@/modules/datasets/schemaFilters' ;
711import useUserStore from '@/stores/useUser.store' ;
812import { createPlaceholderDataFnForQueryKey } from '@/utils/createPlaceholderDataFnForQueryKey' ;
913import { taskDatasetsQuery } from './taskDatasetsPocoBulkQuery' ;
1014
15+ function formatDataset ( {
16+ dataset,
17+ schema,
18+ isSchemasLoading,
19+ } : {
20+ dataset :
21+ | DatasetsQuery [ 'datasets' ] [ number ]
22+ | SchemaSearchPaginatedQuery [ 'protectedDatas' ] [ number ] ;
23+ schema ?: SchemaFilter [ ] ;
24+ isSchemasLoading : boolean ;
25+ } ) {
26+ return {
27+ address : dataset . address ?? '' ,
28+ name : dataset . name ?? '' ,
29+ schema : schema ?? [ ] ,
30+ isSchemasLoading : isSchemasLoading ,
31+ owner : { address : dataset . owner ?. address ?? '' } ,
32+ timestamp : dataset . timestamp ,
33+ transfers :
34+ dataset . transfers ??
35+ ( 'transactionHash' in dataset && dataset . transactionHash
36+ ? [
37+ {
38+ transaction : {
39+ txHash : dataset . transactionHash ,
40+ } ,
41+ } ,
42+ ]
43+ : [ ] ) ,
44+ destination : `/dataset/${ dataset . address } ` ,
45+ } ;
46+ }
47+
1148function useTaskDatasetsData ( { taskId } : { taskId : string } ) {
1249 const { chainId } = useUserStore ( ) ;
1350
@@ -25,14 +62,22 @@ function useTaskDatasetsData({ taskId }: { taskId: string }) {
2562 }
2663 ) ;
2764
28- const formattedDataset =
29- data ?. task ?. bulkSlice ?. datasets . map ( ( dataset ) => ( {
30- ...dataset ,
31- destination : `/dataset/${ dataset . address } ` ,
32- } ) ) ?? [ ] ;
65+ const datasets = data ?. task ?. bulkSlice ?. datasets || [ ] ;
66+ const datasetAddresses = datasets . map ( ( dataset ) => dataset . address ) ;
67+ const { schemasMap, isLoading : isSchemasLoading } = useDatasetsSchemas (
68+ datasetAddresses ,
69+ chainId !
70+ ) ;
71+ const formattedDatasets = datasets . map ( ( dataset ) =>
72+ formatDataset ( {
73+ dataset,
74+ schema : schemasMap . get ( dataset . address ) || [ ] ,
75+ isSchemasLoading,
76+ } )
77+ ) ;
3378
3479 return {
35- data : formattedDataset ,
80+ data : formattedDatasets ,
3681 isLoading,
3782 isRefetching,
3883 isError,
0 commit comments