diff --git a/docker-compose.yml b/docker-compose.yml index 8b44a7d..7953c67 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -12,6 +12,7 @@ services: - ./public/uploads:/uploads - ./db:/usr/src/app/db - ./app-config.yaml:/usr/src/app/app-config.yaml + - ./app-config.local.yaml:/usr/src/app/app-config.local.yaml mongodb: image: mongo:6.0.1 ports: diff --git a/src/backend/controllers/pages.ts b/src/backend/controllers/pages.ts index b80347f..1fedee8 100644 --- a/src/backend/controllers/pages.ts +++ b/src/backend/controllers/pages.ts @@ -4,8 +4,8 @@ import PagesOrder from './pagesOrder.js'; import PageOrder from '../models/pageOrder.js'; import HttpException from '../exceptions/httpException.js'; import PagesFlatArray from '../models/pagesFlatArray.js'; -import { EntityId } from '../utils/database/types.js'; -import { isEqualIds } from '../utils/database/index.js'; +import { EntityId } from '../database/types.js'; +import { isEqualIds } from '../database/index.js'; type PageDataFields = keyof PageData; diff --git a/src/backend/controllers/pagesOrder.ts b/src/backend/controllers/pagesOrder.ts index 313fa60..74ae16e 100644 --- a/src/backend/controllers/pagesOrder.ts +++ b/src/backend/controllers/pagesOrder.ts @@ -1,8 +1,8 @@ import PageOrder from '../models/pageOrder.js'; import Page from '../models/page.js'; import PagesFlatArray from '../models/pagesFlatArray.js'; -import { EntityId } from '../utils/database/types.js'; -import { isEqualIds } from '../utils/database/index.js'; +import { EntityId } from '../database/types.js'; +import { isEqualIds } from '../database/index.js'; /** * @class PagesOrder diff --git a/src/backend/utils/database/index.ts b/src/backend/database/index.ts similarity index 79% rename from src/backend/utils/database/index.ts rename to src/backend/database/index.ts index 2601bad..536296a 100644 --- a/src/backend/utils/database/index.ts +++ b/src/backend/database/index.ts @@ -1,8 +1,8 @@ -import { AliasData } from '../../models/alias.js'; -import { FileData } from '../../models/file.js'; -import { PageData } from '../../models/page.js'; -import { PageOrderData } from '../../models/pageOrder.js'; -import appConfig from '../appConfig.js'; +import { AliasData } from '../models/alias.js'; +import { FileData } from '../models/file.js'; +import { PageData } from '../models/page.js'; +import { PageOrderData } from '../models/pageOrder.js'; +import appConfig from '../utils/appConfig.js'; import LocalDatabaseDriver from './local.js'; import MongoDatabaseDriver from './mongodb.js'; import { EntityId } from './types.js'; diff --git a/src/backend/utils/database/local.ts b/src/backend/database/local.ts similarity index 98% rename from src/backend/utils/database/local.ts rename to src/backend/database/local.ts index 40c544c..07f9546 100644 --- a/src/backend/utils/database/local.ts +++ b/src/backend/database/local.ts @@ -1,7 +1,7 @@ import Datastore from 'nedb'; import { DatabaseDriver, Options, RejectFunction, ResolveFunction } from './types.js'; import path from 'path'; -import appConfig from '../appConfig.js'; +import appConfig from '../utils/appConfig.js'; /** * Init function for nedb instance diff --git a/src/backend/utils/database/mongodb.ts b/src/backend/database/mongodb.ts similarity index 98% rename from src/backend/utils/database/mongodb.ts rename to src/backend/database/mongodb.ts index 454121b..cfa6cdf 100644 --- a/src/backend/utils/database/mongodb.ts +++ b/src/backend/database/mongodb.ts @@ -1,6 +1,6 @@ import { Collection, Filter, MongoClient, OptionalUnlessRequiredId, UpdateFilter } from 'mongodb'; import { DatabaseDriver, Options } from './types.js'; -import appConfig from '../appConfig.js'; +import appConfig from '../utils/appConfig.js'; const mongodbUri = appConfig.database.driver === 'mongodb' ? appConfig.database.mongodb.uri : null; const mongodbClient = mongodbUri ? await MongoClient.connect(mongodbUri): null; diff --git a/src/backend/utils/database/types.ts b/src/backend/database/types.ts similarity index 100% rename from src/backend/utils/database/types.ts rename to src/backend/database/types.ts diff --git a/src/backend/models/alias.ts b/src/backend/models/alias.ts index e0643a8..e7257ff 100644 --- a/src/backend/models/alias.ts +++ b/src/backend/models/alias.ts @@ -1,6 +1,6 @@ import crypto from '../utils/crypto.js'; -import database from '../utils/database/index.js'; -import { EntityId } from '../utils/database/types.js'; +import database from '../database/index.js'; +import { EntityId } from '../database/types.js'; const binaryMD5 = crypto.binaryMD5; const aliasesDb = database['aliases']; diff --git a/src/backend/models/file.ts b/src/backend/models/file.ts index 884ff08..fac77b8 100644 --- a/src/backend/models/file.ts +++ b/src/backend/models/file.ts @@ -1,5 +1,5 @@ -import database from '../utils/database/index.js'; -import { EntityId } from '../utils/database/types.js'; +import database from '../database/index.js'; +import { EntityId } from '../database/types.js'; const filesDb = database['files']; diff --git a/src/backend/models/page.ts b/src/backend/models/page.ts index 9b5055c..bff107c 100644 --- a/src/backend/models/page.ts +++ b/src/backend/models/page.ts @@ -1,6 +1,6 @@ import urlify from '../utils/urlify.js'; -import database from '../utils/database/index.js'; -import { EntityId } from '../utils/database/types.js'; +import database from '../database/index.js'; +import { EntityId } from '../database/types.js'; const pagesDb = database['pages']; diff --git a/src/backend/models/pageOrder.ts b/src/backend/models/pageOrder.ts index aef09ec..ee3a42c 100644 --- a/src/backend/models/pageOrder.ts +++ b/src/backend/models/pageOrder.ts @@ -1,6 +1,6 @@ -import database, { isEntityId, isEqualIds } from '../utils/database/index.js'; +import database, { isEntityId, isEqualIds } from '../database/index.js'; import { ObjectId } from 'mongodb'; -import { EntityId } from '../utils/database/types.js'; +import { EntityId } from '../database/types.js'; const db = database['pagesOrder']; diff --git a/src/backend/models/pagesFlatArray.ts b/src/backend/models/pagesFlatArray.ts index c72ae92..95069b0 100644 --- a/src/backend/models/pagesFlatArray.ts +++ b/src/backend/models/pagesFlatArray.ts @@ -1,7 +1,7 @@ import Page from './page.js'; import PageOrder from './pageOrder.js'; import NodeCache from 'node-cache'; -import { EntityId } from '../utils/database/types.js'; +import { EntityId } from '../database/types.js'; // Create cache for flat array const cache = new NodeCache({ stdTTL: 120 }); diff --git a/src/backend/routes/api/pages.ts b/src/backend/routes/api/pages.ts index f1e6320..0925667 100644 --- a/src/backend/routes/api/pages.ts +++ b/src/backend/routes/api/pages.ts @@ -2,8 +2,8 @@ import express, { Request, Response } from 'express'; import multerFunc from 'multer'; import Pages from '../../controllers/pages.js'; import PagesOrder from '../../controllers/pagesOrder.js'; -import { EntityId } from '../../utils/database/types.js'; -import { isEntityId, isEqualIds, toEntityId } from '../../utils/database/index.js'; +import { EntityId } from '../../database/types.js'; +import { isEntityId, isEqualIds, toEntityId } from '../../database/index.js'; const router = express.Router(); const multer = multerFunc(); diff --git a/src/backend/routes/middlewares/pages.ts b/src/backend/routes/middlewares/pages.ts index bb8ee03..58917f8 100644 --- a/src/backend/routes/middlewares/pages.ts +++ b/src/backend/routes/middlewares/pages.ts @@ -4,8 +4,8 @@ import PagesOrder from '../../controllers/pagesOrder.js'; import Page from '../../models/page.js'; import asyncMiddleware from '../../utils/asyncMiddleware.js'; import PageOrder from '../../models/pageOrder.js'; -import { EntityId } from '../../utils/database/types.js'; -import { isEqualIds } from '../../utils/database/index.js'; +import { EntityId } from '../../database/types.js'; +import { isEqualIds } from '../../database/index.js'; /** * Process one-level pages list to parent-children list diff --git a/src/backend/routes/pages.ts b/src/backend/routes/pages.ts index 18e02d2..3c78087 100644 --- a/src/backend/routes/pages.ts +++ b/src/backend/routes/pages.ts @@ -4,7 +4,7 @@ import PagesOrder from '../controllers/pagesOrder.js'; import verifyToken from './middlewares/token.js'; import allowEdit from './middlewares/locals.js'; import PagesFlatArray from '../models/pagesFlatArray.js'; -import { toEntityId } from '../utils/database/index.js'; +import { toEntityId } from '../database/index.js'; const router = express.Router(); diff --git a/src/test/database.ts b/src/test/database.ts index 5305a89..53e42ab 100644 --- a/src/test/database.ts +++ b/src/test/database.ts @@ -3,7 +3,7 @@ import config from 'config'; import { expect } from 'chai'; import Datastore from 'nedb'; -import { Database } from '../backend/utils/database/index.js'; +import { Database } from '../backend/database/index.js'; interface Document { data?: any; diff --git a/src/test/models/alias.ts b/src/test/models/alias.ts index 32e2ad2..7c73253 100644 --- a/src/test/models/alias.ts +++ b/src/test/models/alias.ts @@ -4,7 +4,7 @@ import path from 'path'; import config from 'config'; import Alias from '../../backend/models/alias.js'; import { binaryMD5 } from '../../backend/utils/crypto.js'; -import database from '../../backend/utils/database/index.js'; +import database from '../../backend/database/index.js'; import { fileURLToPath } from 'url'; const aliases = database['aliases']; diff --git a/src/test/models/file.ts b/src/test/models/file.ts index 434aacc..d754f34 100644 --- a/src/test/models/file.ts +++ b/src/test/models/file.ts @@ -3,7 +3,7 @@ import fs from 'fs'; import path from 'path'; import config from 'config'; import File from '../../backend/models/file.js'; -import database from '../../backend/utils/database/index.js'; +import database from '../../backend/database/index.js'; import { fileURLToPath } from 'url'; /** diff --git a/src/test/models/page.ts b/src/test/models/page.ts index d94e14e..979e68a 100644 --- a/src/test/models/page.ts +++ b/src/test/models/page.ts @@ -4,7 +4,7 @@ import path from 'path'; import config from 'config'; import Page from '../../backend/models/page.js'; import translateString from '../../backend/utils/translation.js'; -import database from '../../backend/utils/database/index.js'; +import database from '../../backend/database/index.js'; import { fileURLToPath } from 'url'; /** diff --git a/src/test/models/pageOrder.ts b/src/test/models/pageOrder.ts index 574e357..539adf8 100644 --- a/src/test/models/pageOrder.ts +++ b/src/test/models/pageOrder.ts @@ -3,7 +3,7 @@ import fs from 'fs'; import path from 'path'; import config from 'config'; import PageOrder from '../../backend/models/pageOrder.js'; -import database from '../../backend/utils/database/index.js'; +import database from '../../backend/database/index.js'; import { fileURLToPath } from 'url'; /**