chore: add method to designate a shared vault survivor (#2538)

This commit is contained in:
Karol Sójko
2023-09-26 13:48:36 +02:00
committed by GitHub
parent 60f96bc201
commit 2ce908da29
12 changed files with 160 additions and 5 deletions

View File

@@ -141,6 +141,10 @@ import {
CreateEncryptedBackupFile,
SyncLocalVaultsWithRemoteSharedVaults,
WebSocketsService,
AuthorizeVaultDeletion,
IsVaultAdmin,
IsReadonlyVaultMember,
DesignateSurvivor,
} from '@standardnotes/services'
import { ItemManager } from '../../Services/Items/ItemManager'
import { PayloadManager } from '../../Services/Payloads/PayloadManager'
@@ -158,6 +162,7 @@ import {
SharedVaultInvitesServer,
SharedVaultServer,
SharedVaultUsersServer,
SharedVaultUsersServerInterface,
SubscriptionApiService,
SubscriptionServer,
UserApiService,
@@ -171,9 +176,6 @@ import { Logger, isNotUndefined, isDeinitable, LoggerInterface } from '@standard
import { EncryptionOperators } from '@standardnotes/encryption'
import { AsymmetricMessagePayload, AsymmetricMessageSharedVaultInvite } from '@standardnotes/models'
import { PureCryptoInterface } from '@standardnotes/sncrypto-common'
import { AuthorizeVaultDeletion } from '@standardnotes/services/src/Domain/Vault/UseCase/AuthorizeVaultDeletion'
import { IsVaultAdmin } from '@standardnotes/services/src/Domain/VaultUser/UseCase/IsVaultAdmin'
import { IsReadonlyVaultMember } from '@standardnotes/services/src/Domain/VaultUser/UseCase/IsReadonlyVaultMember'
export class Dependencies {
private factory = new Map<symbol, () => unknown>()
@@ -683,6 +685,10 @@ export class Dependencies {
return new RemoveVaultMember(this.get<SharedVaultUsersServer>(TYPES.SharedVaultUsersServer))
})
this.factory.set(TYPES.DesignateSurvivor, () => {
return new DesignateSurvivor(this.get<SharedVaultUsersServerInterface>(TYPES.SharedVaultUsersServer))
})
this.factory.set(TYPES.GetVaultUsers, () => {
return new GetVaultUsers(
this.get<SharedVaultUsersServer>(TYPES.SharedVaultUsersServer),
@@ -861,6 +867,7 @@ export class Dependencies {
this.get<IsReadonlyVaultMember>(TYPES.IsReadonlyVaultMember),
this.get<GetVault>(TYPES.GetVault),
this.get<LeaveVault>(TYPES.LeaveVault),
this.get<DesignateSurvivor>(TYPES.DesignateSurvivor),
this.get<InternalEventBus>(TYPES.InternalEventBus),
)
})

View File

@@ -125,6 +125,7 @@ export const TYPES = {
ConvertToSharedVault: Symbol.for('ConvertToSharedVault'),
DeleteSharedVault: Symbol.for('DeleteSharedVault'),
RemoveVaultMember: Symbol.for('RemoveVaultMember'),
DesignateSurvivor: Symbol.for('DesignateSurvivor'),
GetVaultUsers: Symbol.for('GetSharedVaultUsers'),
ResendAllMessages: Symbol.for('ResendAllMessages'),
ReuploadAllInvites: Symbol.for('ReuploadAllInvites'),