mirror of
https://github.com/standardnotes/server
synced 2026-08-28 11:57:18 -04:00
fix: allow self hosted to use new model of items (#714)
* fix: allow self hosted to use new model of items * fix: env sample * fix: binding
This commit is contained in:
@@ -2,6 +2,8 @@
|
||||
|
||||
# Setup environment variables
|
||||
|
||||
export MODE="self-hosted"
|
||||
|
||||
#########
|
||||
# PORTS #
|
||||
#########
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
MODE=microservice # microservice | home-server
|
||||
MODE=microservice # microservice | home-server | self-hosted
|
||||
LOG_LEVEL=debug
|
||||
NODE_ENV=development
|
||||
VERSION=development
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
MODE=microservice # microservice | home-server
|
||||
MODE=microservice # microservice | home-server | self-hosted
|
||||
LOG_LEVEL=debug
|
||||
NODE_ENV=development
|
||||
VERSION=development
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
MODE=microservice # microservice | home-server
|
||||
MODE=microservice # microservice | home-server | self-hosted
|
||||
LOG_LEVEL=debug
|
||||
NODE_ENV=development
|
||||
VERSION=development
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
MODE=microservice # microservice | home-server
|
||||
MODE=microservice # microservice | home-server | self-hosted
|
||||
LOG_LEVEL=info
|
||||
NODE_ENV=development
|
||||
VERSION=development
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
MODE=microservice # microservice | home-server
|
||||
MODE=microservice # microservice | home-server | self-hosted
|
||||
LOG_LEVEL=info
|
||||
NODE_ENV=development
|
||||
VERSION=development
|
||||
|
||||
@@ -213,6 +213,8 @@ export class ContainerConfigLoader {
|
||||
container.bind<TimerInterface>(TYPES.Sync_Timer).toConstantValue(new Timer())
|
||||
|
||||
const isConfiguredForHomeServer = env.get('MODE', true) === 'home-server'
|
||||
const isConfiguredForSelfHosting = env.get('MODE', true) === 'self-hosted'
|
||||
const isConfiguredForHomeServerOrSelfHosting = isConfiguredForHomeServer || isConfiguredForSelfHosting
|
||||
const isSecondaryDatabaseEnabled = env.get('SECONDARY_DB_ENABLED', true) === 'true'
|
||||
|
||||
container.bind<Env>(TYPES.Sync_Env).toConstantValue(env)
|
||||
@@ -412,7 +414,7 @@ export class ContainerConfigLoader {
|
||||
container
|
||||
.bind<ItemRepositoryInterface>(TYPES.Sync_SQLItemRepository)
|
||||
.toConstantValue(
|
||||
isConfiguredForHomeServer
|
||||
isConfiguredForHomeServerOrSelfHosting
|
||||
? new SQLItemRepository(
|
||||
container.get<Repository<SQLItem>>(TYPES.Sync_ORMItemRepository),
|
||||
container.get<MapperInterface<Item, SQLItem>>(TYPES.Sync_SQLItemPersistenceMapper),
|
||||
|
||||
@@ -68,14 +68,15 @@ export class AppDataSource {
|
||||
this.env.load()
|
||||
|
||||
const isConfiguredForMySQL = this.env.get('DB_TYPE') === 'mysql'
|
||||
const isConfiguredForHomeServer = this.env.get('MODE', true) === 'home-server'
|
||||
const isConfiguredForHomeServerOrSelfHosting =
|
||||
this.env.get('MODE', true) === 'home-server' || this.env.get('MODE', true) === 'self-hosted'
|
||||
|
||||
const maxQueryExecutionTime = this.env.get('DB_MAX_QUERY_EXECUTION_TIME', true)
|
||||
? +this.env.get('DB_MAX_QUERY_EXECUTION_TIME', true)
|
||||
: 45_000
|
||||
|
||||
const migrationsSourceDirectoryName = isConfiguredForMySQL
|
||||
? isConfiguredForHomeServer
|
||||
? isConfiguredForHomeServerOrSelfHosting
|
||||
? 'mysql'
|
||||
: 'mysql-legacy'
|
||||
: 'sqlite'
|
||||
@@ -83,7 +84,7 @@ export class AppDataSource {
|
||||
const commonDataSourceOptions = {
|
||||
maxQueryExecutionTime,
|
||||
entities: [
|
||||
isConfiguredForHomeServer ? SQLItem : SQLLegacyItem,
|
||||
isConfiguredForHomeServerOrSelfHosting ? SQLItem : SQLLegacyItem,
|
||||
TypeORMNotification,
|
||||
TypeORMSharedVault,
|
||||
TypeORMSharedVaultUser,
|
||||
|
||||
@@ -3,20 +3,20 @@ import { MapperInterface } from '@standardnotes/domain-core'
|
||||
import { Logger } from 'winston'
|
||||
|
||||
import { Item } from '../../Domain/Item/Item'
|
||||
import { SQLLegacyItem } from './SQLLegacyItem'
|
||||
import { SQLItem } from './SQLItem'
|
||||
import { SQLLegacyItemRepository } from './SQLLegacyItemRepository'
|
||||
import { ItemQuery } from '../../Domain/Item/ItemQuery'
|
||||
|
||||
export class SQLItemRepository extends SQLLegacyItemRepository {
|
||||
constructor(
|
||||
protected override ormRepository: Repository<SQLLegacyItem>,
|
||||
protected override mapper: MapperInterface<Item, SQLLegacyItem>,
|
||||
protected override ormRepository: Repository<SQLItem>,
|
||||
protected override mapper: MapperInterface<Item, SQLItem>,
|
||||
protected override logger: Logger,
|
||||
) {
|
||||
super(ormRepository, mapper, logger)
|
||||
}
|
||||
|
||||
protected override createFindAllQueryBuilder(query: ItemQuery): SelectQueryBuilder<SQLLegacyItem> {
|
||||
protected override createFindAllQueryBuilder(query: ItemQuery): SelectQueryBuilder<SQLItem> {
|
||||
const queryBuilder = this.ormRepository.createQueryBuilder('item')
|
||||
|
||||
if (query.sortBy !== undefined && query.sortOrder !== undefined) {
|
||||
|
||||
Reference in New Issue
Block a user