diff --git a/backend/src/entities/table-filters/table-filters.controller.ts b/backend/src/entities/table-filters/table-filters.controller.ts index 4f57c32c0..2b9245c4f 100644 --- a/backend/src/entities/table-filters/table-filters.controller.ts +++ b/backend/src/entities/table-filters/table-filters.controller.ts @@ -65,6 +65,9 @@ export class TableFiltersController { if (!tableName) { throw new BadRequestException(Messages.TABLE_NAME_MISSING); } + if (!body.filters) { + throw new BadRequestException(Messages.FILTERS_MISSING); + } const inputData: CreateTableFiltersDto = { table_name: tableName, connection_id: connectionId, @@ -121,6 +124,6 @@ export class TableFiltersController { table_name: tableName, connection_id: connectionId, }; - return await this.deleteTableFiltersUseCase.execute(inputData, InTransactionEnum.ON); + return await this.deleteTableFiltersUseCase.execute(inputData, InTransactionEnum.OFF); } } diff --git a/backend/src/entities/table-filters/use-cases/find-table-filters.use.case.ts b/backend/src/entities/table-filters/use-cases/find-table-filters.use.case.ts index 47c66f7eb..081e06cae 100644 --- a/backend/src/entities/table-filters/use-cases/find-table-filters.use.case.ts +++ b/backend/src/entities/table-filters/use-cases/find-table-filters.use.case.ts @@ -1,8 +1,8 @@ -import { Inject, Injectable, NotFoundException } from '@nestjs/common'; +import { Inject, Injectable } from '@nestjs/common'; import AbstractUseCase from '../../../common/abstract-use.case.js'; import { IGlobalDatabaseContext } from '../../../common/application/global-database-context.interface.js'; import { BaseType } from '../../../common/data-injection.tokens.js'; -import { Messages } from '../../../exceptions/text/messages.js'; + import { FindTableFiltersDs } from '../application/data-structures/find-table-filters.ds.js'; import { CreatedTableFiltersRO } from '../application/response-objects/created-table-filters.ro.js'; import { IFindTableFilters } from './table-filters-use-cases.interface.js'; @@ -26,7 +26,9 @@ export class FindTableFiltersUseCase connection_id, ); if (!foundTableFilters) { - throw new NotFoundException(Messages.TABLE_FILTERS_NOT_FOUND); + return { + filters: null, + } as CreatedTableFiltersRO; } return { id: foundTableFilters.id, diff --git a/backend/src/exceptions/text/messages.ts b/backend/src/exceptions/text/messages.ts index 10e2caefe..af915b5ef 100644 --- a/backend/src/exceptions/text/messages.ts +++ b/backend/src/exceptions/text/messages.ts @@ -326,6 +326,7 @@ export const Messages = { EMAIL_CHANGED: 'Email changed', EMAIL_SEND_FAILED: (email: string) => `Email sending to ${email} failed`, EMAIL_VERIFICATION_REQUESTED: 'Email verification requested', + FILTERS_MISSING: 'Filters are missing', USER_EMAIL_NOT_FOUND: (email: string) => `User ${email} is not found in our system, please ask the user to create an account first`, USER_EMAIL_NOT_FOUND_AND_INVITED: (email: string) => diff --git a/backend/test/ava-tests/saas-tests/table-filters-e2e-test.ts b/backend/test/ava-tests/saas-tests/table-filters-e2e-test.ts index 9edd6b924..5727c600d 100644 --- a/backend/test/ava-tests/saas-tests/table-filters-e2e-test.ts +++ b/backend/test/ava-tests/saas-tests/table-filters-e2e-test.ts @@ -249,7 +249,8 @@ test.serial(`${currentTest} should delete table filters`, async (t) => { .set('Content-Type', 'application/json') .set('Accept', 'application/json'); - t.is(getTableFiltersResponse.status, 404); + t.is(getTableFiltersResponse.status, 200); + t.is(getTableFiltersResponse.body.filters, null); } catch (e) { console.error(e); t.fail();