From 205078fc3ebd0d817aa8b8cd9c19ef2ec751030b Mon Sep 17 00:00:00 2001 From: Charlie Kolb Date: Tue, 5 Aug 2025 10:45:27 +0200 Subject: [PATCH] remove IDataStoreService interface and use RegExp --- packages/@n8n/api-types/src/index.ts | 1 - .../src/schemas/data-store.schema.ts | 37 +------------------ .../modules/data-store/data-store.service.ts | 3 +- 3 files changed, 3 insertions(+), 38 deletions(-) diff --git a/packages/@n8n/api-types/src/index.ts b/packages/@n8n/api-types/src/index.ts index 1aa7a0ca255..618c8bec509 100644 --- a/packages/@n8n/api-types/src/index.ts +++ b/packages/@n8n/api-types/src/index.ts @@ -56,5 +56,4 @@ export { type DataStoreRows, type DataStoreListOptions, type DataStoreUserTableName, - type IDataStoreService, } from './schemas/data-store.schema'; diff --git a/packages/@n8n/api-types/src/schemas/data-store.schema.ts b/packages/@n8n/api-types/src/schemas/data-store.schema.ts index 639578774a2..d6b27318e66 100644 --- a/packages/@n8n/api-types/src/schemas/data-store.schema.ts +++ b/packages/@n8n/api-types/src/schemas/data-store.schema.ts @@ -1,16 +1,6 @@ import { z } from 'zod'; -import type { - AddDataStoreColumnDto, - CreateDataStoreDto, - DataStoreColumnResultDto, - DataStoreResultDto, - DeleteDataStoreColumnDto, - ListDataStoreContentQueryDto, - ListDataStoreQueryDto, - MoveDataStoreColumnDto, - UpdateDataStoreDto, -} from '../dto'; +import type { ListDataStoreQueryDto } from '../dto'; export const dataStoreNameSchema = z.string().trim().min(1).max(128); export const dataStoreIdSchema = z.string().max(36); @@ -23,7 +13,7 @@ export const dataStoreColumnNameSchema = z .min(1) .max(128) .regex( - /^[a-zA-Z0-9][a-zA-Z0-9-]*$/, + DATA_STORE_COLUMN_REGEX, 'Only alphanumeric characters and non-leading dashes are allowed for column names', ); export const dataStoreColumnTypeSchema = z.enum(['string', 'number', 'boolean', 'date']); @@ -64,26 +54,3 @@ export type DataStoreListOptions = Partial & { export type DataStoreColumnJsType = string | number | boolean | Date; export type DataStoreRows = Array>; - -export interface IDataStoreService { - createDataStore(projectId: string, dto: CreateDataStoreDto): Promise; - updateDataStore(dataStoreId: string, dto: UpdateDataStoreDto): Promise; - getManyAndCount( - options: DataStoreListOptions, - ): Promise<{ count: number; data: DataStoreResultDto[] }>; - - deleteDataStoreByProjectId(projectId: string): Promise; - deleteDataStoreAll(): Promise; - deleteDataStore(dataStoreId: string): Promise; - - getColumns(dataStoreId: string): Promise; - addColumn(dataStoreId: string, dto: AddDataStoreColumnDto): Promise; - moveColumn(dataStoreId: string, columnId: string, dto: MoveDataStoreColumnDto): Promise; - deleteColumn(dataStoreId: string, dto: DeleteDataStoreColumnDto): Promise; - - getManyRowsAndCount( - dataStoreId: string, - dto: Partial, - ): Promise<{ count: number; data: DataStoreRows[] }>; - insertRows(dataStoreId: string, rows: DataStoreRows): Promise; -} diff --git a/packages/cli/src/modules/data-store/data-store.service.ts b/packages/cli/src/modules/data-store/data-store.service.ts index 8dc027fb3c0..05bdaee677f 100644 --- a/packages/cli/src/modules/data-store/data-store.service.ts +++ b/packages/cli/src/modules/data-store/data-store.service.ts @@ -6,7 +6,6 @@ import type { MoveDataStoreColumnDto, DataStoreListOptions, DataStoreRows, - IDataStoreService, UpsertDataStoreRowsDto, } from '@n8n/api-types'; import { UpdateDataStoreDto } from '@n8n/api-types/src/dto/data-store/update-data-store.dto'; @@ -20,7 +19,7 @@ import { DataStoreRepository } from './data-store.repository'; import { toTableName } from './utils/sql-utils'; @Service() -export class DataStoreService implements IDataStoreService { +export class DataStoreService { constructor( private readonly dataStoreRepository: DataStoreRepository, private readonly dataStoreColumnRepository: DataStoreColumnRepository,