chore: vault member permissions (#2509)

This commit is contained in:
Aman Harwara
2023-09-18 19:53:34 +05:30
committed by GitHub
parent 2af610c7bf
commit 48e7820100
32 changed files with 331 additions and 94 deletions

View File

@@ -172,6 +172,8 @@ 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>()
@@ -335,6 +337,17 @@ export class Dependencies {
return new IsVaultOwner(this.get<UserService>(TYPES.UserService))
})
this.factory.set(TYPES.IsVaultAdmin, () => {
return new IsVaultAdmin(this.get<UserService>(TYPES.UserService), this.get<VaultUserCache>(TYPES.VaultUserCache))
})
this.factory.set(TYPES.IsReadonlyVaultMember, () => {
return new IsReadonlyVaultMember(
this.get<UserService>(TYPES.UserService),
this.get<VaultUserCache>(TYPES.VaultUserCache),
)
})
this.factory.set(TYPES.DecryptBackupFile, () => {
return new DecryptBackupFile(
this.get<EncryptionService>(TYPES.EncryptionService),
@@ -844,6 +857,8 @@ export class Dependencies {
this.get<GetVaultUsers>(TYPES.GetVaultUsers),
this.get<RemoveVaultMember>(TYPES.RemoveVaultMember),
this.get<IsVaultOwner>(TYPES.IsVaultOwner),
this.get<IsVaultAdmin>(TYPES.IsVaultAdmin),
this.get<IsReadonlyVaultMember>(TYPES.IsReadonlyVaultMember),
this.get<GetVault>(TYPES.GetVault),
this.get<LeaveVault>(TYPES.LeaveVault),
this.get<InternalEventBus>(TYPES.InternalEventBus),