From 67969e5387ee07288bcc9741a9db1d006812ce97 Mon Sep 17 00:00:00 2001 From: xing_cx Date: Fri, 29 Mar 2024 11:44:50 +0800 Subject: [PATCH] feat: inplace import auth validate --- .../open-api/import-open-api.controller.ts | 1 + .../test/table-import.e2e-spec.ts | 21 ++++++++++++++++++- .../inplace-panel/FieldSelector.tsx | 2 +- 3 files changed, 22 insertions(+), 2 deletions(-) diff --git a/apps/nestjs-backend/src/features/import/open-api/import-open-api.controller.ts b/apps/nestjs-backend/src/features/import/open-api/import-open-api.controller.ts index 4fcb909eb..23305d610 100644 --- a/apps/nestjs-backend/src/features/import/open-api/import-open-api.controller.ts +++ b/apps/nestjs-backend/src/features/import/open-api/import-open-api.controller.ts @@ -34,6 +34,7 @@ export class ImportController { } @Patch(':tableId') + @Permissions('table|import') async inplaceImportTable( @Param('tableId') tableId: string, @Body(new ZodValidationPipe(inplaceImportOptionRoSchema)) diff --git a/apps/nestjs-backend/test/table-import.e2e-spec.ts b/apps/nestjs-backend/test/table-import.e2e-spec.ts index 9dddc65fe..a25c722b9 100644 --- a/apps/nestjs-backend/test/table-import.e2e-spec.ts +++ b/apps/nestjs-backend/test/table-import.e2e-spec.ts @@ -320,6 +320,7 @@ describe('/import/{tableId} OpenAPI ImportController (e2e) (Patch)', () => { name: 'field_6', }, ], + records: [], }); const tableId = tableRes.data.id; const fields = tableRes?.data?.fields; @@ -349,6 +350,24 @@ describe('/import/{tableId} OpenAPI ImportController (e2e) (Patch)', () => { bases.push([baseId, tableId]); - expect(records?.length).toBe(5); + const tableRecords = records?.map((r) => r.fields); + + const assertRecords = [ + { + field_1: 1, + field_2: 'string_1', + field_3: true, + field_4: '2022-11-10T08:00:00.000Z', + field_6: 'long\ntext', + }, + { + field_1: 2, + field_2: 'string_2', + field_4: '2022-11-11T08:00:00.000Z', + }, + ]; + + expect(records?.length).toBe(2); + expect(tableRecords).toEqual(assertRecords); }); }); diff --git a/apps/nextjs-app/src/features/app/blocks/import-table/field-config-panel/inplace-panel/FieldSelector.tsx b/apps/nextjs-app/src/features/app/blocks/import-table/field-config-panel/inplace-panel/FieldSelector.tsx index 7e3362bd4..3bd39fbd9 100644 --- a/apps/nextjs-app/src/features/app/blocks/import-table/field-config-panel/inplace-panel/FieldSelector.tsx +++ b/apps/nextjs-app/src/features/app/blocks/import-table/field-config-panel/inplace-panel/FieldSelector.tsx @@ -47,7 +47,7 @@ export function FieldSelector(props: IFieldSelector) { } return ( - +