From 466aa4987e9cc07b6eb35944c3c9486007e7f2c4 Mon Sep 17 00:00:00 2001 From: ChengLei Shao Date: Tue, 22 Nov 2022 10:13:55 +0800 Subject: [PATCH] fix: sort field with table dose not have primary key (#1119) --- packages/core/database/src/fields/sort-field.ts | 1 + packages/core/database/src/repository.ts | 13 +++++++++++-- .../src/__tests__/http-api/collections.test.ts | 12 ++++++++++++ 3 files changed, 24 insertions(+), 2 deletions(-) diff --git a/packages/core/database/src/fields/sort-field.ts b/packages/core/database/src/fields/sort-field.ts index d53d82ca5..7adf643f3 100644 --- a/packages/core/database/src/fields/sort-field.ts +++ b/packages/core/database/src/fields/sort-field.ts @@ -45,6 +45,7 @@ export class SortField extends Field { const totalCount = await this.collection.repository.count({ transaction, }); + const emptyCount = await this.collection.repository.count({ filter: { [this.name]: null, diff --git a/packages/core/database/src/repository.ts b/packages/core/database/src/repository.ts index 66f06d6ac..1e0b725a6 100644 --- a/packages/core/database/src/repository.ts +++ b/packages/core/database/src/repository.ts @@ -210,12 +210,21 @@ export class Repository { await app.destroy(); }); + it('should create collection without id', async () => { + const response = await agent.resource('collections').create({ + values: { + name: 'test', + autoGenId: false, + sortable: true, + }, + }); + + expect(response.statusCode).toBe(200); + }); + it('case 1', async () => { const response1 = await app.agent().resource('posts').create(); const postId = response1.body.data.id;