-
-
Notifications
You must be signed in to change notification settings - Fork 18
Refactor data access layer to use shared enums and interfaces #1461
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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.
backend/test/mock.factory.ts
Outdated
| 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'; |
Copilot
AI
Dec 8, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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'; | |||
Copilot
AI
Dec 8, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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,15 +1,15 @@ | |||
| import { HttpStatus } from '@nestjs/common'; | |||
| 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'; | |||
Copilot
AI
Dec 8, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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,8 +1,8 @@ | |||
| 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'; | |||
Copilot
AI
Dec 8, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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.