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