Skip to content

Commit 3ceb9b8

Browse files
guguclaude
andcommitted
fix(table): return 200 for POST /table/rows/find endpoint
The find endpoint is a query operation, not a resource creation, so it should return 200 instead of NestJS's default 201 for POST. Added @httpcode(HttpStatus.OK) and updated all stale test assertions that expected 201. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
1 parent 8318246 commit 3ceb9b8

15 files changed

Lines changed: 31 additions & 29 deletions

backend/src/entities/table/table.controller.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ import {
33
Controller,
44
Delete,
55
Get,
6+
HttpCode,
67
HttpException,
78
HttpStatus,
89
Inject,
@@ -248,6 +249,7 @@ export class TableController {
248249
@ApiQuery({ name: 'search', required: false })
249250
@UseGuards(TableReadGuard)
250251
@Timeout(TimeoutDefaults.EXTENDED)
252+
@HttpCode(HttpStatus.OK)
251253
@Post('/table/rows/find/:connectionId')
252254
async findAllRowsWithBodyFilter(
253255
@QueryTableName() tableName: string,

backend/test/ava-tests/complex-table-tests/complex-ibmdb2-table-e2e.test.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -844,7 +844,7 @@ test.serial(`POST /table/rows/find/:connectionId - Should return filtered rows f
844844
.set('Content-Type', 'application/json')
845845
.set('Accept', 'application/json');
846846

847-
t.is(findRowsResponse.status, 201);
847+
t.is(findRowsResponse.status, 200);
848848
const findRowsRO = JSON.parse(findRowsResponse.text);
849849
t.truthy(findRowsRO.rows);
850850
t.is(findRowsRO.rows.length, 1);
@@ -886,7 +886,7 @@ test.serial(
886886
.set('Content-Type', 'application/json')
887887
.set('Accept', 'application/json');
888888

889-
t.is(findRowsResponse.status, 201);
889+
t.is(findRowsResponse.status, 200);
890890
const findRowsRO = JSON.parse(findRowsResponse.text);
891891
t.truthy(findRowsRO.rows);
892892
for (const row of findRowsRO.rows) {

backend/test/ava-tests/complex-table-tests/complex-mssql-table-e2e.test.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -844,7 +844,7 @@ test.serial(`POST /table/rows/find/:connectionId - Should return filtered rows f
844844
.set('Content-Type', 'application/json')
845845
.set('Accept', 'application/json');
846846

847-
t.is(findRowsResponse.status, 201);
847+
t.is(findRowsResponse.status, 200);
848848
const findRowsRO = JSON.parse(findRowsResponse.text);
849849
t.truthy(findRowsRO.rows);
850850
t.is(findRowsRO.rows.length, 1);
@@ -886,7 +886,7 @@ test.serial(
886886
.set('Content-Type', 'application/json')
887887
.set('Accept', 'application/json');
888888

889-
t.is(findRowsResponse.status, 201);
889+
t.is(findRowsResponse.status, 200);
890890
const findRowsRO = JSON.parse(findRowsResponse.text);
891891
t.truthy(findRowsRO.rows);
892892
for (const row of findRowsRO.rows) {

backend/test/ava-tests/complex-table-tests/complex-mysql-table-e2e.test.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -844,7 +844,7 @@ test.serial(`POST /table/rows/find/:connectionId - Should return filtered rows f
844844
.set('Content-Type', 'application/json')
845845
.set('Accept', 'application/json');
846846

847-
t.is(findRowsResponse.status, 201);
847+
t.is(findRowsResponse.status, 200);
848848
const findRowsRO = JSON.parse(findRowsResponse.text);
849849
t.truthy(findRowsRO.rows);
850850
t.is(findRowsRO.rows.length, 1);
@@ -886,7 +886,7 @@ test.serial(
886886
.set('Content-Type', 'application/json')
887887
.set('Accept', 'application/json');
888888

889-
t.is(findRowsResponse.status, 201);
889+
t.is(findRowsResponse.status, 200);
890890
const findRowsRO = JSON.parse(findRowsResponse.text);
891891
t.truthy(findRowsRO.rows);
892892
for (const row of findRowsRO.rows) {

backend/test/ava-tests/complex-table-tests/complex-oracle-table-e2e.test.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -844,7 +844,7 @@ test.serial(`POST /table/rows/find/:connectionId - Should return filtered rows f
844844
.set('Content-Type', 'application/json')
845845
.set('Accept', 'application/json');
846846

847-
t.is(findRowsResponse.status, 201);
847+
t.is(findRowsResponse.status, 200);
848848
const findRowsRO = JSON.parse(findRowsResponse.text);
849849
t.truthy(findRowsRO.rows);
850850
t.is(findRowsRO.rows.length, 1);
@@ -886,7 +886,7 @@ test.serial(
886886
.set('Content-Type', 'application/json')
887887
.set('Accept', 'application/json');
888888

889-
t.is(findRowsResponse.status, 201);
889+
t.is(findRowsResponse.status, 200);
890890
const findRowsRO = JSON.parse(findRowsResponse.text);
891891
t.truthy(findRowsRO.rows);
892892
for (const row of findRowsRO.rows) {

backend/test/ava-tests/complex-table-tests/complex-postgres-table-e2e.test.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -844,7 +844,7 @@ test.serial(`POST /table/rows/find/:connectionId - Should return filtered rows f
844844
.set('Content-Type', 'application/json')
845845
.set('Accept', 'application/json');
846846

847-
t.is(findRowsResponse.status, 201);
847+
t.is(findRowsResponse.status, 200);
848848
const findRowsRO = JSON.parse(findRowsResponse.text);
849849
t.truthy(findRowsRO.rows);
850850
t.is(findRowsRO.rows.length, 1);
@@ -886,7 +886,7 @@ test.serial(
886886
.set('Content-Type', 'application/json')
887887
.set('Accept', 'application/json');
888888

889-
t.is(findRowsResponse.status, 201);
889+
t.is(findRowsResponse.status, 200);
890890
const findRowsRO = JSON.parse(findRowsResponse.text);
891891
t.truthy(findRowsRO.rows);
892892
for (const row of findRowsRO.rows) {

backend/test/ava-tests/non-saas-tests/non-saas-table-mongodb-e2e.test.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1647,7 +1647,7 @@ should return all found rows with search, pagination: page=1, perPage=10 and DES
16471647
.set('Cookie', firstUserToken)
16481648
.set('Content-Type', 'application/json')
16491649
.set('Accept', 'application/json');
1650-
t.is(getTableRowsResponse.status, 201);
1650+
t.is(getTableRowsResponse.status, 200);
16511651

16521652
const getTableRowsRO = JSON.parse(getTableRowsResponse.text);
16531653
t.is(typeof getTableRowsRO, 'object');
@@ -1749,7 +1749,7 @@ should return all found rows with search, pagination: page=1, perPage=2 and DESC
17491749
.set('Cookie', firstUserToken)
17501750
.set('Content-Type', 'application/json')
17511751
.set('Accept', 'application/json');
1752-
t.is(getTableRowsResponse.status, 201);
1752+
t.is(getTableRowsResponse.status, 200);
17531753

17541754
const getTableRowsRO = JSON.parse(getTableRowsResponse.text);
17551755

backend/test/ava-tests/non-saas-tests/non-saas-table-redis-e2e.test.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1643,7 +1643,7 @@ should return all found rows with search, pagination: page=1, perPage=10 and DES
16431643
.set('Cookie', firstUserToken)
16441644
.set('Content-Type', 'application/json')
16451645
.set('Accept', 'application/json');
1646-
t.is(getTableRowsResponse.status, 201);
1646+
t.is(getTableRowsResponse.status, 200);
16471647

16481648
const getTableRowsRO = JSON.parse(getTableRowsResponse.text);
16491649
t.is(typeof getTableRowsRO, 'object');
@@ -1745,7 +1745,7 @@ should return all found rows with search, pagination: page=1, perPage=2 and DESC
17451745
.set('Cookie', firstUserToken)
17461746
.set('Content-Type', 'application/json')
17471747
.set('Accept', 'application/json');
1748-
t.is(getTableRowsResponse.status, 201);
1748+
t.is(getTableRowsResponse.status, 200);
17491749

17501750
const getTableRowsRO = JSON.parse(getTableRowsResponse.text);
17511751
console.log('🚀 ~ getTableRowsRO:', getTableRowsRO);

backend/test/ava-tests/saas-tests/table-dynamodb-e2e.test.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1616,7 +1616,7 @@ should return all found rows with search, pagination: page=1, perPage=10 and DES
16161616
.set('Cookie', firstUserToken)
16171617
.set('Content-Type', 'application/json')
16181618
.set('Accept', 'application/json');
1619-
t.is(getTableRowsResponse.status, 201);
1619+
t.is(getTableRowsResponse.status, 200);
16201620

16211621
const getTableRowsRO = JSON.parse(getTableRowsResponse.text);
16221622
t.is(typeof getTableRowsRO, 'object');
@@ -1718,7 +1718,7 @@ should return all found rows with search, pagination: page=1, perPage=2 and DESC
17181718
.set('Cookie', firstUserToken)
17191719
.set('Content-Type', 'application/json')
17201720
.set('Accept', 'application/json');
1721-
t.is(getTableRowsResponse.status, 201);
1721+
t.is(getTableRowsResponse.status, 200);
17221722

17231723
const getTableRowsRO = JSON.parse(getTableRowsResponse.text);
17241724

@@ -1821,7 +1821,7 @@ should return all found rows with search, pagination: page=1, perPage=2 and DESC
18211821
.set('Cookie', firstUserToken)
18221822
.set('Content-Type', 'application/json')
18231823
.set('Accept', 'application/json');
1824-
t.is(getTableRowsResponse.status, 201);
1824+
t.is(getTableRowsResponse.status, 200);
18251825

18261826
const getTableRowsRO = JSON.parse(getTableRowsResponse.text);
18271827
console.log('🚀 ~ getTableRowsRO:', getTableRowsRO.rows);

backend/test/ava-tests/saas-tests/table-elasticsearch-e2e.test.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1622,7 +1622,7 @@ should return all found rows with search, pagination: page=1, perPage=10 and DES
16221622
.set('Cookie', firstUserToken)
16231623
.set('Content-Type', 'application/json')
16241624
.set('Accept', 'application/json');
1625-
t.is(getTableRowsResponse.status, 201);
1625+
t.is(getTableRowsResponse.status, 200);
16261626

16271627
const getTableRowsRO = JSON.parse(getTableRowsResponse.text);
16281628
t.is(typeof getTableRowsRO, 'object');
@@ -1724,7 +1724,7 @@ should return all found rows with search, pagination: page=1, perPage=2 and DESC
17241724
.set('Cookie', firstUserToken)
17251725
.set('Content-Type', 'application/json')
17261726
.set('Accept', 'application/json');
1727-
t.is(getTableRowsResponse.status, 201);
1727+
t.is(getTableRowsResponse.status, 200);
17281728

17291729
const getTableRowsRO = JSON.parse(getTableRowsResponse.text);
17301730

0 commit comments

Comments
 (0)