From e5e952aec60abc70342e0fb1bce7b563b4d18e20 Mon Sep 17 00:00:00 2001 From: Pranav C Date: Mon, 25 Apr 2022 14:50:09 +0530 Subject: [PATCH] fix: verify model, view and project exist while migrating ui acl re #1847 Signed-off-by: Pranav C --- .../jobs/ncProjectUpgraderV2_0090000.ts | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/packages/nocodb/src/lib/noco/upgrader/jobs/ncProjectUpgraderV2_0090000.ts b/packages/nocodb/src/lib/noco/upgrader/jobs/ncProjectUpgraderV2_0090000.ts index 11b87feb59..21df164474 100644 --- a/packages/nocodb/src/lib/noco/upgrader/jobs/ncProjectUpgraderV2_0090000.ts +++ b/packages/nocodb/src/lib/noco/upgrader/jobs/ncProjectUpgraderV2_0090000.ts @@ -1070,17 +1070,26 @@ async function migrateUIAcl(ctx: MigrateCtxV1, ncMeta: any) { }> = await ncMeta.metaList(null, null, 'nc_disabled_models_for_role'); for (const acl of uiAclList) { + // if missing model name skip the view acl migration + if (!acl.title) continue; + let fk_view_id; if (acl.type === 'vtable') { + // if missing parent model name skip the view acl migration + if (!acl.parent_model_title) continue; fk_view_id = - ctx.objViewRef[acl.project_id][acl.parent_model_title][acl.title].id; + ctx.objViewRef[acl.project_id]?.[acl.parent_model_title]?.[acl.title] + ?.id; } else { fk_view_id = - ctx.objViewRef[acl.project_id][acl.title][ - ctx.objModelRef[acl.project_id][acl.title].title - ].id || ctx.objViewRef[acl.project_id][acl.title][acl.title].id; + ctx.objViewRef?.[acl.project_id]?.[acl.title]?.[ + ctx.objModelRef?.[acl.project_id]?.[acl.title]?.title + ].id || ctx.objViewRef[acl.project_id]?.[acl.title]?.[acl.title]?.id; } + // if view id missing skip ui acl view migration + if (!fk_view_id) continue; + await ModelRoleVisibility.insert( { role: acl.role,