mirror of
https://github.com/standardnotes/server
synced 2026-02-17 08:01:11 -05:00
Compare commits
16 Commits
@standardn
...
@standardn
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
f911473be9 | ||
|
|
71624f1897 | ||
|
|
17de6ea7e1 | ||
|
|
6aad7cd207 | ||
|
|
63af335877 | ||
|
|
8cd7a138ab | ||
|
|
f69cdc7b03 | ||
|
|
2ca649cf31 | ||
|
|
f2ada08201 | ||
|
|
54ba1f69e5 | ||
|
|
f13a99f5fd | ||
|
|
e9bba6fd3a | ||
|
|
f0d1a70c87 | ||
|
|
56f0aef21d | ||
|
|
75e266cb9e | ||
|
|
b9bb83c0ce |
4
.github/workflows/common-e2e.yml
vendored
4
.github/workflows/common-e2e.yml
vendored
@@ -50,7 +50,7 @@ jobs:
|
||||
run: docker/is-available.sh http://localhost:3123 $(pwd)/logs
|
||||
|
||||
- name: Run E2E Test Suite
|
||||
run: yarn dlx mocha-headless-chrome --timeout 1200000 -f http://localhost:9001/mocha/test.html
|
||||
run: yarn dlx mocha-headless-chrome --timeout 1800000 -f http://localhost:9001/mocha/test.html
|
||||
|
||||
- name: Show logs on failure
|
||||
if: ${{ failure() }}
|
||||
@@ -145,7 +145,7 @@ jobs:
|
||||
run: for i in {1..30}; do curl -s http://localhost:3123/healthcheck && break || sleep 1; done
|
||||
|
||||
- name: Run E2E Test Suite
|
||||
run: yarn dlx mocha-headless-chrome --timeout 1200000 -f http://localhost:9001/mocha/test.html
|
||||
run: yarn dlx mocha-headless-chrome --timeout 1800000 -f http://localhost:9001/mocha/test.html
|
||||
|
||||
- name: Show logs on failure
|
||||
if: ${{ failure() }}
|
||||
|
||||
1
.pnp.cjs
generated
1
.pnp.cjs
generated
@@ -5259,7 +5259,6 @@ const RAW_RUNTIME_STATE =
|
||||
["@standardnotes/domain-events-infra", "workspace:packages/domain-events-infra"],\
|
||||
["@standardnotes/responses", "npm:1.13.27"],\
|
||||
["@standardnotes/security", "workspace:packages/security"],\
|
||||
["@standardnotes/utils", "npm:1.17.5"],\
|
||||
["@types/cors", "npm:2.8.13"],\
|
||||
["@types/express", "npm:4.17.17"],\
|
||||
["@types/ioredis", "npm:5.0.0"],\
|
||||
|
||||
@@ -12,6 +12,7 @@
|
||||
},
|
||||
"scripts": {
|
||||
"lint": "yarn workspaces foreach -p -j 10 --verbose run lint",
|
||||
"lint:fix": "yarn workspaces foreach -p -j 10 --verbose run lint:fix",
|
||||
"clean": "yarn workspaces foreach -p --verbose run clean",
|
||||
"setup:env": "cp .env.sample .env && yarn workspaces foreach -p --verbose run setup:env",
|
||||
"release": "lerna version --conventional-graduate --conventional-commits --yes -m \"chore(release): publish new version\"",
|
||||
|
||||
@@ -3,6 +3,10 @@
|
||||
All notable changes to this project will be documented in this file.
|
||||
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
||||
|
||||
## [2.25.7](https://github.com/standardnotes/server/compare/@standardnotes/analytics@2.25.6...@standardnotes/analytics@2.25.7) (2023-08-02)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/analytics
|
||||
|
||||
## [2.25.6](https://github.com/standardnotes/server/compare/@standardnotes/analytics@2.25.5...@standardnotes/analytics@2.25.6) (2023-07-27)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/analytics
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@standardnotes/analytics",
|
||||
"version": "2.25.6",
|
||||
"version": "2.25.7",
|
||||
"engines": {
|
||||
"node": ">=18.0.0 <21.0.0"
|
||||
},
|
||||
|
||||
@@ -3,6 +3,10 @@
|
||||
All notable changes to this project will be documented in this file.
|
||||
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
||||
|
||||
## [1.69.2](https://github.com/standardnotes/api-gateway/compare/@standardnotes/api-gateway@1.69.1...@standardnotes/api-gateway@1.69.2) (2023-08-02)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/api-gateway
|
||||
|
||||
## [1.69.1](https://github.com/standardnotes/api-gateway/compare/@standardnotes/api-gateway@1.69.0...@standardnotes/api-gateway@1.69.1) (2023-07-31)
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@standardnotes/api-gateway",
|
||||
"version": "1.69.1",
|
||||
"version": "1.69.2",
|
||||
"engines": {
|
||||
"node": ">=18.0.0 <21.0.0"
|
||||
},
|
||||
|
||||
@@ -3,6 +3,22 @@
|
||||
All notable changes to this project will be documented in this file.
|
||||
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
||||
|
||||
## [1.128.1](https://github.com/standardnotes/server/compare/@standardnotes/auth-server@1.128.0...@standardnotes/auth-server@1.128.1) (2023-08-02)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/auth-server
|
||||
|
||||
# [1.128.0](https://github.com/standardnotes/server/compare/@standardnotes/auth-server@1.127.2...@standardnotes/auth-server@1.128.0) (2023-08-02)
|
||||
|
||||
### Features
|
||||
|
||||
* enable Write Ahead Log mode for SQLite ([#681](https://github.com/standardnotes/server/issues/681)) ([8cd7a13](https://github.com/standardnotes/server/commit/8cd7a138ab56f6a2b0d6c06ef6041ab9b85ae540))
|
||||
|
||||
## [1.127.2](https://github.com/standardnotes/server/compare/@standardnotes/auth-server@1.127.1...@standardnotes/auth-server@1.127.2) (2023-08-01)
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* controller naming ([#678](https://github.com/standardnotes/server/issues/678)) ([56f0aef](https://github.com/standardnotes/server/commit/56f0aef21d3fcec7ac7e968cb1c1b071becbbe26))
|
||||
|
||||
## [1.127.1](https://github.com/standardnotes/server/compare/@standardnotes/auth-server@1.127.0...@standardnotes/auth-server@1.127.1) (2023-07-31)
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
@@ -1,23 +1,23 @@
|
||||
import 'reflect-metadata'
|
||||
|
||||
import '../src/Infra/InversifyExpressUtils/InversifyExpressAuthController'
|
||||
import '../src/Infra/InversifyExpressUtils/InversifyExpressAuthenticatorsController'
|
||||
import '../src/Infra/InversifyExpressUtils/InversifyExpressSessionsController'
|
||||
import '../src/Infra/InversifyExpressUtils/InversifyExpressSubscriptionInvitesController'
|
||||
import '../src/Infra/InversifyExpressUtils/InversifyExpressUserRequestsController'
|
||||
import '../src/Infra/InversifyExpressUtils/InversifyExpressWebSocketsController'
|
||||
import '../src/Infra/InversifyExpressUtils/InversifyExpressUsersController'
|
||||
import '../src/Infra/InversifyExpressUtils/InversifyExpressValetTokenController'
|
||||
import '../src/Infra/InversifyExpressUtils/InversifyExpressAdminController'
|
||||
import '../src/Infra/InversifyExpressUtils/InversifyExpressSubscriptionTokensController'
|
||||
import '../src/Infra/InversifyExpressUtils/InversifyExpressSubscriptionSettingsController'
|
||||
import '../src/Infra/InversifyExpressUtils/InversifyExpressSettingsController'
|
||||
import '../src/Infra/InversifyExpressUtils/InversifyExpressSessionController'
|
||||
import '../src/Infra/InversifyExpressUtils/InversifyExpressOfflineController'
|
||||
import '../src/Infra/InversifyExpressUtils/InversifyExpressListedController'
|
||||
import '../src/Infra/InversifyExpressUtils/InversifyExpressInternalController'
|
||||
import '../src/Infra/InversifyExpressUtils/InversifyExpressHealthCheckController'
|
||||
import '../src/Infra/InversifyExpressUtils/InversifyExpressFeaturesController'
|
||||
import '../src/Infra/InversifyExpressUtils/AnnotatedAuthController'
|
||||
import '../src/Infra/InversifyExpressUtils/AnnotatedAuthenticatorsController'
|
||||
import '../src/Infra/InversifyExpressUtils/AnnotatedSessionsController'
|
||||
import '../src/Infra/InversifyExpressUtils/AnnotatedSubscriptionInvitesController'
|
||||
import '../src/Infra/InversifyExpressUtils/AnnotatedUserRequestsController'
|
||||
import '../src/Infra/InversifyExpressUtils/AnnotatedWebSocketsController'
|
||||
import '../src/Infra/InversifyExpressUtils/AnnotatedUsersController'
|
||||
import '../src/Infra/InversifyExpressUtils/AnnotatedValetTokenController'
|
||||
import '../src/Infra/InversifyExpressUtils/AnnotatedAdminController'
|
||||
import '../src/Infra/InversifyExpressUtils/AnnotatedSubscriptionTokensController'
|
||||
import '../src/Infra/InversifyExpressUtils/AnnotatedSubscriptionSettingsController'
|
||||
import '../src/Infra/InversifyExpressUtils/AnnotatedSettingsController'
|
||||
import '../src/Infra/InversifyExpressUtils/AnnotatedSessionController'
|
||||
import '../src/Infra/InversifyExpressUtils/AnnotatedOfflineController'
|
||||
import '../src/Infra/InversifyExpressUtils/AnnotatedListedController'
|
||||
import '../src/Infra/InversifyExpressUtils/AnnotatedInternalController'
|
||||
import '../src/Infra/InversifyExpressUtils/AnnotatedHealthCheckController'
|
||||
import '../src/Infra/InversifyExpressUtils/AnnotatedFeaturesController'
|
||||
|
||||
import * as cors from 'cors'
|
||||
import { urlencoded, json, Request, Response, NextFunction } from 'express'
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@standardnotes/auth-server",
|
||||
"version": "1.127.1",
|
||||
"version": "1.128.1",
|
||||
"engines": {
|
||||
"node": ">=18.0.0 <21.0.0"
|
||||
},
|
||||
|
||||
@@ -234,22 +234,22 @@ import { OfflineUserAuthMiddleware } from '../Infra/InversifyExpressUtils/Middle
|
||||
import { LockMiddleware } from '../Infra/InversifyExpressUtils/Middleware/LockMiddleware'
|
||||
import { RequiredCrossServiceTokenMiddleware } from '../Infra/InversifyExpressUtils/Middleware/RequiredCrossServiceTokenMiddleware'
|
||||
import { OptionalCrossServiceTokenMiddleware } from '../Infra/InversifyExpressUtils/Middleware/OptionalCrossServiceTokenMiddleware'
|
||||
import { HomeServerSettingsController } from '../Infra/InversifyExpressUtils/HomeServer/HomeServerSettingsController'
|
||||
import { HomeServerAdminController } from '../Infra/InversifyExpressUtils/HomeServer/HomeServerAdminController'
|
||||
import { HomeServerAuthController } from '../Infra/InversifyExpressUtils/HomeServer/HomeServerAuthController'
|
||||
import { HomeServerAuthenticatorsController } from '../Infra/InversifyExpressUtils/HomeServer/HomeServerAuthenticatorsController'
|
||||
import { HomeServerFeaturesController } from '../Infra/InversifyExpressUtils/HomeServer/HomeServerFeaturesController'
|
||||
import { HomeServerListedController } from '../Infra/InversifyExpressUtils/HomeServer/HomeServerListedController'
|
||||
import { HomeServerOfflineController } from '../Infra/InversifyExpressUtils/HomeServer/HomeServerOfflineController'
|
||||
import { HomeServerSessionController } from '../Infra/InversifyExpressUtils/HomeServer/HomeServerSessionController'
|
||||
import { HomeServerSubscriptionInvitesController } from '../Infra/InversifyExpressUtils/HomeServer/HomeServerSubscriptionInvitesController'
|
||||
import { HomeServerSubscriptionSettingsController } from '../Infra/InversifyExpressUtils/HomeServer/HomeServerSubscriptionSettingsController'
|
||||
import { HomeServerSubscriptionTokensController } from '../Infra/InversifyExpressUtils/HomeServer/HomeServerSubscriptionTokensController'
|
||||
import { HomeServerUserRequestsController } from '../Infra/InversifyExpressUtils/HomeServer/HomeServerUserRequestsController'
|
||||
import { HomeServerUsersController } from '../Infra/InversifyExpressUtils/HomeServer/HomeServerUsersController'
|
||||
import { HomeServerValetTokenController } from '../Infra/InversifyExpressUtils/HomeServer/HomeServerValetTokenController'
|
||||
import { HomeServerWebSocketsController } from '../Infra/InversifyExpressUtils/HomeServer/HomeServerWebSocketsController'
|
||||
import { HomeServerSessionsController } from '../Infra/InversifyExpressUtils/HomeServer/HomeServerSessionsController'
|
||||
import { BaseSettingsController } from '../Infra/InversifyExpressUtils/Base/BaseSettingsController'
|
||||
import { BaseAdminController } from '../Infra/InversifyExpressUtils/Base/BaseAdminController'
|
||||
import { BaseAuthController } from '../Infra/InversifyExpressUtils/Base/BaseAuthController'
|
||||
import { BaseAuthenticatorsController } from '../Infra/InversifyExpressUtils/Base/BaseAuthenticatorsController'
|
||||
import { BaseFeaturesController } from '../Infra/InversifyExpressUtils/Base/BaseFeaturesController'
|
||||
import { BaseListedController } from '../Infra/InversifyExpressUtils/Base/BaseListedController'
|
||||
import { BaseOfflineController } from '../Infra/InversifyExpressUtils/Base/BaseOfflineController'
|
||||
import { BaseSessionController } from '../Infra/InversifyExpressUtils/Base/BaseSessionController'
|
||||
import { BaseSubscriptionInvitesController } from '../Infra/InversifyExpressUtils/Base/BaseSubscriptionInvitesController'
|
||||
import { BaseSubscriptionSettingsController } from '../Infra/InversifyExpressUtils/Base/BaseSubscriptionSettingsController'
|
||||
import { BaseSubscriptionTokensController } from '../Infra/InversifyExpressUtils/Base/BaseSubscriptionTokensController'
|
||||
import { BaseUserRequestsController } from '../Infra/InversifyExpressUtils/Base/BaseUserRequestsController'
|
||||
import { BaseUsersController } from '../Infra/InversifyExpressUtils/Base/BaseUsersController'
|
||||
import { BaseValetTokenController } from '../Infra/InversifyExpressUtils/Base/BaseValetTokenController'
|
||||
import { BaseWebSocketsController } from '../Infra/InversifyExpressUtils/Base/BaseWebSocketsController'
|
||||
import { BaseSessionsController } from '../Infra/InversifyExpressUtils/Base/BaseSessionsController'
|
||||
import { Transform } from 'stream'
|
||||
import { ActivatePremiumFeatures } from '../Domain/UseCase/ActivatePremiumFeatures/ActivatePremiumFeatures'
|
||||
|
||||
@@ -1037,9 +1037,9 @@ export class ContainerConfigLoader {
|
||||
}
|
||||
|
||||
container
|
||||
.bind<HomeServerAuthController>(TYPES.Auth_HomeServerAuthController)
|
||||
.bind<BaseAuthController>(TYPES.Auth_BaseAuthController)
|
||||
.toConstantValue(
|
||||
new HomeServerAuthController(
|
||||
new BaseAuthController(
|
||||
container.get(TYPES.Auth_VerifyMFA),
|
||||
container.get(TYPES.Auth_SignIn),
|
||||
container.get(TYPES.Auth_GetUserKeyParams),
|
||||
@@ -1054,42 +1054,42 @@ export class ContainerConfigLoader {
|
||||
// Inversify Controllers
|
||||
if (isConfiguredForHomeServer) {
|
||||
container
|
||||
.bind<HomeServerAuthenticatorsController>(TYPES.Auth_HomeServerAuthenticatorsController)
|
||||
.bind<BaseAuthenticatorsController>(TYPES.Auth_BaseAuthenticatorsController)
|
||||
.toConstantValue(
|
||||
new HomeServerAuthenticatorsController(
|
||||
new BaseAuthenticatorsController(
|
||||
container.get(TYPES.Auth_AuthenticatorsController),
|
||||
container.get(TYPES.Auth_ControllerContainer),
|
||||
),
|
||||
)
|
||||
container
|
||||
.bind<HomeServerSubscriptionInvitesController>(TYPES.Auth_HomeServerSubscriptionInvitesController)
|
||||
.bind<BaseSubscriptionInvitesController>(TYPES.Auth_BaseSubscriptionInvitesController)
|
||||
.toConstantValue(
|
||||
new HomeServerSubscriptionInvitesController(
|
||||
new BaseSubscriptionInvitesController(
|
||||
container.get(TYPES.Auth_SubscriptionInvitesController),
|
||||
container.get(TYPES.Auth_ControllerContainer),
|
||||
),
|
||||
)
|
||||
container
|
||||
.bind<HomeServerUserRequestsController>(TYPES.Auth_HomeServerUserRequestsController)
|
||||
.bind<BaseUserRequestsController>(TYPES.Auth_BaseUserRequestsController)
|
||||
.toConstantValue(
|
||||
new HomeServerUserRequestsController(
|
||||
new BaseUserRequestsController(
|
||||
container.get(TYPES.Auth_UserRequestsController),
|
||||
container.get(TYPES.Auth_ControllerContainer),
|
||||
),
|
||||
)
|
||||
container
|
||||
.bind<HomeServerWebSocketsController>(TYPES.Auth_HomeServerWebSocketsController)
|
||||
.bind<BaseWebSocketsController>(TYPES.Auth_BaseWebSocketsController)
|
||||
.toConstantValue(
|
||||
new HomeServerWebSocketsController(
|
||||
new BaseWebSocketsController(
|
||||
container.get(TYPES.Auth_CreateCrossServiceToken),
|
||||
container.get(TYPES.Auth_WebSocketConnectionTokenDecoder),
|
||||
container.get(TYPES.Auth_ControllerContainer),
|
||||
),
|
||||
)
|
||||
container
|
||||
.bind<HomeServerSessionsController>(TYPES.Auth_HomeServerSessionsController)
|
||||
.bind<BaseSessionsController>(TYPES.Auth_BaseSessionsController)
|
||||
.toConstantValue(
|
||||
new HomeServerSessionsController(
|
||||
new BaseSessionsController(
|
||||
container.get(TYPES.Auth_GetActiveSessionsForUser),
|
||||
container.get(TYPES.Auth_AuthenticateRequest),
|
||||
container.get(TYPES.Auth_SessionProjector),
|
||||
@@ -1098,17 +1098,17 @@ export class ContainerConfigLoader {
|
||||
),
|
||||
)
|
||||
container
|
||||
.bind<HomeServerValetTokenController>(TYPES.Auth_HomeServerValetTokenController)
|
||||
.bind<BaseValetTokenController>(TYPES.Auth_BaseValetTokenController)
|
||||
.toConstantValue(
|
||||
new HomeServerValetTokenController(
|
||||
new BaseValetTokenController(
|
||||
container.get(TYPES.Auth_CreateValetToken),
|
||||
container.get(TYPES.Auth_ControllerContainer),
|
||||
),
|
||||
)
|
||||
container
|
||||
.bind<HomeServerUsersController>(TYPES.Auth_HomeServerUsersController)
|
||||
.bind<BaseUsersController>(TYPES.Auth_BaseUsersController)
|
||||
.toConstantValue(
|
||||
new HomeServerUsersController(
|
||||
new BaseUsersController(
|
||||
container.get(TYPES.Auth_UpdateUser),
|
||||
container.get(TYPES.Auth_GetUserKeyParams),
|
||||
container.get(TYPES.Auth_DeleteAccount),
|
||||
@@ -1120,9 +1120,9 @@ export class ContainerConfigLoader {
|
||||
),
|
||||
)
|
||||
container
|
||||
.bind<HomeServerAdminController>(TYPES.Auth_HomeServerAdminController)
|
||||
.bind<BaseAdminController>(TYPES.Auth_BaseAdminController)
|
||||
.toConstantValue(
|
||||
new HomeServerAdminController(
|
||||
new BaseAdminController(
|
||||
container.get(TYPES.Auth_DeleteSetting),
|
||||
container.get(TYPES.Auth_UserRepository),
|
||||
container.get(TYPES.Auth_CreateSubscriptionToken),
|
||||
@@ -1131,9 +1131,9 @@ export class ContainerConfigLoader {
|
||||
),
|
||||
)
|
||||
container
|
||||
.bind<HomeServerSubscriptionTokensController>(TYPES.Auth_HomeServerSubscriptionTokensController)
|
||||
.bind<BaseSubscriptionTokensController>(TYPES.Auth_BaseSubscriptionTokensController)
|
||||
.toConstantValue(
|
||||
new HomeServerSubscriptionTokensController(
|
||||
new BaseSubscriptionTokensController(
|
||||
container.get(TYPES.Auth_CreateSubscriptionToken),
|
||||
container.get(TYPES.Auth_AuthenticateSubscriptionToken),
|
||||
container.get(TYPES.Auth_SettingService),
|
||||
@@ -1145,17 +1145,17 @@ export class ContainerConfigLoader {
|
||||
),
|
||||
)
|
||||
container
|
||||
.bind<HomeServerSubscriptionSettingsController>(TYPES.Auth_HomeServerSubscriptionSettingsController)
|
||||
.bind<BaseSubscriptionSettingsController>(TYPES.Auth_BaseSubscriptionSettingsController)
|
||||
.toConstantValue(
|
||||
new HomeServerSubscriptionSettingsController(
|
||||
new BaseSubscriptionSettingsController(
|
||||
container.get(TYPES.Auth_GetSetting),
|
||||
container.get(TYPES.Auth_ControllerContainer),
|
||||
),
|
||||
)
|
||||
container
|
||||
.bind<HomeServerSettingsController>(TYPES.Auth_HomeServerSettingsController)
|
||||
.bind<BaseSettingsController>(TYPES.Auth_BaseSettingsController)
|
||||
.toConstantValue(
|
||||
new HomeServerSettingsController(
|
||||
new BaseSettingsController(
|
||||
container.get(TYPES.Auth_GetSettings),
|
||||
container.get(TYPES.Auth_GetSetting),
|
||||
container.get(TYPES.Auth_UpdateSetting),
|
||||
@@ -1164,9 +1164,9 @@ export class ContainerConfigLoader {
|
||||
),
|
||||
)
|
||||
container
|
||||
.bind<HomeServerSessionController>(TYPES.Auth_HomeServerSessionController)
|
||||
.bind<BaseSessionController>(TYPES.Auth_BaseSessionController)
|
||||
.toConstantValue(
|
||||
new HomeServerSessionController(
|
||||
new BaseSessionController(
|
||||
container.get(TYPES.Auth_DeleteSessionForUser),
|
||||
container.get(TYPES.Auth_DeletePreviousSessionsForUser),
|
||||
container.get(TYPES.Auth_RefreshSessionToken),
|
||||
@@ -1174,9 +1174,9 @@ export class ContainerConfigLoader {
|
||||
),
|
||||
)
|
||||
container
|
||||
.bind<HomeServerOfflineController>(TYPES.Auth_HomeServerOfflineController)
|
||||
.bind<BaseOfflineController>(TYPES.Auth_BaseOfflineController)
|
||||
.toConstantValue(
|
||||
new HomeServerOfflineController(
|
||||
new BaseOfflineController(
|
||||
container.get(TYPES.Auth_GetUserFeatures),
|
||||
container.get(TYPES.Auth_GetUserOfflineSubscription),
|
||||
container.get(TYPES.Auth_CreateOfflineSubscriptionToken),
|
||||
@@ -1188,17 +1188,17 @@ export class ContainerConfigLoader {
|
||||
),
|
||||
)
|
||||
container
|
||||
.bind<HomeServerListedController>(TYPES.Auth_HomeServerListedController)
|
||||
.bind<BaseListedController>(TYPES.Auth_BaseListedController)
|
||||
.toConstantValue(
|
||||
new HomeServerListedController(
|
||||
new BaseListedController(
|
||||
container.get(TYPES.Auth_CreateListedAccount),
|
||||
container.get(TYPES.Auth_ControllerContainer),
|
||||
),
|
||||
)
|
||||
container
|
||||
.bind<HomeServerFeaturesController>(TYPES.Auth_HomeServerFeaturesController)
|
||||
.bind<BaseFeaturesController>(TYPES.Auth_BaseFeaturesController)
|
||||
.toConstantValue(
|
||||
new HomeServerFeaturesController(
|
||||
new BaseFeaturesController(
|
||||
container.get(TYPES.Auth_GetUserFeatures),
|
||||
container.get(TYPES.Auth_ControllerContainer),
|
||||
),
|
||||
|
||||
@@ -114,6 +114,8 @@ export class AppDataSource {
|
||||
...commonDataSourceOptions,
|
||||
type: 'sqlite',
|
||||
database: this.env.get('DB_SQLITE_DATABASE_PATH'),
|
||||
enableWAL: true,
|
||||
busyErrorRetry: 2000,
|
||||
}
|
||||
|
||||
this._dataSource = new DataSource(sqliteDataSourceOptions)
|
||||
|
||||
@@ -217,22 +217,22 @@ const TYPES = {
|
||||
Auth_ProtocolVersionSelector: Symbol.for('Auth_ProtocolVersionSelector'),
|
||||
Auth_BooleanSelector: Symbol.for('Auth_BooleanSelector'),
|
||||
Auth_UserSubscriptionService: Symbol.for('Auth_UserSubscriptionService'),
|
||||
Auth_HomeServerAuthController: Symbol.for('Auth_HomeServerAuthController'),
|
||||
Auth_HomeServerAuthenticatorsController: Symbol.for('Auth_HomeServerAuthenticatorsController'),
|
||||
Auth_HomeServerSubscriptionInvitesController: Symbol.for('Auth_HomeServerSubscriptionInvitesController'),
|
||||
Auth_HomeServerUserRequestsController: Symbol.for('Auth_HomeServerUserRequestsController'),
|
||||
Auth_HomeServerWebSocketsController: Symbol.for('Auth_HomeServerWebSocketsController'),
|
||||
Auth_HomeServerSessionsController: Symbol.for('Auth_HomeServerSessionsController'),
|
||||
Auth_HomeServerValetTokenController: Symbol.for('Auth_HomeServerValetTokenController'),
|
||||
Auth_HomeServerUsersController: Symbol.for('Auth_HomeServerUsersController'),
|
||||
Auth_HomeServerAdminController: Symbol.for('Auth_HomeServerAdminController'),
|
||||
Auth_HomeServerSubscriptionTokensController: Symbol.for('Auth_HomeServerSubscriptionTokensController'),
|
||||
Auth_HomeServerSubscriptionSettingsController: Symbol.for('Auth_HomeServerSubscriptionSettingsController'),
|
||||
Auth_HomeServerSettingsController: Symbol.for('Auth_HomeServerSettingsController'),
|
||||
Auth_HomeServerSessionController: Symbol.for('Auth_HomeServerSessionController'),
|
||||
Auth_HomeServerOfflineController: Symbol.for('Auth_HomeServerOfflineController'),
|
||||
Auth_HomeServerListedController: Symbol.for('Auth_HomeServerListedController'),
|
||||
Auth_HomeServerFeaturesController: Symbol.for('Auth_HomeServerFeaturesController'),
|
||||
Auth_BaseAuthController: Symbol.for('Auth_BaseAuthController'),
|
||||
Auth_BaseAuthenticatorsController: Symbol.for('Auth_BaseAuthenticatorsController'),
|
||||
Auth_BaseSubscriptionInvitesController: Symbol.for('Auth_BaseSubscriptionInvitesController'),
|
||||
Auth_BaseUserRequestsController: Symbol.for('Auth_BaseUserRequestsController'),
|
||||
Auth_BaseWebSocketsController: Symbol.for('Auth_BaseWebSocketsController'),
|
||||
Auth_BaseSessionsController: Symbol.for('Auth_BaseSessionsController'),
|
||||
Auth_BaseValetTokenController: Symbol.for('Auth_BaseValetTokenController'),
|
||||
Auth_BaseUsersController: Symbol.for('Auth_BaseUsersController'),
|
||||
Auth_BaseAdminController: Symbol.for('Auth_BaseAdminController'),
|
||||
Auth_BaseSubscriptionTokensController: Symbol.for('Auth_BaseSubscriptionTokensController'),
|
||||
Auth_BaseSubscriptionSettingsController: Symbol.for('Auth_BaseSubscriptionSettingsController'),
|
||||
Auth_BaseSettingsController: Symbol.for('Auth_BaseSettingsController'),
|
||||
Auth_BaseSessionController: Symbol.for('Auth_BaseSessionController'),
|
||||
Auth_BaseOfflineController: Symbol.for('Auth_BaseOfflineController'),
|
||||
Auth_BaseListedController: Symbol.for('Auth_BaseListedController'),
|
||||
Auth_BaseFeaturesController: Symbol.for('Auth_BaseFeaturesController'),
|
||||
}
|
||||
|
||||
export default TYPES
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import 'reflect-metadata'
|
||||
|
||||
import { InversifyExpressAdminController } from './InversifyExpressAdminController'
|
||||
import { AnnotatedAdminController } from './AnnotatedAdminController'
|
||||
import { results } from 'inversify-express-utils'
|
||||
import { User } from '../../Domain/User/User'
|
||||
import { UserRepositoryInterface } from '../../Domain/User/UserRepositoryInterface'
|
||||
@@ -9,7 +9,7 @@ import { DeleteSetting } from '../../Domain/UseCase/DeleteSetting/DeleteSetting'
|
||||
import { CreateSubscriptionToken } from '../../Domain/UseCase/CreateSubscriptionToken/CreateSubscriptionToken'
|
||||
import { CreateOfflineSubscriptionToken } from '../../Domain/UseCase/CreateOfflineSubscriptionToken/CreateOfflineSubscriptionToken'
|
||||
|
||||
describe('InversifyExpressAdminController', () => {
|
||||
describe('AnnotatedAdminController', () => {
|
||||
let deleteSetting: DeleteSetting
|
||||
let userRepository: UserRepositoryInterface
|
||||
let createSubscriptionToken: CreateSubscriptionToken
|
||||
@@ -18,12 +18,7 @@ describe('InversifyExpressAdminController', () => {
|
||||
let user: User
|
||||
|
||||
const createController = () =>
|
||||
new InversifyExpressAdminController(
|
||||
deleteSetting,
|
||||
userRepository,
|
||||
createSubscriptionToken,
|
||||
createOfflineSubscriptionToken,
|
||||
)
|
||||
new AnnotatedAdminController(deleteSetting, userRepository, createSubscriptionToken, createOfflineSubscriptionToken)
|
||||
|
||||
beforeEach(() => {
|
||||
user = {} as jest.Mocked<User>
|
||||
@@ -9,14 +9,14 @@ import {
|
||||
results,
|
||||
} from 'inversify-express-utils'
|
||||
import TYPES from '../../Bootstrap/Types'
|
||||
import { HomeServerAdminController } from './HomeServer/HomeServerAdminController'
|
||||
import { BaseAdminController } from './Base/BaseAdminController'
|
||||
import { CreateOfflineSubscriptionToken } from '../../Domain/UseCase/CreateOfflineSubscriptionToken/CreateOfflineSubscriptionToken'
|
||||
import { CreateSubscriptionToken } from '../../Domain/UseCase/CreateSubscriptionToken/CreateSubscriptionToken'
|
||||
import { DeleteSetting } from '../../Domain/UseCase/DeleteSetting/DeleteSetting'
|
||||
import { UserRepositoryInterface } from '../../Domain/User/UserRepositoryInterface'
|
||||
|
||||
@controller('/admin')
|
||||
export class InversifyExpressAdminController extends HomeServerAdminController {
|
||||
export class AnnotatedAdminController extends BaseAdminController {
|
||||
constructor(
|
||||
@inject(TYPES.Auth_DeleteSetting) override doDeleteSetting: DeleteSetting,
|
||||
@inject(TYPES.Auth_UserRepository) override userRepository: UserRepositoryInterface,
|
||||
@@ -16,10 +16,10 @@ import { Logger } from 'winston'
|
||||
import { GetUserKeyParams } from '../../Domain/UseCase/GetUserKeyParams/GetUserKeyParams'
|
||||
import { AuthController } from '../../Controller/AuthController'
|
||||
import { inject } from 'inversify'
|
||||
import { HomeServerAuthController } from './HomeServer/HomeServerAuthController'
|
||||
import { BaseAuthController } from './Base/BaseAuthController'
|
||||
|
||||
@controller('/auth')
|
||||
export class InversifyExpressAuthController extends HomeServerAuthController {
|
||||
export class AnnotatedAuthController extends BaseAuthController {
|
||||
constructor(
|
||||
@inject(TYPES.Auth_VerifyMFA) override verifyMFA: VerifyMFA,
|
||||
@inject(TYPES.Auth_SignIn) override signInUseCase: SignIn,
|
||||
@@ -10,10 +10,10 @@ import {
|
||||
import TYPES from '../../Bootstrap/Types'
|
||||
import { AuthenticatorsController } from '../../Controller/AuthenticatorsController'
|
||||
import { inject } from 'inversify'
|
||||
import { HomeServerAuthenticatorsController } from './HomeServer/HomeServerAuthenticatorsController'
|
||||
import { BaseAuthenticatorsController } from './Base/BaseAuthenticatorsController'
|
||||
|
||||
@controller('/authenticators')
|
||||
export class InversifyExpressAuthenticatorsController extends HomeServerAuthenticatorsController {
|
||||
export class AnnotatedAuthenticatorsController extends BaseAuthenticatorsController {
|
||||
constructor(
|
||||
@inject(TYPES.Auth_AuthenticatorsController) override authenticatorsController: AuthenticatorsController,
|
||||
) {
|
||||
@@ -2,19 +2,19 @@ import 'reflect-metadata'
|
||||
|
||||
import * as express from 'express'
|
||||
|
||||
import { InversifyExpressFeaturesController } from './InversifyExpressFeaturesController'
|
||||
import { AnnotatedFeaturesController } from './AnnotatedFeaturesController'
|
||||
import { results } from 'inversify-express-utils'
|
||||
import { User } from '../../Domain/User/User'
|
||||
import { GetUserFeatures } from '../../Domain/UseCase/GetUserFeatures/GetUserFeatures'
|
||||
|
||||
describe('InversifyExpressFeaturesController', () => {
|
||||
describe('AnnotatedFeaturesController', () => {
|
||||
let getUserFeatures: GetUserFeatures
|
||||
|
||||
let request: express.Request
|
||||
let response: express.Response
|
||||
let user: User
|
||||
|
||||
const createController = () => new InversifyExpressFeaturesController(getUserFeatures)
|
||||
const createController = () => new AnnotatedFeaturesController(getUserFeatures)
|
||||
|
||||
beforeEach(() => {
|
||||
user = {} as jest.Mocked<User>
|
||||
@@ -8,10 +8,10 @@ import {
|
||||
} from 'inversify-express-utils'
|
||||
import TYPES from '../../Bootstrap/Types'
|
||||
import { GetUserFeatures } from '../../Domain/UseCase/GetUserFeatures/GetUserFeatures'
|
||||
import { HomeServerFeaturesController } from './HomeServer/HomeServerFeaturesController'
|
||||
import { BaseFeaturesController } from './Base/BaseFeaturesController'
|
||||
|
||||
@controller('/users/:userUuid/features')
|
||||
export class InversifyExpressFeaturesController extends HomeServerFeaturesController {
|
||||
export class AnnotatedFeaturesController extends BaseFeaturesController {
|
||||
constructor(@inject(TYPES.Auth_GetUserFeatures) override doGetUserFeatures: GetUserFeatures) {
|
||||
super(doGetUserFeatures)
|
||||
}
|
||||
@@ -1,7 +1,7 @@
|
||||
import { controller, httpGet } from 'inversify-express-utils'
|
||||
|
||||
@controller('/healthcheck')
|
||||
export class InversifyExpressHealthCheckController {
|
||||
export class AnnotatedHealthCheckController {
|
||||
@httpGet('/')
|
||||
public async get(): Promise<string> {
|
||||
return 'OK'
|
||||
@@ -2,13 +2,13 @@ import 'reflect-metadata'
|
||||
|
||||
import * as express from 'express'
|
||||
|
||||
import { InversifyExpressInternalController } from './InversifyExpressInternalController'
|
||||
import { AnnotatedInternalController } from './AnnotatedInternalController'
|
||||
import { results } from 'inversify-express-utils'
|
||||
import { User } from '../../Domain/User/User'
|
||||
import { GetUserFeatures } from '../../Domain/UseCase/GetUserFeatures/GetUserFeatures'
|
||||
import { GetSetting } from '../../Domain/UseCase/GetSetting/GetSetting'
|
||||
|
||||
describe('InversifyExpressInternalController', () => {
|
||||
describe('AnnotatedInternalController', () => {
|
||||
let getUserFeatures: GetUserFeatures
|
||||
let getSetting: GetSetting
|
||||
|
||||
@@ -16,7 +16,7 @@ describe('InversifyExpressInternalController', () => {
|
||||
let response: express.Response
|
||||
let user: User
|
||||
|
||||
const createController = () => new InversifyExpressInternalController(getUserFeatures, getSetting)
|
||||
const createController = () => new AnnotatedInternalController(getUserFeatures, getSetting)
|
||||
|
||||
beforeEach(() => {
|
||||
user = {} as jest.Mocked<User>
|
||||
@@ -12,7 +12,7 @@ import { GetSetting } from '../../Domain/UseCase/GetSetting/GetSetting'
|
||||
import { GetUserFeatures } from '../../Domain/UseCase/GetUserFeatures/GetUserFeatures'
|
||||
|
||||
@controller('/internal')
|
||||
export class InversifyExpressInternalController extends BaseHttpController {
|
||||
export class AnnotatedInternalController extends BaseHttpController {
|
||||
constructor(
|
||||
@inject(TYPES.Auth_GetUserFeatures) private doGetUserFeatures: GetUserFeatures,
|
||||
@inject(TYPES.Auth_GetSetting) private doGetSetting: GetSetting,
|
||||
@@ -3,18 +3,18 @@ import 'reflect-metadata'
|
||||
import * as express from 'express'
|
||||
import { results } from 'inversify-express-utils'
|
||||
|
||||
import { InversifyExpressListedController } from './InversifyExpressListedController'
|
||||
import { AnnotatedListedController } from './AnnotatedListedController'
|
||||
import { User } from '../../Domain/User/User'
|
||||
import { CreateListedAccount } from '../../Domain/UseCase/CreateListedAccount/CreateListedAccount'
|
||||
|
||||
describe('InversifyExpressListedController', () => {
|
||||
describe('AnnotatedListedController', () => {
|
||||
let createListedAccount: CreateListedAccount
|
||||
|
||||
let request: express.Request
|
||||
let response: express.Response
|
||||
let user: User
|
||||
|
||||
const createController = () => new InversifyExpressListedController(createListedAccount)
|
||||
const createController = () => new AnnotatedListedController(createListedAccount)
|
||||
|
||||
beforeEach(() => {
|
||||
user = {} as jest.Mocked<User>
|
||||
@@ -4,10 +4,10 @@ import { controller, httpPost, results } from 'inversify-express-utils'
|
||||
import { Request, Response } from 'express'
|
||||
import TYPES from '../../Bootstrap/Types'
|
||||
import { CreateListedAccount } from '../../Domain/UseCase/CreateListedAccount/CreateListedAccount'
|
||||
import { HomeServerListedController } from './HomeServer/HomeServerListedController'
|
||||
import { BaseListedController } from './Base/BaseListedController'
|
||||
|
||||
@controller('/listed')
|
||||
export class InversifyExpressListedController extends HomeServerListedController {
|
||||
export class AnnotatedListedController extends BaseListedController {
|
||||
constructor(@inject(TYPES.Auth_CreateListedAccount) override doCreateListedAccount: CreateListedAccount) {
|
||||
super(doCreateListedAccount)
|
||||
}
|
||||
@@ -2,7 +2,7 @@ import 'reflect-metadata'
|
||||
|
||||
import * as express from 'express'
|
||||
|
||||
import { InversifyExpressOfflineController } from './InversifyExpressOfflineController'
|
||||
import { AnnotatedOfflineController } from './AnnotatedOfflineController'
|
||||
import { results } from 'inversify-express-utils'
|
||||
import { User } from '../../Domain/User/User'
|
||||
import { GetUserFeatures } from '../../Domain/UseCase/GetUserFeatures/GetUserFeatures'
|
||||
@@ -15,7 +15,7 @@ import { OfflineUserTokenData, TokenEncoderInterface } from '@standardnotes/secu
|
||||
import { SubscriptionName } from '@standardnotes/common'
|
||||
import { Logger } from 'winston'
|
||||
|
||||
describe('InversifyExpressOfflineController', () => {
|
||||
describe('AnnotatedOfflineController', () => {
|
||||
let getUserFeatures: GetUserFeatures
|
||||
let getUserOfflineSubscription: GetUserOfflineSubscription
|
||||
let createOfflineSubscriptionToken: CreateOfflineSubscriptionToken
|
||||
@@ -29,7 +29,7 @@ describe('InversifyExpressOfflineController', () => {
|
||||
let user: User
|
||||
|
||||
const createController = () =>
|
||||
new InversifyExpressOfflineController(
|
||||
new AnnotatedOfflineController(
|
||||
getUserFeatures,
|
||||
getUserOfflineSubscription,
|
||||
createOfflineSubscriptionToken,
|
||||
@@ -14,10 +14,10 @@ import { AuthenticateOfflineSubscriptionToken } from '../../Domain/UseCase/Authe
|
||||
import { CreateOfflineSubscriptionToken } from '../../Domain/UseCase/CreateOfflineSubscriptionToken/CreateOfflineSubscriptionToken'
|
||||
import { GetUserFeatures } from '../../Domain/UseCase/GetUserFeatures/GetUserFeatures'
|
||||
import { GetUserOfflineSubscription } from '../../Domain/UseCase/GetUserOfflineSubscription/GetUserOfflineSubscription'
|
||||
import { HomeServerOfflineController } from './HomeServer/HomeServerOfflineController'
|
||||
import { BaseOfflineController } from './Base/BaseOfflineController'
|
||||
|
||||
@controller('/offline')
|
||||
export class InversifyExpressOfflineController extends HomeServerOfflineController {
|
||||
export class AnnotatedOfflineController extends BaseOfflineController {
|
||||
constructor(
|
||||
@inject(TYPES.Auth_GetUserFeatures) override doGetUserFeatures: GetUserFeatures,
|
||||
@inject(TYPES.Auth_GetUserOfflineSubscription) override getUserOfflineSubscription: GetUserOfflineSubscription,
|
||||
@@ -2,13 +2,13 @@ import 'reflect-metadata'
|
||||
|
||||
import * as express from 'express'
|
||||
|
||||
import { InversifyExpressSessionController } from './InversifyExpressSessionController'
|
||||
import { AnnotatedSessionController } from './AnnotatedSessionController'
|
||||
import { results } from 'inversify-express-utils'
|
||||
import { DeletePreviousSessionsForUser } from '../../Domain/UseCase/DeletePreviousSessionsForUser'
|
||||
import { DeleteSessionForUser } from '../../Domain/UseCase/DeleteSessionForUser'
|
||||
import { RefreshSessionToken } from '../../Domain/UseCase/RefreshSessionToken'
|
||||
|
||||
describe('InversifyExpressSessionController', () => {
|
||||
describe('AnnotatedSessionController', () => {
|
||||
let deleteSessionForUser: DeleteSessionForUser
|
||||
let deletePreviousSessionsForUser: DeletePreviousSessionsForUser
|
||||
let refreshSessionToken: RefreshSessionToken
|
||||
@@ -16,7 +16,7 @@ describe('InversifyExpressSessionController', () => {
|
||||
let response: express.Response
|
||||
|
||||
const createController = () =>
|
||||
new InversifyExpressSessionController(deleteSessionForUser, deletePreviousSessionsForUser, refreshSessionToken)
|
||||
new AnnotatedSessionController(deleteSessionForUser, deletePreviousSessionsForUser, refreshSessionToken)
|
||||
|
||||
beforeEach(() => {
|
||||
deleteSessionForUser = {} as jest.Mocked<DeleteSessionForUser>
|
||||
@@ -11,10 +11,10 @@ import TYPES from '../../Bootstrap/Types'
|
||||
import { DeletePreviousSessionsForUser } from '../../Domain/UseCase/DeletePreviousSessionsForUser'
|
||||
import { DeleteSessionForUser } from '../../Domain/UseCase/DeleteSessionForUser'
|
||||
import { RefreshSessionToken } from '../../Domain/UseCase/RefreshSessionToken'
|
||||
import { HomeServerSessionController } from './HomeServer/HomeServerSessionController'
|
||||
import { BaseSessionController } from './Base/BaseSessionController'
|
||||
|
||||
@controller('/session')
|
||||
export class InversifyExpressSessionController extends HomeServerSessionController {
|
||||
export class AnnotatedSessionController extends BaseSessionController {
|
||||
constructor(
|
||||
@inject(TYPES.Auth_DeleteSessionForUser) override deleteSessionForUser: DeleteSessionForUser,
|
||||
@inject(TYPES.Auth_DeletePreviousSessionsForUser)
|
||||
@@ -2,7 +2,7 @@ import 'reflect-metadata'
|
||||
|
||||
import * as express from 'express'
|
||||
|
||||
import { InversifyExpressSessionsController } from './InversifyExpressSessionsController'
|
||||
import { AnnotatedSessionsController } from './AnnotatedSessionsController'
|
||||
import { results } from 'inversify-express-utils'
|
||||
import { User } from '@standardnotes/responses'
|
||||
|
||||
@@ -12,7 +12,7 @@ import { GetActiveSessionsForUser } from '../../Domain/UseCase/GetActiveSessions
|
||||
import { ProjectorInterface } from '../../Projection/ProjectorInterface'
|
||||
import { Session } from '../../Domain/Session/Session'
|
||||
|
||||
describe('InversifyExpressSessionsController', () => {
|
||||
describe('AnnotatedSessionsController', () => {
|
||||
let getActiveSessionsForUser: GetActiveSessionsForUser
|
||||
let authenticateRequest: AuthenticateRequest
|
||||
let sessionProjector: ProjectorInterface<Session>
|
||||
@@ -23,7 +23,7 @@ describe('InversifyExpressSessionsController', () => {
|
||||
let createCrossServiceToken: CreateCrossServiceToken
|
||||
|
||||
const createController = () =>
|
||||
new InversifyExpressSessionsController(
|
||||
new AnnotatedSessionsController(
|
||||
getActiveSessionsForUser,
|
||||
authenticateRequest,
|
||||
sessionProjector,
|
||||
@@ -14,10 +14,10 @@ import { CreateCrossServiceToken } from '../../Domain/UseCase/CreateCrossService
|
||||
import { GetActiveSessionsForUser } from '../../Domain/UseCase/GetActiveSessionsForUser'
|
||||
import { ProjectorInterface } from '../../Projection/ProjectorInterface'
|
||||
import { Session } from '../../Domain/Session/Session'
|
||||
import { HomeServerSessionsController } from './HomeServer/HomeServerSessionsController'
|
||||
import { BaseSessionsController } from './Base/BaseSessionsController'
|
||||
|
||||
@controller('/sessions')
|
||||
export class InversifyExpressSessionsController extends HomeServerSessionsController {
|
||||
export class AnnotatedSessionsController extends BaseSessionsController {
|
||||
constructor(
|
||||
@inject(TYPES.Auth_GetActiveSessionsForUser) override getActiveSessionsForUser: GetActiveSessionsForUser,
|
||||
@inject(TYPES.Auth_AuthenticateRequest) override authenticateRequest: AuthenticateRequest,
|
||||
@@ -2,7 +2,7 @@ import 'reflect-metadata'
|
||||
|
||||
import * as express from 'express'
|
||||
|
||||
import { InversifyExpressSettingsController } from './InversifyExpressSettingsController'
|
||||
import { AnnotatedSettingsController } from './AnnotatedSettingsController'
|
||||
import { results } from 'inversify-express-utils'
|
||||
import { EncryptionVersion } from '../../Domain/Encryption/EncryptionVersion'
|
||||
import { DeleteSetting } from '../../Domain/UseCase/DeleteSetting/DeleteSetting'
|
||||
@@ -11,7 +11,7 @@ import { GetSettings } from '../../Domain/UseCase/GetSettings/GetSettings'
|
||||
import { UpdateSetting } from '../../Domain/UseCase/UpdateSetting/UpdateSetting'
|
||||
import { User } from '../../Domain/User/User'
|
||||
|
||||
describe('InversifyExpressSettingsController', () => {
|
||||
describe('AnnotatedSettingsController', () => {
|
||||
let deleteSetting: DeleteSetting
|
||||
let getSettings: GetSettings
|
||||
let getSetting: GetSetting
|
||||
@@ -21,8 +21,7 @@ describe('InversifyExpressSettingsController', () => {
|
||||
let response: express.Response
|
||||
let user: User
|
||||
|
||||
const createController = () =>
|
||||
new InversifyExpressSettingsController(getSettings, getSetting, updateSetting, deleteSetting)
|
||||
const createController = () => new AnnotatedSettingsController(getSettings, getSetting, updateSetting, deleteSetting)
|
||||
|
||||
beforeEach(() => {
|
||||
deleteSetting = {} as jest.Mocked<DeleteSetting>
|
||||
@@ -13,10 +13,10 @@ import { DeleteSetting } from '../../Domain/UseCase/DeleteSetting/DeleteSetting'
|
||||
import { GetSetting } from '../../Domain/UseCase/GetSetting/GetSetting'
|
||||
import { GetSettings } from '../../Domain/UseCase/GetSettings/GetSettings'
|
||||
import { UpdateSetting } from '../../Domain/UseCase/UpdateSetting/UpdateSetting'
|
||||
import { HomeServerSettingsController } from './HomeServer/HomeServerSettingsController'
|
||||
import { BaseSettingsController } from './Base/BaseSettingsController'
|
||||
|
||||
@controller('/users/:userUuid')
|
||||
export class InversifyExpressSettingsController extends HomeServerSettingsController {
|
||||
export class AnnotatedSettingsController extends BaseSettingsController {
|
||||
constructor(
|
||||
@inject(TYPES.Auth_GetSettings) override doGetSettings: GetSettings,
|
||||
@inject(TYPES.Auth_GetSetting) override doGetSetting: GetSetting,
|
||||
@@ -11,10 +11,10 @@ import { inject } from 'inversify'
|
||||
|
||||
import TYPES from '../../Bootstrap/Types'
|
||||
import { SubscriptionInvitesController } from '../../Controller/SubscriptionInvitesController'
|
||||
import { HomeServerSubscriptionInvitesController } from './HomeServer/HomeServerSubscriptionInvitesController'
|
||||
import { BaseSubscriptionInvitesController } from './Base/BaseSubscriptionInvitesController'
|
||||
|
||||
@controller('/subscription-invites')
|
||||
export class InversifyExpressSubscriptionInvitesController extends HomeServerSubscriptionInvitesController {
|
||||
export class AnnotatedSubscriptionInvitesController extends BaseSubscriptionInvitesController {
|
||||
constructor(
|
||||
@inject(TYPES.Auth_SubscriptionInvitesController)
|
||||
override subscriptionInvitesController: SubscriptionInvitesController,
|
||||
@@ -3,18 +3,18 @@ import 'reflect-metadata'
|
||||
import * as express from 'express'
|
||||
|
||||
import { results } from 'inversify-express-utils'
|
||||
import { InversifyExpressSubscriptionSettingsController } from './InversifyExpressSubscriptionSettingsController'
|
||||
import { AnnotatedSubscriptionSettingsController } from './AnnotatedSubscriptionSettingsController'
|
||||
import { User } from '../../Domain/User/User'
|
||||
import { GetSetting } from '../../Domain/UseCase/GetSetting/GetSetting'
|
||||
|
||||
describe('InversifyExpressSubscriptionSettingsController', () => {
|
||||
describe('AnnotatedSubscriptionSettingsController', () => {
|
||||
let getSetting: GetSetting
|
||||
|
||||
let request: express.Request
|
||||
let response: express.Response
|
||||
let user: User
|
||||
|
||||
const createController = () => new InversifyExpressSubscriptionSettingsController(getSetting)
|
||||
const createController = () => new AnnotatedSubscriptionSettingsController(getSetting)
|
||||
|
||||
beforeEach(() => {
|
||||
user = {} as jest.Mocked<User>
|
||||
@@ -8,10 +8,10 @@ import {
|
||||
} from 'inversify-express-utils'
|
||||
import TYPES from '../../Bootstrap/Types'
|
||||
import { GetSetting } from '../../Domain/UseCase/GetSetting/GetSetting'
|
||||
import { HomeServerSubscriptionSettingsController } from './HomeServer/HomeServerSubscriptionSettingsController'
|
||||
import { BaseSubscriptionSettingsController } from './Base/BaseSubscriptionSettingsController'
|
||||
|
||||
@controller('/users/:userUuid')
|
||||
export class InversifyExpressSubscriptionSettingsController extends HomeServerSubscriptionSettingsController {
|
||||
export class AnnotatedSubscriptionSettingsController extends BaseSubscriptionSettingsController {
|
||||
constructor(@inject(TYPES.Auth_GetSetting) override doGetSetting: GetSetting) {
|
||||
super(doGetSetting)
|
||||
}
|
||||
@@ -3,7 +3,7 @@ import 'reflect-metadata'
|
||||
import * as express from 'express'
|
||||
import { results } from 'inversify-express-utils'
|
||||
|
||||
import { InversifyExpressSubscriptionTokensController } from './InversifyExpressSubscriptionTokensController'
|
||||
import { AnnotatedSubscriptionTokensController } from './AnnotatedSubscriptionTokensController'
|
||||
import { CrossServiceTokenData, TokenEncoderInterface } from '@standardnotes/security'
|
||||
|
||||
import { Setting } from '../../Domain/Setting/Setting'
|
||||
@@ -15,7 +15,7 @@ import { ProjectorInterface } from '../../Projection/ProjectorInterface'
|
||||
import { User } from '../../Domain/User/User'
|
||||
import { Role } from '../../Domain/Role/Role'
|
||||
|
||||
describe('InversifyExpressSubscriptionTokensController', () => {
|
||||
describe('AnnotatedSubscriptionTokensController', () => {
|
||||
let createSubscriptionToken: CreateSubscriptionToken
|
||||
let authenticateToken: AuthenticateSubscriptionToken
|
||||
const jwtTTL = 60
|
||||
@@ -31,7 +31,7 @@ describe('InversifyExpressSubscriptionTokensController', () => {
|
||||
let role: Role
|
||||
|
||||
const createController = () =>
|
||||
new InversifyExpressSubscriptionTokensController(
|
||||
new AnnotatedSubscriptionTokensController(
|
||||
createSubscriptionToken,
|
||||
authenticateToken,
|
||||
settingService,
|
||||
@@ -15,10 +15,10 @@ import { AuthenticateSubscriptionToken } from '../../Domain/UseCase/Authenticate
|
||||
import { CreateSubscriptionToken } from '../../Domain/UseCase/CreateSubscriptionToken/CreateSubscriptionToken'
|
||||
import { User } from '../../Domain/User/User'
|
||||
import { ProjectorInterface } from '../../Projection/ProjectorInterface'
|
||||
import { HomeServerSubscriptionTokensController } from './HomeServer/HomeServerSubscriptionTokensController'
|
||||
import { BaseSubscriptionTokensController } from './Base/BaseSubscriptionTokensController'
|
||||
|
||||
@controller('/subscription-tokens')
|
||||
export class InversifyExpressSubscriptionTokensController extends HomeServerSubscriptionTokensController {
|
||||
export class AnnotatedSubscriptionTokensController extends BaseSubscriptionTokensController {
|
||||
constructor(
|
||||
@inject(TYPES.Auth_CreateSubscriptionToken) override createSubscriptionToken: CreateSubscriptionToken,
|
||||
@inject(TYPES.Auth_AuthenticateSubscriptionToken) override authenticateToken: AuthenticateSubscriptionToken,
|
||||
@@ -4,10 +4,10 @@ import { results, httpPost, controller } from 'inversify-express-utils'
|
||||
import TYPES from '../../Bootstrap/Types'
|
||||
import { UserRequestsController } from '../../Controller/UserRequestsController'
|
||||
import { inject } from 'inversify'
|
||||
import { HomeServerUserRequestsController } from './HomeServer/HomeServerUserRequestsController'
|
||||
import { BaseUserRequestsController } from './Base/BaseUserRequestsController'
|
||||
|
||||
@controller('/users/:userUuid/requests')
|
||||
export class InversifyExpressUserRequestsController extends HomeServerUserRequestsController {
|
||||
export class AnnotatedUserRequestsController extends BaseUserRequestsController {
|
||||
constructor(@inject(TYPES.Auth_UserRequestsController) override userRequestsController: UserRequestsController) {
|
||||
super(userRequestsController)
|
||||
}
|
||||
@@ -2,7 +2,7 @@ import 'reflect-metadata'
|
||||
|
||||
import * as express from 'express'
|
||||
|
||||
import { InversifyExpressUsersController } from './InversifyExpressUsersController'
|
||||
import { AnnotatedUsersController } from './AnnotatedUsersController'
|
||||
import { results } from 'inversify-express-utils'
|
||||
import { Username } from '@standardnotes/domain-core'
|
||||
import { DeleteAccount } from '../../Domain/UseCase/DeleteAccount/DeleteAccount'
|
||||
@@ -15,7 +15,7 @@ import { InviteToSharedSubscription } from '../../Domain/UseCase/InviteToSharedS
|
||||
import { UpdateUser } from '../../Domain/UseCase/UpdateUser'
|
||||
import { User } from '../../Domain/User/User'
|
||||
|
||||
describe('InversifyExpressUsersController', () => {
|
||||
describe('AnnotatedUsersController', () => {
|
||||
let updateUser: UpdateUser
|
||||
let deleteAccount: DeleteAccount
|
||||
let getUserKeyParams: GetUserKeyParams
|
||||
@@ -30,7 +30,7 @@ describe('InversifyExpressUsersController', () => {
|
||||
let user: User
|
||||
|
||||
const createController = () =>
|
||||
new InversifyExpressUsersController(
|
||||
new AnnotatedUsersController(
|
||||
updateUser,
|
||||
getUserKeyParams,
|
||||
deleteAccount,
|
||||
@@ -17,10 +17,10 @@ import { GetUserSubscription } from '../../Domain/UseCase/GetUserSubscription/Ge
|
||||
import { ClearLoginAttempts } from '../../Domain/UseCase/ClearLoginAttempts'
|
||||
import { IncreaseLoginAttempts } from '../../Domain/UseCase/IncreaseLoginAttempts'
|
||||
import { ChangeCredentials } from '../../Domain/UseCase/ChangeCredentials/ChangeCredentials'
|
||||
import { HomeServerUsersController } from './HomeServer/HomeServerUsersController'
|
||||
import { BaseUsersController } from './Base/BaseUsersController'
|
||||
|
||||
@controller('/users')
|
||||
export class InversifyExpressUsersController extends HomeServerUsersController {
|
||||
export class AnnotatedUsersController extends BaseUsersController {
|
||||
constructor(
|
||||
@inject(TYPES.Auth_UpdateUser) override updateUser: UpdateUser,
|
||||
@inject(TYPES.Auth_GetUserKeyParams) override getUserKeyParams: GetUserKeyParams,
|
||||
@@ -2,15 +2,15 @@ import 'reflect-metadata'
|
||||
|
||||
import { Request, Response } from 'express'
|
||||
import { results } from 'inversify-express-utils'
|
||||
import { InversifyExpressValetTokenController } from './InversifyExpressValetTokenController'
|
||||
import { AnnotatedValetTokenController } from './AnnotatedValetTokenController'
|
||||
import { CreateValetToken } from '../../Domain/UseCase/CreateValetToken/CreateValetToken'
|
||||
|
||||
describe('InversifyExpressValetTokenController', () => {
|
||||
describe('AnnotatedValetTokenController', () => {
|
||||
let createValetToken: CreateValetToken
|
||||
let request: Request
|
||||
let response: Response
|
||||
|
||||
const createController = () => new InversifyExpressValetTokenController(createValetToken)
|
||||
const createController = () => new AnnotatedValetTokenController(createValetToken)
|
||||
|
||||
beforeEach(() => {
|
||||
createValetToken = {} as jest.Mocked<CreateValetToken>
|
||||
@@ -8,10 +8,10 @@ import {
|
||||
} from 'inversify-express-utils'
|
||||
import TYPES from '../../Bootstrap/Types'
|
||||
import { CreateValetToken } from '../../Domain/UseCase/CreateValetToken/CreateValetToken'
|
||||
import { HomeServerValetTokenController } from './HomeServer/HomeServerValetTokenController'
|
||||
import { BaseValetTokenController } from './Base/BaseValetTokenController'
|
||||
|
||||
@controller('/valet-tokens', TYPES.Auth_RequiredCrossServiceTokenMiddleware)
|
||||
export class InversifyExpressValetTokenController extends HomeServerValetTokenController {
|
||||
export class AnnotatedValetTokenController extends BaseValetTokenController {
|
||||
constructor(@inject(TYPES.Auth_CreateValetToken) override createValetKey: CreateValetToken) {
|
||||
super(createValetKey)
|
||||
}
|
||||
@@ -9,10 +9,10 @@ import {
|
||||
import { CreateCrossServiceToken } from '../../Domain/UseCase/CreateCrossServiceToken/CreateCrossServiceToken'
|
||||
import { inject } from 'inversify'
|
||||
import TYPES from '../../Bootstrap/Types'
|
||||
import { HomeServerWebSocketsController } from './HomeServer/HomeServerWebSocketsController'
|
||||
import { BaseWebSocketsController } from './Base/BaseWebSocketsController'
|
||||
|
||||
@controller('/sockets')
|
||||
export class InversifyExpressWebSocketsController extends HomeServerWebSocketsController {
|
||||
export class AnnotatedWebSocketsController extends BaseWebSocketsController {
|
||||
constructor(
|
||||
@inject(TYPES.Auth_CreateCrossServiceToken) override createCrossServiceToken: CreateCrossServiceToken,
|
||||
@inject(TYPES.Auth_WebSocketConnectionTokenDecoder)
|
||||
@@ -8,7 +8,7 @@ import { CreateSubscriptionToken } from '../../../Domain/UseCase/CreateSubscript
|
||||
import { DeleteSetting } from '../../../Domain/UseCase/DeleteSetting/DeleteSetting'
|
||||
import { UserRepositoryInterface } from '../../../Domain/User/UserRepositoryInterface'
|
||||
|
||||
export class HomeServerAdminController extends BaseHttpController {
|
||||
export class BaseAdminController extends BaseHttpController {
|
||||
constructor(
|
||||
protected doDeleteSetting: DeleteSetting,
|
||||
protected userRepository: UserRepositoryInterface,
|
||||
@@ -10,7 +10,7 @@ import { VerifyMFA } from '../../../Domain/UseCase/VerifyMFA'
|
||||
import { AuthController } from '../../../Controller/AuthController'
|
||||
import { BaseHttpController, results } from 'inversify-express-utils'
|
||||
|
||||
export class HomeServerAuthController extends BaseHttpController {
|
||||
export class BaseAuthController extends BaseHttpController {
|
||||
constructor(
|
||||
protected verifyMFA: VerifyMFA,
|
||||
protected signInUseCase: SignIn,
|
||||
@@ -4,7 +4,7 @@ import { Request, Response } from 'express'
|
||||
import { AuthenticatorsController } from '../../../Controller/AuthenticatorsController'
|
||||
import { BaseHttpController, results } from 'inversify-express-utils'
|
||||
|
||||
export class HomeServerAuthenticatorsController extends BaseHttpController {
|
||||
export class BaseAuthenticatorsController extends BaseHttpController {
|
||||
constructor(
|
||||
protected authenticatorsController: AuthenticatorsController,
|
||||
private controllerContainer?: ControllerContainerInterface,
|
||||
@@ -4,7 +4,7 @@ import { Request, Response } from 'express'
|
||||
import { GetUserFeatures } from '../../../Domain/UseCase/GetUserFeatures/GetUserFeatures'
|
||||
import { BaseHttpController, results } from 'inversify-express-utils'
|
||||
|
||||
export class HomeServerFeaturesController extends BaseHttpController {
|
||||
export class BaseFeaturesController extends BaseHttpController {
|
||||
constructor(
|
||||
protected doGetUserFeatures: GetUserFeatures,
|
||||
private controllerContainer?: ControllerContainerInterface,
|
||||
@@ -5,7 +5,7 @@ import { Request, Response } from 'express'
|
||||
import { CreateListedAccount } from '../../../Domain/UseCase/CreateListedAccount/CreateListedAccount'
|
||||
import { BaseHttpController, results } from 'inversify-express-utils'
|
||||
|
||||
export class HomeServerListedController extends BaseHttpController {
|
||||
export class BaseListedController extends BaseHttpController {
|
||||
constructor(
|
||||
protected doCreateListedAccount: CreateListedAccount,
|
||||
private controllerContainer?: ControllerContainerInterface,
|
||||
@@ -9,7 +9,7 @@ import { CreateOfflineSubscriptionToken } from '../../../Domain/UseCase/CreateOf
|
||||
import { GetUserFeatures } from '../../../Domain/UseCase/GetUserFeatures/GetUserFeatures'
|
||||
import { GetUserOfflineSubscription } from '../../../Domain/UseCase/GetUserOfflineSubscription/GetUserOfflineSubscription'
|
||||
|
||||
export class HomeServerOfflineController extends BaseHttpController {
|
||||
export class BaseOfflineController extends BaseHttpController {
|
||||
constructor(
|
||||
protected doGetUserFeatures: GetUserFeatures,
|
||||
protected getUserOfflineSubscription: GetUserOfflineSubscription,
|
||||
@@ -7,7 +7,7 @@ import { DeletePreviousSessionsForUser } from '../../../Domain/UseCase/DeletePre
|
||||
import { DeleteSessionForUser } from '../../../Domain/UseCase/DeleteSessionForUser'
|
||||
import { RefreshSessionToken } from '../../../Domain/UseCase/RefreshSessionToken'
|
||||
|
||||
export class HomeServerSessionController extends BaseHttpController {
|
||||
export class BaseSessionController extends BaseHttpController {
|
||||
constructor(
|
||||
protected deleteSessionForUser: DeleteSessionForUser,
|
||||
protected deletePreviousSessionsForUser: DeletePreviousSessionsForUser,
|
||||
@@ -10,7 +10,7 @@ import { BaseHttpController, results } from 'inversify-express-utils'
|
||||
import { User } from '../../../Domain/User/User'
|
||||
import { SessionProjector } from '../../../Projection/SessionProjector'
|
||||
|
||||
export class HomeServerSessionsController extends BaseHttpController {
|
||||
export class BaseSessionsController extends BaseHttpController {
|
||||
constructor(
|
||||
protected getActiveSessionsForUser: GetActiveSessionsForUser,
|
||||
protected authenticateRequest: AuthenticateRequest,
|
||||
@@ -9,7 +9,7 @@ import { UpdateSetting } from '../../../Domain/UseCase/UpdateSetting/UpdateSetti
|
||||
import { BaseHttpController, results } from 'inversify-express-utils'
|
||||
import { EncryptionVersion } from '../../../Domain/Encryption/EncryptionVersion'
|
||||
|
||||
export class HomeServerSettingsController extends BaseHttpController {
|
||||
export class BaseSettingsController extends BaseHttpController {
|
||||
constructor(
|
||||
protected doGetSettings: GetSettings,
|
||||
protected doGetSetting: GetSetting,
|
||||
@@ -6,7 +6,7 @@ import { ApiVersion } from '@standardnotes/api'
|
||||
import { SubscriptionInvitesController } from '../../../Controller/SubscriptionInvitesController'
|
||||
import { Role } from '../../../Domain/Role/Role'
|
||||
|
||||
export class HomeServerSubscriptionInvitesController extends BaseHttpController {
|
||||
export class BaseSubscriptionInvitesController extends BaseHttpController {
|
||||
constructor(
|
||||
protected subscriptionInvitesController: SubscriptionInvitesController,
|
||||
private controllerContainer?: ControllerContainerInterface,
|
||||
@@ -4,7 +4,7 @@ import { Request, Response } from 'express'
|
||||
|
||||
import { GetSetting } from '../../../Domain/UseCase/GetSetting/GetSetting'
|
||||
|
||||
export class HomeServerSubscriptionSettingsController extends BaseHttpController {
|
||||
export class BaseSubscriptionSettingsController extends BaseHttpController {
|
||||
constructor(protected doGetSetting: GetSetting, private controllerContainer?: ControllerContainerInterface) {
|
||||
super()
|
||||
|
||||
@@ -11,7 +11,7 @@ import { ProjectorInterface } from '../../../Projection/ProjectorInterface'
|
||||
import { SettingName } from '@standardnotes/settings'
|
||||
import { User } from '../../../Domain/User/User'
|
||||
|
||||
export class HomeServerSubscriptionTokensController extends BaseHttpController {
|
||||
export class BaseSubscriptionTokensController extends BaseHttpController {
|
||||
constructor(
|
||||
protected createSubscriptionToken: CreateSubscriptionToken,
|
||||
protected authenticateToken: AuthenticateSubscriptionToken,
|
||||
@@ -4,7 +4,7 @@ import { Request, Response } from 'express'
|
||||
|
||||
import { UserRequestsController } from '../../../Controller/UserRequestsController'
|
||||
|
||||
export class HomeServerUserRequestsController extends BaseHttpController {
|
||||
export class BaseUserRequestsController extends BaseHttpController {
|
||||
constructor(
|
||||
protected userRequestsController: UserRequestsController,
|
||||
private controllerContainer?: ControllerContainerInterface,
|
||||
@@ -11,7 +11,7 @@ import { IncreaseLoginAttempts } from '../../../Domain/UseCase/IncreaseLoginAtte
|
||||
import { UpdateUser } from '../../../Domain/UseCase/UpdateUser'
|
||||
import { ErrorTag } from '@standardnotes/responses'
|
||||
|
||||
export class HomeServerUsersController extends BaseHttpController {
|
||||
export class BaseUsersController extends BaseHttpController {
|
||||
constructor(
|
||||
protected updateUser: UpdateUser,
|
||||
protected getUserKeyParams: GetUserKeyParams,
|
||||
@@ -7,7 +7,7 @@ import { ValetTokenOperation } from '@standardnotes/security'
|
||||
import { CreateValetToken } from '../../../Domain/UseCase/CreateValetToken/CreateValetToken'
|
||||
import { CreateValetTokenPayload } from '../../../Domain/ValetToken/CreateValetTokenPayload'
|
||||
|
||||
export class HomeServerValetTokenController extends BaseHttpController {
|
||||
export class BaseValetTokenController extends BaseHttpController {
|
||||
constructor(protected createValetKey: CreateValetToken, private controllerContainer?: ControllerContainerInterface) {
|
||||
super()
|
||||
|
||||
@@ -6,7 +6,7 @@ import { BaseHttpController, results } from 'inversify-express-utils'
|
||||
import { CreateCrossServiceToken } from '../../../Domain/UseCase/CreateCrossServiceToken/CreateCrossServiceToken'
|
||||
import { ErrorTag } from '@standardnotes/responses'
|
||||
|
||||
export class HomeServerWebSocketsController extends BaseHttpController {
|
||||
export class BaseWebSocketsController extends BaseHttpController {
|
||||
constructor(
|
||||
protected createCrossServiceToken: CreateCrossServiceToken,
|
||||
protected tokenDecoder: TokenDecoderInterface<WebSocketConnectionTokenData>,
|
||||
@@ -3,6 +3,12 @@
|
||||
All notable changes to this project will be documented in this file.
|
||||
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
||||
|
||||
## [1.24.2](https://github.com/standardnotes/server/compare/@standardnotes/domain-core@1.24.1...@standardnotes/domain-core@1.24.2) (2023-08-02)
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* **domain-core:** remove unused content types ([71624f1](https://github.com/standardnotes/server/commit/71624f18979ed9254fafeeced733e598cd66cbeb))
|
||||
|
||||
## [1.24.1](https://github.com/standardnotes/server/compare/@standardnotes/domain-core@1.24.0...@standardnotes/domain-core@1.24.1) (2023-07-27)
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@standardnotes/domain-core",
|
||||
"version": "1.24.1",
|
||||
"version": "1.24.2",
|
||||
"engines": {
|
||||
"node": ">=18.0.0 <21.0.0"
|
||||
},
|
||||
|
||||
@@ -31,9 +31,9 @@ describe('ContentType', () => {
|
||||
})
|
||||
|
||||
it('should fallback to the value if the display name is not found', () => {
|
||||
const valueOrError = ContentType.create(ContentType.TYPES.Unknown)
|
||||
const valueOrError = ContentType.create(ContentType.TYPES.EncryptedStorage)
|
||||
|
||||
expect(valueOrError.isFailed()).toBeFalsy()
|
||||
expect(valueOrError.getValue().getDisplayName()).toEqual('Unknown')
|
||||
expect(valueOrError.getValue().getDisplayName()).toEqual('SN|EncryptedStorage')
|
||||
})
|
||||
})
|
||||
|
||||
@@ -14,7 +14,6 @@ export class ContentType extends ValueObject<ContentTypeProps> {
|
||||
RootKey: 'SN|RootKey|NoSync',
|
||||
ItemsKey: 'SN|ItemsKey',
|
||||
EncryptedStorage: 'SN|EncryptedStorage',
|
||||
Privileges: 'SN|Privileges',
|
||||
Note: 'Note',
|
||||
Tag: 'Tag',
|
||||
SmartView: 'SN|SmartTag',
|
||||
@@ -29,7 +28,6 @@ export class ContentType extends ValueObject<ContentTypeProps> {
|
||||
FilesafeFileMetadata: 'SN|FileSafe|FileMetadata',
|
||||
FilesafeIntegration: 'SN|FileSafe|Integration',
|
||||
ExtensionRepo: 'SN|ExtensionRepo',
|
||||
Unknown: 'Unknown',
|
||||
}
|
||||
|
||||
private readonly displayNamesMap: Partial<Record<string, string>> = {
|
||||
|
||||
@@ -3,6 +3,10 @@
|
||||
All notable changes to this project will be documented in this file.
|
||||
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
||||
|
||||
## [1.11.14](https://github.com/standardnotes/server/compare/@standardnotes/event-store@1.11.13...@standardnotes/event-store@1.11.14) (2023-08-02)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/event-store
|
||||
|
||||
## [1.11.13](https://github.com/standardnotes/server/compare/@standardnotes/event-store@1.11.12...@standardnotes/event-store@1.11.13) (2023-07-27)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/event-store
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@standardnotes/event-store",
|
||||
"version": "1.11.13",
|
||||
"version": "1.11.14",
|
||||
"description": "Event Store Service",
|
||||
"private": true,
|
||||
"main": "dist/src/index.js",
|
||||
|
||||
@@ -3,6 +3,16 @@
|
||||
All notable changes to this project will be documented in this file.
|
||||
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
||||
|
||||
## [1.19.17](https://github.com/standardnotes/files/compare/@standardnotes/files-server@1.19.16...@standardnotes/files-server@1.19.17) (2023-08-02)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/files-server
|
||||
|
||||
## [1.19.16](https://github.com/standardnotes/files/compare/@standardnotes/files-server@1.19.15...@standardnotes/files-server@1.19.16) (2023-08-01)
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* controller naming ([#678](https://github.com/standardnotes/files/issues/678)) ([56f0aef](https://github.com/standardnotes/files/commit/56f0aef21d3fcec7ac7e968cb1c1b071becbbe26))
|
||||
|
||||
## [1.19.15](https://github.com/standardnotes/files/compare/@standardnotes/files-server@1.19.14...@standardnotes/files-server@1.19.15) (2023-07-27)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/files-server
|
||||
|
||||
@@ -2,9 +2,9 @@ import 'reflect-metadata'
|
||||
|
||||
import * as busboy from 'connect-busboy'
|
||||
|
||||
import '../src/Infra/InversifyExpress/InversifyExpressHealthCheckController'
|
||||
import '../src/Infra/InversifyExpress/InversifyExpressFilesController'
|
||||
import '../src/Infra/InversifyExpress/InversifyExpressSharedVaultFilesController'
|
||||
import '../src/Infra/InversifyExpress/AnnotatedHealthCheckController'
|
||||
import '../src/Infra/InversifyExpress/AnnotatedFilesController'
|
||||
import '../src/Infra/InversifyExpress/AnnotatedSharedVaultFilesController'
|
||||
|
||||
import helmet from 'helmet'
|
||||
import * as cors from 'cors'
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@standardnotes/files-server",
|
||||
"version": "1.19.15",
|
||||
"version": "1.19.17",
|
||||
"engines": {
|
||||
"node": ">=18.0.0 <21.0.0"
|
||||
},
|
||||
|
||||
@@ -7,7 +7,7 @@ import { UploadFileChunk } from '../../Domain/UseCase/UploadFileChunk/UploadFile
|
||||
|
||||
import { Request, Response } from 'express'
|
||||
import { Writable, Readable } from 'stream'
|
||||
import { InversifyExpressFilesController } from './InversifyExpressFilesController'
|
||||
import { AnnotatedFilesController } from './AnnotatedFilesController'
|
||||
import { GetFileMetadata } from '../../Domain/UseCase/GetFileMetadata/GetFileMetadata'
|
||||
import { results } from 'inversify-express-utils'
|
||||
import { RemoveFile } from '../../Domain/UseCase/RemoveFile/RemoveFile'
|
||||
@@ -15,7 +15,7 @@ import { ValetTokenOperation } from '@standardnotes/security'
|
||||
import { BadRequestErrorMessageResult } from 'inversify-express-utils/lib/results'
|
||||
import { Result } from '@standardnotes/domain-core'
|
||||
|
||||
describe('InversifyExpressFilesController', () => {
|
||||
describe('AnnotatedFilesController', () => {
|
||||
let uploadFileChunk: UploadFileChunk
|
||||
let createUploadSession: CreateUploadSession
|
||||
let finishUploadSession: FinishUploadSession
|
||||
@@ -28,7 +28,7 @@ describe('InversifyExpressFilesController', () => {
|
||||
const maxChunkBytes = 100_000
|
||||
|
||||
const createController = () =>
|
||||
new InversifyExpressFilesController(
|
||||
new AnnotatedFilesController(
|
||||
uploadFileChunk,
|
||||
createUploadSession,
|
||||
finishUploadSession,
|
||||
@@ -12,7 +12,7 @@ import { RemoveFile } from '../../Domain/UseCase/RemoveFile/RemoveFile'
|
||||
import { ValetTokenOperation } from '@standardnotes/security'
|
||||
|
||||
@controller('/v1/files', TYPES.Files_ValetTokenAuthMiddleware)
|
||||
export class InversifyExpressFilesController extends BaseHttpController {
|
||||
export class AnnotatedFilesController extends BaseHttpController {
|
||||
constructor(
|
||||
@inject(TYPES.Files_UploadFileChunk) private uploadFileChunk: UploadFileChunk,
|
||||
@inject(TYPES.Files_CreateUploadSession) private createUploadSession: CreateUploadSession,
|
||||
@@ -0,0 +1,12 @@
|
||||
import 'reflect-metadata'
|
||||
|
||||
import { AnnotatedHealthCheckController } from './AnnotatedHealthCheckController'
|
||||
|
||||
describe('AnnotatedHealthCheckController', () => {
|
||||
const createController = () => new AnnotatedHealthCheckController()
|
||||
|
||||
it('should return OK', async () => {
|
||||
const response = (await createController().get()) as string
|
||||
expect(response).toEqual('OK')
|
||||
})
|
||||
})
|
||||
@@ -1,7 +1,7 @@
|
||||
import { controller, httpGet } from 'inversify-express-utils'
|
||||
|
||||
@controller('/healthcheck')
|
||||
export class InversifyExpressHealthCheckController {
|
||||
export class AnnotatedHealthCheckController {
|
||||
@httpGet('/')
|
||||
public async get(): Promise<string> {
|
||||
return 'OK'
|
||||
@@ -14,7 +14,7 @@ import { StreamDownloadFile } from '../../Domain/UseCase/StreamDownloadFile/Stre
|
||||
import { UploadFileChunk } from '../../Domain/UseCase/UploadFileChunk/UploadFileChunk'
|
||||
|
||||
@controller('/v1/shared-vault/files', TYPES.Files_SharedVaultValetTokenAuthMiddleware)
|
||||
export class InversifyExpressSharedVaultFilesController extends BaseHttpController {
|
||||
export class AnnotatedSharedVaultFilesController extends BaseHttpController {
|
||||
constructor(
|
||||
@inject(TYPES.Files_UploadFileChunk) private uploadFileChunk: UploadFileChunk,
|
||||
@inject(TYPES.Files_CreateUploadSession) private createUploadSession: CreateUploadSession,
|
||||
@@ -1,12 +0,0 @@
|
||||
import 'reflect-metadata'
|
||||
|
||||
import { InversifyExpressHealthCheckController } from './InversifyExpressHealthCheckController'
|
||||
|
||||
describe('InversifyExpressHealthCheckController', () => {
|
||||
const createController = () => new InversifyExpressHealthCheckController()
|
||||
|
||||
it('should return OK', async () => {
|
||||
const response = (await createController().get()) as string
|
||||
expect(response).toEqual('OK')
|
||||
})
|
||||
})
|
||||
@@ -1 +1,2 @@
|
||||
export * from './InversifyExpressFilesController'
|
||||
export * from './AnnotatedFilesController'
|
||||
export * from './AnnotatedSharedVaultFilesController'
|
||||
|
||||
@@ -3,6 +3,34 @@
|
||||
All notable changes to this project will be documented in this file.
|
||||
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
||||
|
||||
## [1.13.27](https://github.com/standardnotes/server/compare/@standardnotes/home-server@1.13.26...@standardnotes/home-server@1.13.27) (2023-08-02)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/home-server
|
||||
|
||||
## [1.13.26](https://github.com/standardnotes/server/compare/@standardnotes/home-server@1.13.25...@standardnotes/home-server@1.13.26) (2023-08-02)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/home-server
|
||||
|
||||
## [1.13.25](https://github.com/standardnotes/server/compare/@standardnotes/home-server@1.13.24...@standardnotes/home-server@1.13.25) (2023-08-02)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/home-server
|
||||
|
||||
## [1.13.24](https://github.com/standardnotes/server/compare/@standardnotes/home-server@1.13.23...@standardnotes/home-server@1.13.24) (2023-08-02)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/home-server
|
||||
|
||||
## [1.13.23](https://github.com/standardnotes/server/compare/@standardnotes/home-server@1.13.22...@standardnotes/home-server@1.13.23) (2023-08-01)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/home-server
|
||||
|
||||
## [1.13.22](https://github.com/standardnotes/server/compare/@standardnotes/home-server@1.13.21...@standardnotes/home-server@1.13.22) (2023-08-01)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/home-server
|
||||
|
||||
## [1.13.21](https://github.com/standardnotes/server/compare/@standardnotes/home-server@1.13.20...@standardnotes/home-server@1.13.21) (2023-08-01)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/home-server
|
||||
|
||||
## [1.13.20](https://github.com/standardnotes/server/compare/@standardnotes/home-server@1.13.19...@standardnotes/home-server@1.13.20) (2023-07-31)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/home-server
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@standardnotes/home-server",
|
||||
"version": "1.13.20",
|
||||
"version": "1.13.27",
|
||||
"engines": {
|
||||
"node": ">=18.0.0 <21.0.0"
|
||||
},
|
||||
|
||||
@@ -3,6 +3,22 @@
|
||||
All notable changes to this project will be documented in this file.
|
||||
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
||||
|
||||
## [1.26.1](https://github.com/standardnotes/server/compare/@standardnotes/revisions-server@1.26.0...@standardnotes/revisions-server@1.26.1) (2023-08-02)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/revisions-server
|
||||
|
||||
# [1.26.0](https://github.com/standardnotes/server/compare/@standardnotes/revisions-server@1.25.7...@standardnotes/revisions-server@1.26.0) (2023-08-02)
|
||||
|
||||
### Features
|
||||
|
||||
* enable Write Ahead Log mode for SQLite ([#681](https://github.com/standardnotes/server/issues/681)) ([8cd7a13](https://github.com/standardnotes/server/commit/8cd7a138ab56f6a2b0d6c06ef6041ab9b85ae540))
|
||||
|
||||
## [1.25.7](https://github.com/standardnotes/server/compare/@standardnotes/revisions-server@1.25.6...@standardnotes/revisions-server@1.25.7) (2023-08-01)
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* controller naming ([#678](https://github.com/standardnotes/server/issues/678)) ([56f0aef](https://github.com/standardnotes/server/commit/56f0aef21d3fcec7ac7e968cb1c1b071becbbe26))
|
||||
|
||||
## [1.25.6](https://github.com/standardnotes/server/compare/@standardnotes/revisions-server@1.25.5...@standardnotes/revisions-server@1.25.6) (2023-07-27)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/revisions-server
|
||||
|
||||
@@ -9,8 +9,8 @@ import TYPES from '../src/Bootstrap/Types'
|
||||
import { Env } from '../src/Bootstrap/Env'
|
||||
import { ContainerConfigLoader } from '../src/Bootstrap/Container'
|
||||
|
||||
import '../src/Infra/InversifyExpress/InversifyExpressRevisionsController'
|
||||
import '../src/Infra/InversifyExpress/InversifyExpressHealthCheckController'
|
||||
import '../src/Infra/InversifyExpress/AnnotatedRevisionsController'
|
||||
import '../src/Infra/InversifyExpress/AnnotatedHealthCheckController'
|
||||
|
||||
const container = new ContainerConfigLoader()
|
||||
void container.load().then((container) => {
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@standardnotes/revisions-server",
|
||||
"version": "1.25.6",
|
||||
"version": "1.26.1",
|
||||
"engines": {
|
||||
"node": ">=18.0.0 <21.0.0"
|
||||
},
|
||||
|
||||
@@ -45,7 +45,7 @@ import { CopyRevisions } from '../Domain/UseCase/CopyRevisions/CopyRevisions'
|
||||
import { FSDumpRepository } from '../Infra/FS/FSDumpRepository'
|
||||
import { S3DumpRepository } from '../Infra/S3/S3ItemDumpRepository'
|
||||
import { RevisionItemStringMapper } from '../Mapping/RevisionItemStringMapper'
|
||||
import { HomeServerRevisionsController } from '../Infra/InversifyExpress/HomeServer/HomeServerRevisionsController'
|
||||
import { BaseRevisionsController } from '../Infra/InversifyExpress/Base/BaseRevisionsController'
|
||||
import { Transform } from 'stream'
|
||||
|
||||
export class ContainerConfigLoader {
|
||||
@@ -343,9 +343,9 @@ export class ContainerConfigLoader {
|
||||
// Inversify Controllers
|
||||
if (isConfiguredForHomeServer) {
|
||||
container
|
||||
.bind<HomeServerRevisionsController>(TYPES.Revisions_HomeServerRevisionsController)
|
||||
.bind<BaseRevisionsController>(TYPES.Revisions_BaseRevisionsController)
|
||||
.toConstantValue(
|
||||
new HomeServerRevisionsController(
|
||||
new BaseRevisionsController(
|
||||
container.get(TYPES.Revisions_RevisionsController),
|
||||
container.get(TYPES.Revisions_ControllerContainer),
|
||||
),
|
||||
|
||||
@@ -80,6 +80,8 @@ export class AppDataSource {
|
||||
...commonDataSourceOptions,
|
||||
type: 'sqlite',
|
||||
database: this.env.get('DB_SQLITE_DATABASE_PATH'),
|
||||
enableWAL: true,
|
||||
busyErrorRetry: 2000,
|
||||
}
|
||||
|
||||
this.dataSource = new DataSource(sqliteDataSourceOptions)
|
||||
|
||||
@@ -43,7 +43,7 @@ const TYPES = {
|
||||
Revisions_DomainEventMessageHandler: Symbol.for('Revisions_DomainEventMessageHandler'),
|
||||
Revisions_Timer: Symbol.for('Revisions_Timer'),
|
||||
// Inversify Express Controllers
|
||||
Revisions_HomeServerRevisionsController: Symbol.for('Revisions_HomeServerRevisionsController'),
|
||||
Revisions_BaseRevisionsController: Symbol.for('Revisions_BaseRevisionsController'),
|
||||
}
|
||||
|
||||
export default TYPES
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
import { BaseHttpController, controller, httpGet } from 'inversify-express-utils'
|
||||
|
||||
@controller('/healthcheck')
|
||||
export class InversifyExpressHealthCheckController extends BaseHttpController {
|
||||
export class AnnotatedHealthCheckController extends BaseHttpController {
|
||||
@httpGet('/')
|
||||
public async get(): Promise<string> {
|
||||
return 'OK'
|
||||
@@ -4,10 +4,10 @@ import { inject } from 'inversify'
|
||||
|
||||
import TYPES from '../../Bootstrap/Types'
|
||||
import { RevisionsController } from '../../Controller/RevisionsController'
|
||||
import { HomeServerRevisionsController } from './HomeServer/HomeServerRevisionsController'
|
||||
import { BaseRevisionsController } from './Base/BaseRevisionsController'
|
||||
|
||||
@controller('/items/:itemUuid/revisions', TYPES.Revisions_ApiGatewayAuthMiddleware)
|
||||
export class InversifyExpressRevisionsController extends HomeServerRevisionsController {
|
||||
export class AnnotatedRevisionsController extends BaseRevisionsController {
|
||||
constructor(@inject(TYPES.Revisions_RevisionsController) override revisionsController: RevisionsController) {
|
||||
super(revisionsController)
|
||||
}
|
||||
@@ -4,7 +4,7 @@ import { ControllerContainerInterface } from '@standardnotes/domain-core'
|
||||
|
||||
import { RevisionsController } from '../../../Controller/RevisionsController'
|
||||
|
||||
export class HomeServerRevisionsController extends BaseHttpController {
|
||||
export class BaseRevisionsController extends BaseHttpController {
|
||||
constructor(
|
||||
protected revisionsController: RevisionsController,
|
||||
private controllerContainer?: ControllerContainerInterface,
|
||||
@@ -3,6 +3,10 @@
|
||||
All notable changes to this project will be documented in this file.
|
||||
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
||||
|
||||
## [1.20.16](https://github.com/standardnotes/server/compare/@standardnotes/scheduler-server@1.20.15...@standardnotes/scheduler-server@1.20.16) (2023-08-02)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/scheduler-server
|
||||
|
||||
## [1.20.15](https://github.com/standardnotes/server/compare/@standardnotes/scheduler-server@1.20.14...@standardnotes/scheduler-server@1.20.15) (2023-07-27)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/scheduler-server
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@standardnotes/scheduler-server",
|
||||
"version": "1.20.15",
|
||||
"version": "1.20.16",
|
||||
"engines": {
|
||||
"node": ">=18.0.0 <21.0.0"
|
||||
},
|
||||
|
||||
@@ -3,6 +3,10 @@
|
||||
All notable changes to this project will be documented in this file.
|
||||
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
||||
|
||||
## [1.21.21](https://github.com/standardnotes/server/compare/@standardnotes/settings@1.21.20...@standardnotes/settings@1.21.21) (2023-08-02)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/settings
|
||||
|
||||
## [1.21.20](https://github.com/standardnotes/server/compare/@standardnotes/settings@1.21.19...@standardnotes/settings@1.21.20) (2023-07-27)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/settings
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@standardnotes/settings",
|
||||
"version": "1.21.20",
|
||||
"version": "1.21.21",
|
||||
"engines": {
|
||||
"node": ">=18.0.0 <21.0.0"
|
||||
},
|
||||
|
||||
@@ -3,6 +3,46 @@
|
||||
All notable changes to this project will be documented in this file.
|
||||
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
||||
|
||||
## [1.75.2](https://github.com/standardnotes/syncing-server-js/compare/@standardnotes/syncing-server@1.75.1...@standardnotes/syncing-server@1.75.2) (2023-08-02)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/syncing-server
|
||||
|
||||
## [1.75.1](https://github.com/standardnotes/syncing-server-js/compare/@standardnotes/syncing-server@1.75.0...@standardnotes/syncing-server@1.75.1) (2023-08-02)
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* **syncing-server:** update unknown content type on items migration ([6aad7cd](https://github.com/standardnotes/syncing-server-js/commit/6aad7cd207dcacd4ee372e7a6e6ebc60a75cea2a))
|
||||
|
||||
# [1.75.0](https://github.com/standardnotes/syncing-server-js/compare/@standardnotes/syncing-server@1.74.1...@standardnotes/syncing-server@1.75.0) (2023-08-02)
|
||||
|
||||
### Features
|
||||
|
||||
* enable Write Ahead Log mode for SQLite ([#681](https://github.com/standardnotes/syncing-server-js/issues/681)) ([8cd7a13](https://github.com/standardnotes/syncing-server-js/commit/8cd7a138ab56f6a2b0d6c06ef6041ab9b85ae540))
|
||||
|
||||
## [1.74.1](https://github.com/standardnotes/syncing-server-js/compare/@standardnotes/syncing-server@1.74.0...@standardnotes/syncing-server@1.74.1) (2023-08-02)
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* **syncing-server:** encapsulate delete queries into transactions ([2ca649c](https://github.com/standardnotes/syncing-server-js/commit/2ca649cf314617f01107f8479928df1581c924db))
|
||||
|
||||
# [1.74.0](https://github.com/standardnotes/syncing-server-js/compare/@standardnotes/syncing-server@1.73.1...@standardnotes/syncing-server@1.74.0) (2023-08-01)
|
||||
|
||||
### Features
|
||||
|
||||
* **syncing-server:** remove legacy privileges items ([#679](https://github.com/standardnotes/syncing-server-js/issues/679)) ([e9bba6f](https://github.com/standardnotes/syncing-server-js/commit/e9bba6fd3acfde62c3063160ba3ec3aa83c45b31))
|
||||
|
||||
## [1.73.1](https://github.com/standardnotes/syncing-server-js/compare/@standardnotes/syncing-server@1.73.0...@standardnotes/syncing-server@1.73.1) (2023-08-01)
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* controller naming ([#678](https://github.com/standardnotes/syncing-server-js/issues/678)) ([56f0aef](https://github.com/standardnotes/syncing-server-js/commit/56f0aef21d3fcec7ac7e968cb1c1b071becbbe26))
|
||||
|
||||
# [1.73.0](https://github.com/standardnotes/syncing-server-js/compare/@standardnotes/syncing-server@1.72.2...@standardnotes/syncing-server@1.73.0) (2023-08-01)
|
||||
|
||||
### Features
|
||||
|
||||
* **syncing-server:** add shared vault snjs filter ([#677](https://github.com/standardnotes/syncing-server-js/issues/677)) ([b9bb83c](https://github.com/standardnotes/syncing-server-js/commit/b9bb83c0ce8d326b8deeb93afac9e9251750de29))
|
||||
|
||||
## [1.72.2](https://github.com/standardnotes/syncing-server-js/compare/@standardnotes/syncing-server@1.72.1...@standardnotes/syncing-server@1.72.2) (2023-07-30)
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
import 'reflect-metadata'
|
||||
|
||||
import '../src/Infra/InversifyExpressUtils/InversifyExpressHealthCheckController'
|
||||
import '../src/Infra/InversifyExpressUtils/InversifyExpressItemsController'
|
||||
import '../src/Infra/InversifyExpressUtils/InversifyExpressMessagesController'
|
||||
import '../src/Infra/InversifyExpressUtils/InversifyExpressSharedVaultInvitesController'
|
||||
import '../src/Infra/InversifyExpressUtils/InversifyExpressSharedVaultUsersController'
|
||||
import '../src/Infra/InversifyExpressUtils/InversifyExpressSharedVaultsController'
|
||||
import '../src/Infra/InversifyExpressUtils/AnnotatedHealthCheckController'
|
||||
import '../src/Infra/InversifyExpressUtils/AnnotatedItemsController'
|
||||
import '../src/Infra/InversifyExpressUtils/AnnotatedMessagesController'
|
||||
import '../src/Infra/InversifyExpressUtils/AnnotatedSharedVaultInvitesController'
|
||||
import '../src/Infra/InversifyExpressUtils/AnnotatedSharedVaultUsersController'
|
||||
import '../src/Infra/InversifyExpressUtils/AnnotatedSharedVaultsController'
|
||||
|
||||
import helmet from 'helmet'
|
||||
import * as cors from 'cors'
|
||||
|
||||
@@ -0,0 +1,23 @@
|
||||
import { MigrationInterface, QueryRunner } from 'typeorm'
|
||||
|
||||
export class DeletePrivileges1690900526061 implements MigrationInterface {
|
||||
public async up(queryRunner: QueryRunner): Promise<void> {
|
||||
const itemsWithPrivilegesContentTypeQueryResult = await queryRunner.manager.query(
|
||||
'SELECT COUNT(*) as count FROM items i WHERE i.content_type = "SN|Privileges"',
|
||||
)
|
||||
const itemsWithPrivilegesContentTypeCount = +itemsWithPrivilegesContentTypeQueryResult[0].count
|
||||
|
||||
const batchSize = 1_000
|
||||
const batchCount = Math.ceil(itemsWithPrivilegesContentTypeCount / batchSize)
|
||||
|
||||
for (let batchIndex = 0; batchIndex < batchCount; batchIndex++) {
|
||||
await queryRunner.startTransaction()
|
||||
await queryRunner.manager.query(`DELETE FROM items WHERE content_type = "SN|Privileges" LIMIT ${batchSize}`)
|
||||
await queryRunner.commitTransaction()
|
||||
}
|
||||
}
|
||||
|
||||
public async down(): Promise<void> {
|
||||
return
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
import { MigrationInterface, QueryRunner } from 'typeorm'
|
||||
|
||||
export class UpdateUnknownContent1690975361562 implements MigrationInterface {
|
||||
public async up(queryRunner: QueryRunner): Promise<void> {
|
||||
await queryRunner.manager.query('UPDATE items SET content_type = "Note" WHERE content_type = "Unknown"')
|
||||
}
|
||||
|
||||
public async down(): Promise<void> {
|
||||
return
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,23 @@
|
||||
import { MigrationInterface, QueryRunner } from 'typeorm'
|
||||
|
||||
export class DeletePrivileges1690901030484 implements MigrationInterface {
|
||||
public async up(queryRunner: QueryRunner): Promise<void> {
|
||||
const itemsWithPrivilegesContentTypeQueryResult = await queryRunner.manager.query(
|
||||
'SELECT COUNT(*) as count FROM items i WHERE i.content_type = "SN|Privileges"',
|
||||
)
|
||||
const itemsWithPrivilegesContentTypeCount = +itemsWithPrivilegesContentTypeQueryResult[0].count
|
||||
|
||||
const batchSize = 1_000
|
||||
const batchCount = Math.ceil(itemsWithPrivilegesContentTypeCount / batchSize)
|
||||
|
||||
for (let batchIndex = 0; batchIndex < batchCount; batchIndex++) {
|
||||
await queryRunner.startTransaction()
|
||||
await queryRunner.manager.query(`DELETE FROM items WHERE content_type = "SN|Privileges" LIMIT ${batchSize}`)
|
||||
await queryRunner.commitTransaction()
|
||||
}
|
||||
}
|
||||
|
||||
public async down(): Promise<void> {
|
||||
return
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
import { MigrationInterface, QueryRunner } from 'typeorm'
|
||||
|
||||
export class UpdateUnknownContent1690975207883 implements MigrationInterface {
|
||||
public async up(queryRunner: QueryRunner): Promise<void> {
|
||||
await queryRunner.manager.query('UPDATE items SET content_type = "Note" WHERE content_type = "Unknown"')
|
||||
}
|
||||
|
||||
public async down(): Promise<void> {
|
||||
return
|
||||
}
|
||||
}
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@standardnotes/syncing-server",
|
||||
"version": "1.72.2",
|
||||
"version": "1.75.2",
|
||||
"engines": {
|
||||
"node": ">=18.0.0 <21.0.0"
|
||||
},
|
||||
|
||||
@@ -59,7 +59,7 @@ import { FSItemBackupService } from '../Infra/FS/FSItemBackupService'
|
||||
import { AuthHttpService } from '../Infra/HTTP/AuthHttpService'
|
||||
import { S3ItemBackupService } from '../Infra/S3/S3ItemBackupService'
|
||||
import { ControllerContainer, ControllerContainerInterface, MapperInterface } from '@standardnotes/domain-core'
|
||||
import { HomeServerItemsController } from '../Infra/InversifyExpressUtils/HomeServer/HomeServerItemsController'
|
||||
import { BaseItemsController } from '../Infra/InversifyExpressUtils/Base/BaseItemsController'
|
||||
import { Transform } from 'stream'
|
||||
import { TypeORMItem } from '../Infra/TypeORM/TypeORMItem'
|
||||
import { ItemPersistenceMapper } from '../Mapping/Persistence/ItemPersistenceMapper'
|
||||
@@ -88,7 +88,7 @@ import { TypeORMSharedVaultAssociationRepository } from '../Infra/TypeORM/TypeOR
|
||||
import { KeySystemAssociation } from '../Domain/KeySystem/KeySystemAssociation'
|
||||
import { KeySystemAssociationRepositoryInterface } from '../Domain/KeySystem/KeySystemAssociationRepositoryInterface'
|
||||
import { KeySystemAssociationPersistenceMapper } from '../Mapping/Persistence/KeySystemAssociationPersistenceMapper'
|
||||
import { HomeServerSharedVaultInvitesController } from '../Infra/InversifyExpressUtils/HomeServer/HomeServerSharedVaultInvitesController'
|
||||
import { BaseSharedVaultInvitesController } from '../Infra/InversifyExpressUtils/Base/BaseSharedVaultInvitesController'
|
||||
import { InviteUserToSharedVault } from '../Domain/UseCase/SharedVaults/InviteUserToSharedVault/InviteUserToSharedVault'
|
||||
import { TypeORMSharedVaultRepository } from '../Infra/TypeORM/TypeORMSharedVaultRepository'
|
||||
import { TypeORMSharedVault } from '../Infra/TypeORM/TypeORMSharedVault'
|
||||
@@ -113,7 +113,7 @@ import { DeleteSharedVaultInvitesToUser } from '../Domain/UseCase/SharedVaults/D
|
||||
import { DeleteSharedVaultInvitesSentByUser } from '../Domain/UseCase/SharedVaults/DeleteSharedVaultInvitesSentByUser/DeleteSharedVaultInvitesSentByUser'
|
||||
import { GetSharedVaultInvitesSentByUser } from '../Domain/UseCase/SharedVaults/GetSharedVaultInvitesSentByUser/GetSharedVaultInvitesSentByUser'
|
||||
import { GetSharedVaultInvitesSentToUser } from '../Domain/UseCase/SharedVaults/GetSharedVaultInvitesSentToUser/GetSharedVaultInvitesSentToUser'
|
||||
import { HomeServerSharedVaultUsersController } from '../Infra/InversifyExpressUtils/HomeServer/HomeServerSharedVaultUsersController'
|
||||
import { BaseSharedVaultUsersController } from '../Infra/InversifyExpressUtils/Base/BaseSharedVaultUsersController'
|
||||
import { GetSharedVaultUsers } from '../Domain/UseCase/SharedVaults/GetSharedVaultUsers/GetSharedVaultUsers'
|
||||
import { RemoveUserFromSharedVault } from '../Domain/UseCase/SharedVaults/RemoveUserFromSharedVault/RemoveUserFromSharedVault'
|
||||
import { AddNotificationForUser } from '../Domain/UseCase/Messaging/AddNotificationForUser/AddNotificationForUser'
|
||||
@@ -124,7 +124,7 @@ import { NotificationPersistenceMapper } from '../Mapping/Persistence/Notificati
|
||||
import { Notification } from '../Domain/Notifications/Notification'
|
||||
import { SharedVaultUserHttpRepresentation } from '../Mapping/Http/SharedVaultUserHttpRepresentation'
|
||||
import { SharedVaultUserHttpMapper } from '../Mapping/Http/SharedVaultUserHttpMapper'
|
||||
import { HomeServerSharedVaultsController } from '../Infra/InversifyExpressUtils/HomeServer/HomeServerSharedVaultsController'
|
||||
import { BaseSharedVaultsController } from '../Infra/InversifyExpressUtils/Base/BaseSharedVaultsController'
|
||||
import { GetSharedVaults } from '../Domain/UseCase/SharedVaults/GetSharedVaults/GetSharedVaults'
|
||||
import { CreateSharedVault } from '../Domain/UseCase/SharedVaults/CreateSharedVault/CreateSharedVault'
|
||||
import { DeleteSharedVault } from '../Domain/UseCase/SharedVaults/DeleteSharedVault/DeleteSharedVault'
|
||||
@@ -134,7 +134,7 @@ import { SharedVaultHttpRepresentation } from '../Mapping/Http/SharedVaultHttpRe
|
||||
import { SharedVaultHttpMapper } from '../Mapping/Http/SharedVaultHttpMapper'
|
||||
import { SharedVaultInviteHttpRepresentation } from '../Mapping/Http/SharedVaultInviteHttpRepresentation'
|
||||
import { SharedVaultInviteHttpMapper } from '../Mapping/Http/SharedVaultInviteHttpMapper'
|
||||
import { HomeServerMessagesController } from '../Infra/InversifyExpressUtils/HomeServer/HomeServerMessagesController'
|
||||
import { BaseMessagesController } from '../Infra/InversifyExpressUtils/Base/BaseMessagesController'
|
||||
import { GetMessagesSentToUser } from '../Domain/UseCase/Messaging/GetMessagesSentToUser/GetMessagesSentToUser'
|
||||
import { TypeORMMessage } from '../Infra/TypeORM/TypeORMMessage'
|
||||
import { MessageRepositoryInterface } from '../Domain/Message/MessageRepositoryInterface'
|
||||
@@ -153,6 +153,7 @@ import { NotificationHttpRepresentation } from '../Mapping/Http/NotificationHttp
|
||||
import { DetermineSharedVaultOperationOnItem } from '../Domain/UseCase/SharedVaults/DetermineSharedVaultOperationOnItem/DetermineSharedVaultOperationOnItem'
|
||||
import { SharedVaultFilter } from '../Domain/Item/SaveRule/SharedVaultFilter'
|
||||
import { RemoveNotificationsForUser } from '../Domain/UseCase/Messaging/RemoveNotificationsForUser/RemoveNotificationsForUser'
|
||||
import { SharedVaultSnjsFilter } from '../Domain/Item/SaveRule/SharedVaultSnjsFilter'
|
||||
|
||||
export class ContainerConfigLoader {
|
||||
private readonly DEFAULT_CONTENT_SIZE_TRANSFER_LIMIT = 10_000_000
|
||||
@@ -515,6 +516,7 @@ export class ContainerConfigLoader {
|
||||
container.get(TYPES.Sync_SharedVaultUserRepository),
|
||||
),
|
||||
)
|
||||
container.bind<SharedVaultSnjsFilter>(TYPES.Sync_SharedVaultSnjsFilter).toConstantValue(new SharedVaultSnjsFilter())
|
||||
container
|
||||
.bind<ItemSaveValidatorInterface>(TYPES.Sync_ItemSaveValidator)
|
||||
.toConstantValue(
|
||||
@@ -524,6 +526,7 @@ export class ContainerConfigLoader {
|
||||
container.get(TYPES.Sync_ContentTypeFilter),
|
||||
container.get(TYPES.Sync_ContentFilter),
|
||||
container.get(TYPES.Sync_SharedVaultFilter),
|
||||
container.get(TYPES.Sync_SharedVaultSnjsFilter),
|
||||
]),
|
||||
)
|
||||
|
||||
@@ -922,9 +925,9 @@ export class ContainerConfigLoader {
|
||||
|
||||
if (isConfiguredForHomeServer) {
|
||||
container
|
||||
.bind<HomeServerItemsController>(TYPES.Sync_HomeServerItemsController)
|
||||
.bind<BaseItemsController>(TYPES.Sync_BaseItemsController)
|
||||
.toConstantValue(
|
||||
new HomeServerItemsController(
|
||||
new BaseItemsController(
|
||||
container.get(TYPES.Sync_SyncItems),
|
||||
container.get(TYPES.Sync_CheckIntegrity),
|
||||
container.get(TYPES.Sync_GetItem),
|
||||
@@ -934,9 +937,9 @@ export class ContainerConfigLoader {
|
||||
),
|
||||
)
|
||||
container
|
||||
.bind<HomeServerSharedVaultInvitesController>(TYPES.Sync_HomeServerSharedVaultInvitesController)
|
||||
.bind<BaseSharedVaultInvitesController>(TYPES.Sync_BaseSharedVaultInvitesController)
|
||||
.toConstantValue(
|
||||
new HomeServerSharedVaultInvitesController(
|
||||
new BaseSharedVaultInvitesController(
|
||||
container.get(TYPES.Sync_InviteUserToSharedVault),
|
||||
container.get(TYPES.Sync_UpdateSharedVaultInvite),
|
||||
container.get(TYPES.Sync_AcceptInviteToSharedVault),
|
||||
@@ -950,9 +953,9 @@ export class ContainerConfigLoader {
|
||||
),
|
||||
)
|
||||
container
|
||||
.bind<HomeServerSharedVaultUsersController>(TYPES.Sync_HomeServerSharedVaultUsersController)
|
||||
.bind<BaseSharedVaultUsersController>(TYPES.Sync_BaseSharedVaultUsersController)
|
||||
.toConstantValue(
|
||||
new HomeServerSharedVaultUsersController(
|
||||
new BaseSharedVaultUsersController(
|
||||
container.get(TYPES.Sync_GetSharedVaultUsers),
|
||||
container.get(TYPES.Sync_RemoveSharedVaultUser),
|
||||
container.get(TYPES.Sync_SharedVaultUserHttpMapper),
|
||||
@@ -960,9 +963,9 @@ export class ContainerConfigLoader {
|
||||
),
|
||||
)
|
||||
container
|
||||
.bind<HomeServerSharedVaultsController>(TYPES.Sync_HomeServerSharedVaultsController)
|
||||
.bind<BaseSharedVaultsController>(TYPES.Sync_BaseSharedVaultsController)
|
||||
.toConstantValue(
|
||||
new HomeServerSharedVaultsController(
|
||||
new BaseSharedVaultsController(
|
||||
container.get(TYPES.Sync_GetSharedVaults),
|
||||
container.get(TYPES.Sync_CreateSharedVault),
|
||||
container.get(TYPES.Sync_DeleteSharedVault),
|
||||
@@ -973,9 +976,9 @@ export class ContainerConfigLoader {
|
||||
),
|
||||
)
|
||||
container
|
||||
.bind<HomeServerMessagesController>(TYPES.Sync_HomeServerMessagesController)
|
||||
.bind<BaseMessagesController>(TYPES.Sync_BaseMessagesController)
|
||||
.toConstantValue(
|
||||
new HomeServerMessagesController(
|
||||
new BaseMessagesController(
|
||||
container.get(TYPES.Sync_GetMessagesSentToUser),
|
||||
container.get(TYPES.Sync_GetMessagesSentByUser),
|
||||
container.get(TYPES.Sync_SendMessageToUser),
|
||||
|
||||
@@ -98,6 +98,8 @@ export class AppDataSource {
|
||||
...commonDataSourceOptions,
|
||||
type: 'sqlite',
|
||||
database: this.env.get('DB_SQLITE_DATABASE_PATH'),
|
||||
enableWAL: true,
|
||||
busyErrorRetry: 2000,
|
||||
}
|
||||
|
||||
this._dataSource = new DataSource(sqliteDataSourceOptions)
|
||||
|
||||
@@ -101,16 +101,17 @@ const TYPES = {
|
||||
Sync_ItemSaveValidator: Symbol.for('Sync_ItemSaveValidator'),
|
||||
Sync_OwnershipFilter: Symbol.for('Sync_OwnershipFilter'),
|
||||
Sync_SharedVaultFilter: Symbol.for('Sync_SharedVaultFilter'),
|
||||
Sync_SharedVaultSnjsFilter: Symbol.for('Sync_SharedVaultSnjsFilter'),
|
||||
Sync_TimeDifferenceFilter: Symbol.for('Sync_TimeDifferenceFilter'),
|
||||
Sync_ContentTypeFilter: Symbol.for('Sync_ContentTypeFilter'),
|
||||
Sync_ContentFilter: Symbol.for('Sync_ContentFilter'),
|
||||
Sync_ItemTransferCalculator: Symbol.for('Sync_ItemTransferCalculator'),
|
||||
Sync_ControllerContainer: Symbol.for('Sync_ControllerContainer'),
|
||||
Sync_HomeServerItemsController: Symbol.for('Sync_HomeServerItemsController'),
|
||||
Sync_HomeServerSharedVaultInvitesController: Symbol.for('Sync_HomeServerSharedVaultInvitesController'),
|
||||
Sync_HomeServerSharedVaultUsersController: Symbol.for('Sync_HomeServerSharedVaultUsersController'),
|
||||
Sync_HomeServerSharedVaultsController: Symbol.for('Sync_HomeServerSharedVaultsController'),
|
||||
Sync_HomeServerMessagesController: Symbol.for('Sync_HomeServerMessagesController'),
|
||||
Sync_BaseItemsController: Symbol.for('Sync_BaseItemsController'),
|
||||
Sync_BaseSharedVaultInvitesController: Symbol.for('Sync_BaseSharedVaultInvitesController'),
|
||||
Sync_BaseSharedVaultUsersController: Symbol.for('Sync_BaseSharedVaultUsersController'),
|
||||
Sync_BaseSharedVaultsController: Symbol.for('Sync_BaseSharedVaultsController'),
|
||||
Sync_BaseMessagesController: Symbol.for('Sync_BaseMessagesController'),
|
||||
// Mapping
|
||||
Sync_SharedVaultHttpMapper: Symbol.for('Sync_SharedVaultHttpMapper'),
|
||||
Sync_SharedVaultUserHttpMapper: Symbol.for('Sync_SharedVaultUserHttpMapper'),
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user