Skip to content

Commit f2503a0

Browse files
authored
Merge pull request #1493 from rocket-admin/backend_settings_rework
Backend settings rework
2 parents e1ff22d + cb6185e commit f2503a0

File tree

127 files changed

+15742
-5467
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

127 files changed

+15742
-5467
lines changed

backend/src/app.module.ts

Lines changed: 46 additions & 45 deletions
Original file line numberDiff line numberDiff line change
@@ -1,46 +1,47 @@
1-
import { MiddlewareConsumer, Module, NestModule } from "@nestjs/common";
2-
import { APP_GUARD, APP_INTERCEPTOR } from "@nestjs/core";
3-
import { ScheduleModule } from "@nestjs/schedule";
4-
import { ThrottlerGuard, ThrottlerModule } from "@nestjs/throttler";
5-
import { AppController } from "./app.controller.js";
6-
import { GlobalDatabaseContext } from "./common/application/global-database-context.js";
7-
import { BaseType, UseCaseType } from "./common/data-injection.tokens.js";
8-
import { AIModule } from "./entities/ai/ai.module.js";
9-
import { ApiKeyModule } from "./entities/api-key/api-key.module.js";
10-
import { CompanyFaviconModule } from "./entities/company-favicon/company-favicon.module.js";
11-
import { CompanyInfoModule } from "./entities/company-info/company-info.module.js";
12-
import { CompanyLogoModule } from "./entities/company-logo/company-logo.module.js";
13-
import { CompanyTabTitleModule } from "./entities/company-tab-title/company-tab-title.module.js";
14-
import { ConnectionModule } from "./entities/connection/connection.module.js";
15-
import { ConnectionPropertiesModule } from "./entities/connection-properties/connection-properties.module.js";
16-
import { ConversionModule } from "./entities/convention/conversion.module.js";
17-
import { CronJobsModule } from "./entities/cron-jobs/cron-jobs.module.js";
18-
import { CustomFieldModule } from "./entities/custom-field/custom-field.module.js";
19-
import { DemoDataModule } from "./entities/demo-data/demo-deta.module.js";
20-
import { EmailModule } from "./entities/email/email/email.module.js";
21-
import { GroupModule } from "./entities/group/group.module.js";
22-
import { LoggingModule } from "./entities/logging/logging.module.js";
23-
import { PermissionModule } from "./entities/permission/permission.module.js";
24-
import { S3WidgetModule } from "./entities/s3-widget/s3-widget.module.js";
25-
import { SharedJobsModule } from "./entities/shared-jobs/shared-jobs.module.js";
26-
import { TableModule } from "./entities/table/table.module.js";
27-
import { TableTriggersModule } from "./entities/table-actions/table-action-rules-module/action-rules.module.js";
28-
import { TableActionModule } from "./entities/table-actions/table-actions-module/table-action.module.js";
29-
import { TableCategoriesModule } from "./entities/table-categories/table-categories.module.js";
30-
import { TableFiltersModule } from "./entities/table-filters/table-filters.module.js";
31-
import { TableLogsModule } from "./entities/table-logs/table-logs.module.js";
32-
import { TableSettingsModule } from "./entities/table-settings/table-settings.module.js";
33-
import { UserModule } from "./entities/user/user.module.js";
34-
import { UserActionModule } from "./entities/user-actions/user-action.module.js";
35-
import { UserSecretModule } from "./entities/user-secret/user-secret.module.js";
36-
import { SignInAuditModule } from "./entities/user-sign-in-audit/sign-in-audit.module.js";
37-
import { TableWidgetModule } from "./entities/widget/table-widget.module.js";
38-
import { TimeoutInterceptor } from "./interceptors/index.js";
39-
import { SaaSGatewayModule } from "./microservices/gateways/saas-gateway.ts/saas-gateway.module.js";
40-
import { SaasModule } from "./microservices/saas-microservice/saas.module.js";
41-
import { AppLoggerMiddleware } from "./middlewares/logging-middleware/app-logger-middlewate.js";
42-
import { DatabaseModule } from "./shared/database/database.module.js";
43-
import { GetHelloUseCase } from "./use-cases-app/get-hello.use.case.js";
1+
import { MiddlewareConsumer, Module, NestModule } from '@nestjs/common';
2+
import { APP_GUARD, APP_INTERCEPTOR } from '@nestjs/core';
3+
import { ScheduleModule } from '@nestjs/schedule';
4+
import { ThrottlerGuard, ThrottlerModule } from '@nestjs/throttler';
5+
import { AppController } from './app.controller.js';
6+
import { GlobalDatabaseContext } from './common/application/global-database-context.js';
7+
import { BaseType, UseCaseType } from './common/data-injection.tokens.js';
8+
import { AIModule } from './entities/ai/ai.module.js';
9+
import { ApiKeyModule } from './entities/api-key/api-key.module.js';
10+
import { CompanyFaviconModule } from './entities/company-favicon/company-favicon.module.js';
11+
import { CompanyInfoModule } from './entities/company-info/company-info.module.js';
12+
import { CompanyLogoModule } from './entities/company-logo/company-logo.module.js';
13+
import { CompanyTabTitleModule } from './entities/company-tab-title/company-tab-title.module.js';
14+
import { ConnectionModule } from './entities/connection/connection.module.js';
15+
import { ConnectionPropertiesModule } from './entities/connection-properties/connection-properties.module.js';
16+
import { ConversionModule } from './entities/convention/conversion.module.js';
17+
import { CronJobsModule } from './entities/cron-jobs/cron-jobs.module.js';
18+
import { CustomFieldModule } from './entities/custom-field/custom-field.module.js';
19+
import { DemoDataModule } from './entities/demo-data/demo-deta.module.js';
20+
import { EmailModule } from './entities/email/email/email.module.js';
21+
import { GroupModule } from './entities/group/group.module.js';
22+
import { LoggingModule } from './entities/logging/logging.module.js';
23+
import { PermissionModule } from './entities/permission/permission.module.js';
24+
import { S3WidgetModule } from './entities/s3-widget/s3-widget.module.js';
25+
import { SharedJobsModule } from './entities/shared-jobs/shared-jobs.module.js';
26+
import { TableModule } from './entities/table/table.module.js';
27+
import { TableTriggersModule } from './entities/table-actions/table-action-rules-module/action-rules.module.js';
28+
import { TableActionModule } from './entities/table-actions/table-actions-module/table-action.module.js';
29+
import { TableCategoriesModule } from './entities/table-categories/table-categories.module.js';
30+
import { TableFiltersModule } from './entities/table-filters/table-filters.module.js';
31+
import { TableLogsModule } from './entities/table-logs/table-logs.module.js';
32+
import { TableSettingsModule } from './entities/table-settings/common-table-settings/table-settings.module.js';
33+
import { UserModule } from './entities/user/user.module.js';
34+
import { UserActionModule } from './entities/user-actions/user-action.module.js';
35+
import { UserSecretModule } from './entities/user-secret/user-secret.module.js';
36+
import { SignInAuditModule } from './entities/user-sign-in-audit/sign-in-audit.module.js';
37+
import { TableWidgetModule } from './entities/widget/table-widget.module.js';
38+
import { TimeoutInterceptor } from './interceptors/index.js';
39+
import { SaaSGatewayModule } from './microservices/gateways/saas-gateway.ts/saas-gateway.module.js';
40+
import { SaasModule } from './microservices/saas-microservice/saas.module.js';
41+
import { AppLoggerMiddleware } from './middlewares/logging-middleware/app-logger-middlewate.js';
42+
import { DatabaseModule } from './shared/database/database.module.js';
43+
import { GetHelloUseCase } from './use-cases-app/get-hello.use.case.js';
44+
import { PersonalTableSettingsModule } from './entities/table-settings/personal-table-settings/personal-table-settings.module.js';
4445

4546
@Module({
4647
imports: [
@@ -85,8 +86,8 @@ import { GetHelloUseCase } from "./use-cases-app/get-hello.use.case.js";
8586
TableCategoriesModule,
8687
UserSecretModule,
8788
SignInAuditModule,
89+
PersonalTableSettingsModule,
8890
S3WidgetModule,
89-
AIModule,
9091
],
9192
controllers: [AppController],
9293
providers: [
@@ -110,6 +111,6 @@ import { GetHelloUseCase } from "./use-cases-app/get-hello.use.case.js";
110111
})
111112
export class ApplicationModule implements NestModule {
112113
configure(consumer: MiddlewareConsumer): void {
113-
consumer.apply(AppLoggerMiddleware).forRoutes("*");
114+
consumer.apply(AppLoggerMiddleware).forRoutes('*');
114115
}
115116
}

backend/src/common/application/global-database-context.interface.ts

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -30,8 +30,8 @@ import { ITableFiltersCustomRepository } from '../../entities/table-filters/repo
3030
import { TableFiltersEntity } from '../../entities/table-filters/table-filters.entity.js';
3131
import { TableInfoEntity } from '../../entities/table-info/table-info.entity.js';
3232
import { ITableLogsRepository } from '../../entities/table-logs/repository/table-logs-repository.interface.js';
33-
import { ITableSettingsRepository } from '../../entities/table-settings/repository/table-settings.repository.interface.js';
34-
import { TableSettingsEntity } from '../../entities/table-settings/table-settings.entity.js';
33+
import { ITableSettingsRepository } from '../../entities/table-settings/common-table-settings/repository/table-settings.repository.interface.js';
34+
import { TableSettingsEntity } from '../../entities/table-settings/common-table-settings/table-settings.entity.js';
3535
import { IUserAccessRepository } from '../../entities/user-access/repository/user-access.repository.interface.js';
3636
import { IUserActionRepository } from '../../entities/user-actions/repository/user-action.repository.interface.js';
3737
import { IUserRepository } from '../../entities/user/repository/user.repository.interface.js';
@@ -54,6 +54,8 @@ import { SecretAccessLogEntity } from '../../entities/secret-access-log/secret-a
5454
import { ISecretAccessLogRepository } from '../../entities/secret-access-log/repository/secret-access-log-repository.interface.js';
5555
import { SignInAuditEntity } from '../../entities/user-sign-in-audit/sign-in-audit.entity.js';
5656
import { ISignInAuditRepository } from '../../entities/user-sign-in-audit/repository/sign-in-audit-repository.interface.js';
57+
import { IPersonalTableSettingsRepository } from '../../entities/table-settings/personal-table-settings/repository/personal-table-settings.repository.interface.js';
58+
import { PersonalTableSettingsEntity } from '../../entities/table-settings/personal-table-settings/personal-table-settings.entity.js';
5759

5860
export interface IGlobalDatabaseContext extends IDatabaseContext {
5961
userRepository: Repository<UserEntity> & IUserRepository;
@@ -92,4 +94,5 @@ export interface IGlobalDatabaseContext extends IDatabaseContext {
9294
userSecretRepository: Repository<UserSecretEntity> & IUserSecretRepository;
9395
secretAccessLogRepository: Repository<SecretAccessLogEntity> & ISecretAccessLogRepository;
9496
signInAuditRepository: Repository<SignInAuditEntity> & ISignInAuditRepository;
97+
personalTableSettingsRepository: Repository<PersonalTableSettingsEntity> & IPersonalTableSettingsRepository;
9598
}

backend/src/common/application/global-database-context.ts

Lines changed: 17 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -32,9 +32,9 @@ import { TableInfoEntity } from '../../entities/table-info/table-info.entity.js'
3232
import { tableLogsCustomRepositoryExtension } from '../../entities/table-logs/repository/table-logs-custom-repository-extension.js';
3333
import { ITableLogsRepository } from '../../entities/table-logs/repository/table-logs-repository.interface.js';
3434
import { TableLogsEntity } from '../../entities/table-logs/table-logs.entity.js';
35-
import { tableSettingsCustomRepositoryExtension } from '../../entities/table-settings/repository/table-settings-custom-repository-extension.js';
36-
import { ITableSettingsRepository } from '../../entities/table-settings/repository/table-settings.repository.interface.js';
37-
import { TableSettingsEntity } from '../../entities/table-settings/table-settings.entity.js';
35+
import { tableSettingsCustomRepositoryExtension } from '../../entities/table-settings/common-table-settings/repository/table-settings-custom-repository-extension.js';
36+
import { ITableSettingsRepository } from '../../entities/table-settings/common-table-settings/repository/table-settings.repository.interface.js';
37+
import { TableSettingsEntity } from '../../entities/table-settings/common-table-settings/table-settings.entity.js';
3838
import { userAccessCustomReposiotoryExtension } from '../../entities/user-access/repository/user-access-custom-repository-extension.js';
3939
import { IUserAccessRepository } from '../../entities/user-access/repository/user-access.repository.interface.js';
4040
import { userActionCustomRepositoryExtension } from '../../entities/user-actions/repository/user-action-custom-repository-extension.js';
@@ -99,6 +99,9 @@ import { secretAccessLogRepositoryExtension } from '../../entities/secret-access
9999
import { SignInAuditEntity } from '../../entities/user-sign-in-audit/sign-in-audit.entity.js';
100100
import { ISignInAuditRepository } from '../../entities/user-sign-in-audit/repository/sign-in-audit-repository.interface.js';
101101
import { signInAuditCustomRepositoryExtension } from '../../entities/user-sign-in-audit/repository/sign-in-audit-custom-repository-extension.js';
102+
import { PersonalTableSettingsEntity } from '../../entities/table-settings/personal-table-settings/personal-table-settings.entity.js';
103+
import { IPersonalTableSettingsRepository } from '../../entities/table-settings/personal-table-settings/repository/personal-table-settings.repository.interface.js';
104+
import { personalTableSettingsCustomRepositoryExtension } from '../../entities/table-settings/personal-table-settings/repository/personal-table-settings-custom-repository-extension.js';
102105

103106
@Injectable({ scope: Scope.REQUEST })
104107
export class GlobalDatabaseContext implements IGlobalDatabaseContext {
@@ -140,6 +143,7 @@ export class GlobalDatabaseContext implements IGlobalDatabaseContext {
140143
private _userSecretRepository: Repository<UserSecretEntity> & IUserSecretRepository;
141144
private _secretAccessLogRepository: Repository<SecretAccessLogEntity> & ISecretAccessLogRepository;
142145
private _signInAuditRepository: Repository<SignInAuditEntity> & ISignInAuditRepository;
146+
private _personalTableSettingsRepository: Repository<PersonalTableSettingsEntity> & IPersonalTableSettingsRepository;
143147

144148
public constructor(
145149
@Inject(BaseType.DATA_SOURCE)
@@ -237,6 +241,9 @@ export class GlobalDatabaseContext implements IGlobalDatabaseContext {
237241
this._signInAuditRepository = this.appDataSource
238242
.getRepository(SignInAuditEntity)
239243
.extend(signInAuditCustomRepositoryExtension);
244+
this._personalTableSettingsRepository = this.appDataSource
245+
.getRepository(PersonalTableSettingsEntity)
246+
.extend(personalTableSettingsCustomRepositoryExtension);
240247
}
241248

242249
public get userRepository(): Repository<UserEntity> & IUserRepository {
@@ -283,7 +290,8 @@ export class GlobalDatabaseContext implements IGlobalDatabaseContext {
283290
return this._userInvitationRepository;
284291
}
285292

286-
public get connectionPropertiesRepository(): Repository<ConnectionPropertiesEntity> & IConnectionPropertiesRepository {
293+
public get connectionPropertiesRepository(): Repository<ConnectionPropertiesEntity> &
294+
IConnectionPropertiesRepository {
287295
return this._connectionPropertiesRepository;
288296
}
289297

@@ -383,6 +391,11 @@ export class GlobalDatabaseContext implements IGlobalDatabaseContext {
383391
return this._signInAuditRepository;
384392
}
385393

394+
public get personalTableSettingsRepository(): Repository<PersonalTableSettingsEntity> &
395+
IPersonalTableSettingsRepository {
396+
return this._personalTableSettingsRepository;
397+
}
398+
386399
public startTransaction(): Promise<void> {
387400
this._queryRunner = this.appDataSource.createQueryRunner();
388401
this._queryRunner.startTransaction();

0 commit comments

Comments
 (0)