diff --git a/packages/syncing-server/bin/revisions.ts b/packages/syncing-server/bin/revisions.ts index c2ee14b54..dec0e3ec7 100644 --- a/packages/syncing-server/bin/revisions.ts +++ b/packages/syncing-server/bin/revisions.ts @@ -52,7 +52,7 @@ const fixRevisionsOwnership = async ( ) } - const items = await itemRepository.findAll({ + const items = await itemRepository.findAllRaw<{ uuid: string; userUuid: string }>({ createdBetween: [createdAfter, createdBefore], selectString: 'item.uuid as uuid, item.user_uuid as userUuid', contentType: [ContentType.Note, ContentType.File], diff --git a/packages/syncing-server/src/Domain/Item/ItemRepositoryInterface.ts b/packages/syncing-server/src/Domain/Item/ItemRepositoryInterface.ts index 7ea8408b3..cabee487b 100644 --- a/packages/syncing-server/src/Domain/Item/ItemRepositoryInterface.ts +++ b/packages/syncing-server/src/Domain/Item/ItemRepositoryInterface.ts @@ -6,6 +6,7 @@ import { ExtendedIntegrityPayload } from './ExtendedIntegrityPayload' export interface ItemRepositoryInterface { deleteByUserUuid(userUuid: string): Promise findAll(query: ItemQuery): Promise + findAllRaw(query: ItemQuery): Promise streamAll(query: ItemQuery): Promise countAll(query: ItemQuery): Promise findContentSizeForComputingTransferLimit( diff --git a/packages/syncing-server/src/Infra/MySQL/MySQLItemRepository.ts b/packages/syncing-server/src/Infra/MySQL/MySQLItemRepository.ts index 218bdbc43..0730d3b9c 100644 --- a/packages/syncing-server/src/Infra/MySQL/MySQLItemRepository.ts +++ b/packages/syncing-server/src/Infra/MySQL/MySQLItemRepository.ts @@ -103,6 +103,10 @@ export class MySQLItemRepository implements ItemRepositoryInterface { return this.createFindAllQueryBuilder(query).getMany() } + async findAllRaw(query: ItemQuery): Promise { + return this.createFindAllQueryBuilder(query).getRawMany() + } + async streamAll(query: ItemQuery): Promise { return this.createFindAllQueryBuilder(query).stream() } @@ -160,7 +164,7 @@ export class MySQLItemRepository implements ItemRepositoryInterface { }) } if (query.createdBetween !== undefined) { - queryBuilder.andWhere('item.created_at BETWEEN :createdAfter AND :createdBefore', { + queryBuilder.andWhere('item.created_at >= :createdAfter AND item.created <= :createdBefore', { createdAfter: query.createdBetween[0].toISOString(), createdBefore: query.createdBetween[1].toISOString(), })