Skip to content

Conversation

@Artuomka
Copy link
Collaborator

@Artuomka Artuomka commented Dec 8, 2025

No description provided.

Copilot AI review requested due to automatic review settings December 8, 2025 13:35
Copy link

Copilot AI left a 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 ConnectionTypesEnum and other enums from data-access-layer/shared/enums/ to shared/enums/
  • Introduces new shared enums (TableWidgetTypeEnum, QueryOrderingEnum, FilterCriteriaEnum, DataAccessObjectCommandsEnum)
  • Moves IUnknownDataStructure interface to shared/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';
Copy link

Copilot AI Dec 8, 2025

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';
Suggested change
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';

Copilot uses AI. Check for mistakes.
@@ -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';
Copy link

Copilot AI Dec 8, 2025

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';
Suggested change
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';

Copilot uses AI. Check for mistakes.
@@ -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';
Copy link

Copilot AI Dec 8, 2025

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';
Suggested change
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';

Copilot uses AI. Check for mistakes.
@@ -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';
Copy link

Copilot AI Dec 8, 2025

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';
Suggested change
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';

Copilot uses AI. Check for mistakes.
@Artuomka Artuomka merged commit cbc1759 into main Dec 8, 2025
18 checks passed
@Artuomka Artuomka deleted the backend_refactoring branch December 8, 2025 15:39
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants