Skip to content

Commit 3a7758a

Browse files
authored
Merge branch 'main' into angular-20
2 parents 7f142e4 + 8ee1eb6 commit 3a7758a

52 files changed

Lines changed: 5353 additions & 2415 deletions

File tree

Some content is hidden

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

backend/src/app.module.ts

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,9 +40,12 @@ import { SaaSGatewayModule } from './microservices/gateways/saas-gateway.ts/saas
4040
import { SaasModule } from './microservices/saas-microservice/saas.module.js';
4141
import { AppLoggerMiddleware } from './middlewares/logging-middleware/app-logger-middlewate.js';
4242
import { DatabaseModule } from './shared/database/database.module.js';
43+
import { SharedModule } from './shared/shared.module.js';
4344
import { GetHelloUseCase } from './use-cases-app/get-hello.use.case.js';
4445
import { PersonalTableSettingsModule } from './entities/table-settings/personal-table-settings/personal-table-settings.module.js';
4546
import { SavedDbQueryModule } from './entities/visualizations/saved-db-query/saved-db-query.module.js';
47+
import { DashboardModule } from './entities/visualizations/dashboard/dashboards.module.js';
48+
import { DashboardWidgetModule } from './entities/visualizations/dashboard-widget/dashboard-widget.module.js';
4649

4750
@Module({
4851
imports: [
@@ -69,6 +72,7 @@ import { SavedDbQueryModule } from './entities/visualizations/saved-db-query/sav
6972
UserActionModule,
7073
CronJobsModule,
7174
DatabaseModule,
75+
SharedModule,
7276
TableActionModule,
7377
SaasModule,
7478
CompanyInfoModule,
@@ -90,6 +94,8 @@ import { SavedDbQueryModule } from './entities/visualizations/saved-db-query/sav
9094
PersonalTableSettingsModule,
9195
S3WidgetModule,
9296
SavedDbQueryModule,
97+
DashboardModule,
98+
DashboardWidgetModule,
9399
],
94100
controllers: [AppController],
95101
providers: [

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

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -58,6 +58,10 @@ import { IPersonalTableSettingsRepository } from '../../entities/table-settings/
5858
import { PersonalTableSettingsEntity } from '../../entities/table-settings/personal-table-settings/personal-table-settings.entity.js';
5959
import { SavedDbQueryEntity } from '../../entities/visualizations/saved-db-query/saved-db-query.entity.js';
6060
import { ISavedDbQueryRepository } from '../../entities/visualizations/saved-db-query/repository/saved-db-query.repository.interface.js';
61+
import { DashboardEntity } from '../../entities/visualizations/dashboard/dashboard.entity.js';
62+
import { DashboardWidgetEntity } from '../../entities/visualizations/dashboard-widget/dashboard-widget.entity.js';
63+
import { IDashboardRepository } from '../../entities/visualizations/dashboard/repository/dashboard.repository.interface.js';
64+
import { IDashboardWidgetRepository } from '../../entities/visualizations/dashboard-widget/repository/dashboard-widget.repository.interface.js';
6165

6266
export interface IGlobalDatabaseContext extends IDatabaseContext {
6367
userRepository: Repository<UserEntity> & IUserRepository;
@@ -98,4 +102,6 @@ export interface IGlobalDatabaseContext extends IDatabaseContext {
98102
signInAuditRepository: Repository<SignInAuditEntity> & ISignInAuditRepository;
99103
personalTableSettingsRepository: Repository<PersonalTableSettingsEntity> & IPersonalTableSettingsRepository;
100104
savedDbQueryRepository: Repository<SavedDbQueryEntity> & ISavedDbQueryRepository;
105+
dashboardRepository: Repository<DashboardEntity> & IDashboardRepository;
106+
dashboardWidgetRepository: Repository<DashboardWidgetEntity> & IDashboardWidgetRepository;
101107
}

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

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -105,6 +105,12 @@ import { personalTableSettingsCustomRepositoryExtension } from '../../entities/t
105105
import { SavedDbQueryEntity } from '../../entities/visualizations/saved-db-query/saved-db-query.entity.js';
106106
import { ISavedDbQueryRepository } from '../../entities/visualizations/saved-db-query/repository/saved-db-query.repository.interface.js';
107107
import { savedDbQueryCustomRepositoryExtension } from '../../entities/visualizations/saved-db-query/repository/saved-db-query-custom-repository-extension.js';
108+
import { DashboardEntity } from '../../entities/visualizations/dashboard/dashboard.entity.js';
109+
import { DashboardWidgetEntity } from '../../entities/visualizations/dashboard-widget/dashboard-widget.entity.js';
110+
import { IDashboardRepository } from '../../entities/visualizations/dashboard/repository/dashboard.repository.interface.js';
111+
import { IDashboardWidgetRepository } from '../../entities/visualizations/dashboard-widget/repository/dashboard-widget.repository.interface.js';
112+
import { dashboardCustomRepositoryExtension } from '../../entities/visualizations/dashboard/repository/dashboard-custom-repository-extension.js';
113+
import { dashboardWidgetCustomRepositoryExtension } from '../../entities/visualizations/dashboard-widget/repository/dashboard-widget-custom-repository-extension.js';
108114

109115
@Injectable({ scope: Scope.REQUEST })
110116
export class GlobalDatabaseContext implements IGlobalDatabaseContext {
@@ -148,6 +154,8 @@ export class GlobalDatabaseContext implements IGlobalDatabaseContext {
148154
private _signInAuditRepository: Repository<SignInAuditEntity> & ISignInAuditRepository;
149155
private _personalTableSettingsRepository: Repository<PersonalTableSettingsEntity> & IPersonalTableSettingsRepository;
150156
private _savedDbQueryRepository: Repository<SavedDbQueryEntity> & ISavedDbQueryRepository;
157+
private _dashboardRepository: Repository<DashboardEntity> & IDashboardRepository;
158+
private _dashboardWidgetRepository: Repository<DashboardWidgetEntity> & IDashboardWidgetRepository;
151159

152160
public constructor(
153161
@Inject(BaseType.DATA_SOURCE)
@@ -251,6 +259,12 @@ export class GlobalDatabaseContext implements IGlobalDatabaseContext {
251259
this._savedDbQueryRepository = this.appDataSource
252260
.getRepository(SavedDbQueryEntity)
253261
.extend(savedDbQueryCustomRepositoryExtension);
262+
this._dashboardRepository = this.appDataSource
263+
.getRepository(DashboardEntity)
264+
.extend(dashboardCustomRepositoryExtension);
265+
this._dashboardWidgetRepository = this.appDataSource
266+
.getRepository(DashboardWidgetEntity)
267+
.extend(dashboardWidgetCustomRepositoryExtension);
254268
}
255269

256270
public get userRepository(): Repository<UserEntity> & IUserRepository {
@@ -407,6 +421,14 @@ export class GlobalDatabaseContext implements IGlobalDatabaseContext {
407421
return this._savedDbQueryRepository;
408422
}
409423

424+
public get dashboardRepository(): Repository<DashboardEntity> & IDashboardRepository {
425+
return this._dashboardRepository;
426+
}
427+
428+
public get dashboardWidgetRepository(): Repository<DashboardWidgetEntity> & IDashboardWidgetRepository {
429+
return this._dashboardWidgetRepository;
430+
}
431+
410432
public startTransaction(): Promise<void> {
411433
this._queryRunner = this.appDataSource.createQueryRunner();
412434
this._queryRunner.startTransaction();

backend/src/common/data-injection.tokens.ts

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -188,4 +188,13 @@ export enum UseCaseType {
188188
DELETE_SAVED_DB_QUERY = 'DELETE_SAVED_DB_QUERY',
189189
EXECUTE_SAVED_DB_QUERY = 'EXECUTE_SAVED_DB_QUERY',
190190
TEST_DB_QUERY = 'TEST_DB_QUERY',
191+
192+
CREATE_DASHBOARD = 'CREATE_DASHBOARD',
193+
UPDATE_DASHBOARD = 'UPDATE_DASHBOARD',
194+
FIND_DASHBOARD = 'FIND_DASHBOARD',
195+
FIND_ALL_DASHBOARDS = 'FIND_ALL_DASHBOARDS',
196+
DELETE_DASHBOARD = 'DELETE_DASHBOARD',
197+
CREATE_DASHBOARD_WIDGET = 'CREATE_DASHBOARD_WIDGET',
198+
UPDATE_DASHBOARD_WIDGET = 'UPDATE_DASHBOARD_WIDGET',
199+
DELETE_DASHBOARD_WIDGET = 'DELETE_DASHBOARD_WIDGET',
191200
}

backend/src/entities/company-info/application/dto/invite-user-in-company-and-connection-group.dto.ts

Lines changed: 20 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -3,21 +3,26 @@ import { UserRoleEnum } from '../../../user/enums/user-role.enum.js';
33
import { IsEmail, IsEnum, IsNotEmpty, IsOptional, IsString, IsUUID } from 'class-validator';
44

55
export class InviteUserInCompanyAndConnectionGroupDto {
6-
@IsOptional()
7-
@IsString()
8-
@IsNotEmpty()
9-
@IsUUID()
10-
@ApiProperty()
11-
groupId: string;
6+
@IsOptional()
7+
@IsString()
8+
@IsNotEmpty()
9+
@IsUUID()
10+
@ApiProperty()
11+
groupId: string;
1212

13-
@IsString()
14-
@IsNotEmpty()
15-
@IsEmail()
16-
@ApiProperty()
17-
email: string;
13+
@IsString()
14+
@IsNotEmpty()
15+
@IsEmail()
16+
@ApiProperty()
17+
email: string;
1818

19-
@IsNotEmpty()
20-
@IsEnum(UserRoleEnum)
21-
@ApiProperty({ enum: UserRoleEnum })
22-
role: UserRoleEnum;
19+
@IsNotEmpty()
20+
@IsEnum(UserRoleEnum)
21+
@ApiProperty({ enum: UserRoleEnum })
22+
role: UserRoleEnum;
23+
24+
@ApiProperty({ description: 'Cloudflare Turnstile token for bot protection' })
25+
@IsOptional()
26+
@IsString()
27+
turnstileToken: string;
2328
}

0 commit comments

Comments
 (0)