fix: group filter

This commit is contained in:
Mo
2023-06-02 07:20:49 -05:00
parent dfa53647f3
commit 51e52ed9ff
2 changed files with 10 additions and 7 deletions
@@ -55,7 +55,7 @@ export class GroupFilter implements ItemSaveRuleInterface {
}
}
const usesValidKey = await this.incomingItemUsesValidItemsKey(dto.itemHash)
const usesValidKey = await this.incomingItemUsesValidItemsKey(dto.itemHash, dto.existingItem.groupUuid)
if (!usesValidKey) {
return {
passed: false,
@@ -80,14 +80,17 @@ export class GroupFilter implements ItemSaveRuleInterface {
return true
}
private async incomingItemUsesValidItemsKey(itemHash: ItemHash): Promise<boolean> {
private async incomingItemUsesValidItemsKey(itemHash: ItemHash, groupUuid: string): Promise<boolean> {
if (itemHash.deleted) {
return true
}
const isItemNotEncryptedByItemsKey = itemHash.content_type === ContentType.VaultItemsKey
if (isItemNotEncryptedByItemsKey) {
return true
}
const group = await this.groupService.getGroup({ groupUuid: itemHash.vault_system_identifier as string })
const group = await this.groupService.getGroup({ groupUuid: groupUuid })
if (!group) {
return false
}
@@ -28,7 +28,7 @@ export class SyncResponseFactory20161215 implements SyncResponseFactoryInterface
for (const conflict of pickOutConflictsResult.unsavedItems) {
unsaved.push({
item: conflict.serverItem
? <ItemProjection>await this.itemProjector.projectFull(conflict.serverItem)
? <ItemProjection>this.itemProjector.projectFull(conflict.serverItem)
: <ItemHash>conflict.unsavedItem,
error: {
tag: conflict.type,
@@ -38,12 +38,12 @@ export class SyncResponseFactory20161215 implements SyncResponseFactoryInterface
const retrievedItems = []
for (const item of pickOutConflictsResult.retrievedItems) {
retrievedItems.push(<ItemProjection>await this.itemProjector.projectFull(item))
retrievedItems.push(<ItemProjection>this.itemProjector.projectFull(item))
}
const savedItems = []
for (const item of syncItemsResponse.savedItems) {
savedItems.push(<ItemProjection>await this.itemProjector.projectFull(item))
savedItems.push(<ItemProjection>this.itemProjector.projectFull(item))
}
return {