Skip to content

Commit cbc1759

Browse files
authored
Merge pull request #1461 from rocket-admin/backend_refactoring
Refactor data access layer to use shared enums and interfaces
2 parents 70eb521 + b0ccd25 commit cbc1759

File tree

67 files changed

+191
-3066
lines changed

Some content is hidden

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

67 files changed

+191
-3066
lines changed

backend/src/entities/agent/repository/custom-agent-repository-extension.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import { nanoid } from 'nanoid';
22
import { ConnectionEntity } from '../../connection/connection.entity.js';
33
import { AgentEntity } from '../agent.entity.js';
4-
import { ConnectionTypeTestEnum } from '../../../enums/connection-type.enum.js';
4+
import { ConnectionTypeTestEnum } from '@rocketadmin/shared-code/dist/src/shared/enums/connection-types-enum.js';
55

66
export const customAgentRepositoryExtension = {
77
async createNewAgentForConnectionAndReturnToken(connection: ConnectionEntity): Promise<string> {

backend/src/entities/ai/use-cases/request-info-from-table-with-ai-v4.use.case.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
import { BadRequestException, Inject, Injectable, NotFoundException, Scope } from '@nestjs/common';
22
import { getDataAccessObject } from '@rocketadmin/shared-code/dist/src/data-access-layer/shared/create-data-access-object.js';
3-
import { ConnectionTypesEnum } from '@rocketadmin/shared-code/dist/src/data-access-layer/shared/enums/connection-types-enum.js';
43
import OpenAI from 'openai';
54
import AbstractUseCase from '../../../common/abstract-use.case.js';
65
import { IGlobalDatabaseContext } from '../../../common/application/global-database-context.interface.js';
@@ -17,9 +16,10 @@ import { ResponsesModel } from 'openai/resources/index.js';
1716
import { Stream } from 'openai/core/streaming.js';
1817
import { Response } from 'express';
1918
import { ConnectionEntity } from '../../connection/connection.entity.js';
20-
import { IDataAccessObject } from '@rocketadmin/shared-code/dist/src/data-access-layer/shared/interfaces/data-access-object.interface.js';
21-
import { IDataAccessObjectAgent } from '@rocketadmin/shared-code/dist/src/data-access-layer/shared/interfaces/data-access-object-agent.interface.js';
2219
import { AiResponsesToUserEntity } from '../ai-data-entities/ai-reponses-to-user/ai-responses-to-user.entity.js';
20+
import { ConnectionTypesEnum } from '@rocketadmin/shared-code/dist/src/shared/enums/connection-types-enum.js';
21+
import { IDataAccessObjectAgent } from '@rocketadmin/shared-code/dist/src/shared/interfaces/data-access-object-agent.interface.js';
22+
import { IDataAccessObject } from '@rocketadmin/shared-code/dist/src/shared/interfaces/data-access-object.interface.js';
2323
@Injectable({ scope: Scope.REQUEST })
2424
export class RequestInfoFromTableWithAIUseCaseV4
2525
extends AbstractUseCase<RequestInfoFromTableDSV2, void>

backend/src/entities/connection/application/data-structures/create-connection.ds.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { ConnectionTypesEnum } from '@rocketadmin/shared-code/dist/src/data-access-layer/shared/enums/connection-types-enum.js';
1+
import { ConnectionTypesEnum } from '@rocketadmin/shared-code/dist/src/shared/enums/connection-types-enum.js';
22

33
export class CreateConnectionDs {
44
connection_parameters: {

backend/src/entities/connection/application/data-structures/found-connections.ds.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
import { ApiProperty } from '@nestjs/swagger';
2+
import { ConnectionTypesEnum } from '@rocketadmin/shared-code/dist/src/shared/enums/connection-types-enum.js';
23
import { AccessLevelEnum } from '../../../../enums/index.js';
3-
import { ConnectionTypesEnum } from '@rocketadmin/shared-code/dist/src/data-access-layer/shared/enums/connection-types-enum.js';
4-
import { UserEntity } from '../../../user/user.entity.js';
54
import { FoundGroupDataWithUsersDs } from '../../../group/application/data-sctructures/found-user-groups.ds.js';
65
import { SimpleFoundUserInfoDs } from '../../../user/dto/found-user.dto.js';
6+
import { UserEntity } from '../../../user/user.entity.js';
77

88
export class FoundDirectConnectionsDs {
99
@ApiProperty()

backend/src/entities/connection/application/data-structures/update-connection.ds.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { ConnectionTypesEnum } from '@rocketadmin/shared-code/dist/src/data-access-layer/shared/enums/connection-types-enum.js';
1+
import { ConnectionTypesEnum } from '@rocketadmin/shared-code/dist/src/shared/enums/connection-types-enum.js';
22

33
export class UpdateConnectionDs {
44
connection_parameters: {

backend/src/entities/connection/application/dto/create-connection.dto.ts

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,10 @@
11
import { ApiProperty } from '@nestjs/swagger';
22
import { IsBoolean, IsEnum, IsNumber, IsOptional, IsString, Max, Min } from 'class-validator';
3-
import { ConnectionTypesEnum } from '@rocketadmin/shared-code/dist/src/data-access-layer/shared/enums/connection-types-enum.js';
43
import { isTest } from '../../../../helpers/app/is-test.js';
5-
import { ConnectionTypeTestEnum } from '../../../../enums/connection-type.enum.js';
4+
import {
5+
ConnectionTypesEnum,
6+
ConnectionTypeTestEnum,
7+
} from '@rocketadmin/shared-code/dist/src/shared/enums/connection-types-enum.js';
68

79
export class CreateConnectionDto {
810
@ApiProperty({ required: false })

backend/src/entities/connection/application/dto/created-connection.dto.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import { ApiProperty } from '@nestjs/swagger';
2-
import { ConnectionTypesEnum } from '@rocketadmin/shared-code/dist/src/data-access-layer/shared/enums/connection-types-enum.js';
32
import { FoundUserDto } from '../../../user/dto/found-user.dto.js';
3+
import { ConnectionTypesEnum } from '@rocketadmin/shared-code/dist/src/shared/enums/connection-types-enum.js';
44

55
export class CreatedGroupInConnectionDTO {
66
@ApiProperty()

backend/src/entities/connection/connection.controller.ts

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -42,15 +42,16 @@ import { RestoredConnectionDs } from './application/data-structures/restored-con
4242
import { UpdateConnectionDs } from './application/data-structures/update-connection.ds.js';
4343
import { UpdateMasterPasswordDs } from './application/data-structures/update-master-password.ds.js';
4444
import { CreatedConnectionDTO } from './application/dto/created-connection.dto.js';
45-
4645
import { ApiBearerAuth, ApiBody, ApiOperation, ApiQuery, ApiResponse, ApiTags } from '@nestjs/swagger';
46+
import { SkipThrottle } from '@nestjs/throttler';
47+
import { isRedisConnectionUrl } from '@rocketadmin/shared-code/dist/src/data-access-layer/shared/create-data-access-object.js';
4748
import { TestConnectionResultDS } from '@rocketadmin/shared-code/dist/src/data-access-layer/shared/data-structures/test-result-connection.ds.js';
48-
import { ConnectionTypesEnum } from '@rocketadmin/shared-code/dist/src/data-access-layer/shared/enums/connection-types-enum.js';
4949
import { SuccessResponse } from '../../microservices/saas-microservice/data-structures/common-responce.ds.js';
5050
import { FoundGroupResponseDto } from '../group/dto/found-group-response.dto.js';
5151
import { FoundOneConnectionDs } from './application/data-structures/found-one-connection.ds.js';
5252
import { FoundPermissionsInConnectionDs } from './application/data-structures/found-permissions-in-connection.ds.js';
5353
import { ValidateConnectionMasterPasswordDs } from './application/data-structures/validate-connection-master-password.ds.js';
54+
import { CreateConnectionDto } from './application/dto/create-connection.dto.js';
5455
import { CreateGroupInConnectionDTO } from './application/dto/create-group-in-connection.dto.js';
5556
import { DeleteConnectionReasonDto } from './application/dto/delete-connection.dto.js';
5657
import { DeleteGroupFromConnectionDTO } from './application/dto/delete-group-from-connection-request.dto.js';
@@ -81,9 +82,7 @@ import {
8182
} from './use-cases/use-cases.interfaces.js';
8283
import { TokenValidationResult } from './use-cases/validate-connection-token.use.case.js';
8384
import { isTestConnectionUtil } from './utils/is-test-connection-util.js';
84-
import { SkipThrottle } from '@nestjs/throttler';
85-
import { isRedisConnectionUrl } from '@rocketadmin/shared-code/dist/src/data-access-layer/shared/create-data-access-object.js';
86-
import { CreateConnectionDto } from './application/dto/create-connection.dto.js';
85+
import { ConnectionTypesEnum } from '@rocketadmin/shared-code/dist/src/shared/enums/connection-types-enum.js';
8786

8887
@UseInterceptors(SentryInterceptor)
8988
@Controller()

backend/src/entities/connection/use-cases/test-connection.use.case.ts

Lines changed: 13 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,24 @@
11
import { Inject, Injectable } from '@nestjs/common';
2-
import { getRepository } from 'typeorm';
3-
import AbstractUseCase from '../../../common/abstract-use.case.js';
4-
import { IGlobalDatabaseContext } from '../../../common/application/global-database-context.interface.js';
5-
import { BaseType } from '../../../common/data-injection.tokens.js';
62
import {
73
getDataAccessObject,
84
isRedisConnectionUrl,
95
} from '@rocketadmin/shared-code/dist/src/data-access-layer/shared/create-data-access-object.js';
6+
import { ConnectionTypesEnum } from '@rocketadmin/shared-code/dist/src/shared/enums/connection-types-enum.js';
7+
import { getRepository } from 'typeorm';
8+
import AbstractUseCase from '../../../common/abstract-use.case.js';
9+
import { IGlobalDatabaseContext } from '../../../common/application/global-database-context.interface.js';
10+
import { BaseType } from '../../../common/data-injection.tokens.js';
1011
import { Messages } from '../../../exceptions/text/messages.js';
1112
import { processExceptionMessage } from '../../../exceptions/utils/process-exception-message.js';
12-
import { isConnectionTypeAgent, slackPostMessage } from '../../../helpers/index.js';
1313
import { Encryptor } from '../../../helpers/encryption/encryptor.js';
14+
import { isConnectionTypeAgent, slackPostMessage } from '../../../helpers/index.js';
15+
import { CreateConnectionDs } from '../application/data-structures/create-connection.ds.js';
1416
import { TestConnectionResultDs } from '../application/data-structures/test-connection-result.ds.js';
1517
import { UpdateConnectionDs } from '../application/data-structures/update-connection.ds.js';
1618
import { ConnectionEntity } from '../connection.entity.js';
1719
import { isHostAllowed } from '../utils/is-host-allowed.js';
18-
import { ITestConnection } from './use-cases.interfaces.js';
1920
import { processAWSConnection } from '../utils/process-aws-connection.util.js';
20-
import { CreateConnectionDs } from '../application/data-structures/create-connection.ds.js';
21-
import { ConnectionTypesEnum } from '@rocketadmin/shared-code/dist/src/data-access-layer/shared/enums/connection-types-enum.js';
21+
import { ITestConnection } from './use-cases.interfaces.js';
2222

2323
@Injectable()
2424
export class TestConnectionUseCase
@@ -129,7 +129,11 @@ export class TestConnectionUseCase
129129
};
130130
}
131131
} else {
132-
if (!connectionData.password && !isConnectionTypeAgent(connectionData.type) && !isRedisConnectionUrl(connectionData.host)) {
132+
if (
133+
!connectionData.password &&
134+
!isConnectionTypeAgent(connectionData.type) &&
135+
!isRedisConnectionUrl(connectionData.host)
136+
) {
133137
return {
134138
result: false,
135139
message: Messages.PASSWORD_MISSING,

backend/src/entities/connection/utils/validate-create-connection-data.ts

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,11 @@
11
import { HttpStatus } from '@nestjs/common';
22
import { HttpException } from '@nestjs/common/exceptions/http.exception.js';
3-
import { ConnectionTypesEnum } from '@rocketadmin/shared-code/dist/src/data-access-layer/shared/enums/connection-types-enum.js';
3+
import {
4+
ConnectionTypesEnum,
5+
ConnectionTypeTestEnum,
6+
} from '@rocketadmin/shared-code/dist/src/shared/enums/connection-types-enum.js';
47
import dns from 'dns';
58
import ipRangeCheck from 'ip-range-check';
6-
import { ConnectionTypeTestEnum } from '../../../enums/connection-type.enum.js';
79
import { Messages } from '../../../exceptions/text/messages.js';
810
import { isSaaS } from '../../../helpers/app/is-saas.js';
911
import { Constants } from '../../../helpers/constants/constants.js';

0 commit comments

Comments
 (0)