mirror of
https://github.com/standardnotes/server
synced 2026-10-17 21:03:09 -04:00
fix: group filter
This commit is contained in:
@@ -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 {
|
||||
|
||||
Reference in New Issue
Block a user