From 6b2d9ba5ecfd85c4111fa7b2923875c5eeb96bd6 Mon Sep 17 00:00:00 2001 From: Henry Heino <46334387+personalizedrefrigerator@users.noreply.github.com> Date: Fri, 21 Nov 2025 11:25:47 -0800 Subject: [PATCH] Server: Save and query less data when creating and updating items (#13739) --- packages/server/src/models/ChangeModel.ts | 3 --- packages/server/src/models/ItemModel.ts | 11 ++++------- 2 files changed, 4 insertions(+), 10 deletions(-) diff --git a/packages/server/src/models/ChangeModel.ts b/packages/server/src/models/ChangeModel.ts index 2c8f31b817..95e71c5cb0 100644 --- a/packages/server/src/models/ChangeModel.ts +++ b/packages/server/src/models/ChangeModel.ts @@ -30,9 +30,6 @@ export interface ChangePagination { } export interface ChangePreviousItem { - name: string; - jop_parent_id: string; - jop_resource_ids: string[]; jop_share_id: string; } diff --git a/packages/server/src/models/ItemModel.ts b/packages/server/src/models/ItemModel.ts index 42b508ed95..6379c0490d 100644 --- a/packages/server/src/models/ItemModel.ts +++ b/packages/server/src/models/ItemModel.ts @@ -993,6 +993,7 @@ export default class ItemModel extends BaseModel { const isNew = await this.isNew(item, options); let previousItem: ChangePreviousItem = null; + let previousName: string|null = null; if (item.content && !item.content_storage_id) { item.content_storage_id = (await this.storageDriver()).storageId; @@ -1002,13 +1003,9 @@ export default class ItemModel extends BaseModel { if (!item.mime_type) item.mime_type = mimeUtils.fromFilename(item.name) || ''; if (!item.owner_id) item.owner_id = userId; } else { - const beforeSaveItem = (await this.load(item.id, { fields: ['name', 'jop_type', 'jop_parent_id', 'jop_share_id'] })); - const resourceIds = beforeSaveItem.jop_type === ModelType.Note ? await this.models().itemResource().byItemId(item.id) : []; - + const beforeSaveItem = await this.load(item.id, { fields: ['name', 'jop_share_id'] }); + previousName = beforeSaveItem.name; previousItem = { - jop_parent_id: beforeSaveItem.jop_parent_id, - name: beforeSaveItem.name, - jop_resource_ids: resourceIds, jop_share_id: beforeSaveItem.jop_share_id, }; } @@ -1029,7 +1026,7 @@ export default class ItemModel extends BaseModel { // We only record updates. This because Create and Update events are // per user, whenever a user_item is created or deleted. - const changeItemName = item.name || previousItem.name; + const changeItemName = item.name || previousName; if (!isNew && this.shouldRecordChange(changeItemName)) { await this.models().change().save({