diff --git a/packages/cli/src/databases/entities/folder.ts b/packages/cli/src/databases/entities/folder.ts index c1af39ae66..4e4eb94539 100644 --- a/packages/cli/src/databases/entities/folder.ts +++ b/packages/cli/src/databases/entities/folder.ts @@ -13,8 +13,8 @@ import { Project } from './project'; import { TagEntity } from './tag-entity'; import { type WorkflowEntity } from './workflow-entity'; -export type FolderWithWorkflowsCount = Folder & { - workflowsCount: boolean; +export type FolderWithWorkflowCount = Folder & { + workflowCount: boolean; }; @Entity() diff --git a/packages/cli/src/databases/repositories/__tests__/folder.repository.test.ts b/packages/cli/src/databases/repositories/__tests__/folder.repository.test.ts index 770d7559d6..033c74b742 100644 --- a/packages/cli/src/databases/repositories/__tests__/folder.repository.test.ts +++ b/packages/cli/src/databases/repositories/__tests__/folder.repository.test.ts @@ -348,21 +348,21 @@ describe('FolderRepository', () => { }); }); - it('should return id, name and workflowsCount when specified', async () => { + it('should return id, name and workflowCount when specified', async () => { const [folders] = await folderRepository.getManyAndCount({ select: { id: true, name: true, - workflowsCount: true, + workflowCount: true, }, }); expect(folders).toHaveLength(2); folders.forEach((folder) => { - expect(Object.keys(folder).sort()).toEqual(['id', 'name', 'workflowsCount']); + expect(Object.keys(folder).sort()).toEqual(['id', 'name', 'workflowCount']); expect(folder.id).toBeDefined(); expect(folder.name).toBeDefined(); - expect(folder.workflowsCount).toBeDefined(); + expect(folder.workflowCount).toBeDefined(); }); }); @@ -399,7 +399,7 @@ describe('FolderRepository', () => { type: expect.any(String), icon: null, }, - workflowsCount: expect.any(Number), + workflowCount: expect.any(Number), tags: expect.any(Array), }); }); diff --git a/packages/cli/src/databases/repositories/folder.repository.ts b/packages/cli/src/databases/repositories/folder.repository.ts index e730048d4c..bc210ac4d8 100644 --- a/packages/cli/src/databases/repositories/folder.repository.ts +++ b/packages/cli/src/databases/repositories/folder.repository.ts @@ -4,30 +4,30 @@ import { DataSource, Repository } from '@n8n/typeorm'; import type { ListQuery } from '@/requests'; -import type { FolderWithWorkflowsCount } from '../entities/folder'; +import type { FolderWithWorkflowCount } from '../entities/folder'; import { Folder } from '../entities/folder'; import { FolderTagMapping } from '../entities/folder-tag-mapping'; import { TagEntity } from '../entities/tag-entity'; @Service() -export class FolderRepository extends Repository { +export class FolderRepository extends Repository { constructor(dataSource: DataSource) { super(Folder, dataSource.manager); } async getManyAndCount( options: ListQuery.Options = {}, - ): Promise<[FolderWithWorkflowsCount[], number]> { + ): Promise<[FolderWithWorkflowCount[], number]> { const query = this.getManyQuery(options); return await query.getManyAndCount(); } - async getMany(options: ListQuery.Options = {}): Promise { + async getMany(options: ListQuery.Options = {}): Promise { const query = this.getManyQuery(options); return await query.getMany(); } - getManyQuery(options: ListQuery.Options = {}): SelectQueryBuilder { + getManyQuery(options: ListQuery.Options = {}): SelectQueryBuilder { const query = this.createQueryBuilder('folder'); this.applySelections(query, options.select); @@ -39,7 +39,7 @@ export class FolderRepository extends Repository { } private applySelections( - query: SelectQueryBuilder, + query: SelectQueryBuilder, select?: Record, ): void { if (select) { @@ -49,12 +49,12 @@ export class FolderRepository extends Repository { } } - private applyDefaultSelect(query: SelectQueryBuilder): void { + private applyDefaultSelect(query: SelectQueryBuilder): void { query .leftJoinAndSelect('folder.homeProject', 'homeProject') .leftJoinAndSelect('folder.parentFolder', 'parentFolder') .leftJoinAndSelect('folder.tags', 'tags') - .loadRelationCountAndMap('folder.workflowsCount', 'folder.workflows') + .loadRelationCountAndMap('folder.workflowCount', 'folder.workflows') .select([ 'folder', ...this.getProjectFields('homeProject'), @@ -64,7 +64,7 @@ export class FolderRepository extends Repository { } private applyCustomSelect( - query: SelectQueryBuilder, + query: SelectQueryBuilder, select?: Record, ): void { const selections = ['folder.id']; @@ -82,7 +82,7 @@ export class FolderRepository extends Repository { } private addRelationFields( - query: SelectQueryBuilder, + query: SelectQueryBuilder, selections: string[], select?: Record, ): void { @@ -101,8 +101,8 @@ export class FolderRepository extends Repository { selections.push(...this.getParentFolderFields('parentFolder')); } - if (select?.workflowsCount) { - query.loadRelationCountAndMap('folder.workflowsCount', 'folder.workflows'); + if (select?.workflowCount) { + query.loadRelationCountAndMap('folder.workflowCount', 'folder.workflows'); } } @@ -119,7 +119,7 @@ export class FolderRepository extends Repository { } private applyFilters( - query: SelectQueryBuilder, + query: SelectQueryBuilder, filter?: ListQuery.Options['filter'], ): void { if (!filter) return; @@ -129,7 +129,7 @@ export class FolderRepository extends Repository { } private applyBasicFilters( - query: SelectQueryBuilder, + query: SelectQueryBuilder, filter: ListQuery.Options['filter'], ): void { if (filter?.folderIds && Array.isArray(filter.folderIds)) { @@ -162,7 +162,7 @@ export class FolderRepository extends Repository { } private applyTagsFilter( - query: SelectQueryBuilder, + query: SelectQueryBuilder, tags?: string[], ): void { if (!Array.isArray(tags) || tags.length === 0) return; @@ -176,7 +176,7 @@ export class FolderRepository extends Repository { } private createTagsSubQuery( - query: SelectQueryBuilder, + query: SelectQueryBuilder, tags: string[], ): SelectQueryBuilder { return query @@ -191,7 +191,7 @@ export class FolderRepository extends Repository { }); } - private applySorting(query: SelectQueryBuilder, sortBy?: string): void { + private applySorting(query: SelectQueryBuilder, sortBy?: string): void { if (!sortBy) { query.orderBy('folder.updatedAt', 'DESC'); return; @@ -207,7 +207,7 @@ export class FolderRepository extends Repository { } private applySortingByField( - query: SelectQueryBuilder, + query: SelectQueryBuilder, field: string, direction: 'DESC' | 'ASC', ): void { @@ -219,7 +219,7 @@ export class FolderRepository extends Repository { } private applyPagination( - query: SelectQueryBuilder, + query: SelectQueryBuilder, options: ListQuery.Options, ): void { if (options?.take) { diff --git a/packages/cli/src/databases/repositories/workflow.repository.ts b/packages/cli/src/databases/repositories/workflow.repository.ts index 69bf66d955..e046ce21ba 100644 --- a/packages/cli/src/databases/repositories/workflow.repository.ts +++ b/packages/cli/src/databases/repositories/workflow.repository.ts @@ -14,7 +14,7 @@ import type { ListQuery } from '@/requests'; import { isStringArray } from '@/utils'; import { FolderRepository } from './folder.repository'; -import type { Folder, FolderWithWorkflowsCount } from '../entities/folder'; +import type { Folder, FolderWithWorkflowCount } from '../entities/folder'; import { TagEntity } from '../entities/tag-entity'; import { WebhookEntity } from '../entities/webhook-entity'; import { WorkflowEntity } from '../entities/workflow-entity'; @@ -34,7 +34,7 @@ type WorkflowFolderUnionRow = { export type WorkflowFolderUnionFull = ( | ListQuery.Workflow.Plain | ListQuery.Workflow.WithSharing - | FolderWithWorkflowsCount + | FolderWithWorkflowCount ) & { resource: ResourceType; }; diff --git a/packages/cli/test/integration/workflows/workflows.controller.test.ts b/packages/cli/test/integration/workflows/workflows.controller.test.ts index a9f948d21f..51fa617e6f 100644 --- a/packages/cli/test/integration/workflows/workflows.controller.test.ts +++ b/packages/cli/test/integration/workflows/workflows.controller.test.ts @@ -1320,7 +1320,7 @@ describe('GET /workflows?includeFolders=true', () => { type: ownerPersonalProject.type, }, parentFolder: null, - workflowsCount: 0, + workflowCount: 0, }), ]), });