From cf6df7406a756f7357f2017f44880fdffb852cfc Mon Sep 17 00:00:00 2001 From: Charlie Kolb Date: Fri, 25 Jul 2025 12:45:23 +0200 Subject: [PATCH] expose endpoints --- .../data-store/data-store.controller.ts | 55 +++++++++++++++++-- 1 file changed, 49 insertions(+), 6 deletions(-) diff --git a/packages/cli/src/modules/data-store/data-store.controller.ts b/packages/cli/src/modules/data-store/data-store.controller.ts index a1d298de375..520031592cd 100644 --- a/packages/cli/src/modules/data-store/data-store.controller.ts +++ b/packages/cli/src/modules/data-store/data-store.controller.ts @@ -1,10 +1,14 @@ +import { + AddDataStoreColumnDto, + CreateDataStoreDto, + DeleteDataStoreColumnDto, + ListDataStoreQueryDto, + RenameDataStoreDto, +} from '@n8n/api-types'; import { AuthenticatedRequest } from '@n8n/db'; import { Body, Get, Param, Post, ProjectScope, Query, RestController } from '@n8n/decorators'; import { DataStoreService } from './data-store.service'; -import { CreateDataStoreDto, ListDataStoreQueryDto } from '@n8n/api-types'; -import { DataStoreEntity } from './data-store.entity'; - @RestController('/data-store') export class DataStoreController { constructor(private readonly dataStoreService: DataStoreService) {} @@ -14,15 +18,54 @@ export class DataStoreController { return await this.dataStoreService.createDataStore(dto); } - @Get('/') + @Get('/', { skipAuth: true }) @ProjectScope('dataStore:list') async listDataStores( - req: AuthenticatedRequest, - res: Response, + _req: AuthenticatedRequest, + _res: Response, @Query payload: ListDataStoreQueryDto, ) { const [data, count] = await this.dataStoreService.getManyAndCount(payload); return { count, data }; } + + @Post('/:dataStoreId/add-column', { skipAuth: true }) + async addColumn( + _req: AuthenticatedRequest, + _res: Response, + @Param('dataStoreId') dataStoreId: string, + @Body dto: AddDataStoreColumnDto, + ) { + return await this.dataStoreService.addColumn(dataStoreId, dto); + } + + @Post('/:dataStoreId/delete-column', { skipAuth: true }) + async deleteColumn( + _req: AuthenticatedRequest, + _res: Response, + @Param('dataStoreId') dataStoreId: string, + @Body dto: DeleteDataStoreColumnDto, + ) { + return await this.dataStoreService.deleteColumn(dataStoreId, dto); + } + + @Post('/:dataStoreId/rename', { skipAuth: true }) + async renameDataStore( + _req: AuthenticatedRequest, + _res: Response, + @Param('dataStoreId') dataStoreId: string, + @Body dto: RenameDataStoreDto, + ) { + return await this.dataStoreService.renameDataStore(dataStoreId, dto); + } + + @Post('/:dataStoreId/delete', { skipAuth: true }) + async deleteDataStore( + _req: AuthenticatedRequest, + _res: Response, + @Param('dataStoreId') dataStoreId: string, + ) { + return await this.dataStoreService.deleteDataStore(dataStoreId); + } }