From fd395f3eca235755a5fd47d8b3f14d56b3be4de4 Mon Sep 17 00:00:00 2001 From: Dan DeMaria Date: Wed, 15 Nov 2023 18:07:51 -0500 Subject: [PATCH 01/11] Test Stubs --- src/schemas/Program/index.js | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/src/schemas/Program/index.js b/src/schemas/Program/index.js index 2ad6e58c..45583699 100644 --- a/src/schemas/Program/index.js +++ b/src/schemas/Program/index.js @@ -179,6 +179,11 @@ const typeDefs = gql` """ programs: [Program] + """ + retrieve all Programs for a given region + """ + program(shortName: String!, regions: [String], countries: [String]): [Program] + """ retrieve join program invitation by id """ @@ -352,8 +357,20 @@ const resolvers = { programs: async (obj, args, context, info) => { const { egoToken } = context; + return resolvePrivateProgramList(egoToken); }, + + programsByRegion: async (obj, args, context, info) => { + const { egoToken } = context; + const { countries, regions } = args; + + const programs = resolvePrivateProgramList(egoToken); + const filteredPrograms = programs.filter((program) => {}); + + return filteredPrograms; + }, + joinProgramInvite: async (obj, args, context, info) => { const { egoToken } = context; const response = await programService.getJoinProgramInvite(egoToken, args.id); From 69590cee94e3669e2d185a80b066e3b4927b6ddd Mon Sep 17 00:00:00 2001 From: Dan DeMaria Date: Thu, 16 Nov 2023 14:14:32 -0500 Subject: [PATCH 02/11] Filter for Countries --- src/schemas/Clinical/index.ts | 2 -- src/schemas/Program/index.js | 9 ++++++--- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/src/schemas/Clinical/index.ts b/src/schemas/Clinical/index.ts index 4862e1f1..0280ee47 100644 --- a/src/schemas/Clinical/index.ts +++ b/src/schemas/Clinical/index.ts @@ -469,8 +469,6 @@ const resolvers = { ) => { const { Authorization } = context; - console.log('clinical errors'); - const errorResponse: ClinicalErrors = await clinicalService.getClinicalErrors( args.programShortName, args.donorIds, diff --git a/src/schemas/Program/index.js b/src/schemas/Program/index.js index 45583699..90f94c75 100644 --- a/src/schemas/Program/index.js +++ b/src/schemas/Program/index.js @@ -182,7 +182,7 @@ const typeDefs = gql` """ retrieve all Programs for a given region """ - program(shortName: String!, regions: [String], countries: [String]): [Program] + programsByRegion(shortName: String!, regions: [String], countries: [String]): [Program] """ retrieve join program invitation by id @@ -365,8 +365,11 @@ const resolvers = { const { egoToken } = context; const { countries, regions } = args; - const programs = resolvePrivateProgramList(egoToken); - const filteredPrograms = programs.filter((program) => {}); + const programs = await resolvePrivateProgramList(egoToken); + + const filteredPrograms = programs.filter((program) => + countries.some((country) => program.countries.includes(country)), + ); return filteredPrograms; }, From bc5764cfad3c863a77eddb5ecbca60c5daeaab78 Mon Sep 17 00:00:00 2001 From: Dan DeMaria Date: Thu, 16 Nov 2023 15:08:35 -0500 Subject: [PATCH 03/11] Use regions --- src/schemas/Program/index.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/schemas/Program/index.js b/src/schemas/Program/index.js index 90f94c75..b7f2d4b5 100644 --- a/src/schemas/Program/index.js +++ b/src/schemas/Program/index.js @@ -363,12 +363,12 @@ const resolvers = { programsByRegion: async (obj, args, context, info) => { const { egoToken } = context; - const { countries, regions } = args; + const { regions } = args; const programs = await resolvePrivateProgramList(egoToken); const filteredPrograms = programs.filter((program) => - countries.some((country) => program.countries.includes(country)), + regions.some((region) => program.regions?.includes(region)), ); return filteredPrograms; From 39e815d245499ad06d4f3619d51484b06f1290ed Mon Sep 17 00:00:00 2001 From: Dan DeMaria Date: Thu, 16 Nov 2023 15:14:16 -0500 Subject: [PATCH 04/11] Remove countries from gql definition --- src/schemas/Program/index.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/schemas/Program/index.js b/src/schemas/Program/index.js index b7f2d4b5..300eb8c8 100644 --- a/src/schemas/Program/index.js +++ b/src/schemas/Program/index.js @@ -182,7 +182,7 @@ const typeDefs = gql` """ retrieve all Programs for a given region """ - programsByRegion(shortName: String!, regions: [String], countries: [String]): [Program] + programsByRegion(shortName: String!, regions: [String]): [Program] """ retrieve join program invitation by id From 25a6d0a0698c37829ea14f85d8f22428ad8132fe Mon Sep 17 00:00:00 2001 From: Dan DeMaria Date: Mon, 20 Nov 2023 11:08:46 -0500 Subject: [PATCH 05/11] Updated DataCenter Filter --- src/schemas/Program/index.js | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/schemas/Program/index.js b/src/schemas/Program/index.js index efda229a..e09c867e 100644 --- a/src/schemas/Program/index.js +++ b/src/schemas/Program/index.js @@ -183,7 +183,7 @@ const typeDefs = gql` """ retrieve all Programs for a given region """ - programsByRegion(shortName: String!, regions: [String]): [Program] + programsByRegion(shortName: String!): [Program] """ retrieve join program invitation by id @@ -365,12 +365,12 @@ const resolvers = { programsByRegion: async (obj, args, context, info) => { const { egoToken } = context; - const { regions } = args; + const { shortName } = args; const programs = await resolvePrivateProgramList(egoToken); - const filteredPrograms = programs.filter((program) => - regions.some((region) => program.regions?.includes(region)), + const filteredPrograms = programs.filter( + (program) => program.dataCenter?.shortName === shortName, ); return filteredPrograms; From b8bd4ba0df6c086093183987731179d5caceaa35 Mon Sep 17 00:00:00 2001 From: Dan DeMaria Date: Mon, 20 Nov 2023 11:10:57 -0500 Subject: [PATCH 06/11] Replace region w/ datacenter --- src/schemas/Program/index.js | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/src/schemas/Program/index.js b/src/schemas/Program/index.js index e09c867e..9266d887 100644 --- a/src/schemas/Program/index.js +++ b/src/schemas/Program/index.js @@ -23,7 +23,6 @@ import { get, merge, pickBy } from 'lodash'; import customScalars from 'schemas/customScalars'; import programService from 'services/programService'; -import { grpcToGql } from 'utils/grpcUtils'; const typeDefs = gql` scalar DateTime @@ -183,7 +182,7 @@ const typeDefs = gql` """ retrieve all Programs for a given region """ - programsByRegion(shortName: String!): [Program] + programsByDatacenter(shortName: String!): [Program] """ retrieve join program invitation by id @@ -363,7 +362,7 @@ const resolvers = { return resolvePrivateProgramList(egoToken); }, - programsByRegion: async (obj, args, context, info) => { + programsByDatacenter: async (obj, args, context) => { const { egoToken } = context; const { shortName } = args; From a54d961fb8ae18883fb2fa1e54bb04f7f0d329d8 Mon Sep 17 00:00:00 2001 From: Dan DeMaria Date: Mon, 20 Nov 2023 11:12:07 -0500 Subject: [PATCH 07/11] Capitalize Center --- src/schemas/Program/index.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/schemas/Program/index.js b/src/schemas/Program/index.js index 9266d887..07235729 100644 --- a/src/schemas/Program/index.js +++ b/src/schemas/Program/index.js @@ -182,7 +182,7 @@ const typeDefs = gql` """ retrieve all Programs for a given region """ - programsByDatacenter(shortName: String!): [Program] + programsByDataCenter(shortName: String!): [Program] """ retrieve join program invitation by id @@ -362,7 +362,7 @@ const resolvers = { return resolvePrivateProgramList(egoToken); }, - programsByDatacenter: async (obj, args, context) => { + programsByDataCenter: async (obj, args, context) => { const { egoToken } = context; const { shortName } = args; From 8af705e687f5d756005ce3554e48264f62b6166c Mon Sep 17 00:00:00 2001 From: Dan DeMaria Date: Mon, 20 Nov 2023 11:18:57 -0500 Subject: [PATCH 08/11] Unnecessary Empty Line --- src/schemas/Program/index.js | 1 - 1 file changed, 1 deletion(-) diff --git a/src/schemas/Program/index.js b/src/schemas/Program/index.js index 07235729..73f86983 100644 --- a/src/schemas/Program/index.js +++ b/src/schemas/Program/index.js @@ -358,7 +358,6 @@ const resolvers = { programs: async (obj, args, context, info) => { const { egoToken } = context; - return resolvePrivateProgramList(egoToken); }, From 821fde1e991a136dfe5724a86e666348fd41c3c5 Mon Sep 17 00:00:00 2001 From: Dan DeMaria Date: Mon, 20 Nov 2023 11:59:23 -0500 Subject: [PATCH 09/11] Change Query to Filter --- src/schemas/Program/index.js | 18 ++++-------------- 1 file changed, 4 insertions(+), 14 deletions(-) diff --git a/src/schemas/Program/index.js b/src/schemas/Program/index.js index 73f86983..eaf3b7ab 100644 --- a/src/schemas/Program/index.js +++ b/src/schemas/Program/index.js @@ -177,12 +177,7 @@ const typeDefs = gql` """ retrieve all Programs """ - programs: [Program] - - """ - retrieve all Programs for a given region - """ - programsByDataCenter(shortName: String!): [Program] + programs(dataCenter: String): [Program] """ retrieve join program invitation by id @@ -356,19 +351,14 @@ const resolvers = { : resolvePublicSingleProgram(shortName); }, - programs: async (obj, args, context, info) => { + programs: async (obj, args, context) => { const { egoToken } = context; - return resolvePrivateProgramList(egoToken); - }, - - programsByDataCenter: async (obj, args, context) => { - const { egoToken } = context; - const { shortName } = args; + const { dataCenter } = args; const programs = await resolvePrivateProgramList(egoToken); const filteredPrograms = programs.filter( - (program) => program.dataCenter?.shortName === shortName, + (program) => !dataCenter || program.dataCenter?.shortName === dataCenter, ); return filteredPrograms; From 4897a74dedb4ac6948b04f78c0829722e68c181a Mon Sep 17 00:00:00 2001 From: Dan DeMaria Date: Mon, 20 Nov 2023 14:59:03 -0500 Subject: [PATCH 10/11] Skip filtering when no DataCenter --- src/schemas/Program/index.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/schemas/Program/index.js b/src/schemas/Program/index.js index eaf3b7ab..3856c02f 100644 --- a/src/schemas/Program/index.js +++ b/src/schemas/Program/index.js @@ -357,9 +357,9 @@ const resolvers = { const programs = await resolvePrivateProgramList(egoToken); - const filteredPrograms = programs.filter( - (program) => !dataCenter || program.dataCenter?.shortName === dataCenter, - ); + const filteredPrograms = !dataCenter + ? programs + : programs.filter((program) => program.dataCenter?.shortName === dataCenter); return filteredPrograms; }, From fee345efac224f148ef86444165833b4abb4594b Mon Sep 17 00:00:00 2001 From: Dan DeMaria Date: Tue, 21 Nov 2023 09:45:23 -0500 Subject: [PATCH 11/11] Invert Conditional --- src/schemas/Program/index.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/schemas/Program/index.js b/src/schemas/Program/index.js index 3856c02f..7674bad6 100644 --- a/src/schemas/Program/index.js +++ b/src/schemas/Program/index.js @@ -357,9 +357,9 @@ const resolvers = { const programs = await resolvePrivateProgramList(egoToken); - const filteredPrograms = !dataCenter - ? programs - : programs.filter((program) => program.dataCenter?.shortName === dataCenter); + const filteredPrograms = dataCenter + ? programs.filter((program) => program.dataCenter?.shortName === dataCenter) + : programs; return filteredPrograms; },