|
@@ -273,6 +273,8 @@ import { UserRemovedFromSharedVaultEventHandler } from '../Domain/Handler/UserRe
|
|
import { DesignateSurvivor } from '../Domain/UseCase/DesignateSurvivor/DesignateSurvivor'
|
|
import { DesignateSurvivor } from '../Domain/UseCase/DesignateSurvivor/DesignateSurvivor'
|
|
import { UserDesignatedAsSurvivorInSharedVaultEventHandler } from '../Domain/Handler/UserDesignatedAsSurvivorInSharedVaultEventHandler'
|
|
import { UserDesignatedAsSurvivorInSharedVaultEventHandler } from '../Domain/Handler/UserDesignatedAsSurvivorInSharedVaultEventHandler'
|
|
import { DisableEmailSettingBasedOnEmailSubscription } from '../Domain/UseCase/DisableEmailSettingBasedOnEmailSubscription/DisableEmailSettingBasedOnEmailSubscription'
|
|
import { DisableEmailSettingBasedOnEmailSubscription } from '../Domain/UseCase/DisableEmailSettingBasedOnEmailSubscription/DisableEmailSettingBasedOnEmailSubscription'
|
|
|
|
+import { DomainEventFactoryInterface } from '../Domain/Event/DomainEventFactoryInterface'
|
|
|
|
+import { KeyParamsFactoryInterface } from '../Domain/User/KeyParamsFactoryInterface'
|
|
|
|
|
|
export class ContainerConfigLoader {
|
|
export class ContainerConfigLoader {
|
|
constructor(private mode: 'server' | 'worker' = 'server') {}
|
|
constructor(private mode: 'server' | 'worker' = 'server') {}
|
|
@@ -306,6 +308,8 @@ export class ContainerConfigLoader {
|
|
}
|
|
}
|
|
container.bind<winston.Logger>(TYPES.Auth_Logger).toConstantValue(logger)
|
|
container.bind<winston.Logger>(TYPES.Auth_Logger).toConstantValue(logger)
|
|
|
|
|
|
|
|
+ container.bind<CryptoNode>(TYPES.Auth_CryptoNode).toConstantValue(new CryptoNode())
|
|
|
|
+
|
|
const appDataSource = new AppDataSource({ env, runMigrations: this.mode === 'server' })
|
|
const appDataSource = new AppDataSource({ env, runMigrations: this.mode === 'server' })
|
|
await appDataSource.initialize()
|
|
await appDataSource.initialize()
|
|
|
|
|
|
@@ -367,6 +371,19 @@ export class ContainerConfigLoader {
|
|
container.bind<SQSClient>(TYPES.Auth_SQS).toConstantValue(sqsClient)
|
|
container.bind<SQSClient>(TYPES.Auth_SQS).toConstantValue(sqsClient)
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ container.bind(TYPES.Auth_SNS_TOPIC_ARN).toConstantValue(env.get('SNS_TOPIC_ARN', true))
|
|
|
|
+
|
|
|
|
+ container
|
|
|
|
+ .bind<DomainEventPublisherInterface>(TYPES.Auth_DomainEventPublisher)
|
|
|
|
+ .toConstantValue(
|
|
|
|
+ isConfiguredForHomeServer
|
|
|
|
+ ? directCallDomainEventPublisher
|
|
|
|
+ : new SNSOpenTelemetryDomainEventPublisher(
|
|
|
|
+ container.get(TYPES.Auth_SNS),
|
|
|
|
+ container.get(TYPES.Auth_SNS_TOPIC_ARN),
|
|
|
|
+ ),
|
|
|
|
+ )
|
|
|
|
+
|
|
// Mapping
|
|
// Mapping
|
|
container
|
|
container
|
|
.bind<MapperInterface<SessionTrace, TypeORMSessionTrace>>(TYPES.Auth_SessionTracePersistenceMapper)
|
|
.bind<MapperInterface<SessionTrace, TypeORMSessionTrace>>(TYPES.Auth_SessionTracePersistenceMapper)
|
|
@@ -547,7 +564,6 @@ export class ContainerConfigLoader {
|
|
container
|
|
container
|
|
.bind(TYPES.Auth_DISABLE_USER_REGISTRATION)
|
|
.bind(TYPES.Auth_DISABLE_USER_REGISTRATION)
|
|
.toConstantValue(env.get('DISABLE_USER_REGISTRATION', true) === 'true')
|
|
.toConstantValue(env.get('DISABLE_USER_REGISTRATION', true) === 'true')
|
|
- container.bind(TYPES.Auth_SNS_TOPIC_ARN).toConstantValue(env.get('SNS_TOPIC_ARN', true))
|
|
|
|
container.bind(TYPES.Auth_SNS_AWS_REGION).toConstantValue(env.get('SNS_AWS_REGION', true))
|
|
container.bind(TYPES.Auth_SNS_AWS_REGION).toConstantValue(env.get('SNS_AWS_REGION', true))
|
|
container.bind(TYPES.Auth_SQS_QUEUE_URL).toConstantValue(env.get('SQS_QUEUE_URL', true))
|
|
container.bind(TYPES.Auth_SQS_QUEUE_URL).toConstantValue(env.get('SQS_QUEUE_URL', true))
|
|
container
|
|
container
|
|
@@ -649,6 +665,9 @@ export class ContainerConfigLoader {
|
|
}
|
|
}
|
|
|
|
|
|
// Services
|
|
// Services
|
|
|
|
+ container
|
|
|
|
+ .bind<SelectorInterface<ProtocolVersion>>(TYPES.Auth_ProtocolVersionSelector)
|
|
|
|
+ .toConstantValue(new DeterministicSelector<ProtocolVersion>())
|
|
container.bind<UAParser>(TYPES.Auth_DeviceDetector).toConstantValue(new UAParser())
|
|
container.bind<UAParser>(TYPES.Auth_DeviceDetector).toConstantValue(new UAParser())
|
|
container.bind<SessionService>(TYPES.Auth_SessionService).to(SessionService)
|
|
container.bind<SessionService>(TYPES.Auth_SessionService).to(SessionService)
|
|
container.bind<AuthResponseFactory20161215>(TYPES.Auth_AuthResponseFactory20161215).to(AuthResponseFactory20161215)
|
|
container.bind<AuthResponseFactory20161215>(TYPES.Auth_AuthResponseFactory20161215).to(AuthResponseFactory20161215)
|
|
@@ -691,44 +710,61 @@ export class ContainerConfigLoader {
|
|
container.bind<DomainEventFactory>(TYPES.Auth_DomainEventFactory).to(DomainEventFactory)
|
|
container.bind<DomainEventFactory>(TYPES.Auth_DomainEventFactory).to(DomainEventFactory)
|
|
container.bind<AxiosInstance>(TYPES.Auth_HTTPClient).toConstantValue(axios.create())
|
|
container.bind<AxiosInstance>(TYPES.Auth_HTTPClient).toConstantValue(axios.create())
|
|
container.bind<CrypterInterface>(TYPES.Auth_Crypter).to(CrypterNode)
|
|
container.bind<CrypterInterface>(TYPES.Auth_Crypter).to(CrypterNode)
|
|
- container.bind<SettingServiceInterface>(TYPES.Auth_SettingService).to(SettingService)
|
|
|
|
|
|
+ container
|
|
|
|
+ .bind<SettingsAssociationServiceInterface>(TYPES.Auth_SettingsAssociationService)
|
|
|
|
+ .to(SettingsAssociationService)
|
|
|
|
+ container.bind<SettingDecrypterInterface>(TYPES.Auth_SettingDecrypter).to(SettingDecrypter)
|
|
|
|
+
|
|
|
|
+ container
|
|
|
|
+ .bind<GetUserKeyParams>(TYPES.Auth_GetUserKeyParams)
|
|
|
|
+ .toConstantValue(
|
|
|
|
+ new GetUserKeyParams(
|
|
|
|
+ container.get<KeyParamsFactoryInterface>(TYPES.Auth_KeyParamsFactory),
|
|
|
|
+ container.get<UserRepositoryInterface>(TYPES.Auth_UserRepository),
|
|
|
|
+ container.get<PKCERepositoryInterface>(TYPES.Auth_PKCERepository),
|
|
|
|
+ container.get<winston.Logger>(TYPES.Auth_Logger),
|
|
|
|
+ ),
|
|
|
|
+ )
|
|
|
|
+ container
|
|
|
|
+ .bind<SettingInterpreterInterface>(TYPES.Auth_SettingInterpreter)
|
|
|
|
+ .toConstantValue(
|
|
|
|
+ new SettingInterpreter(
|
|
|
|
+ container.get<DomainEventPublisherInterface>(TYPES.Auth_DomainEventPublisher),
|
|
|
|
+ container.get<DomainEventFactoryInterface>(TYPES.Auth_DomainEventFactory),
|
|
|
|
+ container.get<SettingRepositoryInterface>(TYPES.Auth_SettingRepository),
|
|
|
|
+ container.get<GetUserKeyParams>(TYPES.Auth_GetUserKeyParams),
|
|
|
|
+ ),
|
|
|
|
+ )
|
|
|
|
+
|
|
|
|
+ container
|
|
|
|
+ .bind<SettingServiceInterface>(TYPES.Auth_SettingService)
|
|
|
|
+ .toConstantValue(
|
|
|
|
+ new SettingService(
|
|
|
|
+ container.get<SettingFactoryInterface>(TYPES.Auth_SettingFactory),
|
|
|
|
+ container.get<SettingRepositoryInterface>(TYPES.Auth_SettingRepository),
|
|
|
|
+ container.get<SettingsAssociationServiceInterface>(TYPES.Auth_SettingsAssociationService),
|
|
|
|
+ container.get<SettingInterpreterInterface>(TYPES.Auth_SettingInterpreter),
|
|
|
|
+ container.get<SettingDecrypterInterface>(TYPES.Auth_SettingDecrypter),
|
|
|
|
+ container.get<winston.Logger>(TYPES.Auth_Logger),
|
|
|
|
+ ),
|
|
|
|
+ )
|
|
container
|
|
container
|
|
.bind<SubscriptionSettingServiceInterface>(TYPES.Auth_SubscriptionSettingService)
|
|
.bind<SubscriptionSettingServiceInterface>(TYPES.Auth_SubscriptionSettingService)
|
|
.to(SubscriptionSettingService)
|
|
.to(SubscriptionSettingService)
|
|
container.bind<OfflineSettingServiceInterface>(TYPES.Auth_OfflineSettingService).to(OfflineSettingService)
|
|
container.bind<OfflineSettingServiceInterface>(TYPES.Auth_OfflineSettingService).to(OfflineSettingService)
|
|
- container.bind<CryptoNode>(TYPES.Auth_CryptoNode).toConstantValue(new CryptoNode())
|
|
|
|
container.bind<ContentDecoderInterface>(TYPES.Auth_ContenDecoder).toConstantValue(new ContentDecoder())
|
|
container.bind<ContentDecoderInterface>(TYPES.Auth_ContenDecoder).toConstantValue(new ContentDecoder())
|
|
container.bind<ClientServiceInterface>(TYPES.Auth_WebSocketsClientService).to(WebSocketsClientService)
|
|
container.bind<ClientServiceInterface>(TYPES.Auth_WebSocketsClientService).to(WebSocketsClientService)
|
|
container.bind<RoleServiceInterface>(TYPES.Auth_RoleService).to(RoleService)
|
|
container.bind<RoleServiceInterface>(TYPES.Auth_RoleService).to(RoleService)
|
|
container.bind<RoleToSubscriptionMapInterface>(TYPES.Auth_RoleToSubscriptionMap).to(RoleToSubscriptionMap)
|
|
container.bind<RoleToSubscriptionMapInterface>(TYPES.Auth_RoleToSubscriptionMap).to(RoleToSubscriptionMap)
|
|
- container
|
|
|
|
- .bind<SettingsAssociationServiceInterface>(TYPES.Auth_SettingsAssociationService)
|
|
|
|
- .to(SettingsAssociationService)
|
|
|
|
container
|
|
container
|
|
.bind<SubscriptionSettingsAssociationServiceInterface>(TYPES.Auth_SubscriptionSettingsAssociationService)
|
|
.bind<SubscriptionSettingsAssociationServiceInterface>(TYPES.Auth_SubscriptionSettingsAssociationService)
|
|
.to(SubscriptionSettingsAssociationService)
|
|
.to(SubscriptionSettingsAssociationService)
|
|
container.bind<FeatureServiceInterface>(TYPES.Auth_FeatureService).to(FeatureService)
|
|
container.bind<FeatureServiceInterface>(TYPES.Auth_FeatureService).to(FeatureService)
|
|
- container.bind<SettingInterpreterInterface>(TYPES.Auth_SettingInterpreter).to(SettingInterpreter)
|
|
|
|
- container.bind<SettingDecrypterInterface>(TYPES.Auth_SettingDecrypter).to(SettingDecrypter)
|
|
|
|
- container
|
|
|
|
- .bind<SelectorInterface<ProtocolVersion>>(TYPES.Auth_ProtocolVersionSelector)
|
|
|
|
- .toConstantValue(new DeterministicSelector<ProtocolVersion>())
|
|
|
|
container
|
|
container
|
|
.bind<SelectorInterface<boolean>>(TYPES.Auth_BooleanSelector)
|
|
.bind<SelectorInterface<boolean>>(TYPES.Auth_BooleanSelector)
|
|
.toConstantValue(new DeterministicSelector<boolean>())
|
|
.toConstantValue(new DeterministicSelector<boolean>())
|
|
container.bind<UserSubscriptionServiceInterface>(TYPES.Auth_UserSubscriptionService).to(UserSubscriptionService)
|
|
container.bind<UserSubscriptionServiceInterface>(TYPES.Auth_UserSubscriptionService).to(UserSubscriptionService)
|
|
|
|
|
|
- container
|
|
|
|
- .bind<DomainEventPublisherInterface>(TYPES.Auth_DomainEventPublisher)
|
|
|
|
- .toConstantValue(
|
|
|
|
- isConfiguredForHomeServer
|
|
|
|
- ? directCallDomainEventPublisher
|
|
|
|
- : new SNSOpenTelemetryDomainEventPublisher(
|
|
|
|
- container.get(TYPES.Auth_SNS),
|
|
|
|
- container.get(TYPES.Auth_SNS_TOPIC_ARN),
|
|
|
|
- ),
|
|
|
|
- )
|
|
|
|
-
|
|
|
|
// Middleware
|
|
// Middleware
|
|
container.bind<SessionMiddleware>(TYPES.Auth_SessionMiddleware).to(SessionMiddleware)
|
|
container.bind<SessionMiddleware>(TYPES.Auth_SessionMiddleware).to(SessionMiddleware)
|
|
container.bind<LockMiddleware>(TYPES.Auth_LockMiddleware).to(LockMiddleware)
|
|
container.bind<LockMiddleware>(TYPES.Auth_LockMiddleware).to(LockMiddleware)
|
|
@@ -881,7 +917,6 @@ export class ContainerConfigLoader {
|
|
container.get(TYPES.Auth_SettingService),
|
|
container.get(TYPES.Auth_SettingService),
|
|
),
|
|
),
|
|
)
|
|
)
|
|
- container.bind<GetUserKeyParams>(TYPES.Auth_GetUserKeyParams).to(GetUserKeyParams)
|
|
|
|
container.bind<UpdateUser>(TYPES.Auth_UpdateUser).to(UpdateUser)
|
|
container.bind<UpdateUser>(TYPES.Auth_UpdateUser).to(UpdateUser)
|
|
container.bind<Register>(TYPES.Auth_Register).to(Register)
|
|
container.bind<Register>(TYPES.Auth_Register).to(Register)
|
|
container.bind<GetActiveSessionsForUser>(TYPES.Auth_GetActiveSessionsForUser).to(GetActiveSessionsForUser)
|
|
container.bind<GetActiveSessionsForUser>(TYPES.Auth_GetActiveSessionsForUser).to(GetActiveSessionsForUser)
|
|
@@ -1311,7 +1346,6 @@ export class ContainerConfigLoader {
|
|
.toConstantValue(
|
|
.toConstantValue(
|
|
new BaseUsersController(
|
|
new BaseUsersController(
|
|
container.get<UpdateUser>(TYPES.Auth_UpdateUser),
|
|
container.get<UpdateUser>(TYPES.Auth_UpdateUser),
|
|
- container.get<GetUserKeyParams>(TYPES.Auth_GetUserKeyParams),
|
|
|
|
container.get<DeleteAccount>(TYPES.Auth_DeleteAccount),
|
|
container.get<DeleteAccount>(TYPES.Auth_DeleteAccount),
|
|
container.get<GetUserSubscription>(TYPES.Auth_GetUserSubscription),
|
|
container.get<GetUserSubscription>(TYPES.Auth_GetUserSubscription),
|
|
container.get<ClearLoginAttempts>(TYPES.Auth_ClearLoginAttempts),
|
|
container.get<ClearLoginAttempts>(TYPES.Auth_ClearLoginAttempts),
|