diff --git a/api/.env.defaults b/api/.env.defaults index 7aa23bc0b63222983056a8a04b5b59bab3254f9d..e94e8c27922e77468d92961b311feac1c081608b 100644 --- a/api/.env.defaults +++ b/api/.env.defaults @@ -1,3 +1,3 @@ ENGINE_TYPE=csv -ENGINE_BASE_URL=http://127.0.0.1:8080/services/ +ENGINE_BASE_URL=https://docs.google.com/spreadsheets/d/1yjslZQCOMCxkjr4xQ-NmTMNEjhpdmZgijbn83za80Ak/export?format=tsv GATEWAY_PORT=8081 \ No newline at end of file diff --git a/api/src/engine/connectors/csv/main.connector.ts b/api/src/engine/connectors/csv/main.connector.ts index 41e141d1d3e1ad724493a4d97169ad2cc7be5fb6..eedb7ae6b31074fbe1e5c66970aa008f62859004 100644 --- a/api/src/engine/connectors/csv/main.connector.ts +++ b/api/src/engine/connectors/csv/main.connector.ts @@ -55,8 +55,7 @@ export default class CSVService implements IEngineService { } async getDomains(): Promise<Domain[]> { - const path = - 'https://docs.google.com/spreadsheets/d/1yjslZQCOMCxkjr4xQ-NmTMNEjhpdmZgijbn83za80Ak/export?format=tsv'; + const path = this.options.baseurl; const { data } = await firstValueFrom(this.httpService.get<string>(path)); @@ -65,12 +64,12 @@ export default class CSVService implements IEngineService { .map((row) => row.split('\t').filter((i) => i)) .filter((row) => row.length >= 2); - rows.shift(); // headers + rows.shift(); // remove headers const vars = []; const groups: Dictionary<Group> = {}; const rootGroup: Group = { - id: 'root', + id: 'Global group', groups: [], }; @@ -80,7 +79,7 @@ export default class CSVService implements IEngineService { label: row[0], }; - row.shift(); + row.shift(); // get ride of the variable name, keep only groups vars.push(variable); @@ -97,9 +96,9 @@ export default class CSVService implements IEngineService { }; }); - const groupId = row[row.length - 1].toLowerCase(); + const groupId = row[row.length - 1].toLowerCase(); // group's variable container - groups[groupId].variables = [...groups[groupId].variables, variable.id]; + groups[groupId].variables.push(variable.id); // add variable row .reverse() @@ -109,20 +108,19 @@ export default class CSVService implements IEngineService { if (i !== row.length - 1) { const parentId = row[i + 1].toLowerCase(); - groups[parentId].groups = groups[parentId].groups - ? [...new Set([...groups[parentId].groups, groupId])] - : [groupId]; + if (groups[parentId].groups.indexOf(groupId) === -1) + groups[parentId].groups.push(groupId); } }); }); - rootGroup.groups = [...new Set(rootGroup.groups)]; + rootGroup.groups = [...new Set(rootGroup.groups)]; // get distinct values return [ { id: 'Dummy', label: 'Dummy', - datasets: [{ id: 'DummyDataset', label: 'DummyDataset' }], + datasets: [{ id: 'DummyDataset', label: 'Dummy Dataset' }], groups: Object.values(groups), rootGroup: rootGroup, variables: vars,