From c96b6fd7f7c99fb2fe1d4b9eace5b256d8ed23c2 Mon Sep 17 00:00:00 2001
From: Steve Reis <stevereis93@gmail.com>
Date: Wed, 10 Aug 2022 16:08:08 +0200
Subject: [PATCH] feat: Add optional filter and formula

---
 .../engine/connectors/datashield/datashield.connector.ts   | 1 +
 .../engine/interfaces/connector-configuration.interface.ts | 5 ++++-
 api/src/engine/models/configuration.model.ts               | 7 +++++++
 api/src/schema.gql                                         | 3 +++
 4 files changed, 15 insertions(+), 1 deletion(-)

diff --git a/api/src/engine/connectors/datashield/datashield.connector.ts b/api/src/engine/connectors/datashield/datashield.connector.ts
index 62249ee..fa37309 100644
--- a/api/src/engine/connectors/datashield/datashield.connector.ts
+++ b/api/src/engine/connectors/datashield/datashield.connector.ts
@@ -46,6 +46,7 @@ export default class DataShieldConnector implements Connector {
     return {
       hasGalaxy: false,
       hasGrouping: false,
+      hasFilters: false,
     };
   }
 
diff --git a/api/src/engine/interfaces/connector-configuration.interface.ts b/api/src/engine/interfaces/connector-configuration.interface.ts
index 240e98e..64d3d2a 100644
--- a/api/src/engine/interfaces/connector-configuration.interface.ts
+++ b/api/src/engine/interfaces/connector-configuration.interface.ts
@@ -1,5 +1,8 @@
 import { Configuration } from '../models/configuration.model';
 
-type ConnectorConfiguration = Pick<Configuration, 'hasGalaxy' | 'hasGrouping'>;
+type ConnectorConfiguration = Pick<
+  Configuration,
+  'hasGalaxy' | 'hasGrouping' | 'hasFilters'
+>;
 
 export default ConnectorConfiguration;
diff --git a/api/src/engine/models/configuration.model.ts b/api/src/engine/models/configuration.model.ts
index 08aef51..e18ed9e 100644
--- a/api/src/engine/models/configuration.model.ts
+++ b/api/src/engine/models/configuration.model.ts
@@ -18,6 +18,13 @@ export class Configuration {
   })
   hasGrouping?: boolean;
 
+  @Field({
+    nullable: true,
+    defaultValue: true,
+    description: 'Indicates if filters and formula are enabled',
+  })
+  hasFilters?: boolean;
+
   @Field({ nullable: true })
   contactLink?: string;
 
diff --git a/api/src/schema.gql b/api/src/schema.gql
index 340c9b6..065098a 100644
--- a/api/src/schema.gql
+++ b/api/src/schema.gql
@@ -32,6 +32,9 @@ type Configuration {
 
   """Indicates if histograms can handle grouping"""
   hasGrouping: Boolean
+
+  """Indicates if filters and formula are enabled"""
+  hasFilters: Boolean
   contactLink: String
   version: String!
   skipAuth: Boolean
-- 
GitLab