Skip to content

Commit 4cd4d24

Browse files
Merge branch 'main' into feature/chart-widget-options-config
2 parents 68b92b0 + 2b72b3b commit 4cd4d24

20 files changed

+867
-377
lines changed

backend/src/entities/table/use-cases/find-tables-in-connection.use.case.ts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ import { HttpException, HttpStatus, Inject, Injectable } from '@nestjs/common';
22
import { getDataAccessObject } from '@rocketadmin/shared-code/dist/src/data-access-layer/shared/create-data-access-object.js';
33
import { TableDS } from '@rocketadmin/shared-code/dist/src/data-access-layer/shared/data-structures/table.ds.js';
44
import { TableStructureDS } from '@rocketadmin/shared-code/dist/src/data-access-layer/shared/data-structures/table-structure.ds.js';
5+
import { validateSchemaCache } from '@rocketadmin/shared-code/dist/src/caching/schema-cache-validator.js';
56
import * as Sentry from '@sentry/node';
67
import PQueue from 'p-queue';
78
import AbstractUseCase from '../../../common/abstract-use.case.js';
@@ -78,6 +79,9 @@ export class FindTablesInConnectionUseCase
7879
if (isConnectionTypeAgent(connection.type)) {
7980
userEmail = await this._dbContext.userRepository.getUserEmailOrReturnNull(userId);
8081
}
82+
83+
await validateSchemaCache(dao, userEmail);
84+
8185
let tables: Array<TableDS>;
8286
try {
8387
tables = await dao.getTablesFromDB(userEmail);

backend/src/entities/table/use-cases/get-row-by-primary-key.use.case.ts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ import { ReferencedTableNamesAndColumnsDS } from '@rocketadmin/shared-code/dist/
77
import { buildDAOsTableSettingsDs } from '@rocketadmin/shared-code/dist/src/helpers/data-structures-builders/table-settings.ds.builder.js';
88
import { IDataAccessObject } from '@rocketadmin/shared-code/dist/src/shared/interfaces/data-access-object.interface.js';
99
import { IDataAccessObjectAgent } from '@rocketadmin/shared-code/dist/src/shared/interfaces/data-access-object-agent.interface.js';
10+
import { validateSchemaCache } from '@rocketadmin/shared-code/dist/src/caching/schema-cache-validator.js';
1011
import JSON5 from 'json5';
1112
import AbstractUseCase from '../../../common/abstract-use.case.js';
1213
import { IGlobalDatabaseContext } from '../../../common/application/global-database-context.interface.js';
@@ -70,6 +71,9 @@ export class GetRowByPrimaryKeyUseCase
7071
if (isConnectionTypeAgent(connection.type)) {
7172
userEmail = await this._dbContext.userRepository.getUserEmailOrReturnNull(userId);
7273
}
74+
75+
await validateSchemaCache(dao, userEmail);
76+
7377
let [
7478
tableStructure,
7579
tableWidgets,

backend/src/entities/table/use-cases/get-table-rows.use.case.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ import { ConnectionTypesEnum } from '@rocketadmin/shared-code/dist/src/shared/en
88
import { IDataAccessObject } from '@rocketadmin/shared-code/dist/src/shared/interfaces/data-access-object.interface.js';
99
import { IDataAccessObjectAgent } from '@rocketadmin/shared-code/dist/src/shared/interfaces/data-access-object-agent.interface.js';
1010
import { FoundRowsDS } from '@rocketadmin/shared-code/src/data-access-layer/shared/data-structures/found-rows.ds.js';
11+
import { validateSchemaCache } from '@rocketadmin/shared-code/dist/src/caching/schema-cache-validator.js';
1112
import Sentry from '@sentry/minimal';
1213
import JSON5 from 'json5';
1314
import AbstractUseCase from '../../../common/abstract-use.case.js';
@@ -88,6 +89,8 @@ export class GetTableRowsUseCase extends AbstractUseCase<GetTableRowsDs, FoundTa
8889
userEmail = await this._dbContext.userRepository.getUserEmailOrReturnNull(userId);
8990
}
9091

92+
await validateSchemaCache(dao, userEmail);
93+
9194
// eslint-disable-next-line prefer-const
9295
let { tableSettings, tableCustomFields, tableWidgets } =
9396
await this._dbContext.tableSettingsRepository.findTableCustoms(connectionId, tableName);

backend/src/entities/table/use-cases/get-table-structure.use.case.ts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ import { ForeignKeyDS } from '@rocketadmin/shared-code/dist/src/data-access-laye
44
import { ForeignKeyWithAutocompleteColumnsDS } from '@rocketadmin/shared-code/dist/src/data-access-layer/shared/data-structures/foreign-key-with-autocomplete-columns.ds.js';
55
import { IDataAccessObject } from '@rocketadmin/shared-code/dist/src/shared/interfaces/data-access-object.interface.js';
66
import { IDataAccessObjectAgent } from '@rocketadmin/shared-code/dist/src/shared/interfaces/data-access-object-agent.interface.js';
7+
import { validateSchemaCache } from '@rocketadmin/shared-code/dist/src/caching/schema-cache-validator.js';
78
import JSON5 from 'json5';
89
import AbstractUseCase from '../../../common/abstract-use.case.js';
910
import { IGlobalDatabaseContext } from '../../../common/application/global-database-context.interface.js';
@@ -66,6 +67,9 @@ export class GetTableStructureUseCase
6667
if (isConnectionTypeAgent(foundConnection.type)) {
6768
userEmail = await this._dbContext.userRepository.getUserEmailOrReturnNull(userId);
6869
}
70+
71+
await validateSchemaCache(dao, userEmail);
72+
6973
// eslint-disable-next-line prefer-const
7074
let [tableSettings, personalTableSettings, tablePrimaryColumns, tableForeignKeys, tableStructure, tableWidgets] =
7175
await Promise.all([

0 commit comments

Comments
 (0)