Refactor data access layer to use shared enums and interfaces#1461
Conversation
There was a problem hiding this comment.
Pull request overview
This PR refactors the data access layer to consolidate shared enums and interfaces into a centralized shared-code/src/shared/ directory, moving them out of shared-code/src/data-access-layer/shared/. The refactoring aims to improve code organization and reduce coupling between the data access layer and shared types.
- Moves
ConnectionTypesEnumand other enums fromdata-access-layer/shared/enums/toshared/enums/ - Introduces new shared enums (
TableWidgetTypeEnum,QueryOrderingEnum,FilterCriteriaEnum,DataAccessObjectCommandsEnum) - Moves
IUnknownDataStructureinterface toshared/interfaces/ - Updates import paths across data access objects, data structures, and helper functions
Reviewed changes
Copilot reviewed 30 out of 35 changed files in this pull request and generated 4 comments.
Show a summary per file
| File | Description |
|---|---|
| shared-code/src/shared/interfaces/unknown-datastructure.interface.ts | New generic interface for untyped data structures |
| shared-code/src/shared/interfaces/data-access-object.interface.ts | Updates imports to reference data structures from new centralized location |
| shared-code/src/shared/interfaces/data-access-object-agent.interface.ts | Updates imports to reference data structures from new centralized location |
| shared-code/src/shared/enums/table-widget-type.enum.ts | New enum defining table widget types |
| shared-code/src/shared/enums/query-ordering.enum.ts | New enum for query ordering (ASC/DESC) |
| shared-code/src/shared/enums/filter-criteria.enum.ts | New enum for filter criteria operations |
| shared-code/src/shared/enums/data-access-object-commands.enum.ts | New enum defining data access object command names |
| shared-code/src/shared/enums/connection-types-enum.ts | Moves ConnectionTypesEnum from data-access-layer to shared location |
| shared-code/src/helpers/validation/table-settings-validator.ts | Updates import path for QueryOrderingEnum and removes trailing whitespace |
| shared-code/src/helpers/validation/table-settings-validation-errors.ts | Updates import path for QueryOrderingEnum |
| shared-code/src/helpers/data-structures-builders/validate-table-settings-ds.builder.ts | Updates import path for IUnknownDataStructure |
| shared-code/src/helpers/data-structures-builders/table-widget-ds.builder.ts | Updates import path for IUnknownDataStructure |
| shared-code/src/data-access-layer/shared/enums/connection-types-enum.ts | Deletes old enum file (moved to shared directory) |
| shared-code/src/data-access-layer/shared/data-structures/validate-table-settings.ds.ts | Updates import path for QueryOrderingEnum |
| shared-code/src/data-access-layer/shared/data-structures/table-widget.ds.ts | Updates import path for TableWidgetTypeEnum |
| shared-code/src/data-access-layer/shared/data-structures/table-settings.ds.ts | Updates import path for QueryOrderingEnum |
| shared-code/src/data-access-layer/shared/data-structures/filtering-fields.ds.ts | Updates import path for FilterCriteriaEnum |
| shared-code/src/data-access-layer/shared/create-data-access-object.ts | Updates import paths for moved enums and interfaces |
| shared-code/src/data-access-layer/data-access-objects/data-access-object-redis.ts | Updates import paths for FilterCriteriaEnum and IDataAccessObject |
| shared-code/src/data-access-layer/data-access-objects/data-access-object-postgres.ts | Updates import paths for FilterCriteriaEnum and IDataAccessObject |
| shared-code/src/data-access-layer/data-access-objects/data-access-object-oracle.ts | Updates import paths and improves code formatting |
| shared-code/src/data-access-layer/data-access-objects/data-access-object-mysql.ts | Updates import paths for FilterCriteriaEnum and IDataAccessObject |
| shared-code/src/data-access-layer/data-access-objects/data-access-object-mssql.ts | Updates import paths for enums and interfaces |
| shared-code/src/data-access-layer/data-access-objects/data-access-object-mongodb.ts | Updates import paths for FilterCriteriaEnum and IDataAccessObject |
| shared-code/src/data-access-layer/data-access-objects/data-access-object-ibmdb2.ts | Updates import paths for FilterCriteriaEnum and IDataAccessObject |
| shared-code/src/data-access-layer/data-access-objects/data-access-object-elasticsearch.ts | Updates import paths for FilterCriteriaEnum and IDataAccessObject |
| shared-code/src/data-access-layer/data-access-objects/data-access-object-dynamodb.ts | Updates import paths for enums and interfaces |
| shared-code/src/data-access-layer/data-access-objects/data-access-object-clickhouse.ts | Updates import paths for FilterCriteriaEnum and IDataAccessObject |
| shared-code/src/data-access-layer/data-access-objects/data-access-object-cassandra.ts | Updates import paths for enums and interfaces |
| shared-code/src/data-access-layer/data-access-objects/data-access-object-agent.ts | Updates import paths for interfaces and enums |
| backend/test/mock.factory.ts | Removes unused import; needs update for ConnectionTypesEnum import path |
| backend/src/helpers/is-connection-entity-agent.ts | Updates ConnectionTypeTestEnum import; needs update for ConnectionTypesEnum import path |
| backend/src/entities/connection/utils/validate-create-connection-data.ts | Updates ConnectionTypeTestEnum import; needs update for ConnectionTypesEnum import path |
| backend/src/entities/connection/application/dto/create-connection.dto.ts | Updates ConnectionTypeTestEnum import; needs update for ConnectionTypesEnum import path |
| backend/src/entities/agent/repository/custom-agent-repository-extension.ts | Updates ConnectionTypeTestEnum import path |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| import json5 from 'json5'; | ||
| import { ConnectionTypeTestEnum } from '../src/enums/connection-type.enum.js'; | ||
| import { CreateConnectionDto } from '../src/entities/connection/application/dto/create-connection.dto.js'; | ||
| import { ConnectionTypesEnum } from '@rocketadmin/shared-code/dist/src/data-access-layer/shared/enums/connection-types-enum.js'; |
There was a problem hiding this comment.
This import path is incorrect after the refactoring. The ConnectionTypesEnum has been moved from @rocketadmin/shared-code/dist/src/data-access-layer/shared/enums/connection-types-enum.js to @rocketadmin/shared-code/dist/src/shared/enums/connection-types-enum.js. This will cause a compilation error since the old file is being deleted.
Update the import to:
import { ConnectionTypesEnum } from '@rocketadmin/shared-code/dist/src/shared/enums/connection-types-enum.js';| import { ConnectionTypesEnum } from '@rocketadmin/shared-code/dist/src/data-access-layer/shared/enums/connection-types-enum.js'; | |
| import { ConnectionTypesEnum } from '@rocketadmin/shared-code/dist/src/shared/enums/connection-types-enum.js'; |
| @@ -1,7 +1,7 @@ | |||
| import { ConnectionEntity } from '../entities/connection/connection.entity.js'; | |||
| import { ConnectionTypesEnum } from '@rocketadmin/shared-code/dist/src/data-access-layer/shared/enums/connection-types-enum.js'; | |||
There was a problem hiding this comment.
This import path is incorrect after the refactoring. The ConnectionTypesEnum has been moved from @rocketadmin/shared-code/dist/src/data-access-layer/shared/enums/connection-types-enum.js to @rocketadmin/shared-code/dist/src/shared/enums/connection-types-enum.js. This will cause a compilation error since the old file is being deleted.
Update the import to:
import { ConnectionTypesEnum } from '@rocketadmin/shared-code/dist/src/shared/enums/connection-types-enum.js';| import { ConnectionTypesEnum } from '@rocketadmin/shared-code/dist/src/data-access-layer/shared/enums/connection-types-enum.js'; | |
| import { ConnectionTypesEnum } from '@rocketadmin/shared-code/dist/src/shared/enums/connection-types-enum.js'; |
| @@ -3,13 +3,13 @@ import { HttpException } from '@nestjs/common/exceptions/http.exception.js'; | |||
| import { ConnectionTypesEnum } from '@rocketadmin/shared-code/dist/src/data-access-layer/shared/enums/connection-types-enum.js'; | |||
There was a problem hiding this comment.
This import path is incorrect after the refactoring. The ConnectionTypesEnum has been moved from @rocketadmin/shared-code/dist/src/data-access-layer/shared/enums/connection-types-enum.js to @rocketadmin/shared-code/dist/src/shared/enums/connection-types-enum.js. This will cause a compilation error since the old file is being deleted.
Update the import to:
import { ConnectionTypesEnum } from '@rocketadmin/shared-code/dist/src/shared/enums/connection-types-enum.js';| import { ConnectionTypesEnum } from '@rocketadmin/shared-code/dist/src/data-access-layer/shared/enums/connection-types-enum.js'; | |
| import { ConnectionTypesEnum } from '@rocketadmin/shared-code/dist/src/shared/enums/connection-types-enum.js'; |
| @@ -2,7 +2,7 @@ import { ApiProperty } from '@nestjs/swagger'; | |||
| import { IsBoolean, IsEnum, IsNumber, IsOptional, IsString, Max, Min } from 'class-validator'; | |||
| import { ConnectionTypesEnum } from '@rocketadmin/shared-code/dist/src/data-access-layer/shared/enums/connection-types-enum.js'; | |||
There was a problem hiding this comment.
This import path is incorrect after the refactoring. The ConnectionTypesEnum has been moved from @rocketadmin/shared-code/dist/src/data-access-layer/shared/enums/connection-types-enum.js to @rocketadmin/shared-code/dist/src/shared/enums/connection-types-enum.js. This will cause a compilation error since the old file is being deleted.
Update the import to:
import { ConnectionTypesEnum } from '@rocketadmin/shared-code/dist/src/shared/enums/connection-types-enum.js';| import { ConnectionTypesEnum } from '@rocketadmin/shared-code/dist/src/data-access-layer/shared/enums/connection-types-enum.js'; | |
| import { ConnectionTypesEnum } from '@rocketadmin/shared-code/dist/src/shared/enums/connection-types-enum.js'; |
…d executors, and delete unused Jest configuration
…aces to use shared directory structure
…Object to use shared directory structure
No description provided.