From 0fcfffea57ea87c951d3356c74667df558e8abde Mon Sep 17 00:00:00 2001
From: Tom French <15848336+TomAFrench@users.noreply.github.com>
Date: Wed, 31 Aug 2022 22:46:28 +0100
Subject: [PATCH] refactor: create index.js for aql directory (#68)

---
 packages/loot-core/bin/profile-sql.js                  |  2 +-
 packages/loot-core/bin/sql-regenerate-views            |  2 +-
 packages/loot-core/src/mocks/arbitrary-schema.js       |  2 +-
 packages/loot-core/src/mocks/budget.js                 |  2 +-
 .../loot-core/src/server/accounts/export-to-csv.js     |  2 +-
 .../loot-core/src/server/accounts/transaction-rules.js |  2 +-
 .../src/server/accounts/transaction-rules.test.js      |  2 +-
 packages/loot-core/src/server/api.js                   |  2 +-
 packages/loot-core/src/server/aql/index.js             | 10 ++++++++++
 packages/loot-core/src/server/db/index.js              |  4 ++--
 packages/loot-core/src/server/main.js                  |  5 ++---
 packages/loot-core/src/server/schedules/app.js         |  2 +-
 packages/loot-core/src/server/schedules/app.test.js    |  2 +-
 .../loot-core/src/server/schedules/find-schedules.js   |  2 +-
 .../loot-core/src/server/spreadsheet/spreadsheet.js    |  4 +---
 packages/loot-core/src/server/sync/migrate.test.js     |  3 +--
 packages/loot-core/src/server/update.js                |  3 +--
 17 files changed, 28 insertions(+), 23 deletions(-)
 create mode 100644 packages/loot-core/src/server/aql/index.js

diff --git a/packages/loot-core/bin/profile-sql.js b/packages/loot-core/bin/profile-sql.js
index 484202587..a56f3f10a 100755
--- a/packages/loot-core/bin/profile-sql.js
+++ b/packages/loot-core/bin/profile-sql.js
@@ -4,7 +4,7 @@ import os from 'os';
 import * as sqlite from '../src/platform/server/sqlite';
 import * as db from '../src/server/db';
 import { batchMessages, setSyncingMode } from '../src/server/sync';
-import { runQuery } from '../src/server/aql/schema/run-query';
+import { runQuery } from '../src/server/aql';
 import asyncStorage from '../src/platform/server/asyncStorage';
 import { makeChild } from '../src/shared/transactions';
 import q from '../src/shared/query';
diff --git a/packages/loot-core/bin/sql-regenerate-views b/packages/loot-core/bin/sql-regenerate-views
index dd71b5fef..eaa49066d 100755
--- a/packages/loot-core/bin/sql-regenerate-views
+++ b/packages/loot-core/bin/sql-regenerate-views
@@ -1,5 +1,5 @@
 #!/usr/bin/env actual-cli-runner.js
-const { schema } = require('../src/server/aql/schema');
+const { schema } = require('../src/server/aql');
 const table = process.argv[3];
 
 if (table == null || table === 'transactions') {
diff --git a/packages/loot-core/src/mocks/arbitrary-schema.js b/packages/loot-core/src/mocks/arbitrary-schema.js
index 6b4d8d6e8..0f508f2e5 100644
--- a/packages/loot-core/src/mocks/arbitrary-schema.js
+++ b/packages/loot-core/src/mocks/arbitrary-schema.js
@@ -1,5 +1,5 @@
 import fc from 'fast-check';
-import { schema } from '../server/aql/schema';
+import { schema } from '../server/aql';
 import { addDays } from '../shared/months';
 
 function typeArbitrary(typeDesc, name) {
diff --git a/packages/loot-core/src/mocks/budget.js b/packages/loot-core/src/mocks/budget.js
index 5e03bf4e6..3143be3c2 100644
--- a/packages/loot-core/src/mocks/budget.js
+++ b/packages/loot-core/src/mocks/budget.js
@@ -4,7 +4,7 @@ import * as budget from '../server/budget/base';
 import * as db from '../server/db';
 import * as prefs from '../server/prefs';
 import * as budgetActions from '../server/budget/actions';
-import { runQuery as aqlQuery } from '../server/aql/schema/run-query';
+import { runQuery as aqlQuery } from '../server/aql';
 import { batchMessages, setSyncingMode } from '../server/sync';
 import { runHandler, runMutator } from '../server/mutators';
 import { addTransactions } from '../server/accounts/sync';
diff --git a/packages/loot-core/src/server/accounts/export-to-csv.js b/packages/loot-core/src/server/accounts/export-to-csv.js
index 64b9f6e9d..f58e46883 100644
--- a/packages/loot-core/src/server/accounts/export-to-csv.js
+++ b/packages/loot-core/src/server/accounts/export-to-csv.js
@@ -1,5 +1,5 @@
 import csvStringify from 'csv-stringify/lib/sync';
-import { runQuery as aqlQuery } from '../aql/schema/run-query';
+import { runQuery as aqlQuery } from '../aql';
 import { integerToAmount } from '../../shared/util';
 
 export async function exportToCSV(
diff --git a/packages/loot-core/src/server/accounts/transaction-rules.js b/packages/loot-core/src/server/accounts/transaction-rules.js
index 794f428d8..dab58d44c 100644
--- a/packages/loot-core/src/server/accounts/transaction-rules.js
+++ b/packages/loot-core/src/server/accounts/transaction-rules.js
@@ -21,7 +21,7 @@ import { requiredFields, toDateRepr } from '../models';
 import { currentDay } from '../../shared/months';
 import { partitionByField, fastSetMerge } from '../../shared/util';
 import { setSyncingMode, batchMessages } from '../sync';
-import { schemaConfig } from '../aql/schema';
+import { schemaConfig } from '../aql';
 
 // TODO: Detect if it looks like the user is creating a rename rule
 // and prompt to create it in the pre phase instead
diff --git a/packages/loot-core/src/server/accounts/transaction-rules.test.js b/packages/loot-core/src/server/accounts/transaction-rules.test.js
index d35653cab..e6dc3d413 100644
--- a/packages/loot-core/src/server/accounts/transaction-rules.test.js
+++ b/packages/loot-core/src/server/accounts/transaction-rules.test.js
@@ -14,7 +14,7 @@ import {
   migrateOldRules
 } from './transaction-rules';
 import { loadMappings } from '../db/mappings';
-import { runQuery } from '../aql/schema/run-query';
+import { runQuery } from '../aql';
 import q from '../../shared/query';
 
 // TODO: write tests to make sure payee renaming is "pre" and category
diff --git a/packages/loot-core/src/server/api.js b/packages/loot-core/src/server/api.js
index 460fa5802..2ca0b754f 100644
--- a/packages/loot-core/src/server/api.js
+++ b/packages/loot-core/src/server/api.js
@@ -20,7 +20,7 @@ import { setSyncingMode, batchMessages } from './sync';
 import { getClock } from './crdt';
 import { runMutator } from './mutators';
 import { integerToAmount } from '../shared/util';
-import { runQuery as aqlQuery } from './aql/schema/run-query';
+import { runQuery as aqlQuery } from './aql';
 import q from '../shared/query';
 
 const connection = require('../platform/server/connection');
diff --git a/packages/loot-core/src/server/aql/index.js b/packages/loot-core/src/server/aql/index.js
new file mode 100644
index 000000000..2337f2b06
--- /dev/null
+++ b/packages/loot-core/src/server/aql/index.js
@@ -0,0 +1,10 @@
+export {
+    convertForInsert,
+    convertForUpdate,
+    convertFromSelect,
+    convertInputType,
+} from './schema-helpers';
+export { compileQuery } from "./compiler";
+export { makeViews } from "./views";
+export { schema, schemaConfig } from "./schema";
+export { runQuery, runCompiledQuery } from "./schema/run-query";
diff --git a/packages/loot-core/src/server/db/index.js b/packages/loot-core/src/server/db/index.js
index 249ec845b..8c9813e1a 100644
--- a/packages/loot-core/src/server/db/index.js
+++ b/packages/loot-core/src/server/db/index.js
@@ -2,7 +2,7 @@ import LRU from 'lru-cache';
 import * as sqlite from '../../platform/server/sqlite';
 import fs from '../../platform/server/fs';
 import { sendMessages, batchMessages } from '../sync';
-import { schema, schemaConfig } from '../aql/schema';
+import { schema, schemaConfig } from '../aql';
 import {
   accountModel,
   categoryModel,
@@ -23,7 +23,7 @@ import {
   convertForInsert,
   convertForUpdate,
   convertFromSelect
-} from '../aql/schema-helpers';
+} from '../aql';
 import { shoveSortOrders, SORT_INCREMENT } from './sort';
 
 export { toDateRepr, fromDateRepr } from '../models';
diff --git a/packages/loot-core/src/server/main.js b/packages/loot-core/src/server/main.js
index ac80260f6..6eca6a1cf 100644
--- a/packages/loot-core/src/server/main.js
+++ b/packages/loot-core/src/server/main.js
@@ -64,9 +64,8 @@ import * as tracking from './tracking/events';
 import { get, post } from './post';
 import { APIError, TransactionError, PostError, RuleError } from './errors';
 import { createTestBudget } from '../mocks/budget';
-import { runQuery as aqlQuery } from './aql/schema/run-query';
-import { Query } from '../shared/query';
-import q from '../shared/query';
+import { runQuery as aqlQuery } from './aql';
+import q, { Query } from '../shared/query';
 import app from './main-app';
 
 // Apps
diff --git a/packages/loot-core/src/server/schedules/app.js b/packages/loot-core/src/server/schedules/app.js
index 062490e71..34f699467 100644
--- a/packages/loot-core/src/server/schedules/app.js
+++ b/packages/loot-core/src/server/schedules/app.js
@@ -4,7 +4,7 @@ import { createApp } from '../app';
 import * as db from '../db';
 import * as prefs from '../prefs';
 import { toDateRepr } from '../models';
-import { runQuery as aqlQuery } from '../aql/schema/run-query';
+import { runQuery as aqlQuery } from '../aql';
 import { dayFromDate, currentDay, parseDate } from '../../shared/months';
 import q from '../../shared/query';
 import {
diff --git a/packages/loot-core/src/server/schedules/app.test.js b/packages/loot-core/src/server/schedules/app.test.js
index 916244cb5..5ba23b204 100644
--- a/packages/loot-core/src/server/schedules/app.test.js
+++ b/packages/loot-core/src/server/schedules/app.test.js
@@ -1,4 +1,4 @@
-import { runQuery as aqlQuery } from '../aql/schema/run-query';
+import { runQuery as aqlQuery } from '../aql';
 import q from '../../shared/query';
 import { loadRules, updateRule } from '../accounts/transaction-rules';
 import { loadMappings } from '../db/mappings';
diff --git a/packages/loot-core/src/server/schedules/find-schedules.js b/packages/loot-core/src/server/schedules/find-schedules.js
index 6432f0b20..b40edad6d 100644
--- a/packages/loot-core/src/server/schedules/find-schedules.js
+++ b/packages/loot-core/src/server/schedules/find-schedules.js
@@ -3,7 +3,7 @@ import * as db from '../db';
 import { Schedule as RSchedule } from '../util/rschedule';
 import { groupBy } from '../../shared/util';
 import { fromDateRepr } from '../models';
-import { runQuery as aqlQuery } from '../aql/schema/run-query';
+import { runQuery as aqlQuery } from '../aql';
 import q from '../../shared/query';
 import { getApproxNumberThreshold } from '../../shared/rules';
 import { recurConfigToRSchedule } from '../../shared/schedules';
diff --git a/packages/loot-core/src/server/spreadsheet/spreadsheet.js b/packages/loot-core/src/server/spreadsheet/spreadsheet.js
index 49de21d40..c24ccd1ee 100644
--- a/packages/loot-core/src/server/spreadsheet/spreadsheet.js
+++ b/packages/loot-core/src/server/spreadsheet/spreadsheet.js
@@ -1,7 +1,5 @@
 import mitt from 'mitt';
-import { schema, schemaConfig } from '../aql/schema';
-import { compileQuery } from '../aql/compiler';
-import { runCompiledQuery } from '../aql/schema/run-query';
+import { compileQuery, runCompiledQuery, schema, schemaConfig } from '../aql';
 
 const Graph = require('./graph-data-structure');
 const { unresolveName, resolveName } = require('./util');
diff --git a/packages/loot-core/src/server/sync/migrate.test.js b/packages/loot-core/src/server/sync/migrate.test.js
index 5286c5954..9a335615a 100644
--- a/packages/loot-core/src/server/sync/migrate.test.js
+++ b/packages/loot-core/src/server/sync/migrate.test.js
@@ -3,9 +3,8 @@ import * as db from '../db';
 import { listen, unlisten } from './migrate';
 import { addSyncListener, sendMessages } from './index';
 import { execTracer } from '../../shared/test-helpers';
-import { schema, schemaConfig } from '../aql/schema';
+import { convertInputType, schema, schemaConfig } from '../aql';
 import arbs from '../../mocks/arbitrary-schema';
-import { convertInputType } from '../aql/schema-helpers';
 
 beforeEach(() => {
   listen();
diff --git a/packages/loot-core/src/server/update.js b/packages/loot-core/src/server/update.js
index f108a1a1c..f4e645974 100644
--- a/packages/loot-core/src/server/update.js
+++ b/packages/loot-core/src/server/update.js
@@ -1,8 +1,7 @@
 import md5 from 'md5';
 import * as migrations from './migrate/migrations';
 import * as db from './db';
-import { schema, schemaConfig } from './aql/schema';
-import { makeViews } from './aql/views';
+import { schema, schemaConfig, makeViews } from './aql';
 
 // Managing the init/update process
 
-- 
GitLab