-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathresolvers.ts
84 lines (83 loc) · 2.96 KB
/
resolvers.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
// resolvers.ts
import { Resolvers } from "./.mesh";
import { get } from "./utils/httpUtils";
import {
fedBulkDowloadsResolver,
BulkDownloadsCGOverviewResolver,
fedConsensusGenomesResolver,
MetadataFieldsResolver,
SampleMetadataResolver,
fedSequencingReadsResolver,
SampleForReportResolver,
ValidateUserCanDeleteObjectsResolver,
fedWorkflowRunsResolver,
fedWorkflowRunsAggregateResolver,
fedWorkflowRunsAggregateTotalCountResolver,
ZiplinkResolver,
CreateBulkDownloadResolver,
DeleteSamplesResolver,
KickoffWGSWorkflowResolver,
UpdateMetadataResolver,
UpdateSampleNotesResolver,
UpdateSampleNameResolver,
adminSamplesResolver,
adminWorkflowRunsResolver,
} from "./resolver-functions";
import { createAsyncBulkDownloadResolver } from "./resolver-functions/createAsyncBulkDownloads/createAsyncBulkDownloadResolver";
export const resolvers: Resolvers = {
Query: {
adminSamples: adminSamplesResolver,
adminWorkflowRuns: adminWorkflowRunsResolver,
fedBulkDownloads: fedBulkDowloadsResolver,
BulkDownloadCGOverview: BulkDownloadsCGOverviewResolver,
fedConsensusGenomes: fedConsensusGenomesResolver,
//TO DO: Remove this query after the integration is released to production
ConsensusGenomeWorkflowResults: async (root, args, context, info) => {
const { coverage_viz, quality_metrics, taxon_info } = await get({
url: `/workflow_runs/${args.workflowRunId}/results`,
args,
context,
});
const { accession_id, accession_name, taxon_id, taxon_name } =
taxon_info || {};
return {
metric_consensus_genome: {
...quality_metrics,
coverage_viz,
},
reference_genome: {
accession_id: accession_id,
accession_name: accession_name,
taxon: {
id: taxon_id?.toString(),
name: taxon_name,
},
},
};
},
MetadataFields: MetadataFieldsResolver,
SampleMetadata: SampleMetadataResolver,
SampleForReport: SampleForReportResolver,
fedSequencingReads: fedSequencingReadsResolver,
ValidateUserCanDeleteObjects: ValidateUserCanDeleteObjectsResolver,
fedWorkflowRuns: fedWorkflowRunsResolver,
fedWorkflowRunsAggregate: fedWorkflowRunsAggregateResolver,
fedWorkflowRunsAggregateTotalCount:
fedWorkflowRunsAggregateTotalCountResolver,
ZipLink: ZiplinkResolver,
GraphQLFederationVersion: () => ({
version: process.env.CZID_GQL_FED_GIT_VERSION,
gitCommit: process.env.CZID_GQL_FED_GIT_SHA,
}),
},
Mutation: {
// TO DO: Remove this mutation after the integration is released to production
CreateBulkDownload: CreateBulkDownloadResolver,
createAsyncBulkDownload: createAsyncBulkDownloadResolver,
DeleteSamples: DeleteSamplesResolver,
KickoffWGSWorkflow: KickoffWGSWorkflowResolver,
UpdateMetadata: UpdateMetadataResolver,
UpdateSampleNotes: UpdateSampleNotesResolver,
UpdateSampleName: UpdateSampleNameResolver,
},
};