Browse Source

fix: verify model, view and project exist while migrating ui acl

re #1847

Signed-off-by: Pranav C <pranavxc@gmail.com>
pull/1858/head
Pranav C 3 years ago
parent
commit
e5e952aec6
  1. 17
      packages/nocodb/src/lib/noco/upgrader/jobs/ncProjectUpgraderV2_0090000.ts

17
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'); }> = await ncMeta.metaList(null, null, 'nc_disabled_models_for_role');
for (const acl of uiAclList) { for (const acl of uiAclList) {
// if missing model name skip the view acl migration
if (!acl.title) continue;
let fk_view_id; let fk_view_id;
if (acl.type === 'vtable') { if (acl.type === 'vtable') {
// if missing parent model name skip the view acl migration
if (!acl.parent_model_title) continue;
fk_view_id = 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 { } else {
fk_view_id = fk_view_id =
ctx.objViewRef[acl.project_id][acl.title][ ctx.objViewRef?.[acl.project_id]?.[acl.title]?.[
ctx.objModelRef[acl.project_id][acl.title].title ctx.objModelRef?.[acl.project_id]?.[acl.title]?.title
].id || ctx.objViewRef[acl.project_id][acl.title][acl.title].id; ].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( await ModelRoleVisibility.insert(
{ {
role: acl.role, role: acl.role,

Loading…
Cancel
Save