Browse Source

refactor: refactor genNanoid method

pull/8571/head
Pranav C 6 months ago
parent
commit
dff5454f1b
  1. 147
      packages/nocodb/src/meta/meta.service.ts

147
packages/nocodb/src/meta/meta.service.ts

@ -188,119 +188,48 @@ export class MetaService {
* @returns {string} - Generated nanoid
* */
public async genNanoid(target: string) {
let prefix;
switch (target) {
case MetaTable.PROJECT:
prefix = 'p';
break;
case MetaTable.BASES:
prefix = 'b';
break;
case MetaTable.MODELS:
prefix = 'm';
break;
case MetaTable.COLUMNS:
prefix = 'c';
break;
case MetaTable.COL_RELATIONS:
prefix = 'l';
break;
case MetaTable.COL_SELECT_OPTIONS:
prefix = 's';
break;
case MetaTable.COL_LOOKUP:
prefix = 'lk';
break;
case MetaTable.COL_ROLLUP:
prefix = 'rl';
break;
case MetaTable.COL_FORMULA:
prefix = 'f';
break;
case MetaTable.FILTER_EXP:
prefix = 'fi';
break;
case MetaTable.SORT:
prefix = 'so';
break;
case MetaTable.SHARED_VIEWS:
prefix = 'sv';
break;
case MetaTable.ACL:
prefix = 'ac';
break;
case MetaTable.FORM_VIEW:
prefix = 'fv';
break;
case MetaTable.FORM_VIEW_COLUMNS:
prefix = 'fvc';
break;
case MetaTable.GALLERY_VIEW:
prefix = 'gv';
break;
case MetaTable.GALLERY_VIEW_COLUMNS:
prefix = 'gvc';
break;
case MetaTable.KANBAN_VIEW:
prefix = 'kv';
break;
case MetaTable.KANBAN_VIEW_COLUMNS:
prefix = 'kvc';
break;
case MetaTable.CALENDAR_VIEW:
prefix = 'cv';
break;
case MetaTable.CALENDAR_VIEW_COLUMNS:
prefix = 'cvc';
break;
case MetaTable.CALENDAR_VIEW_RANGE:
prefix = 'cvr';
break;
case MetaTable.USERS:
prefix = 'us';
break;
case MetaTable.ORGS_OLD:
prefix = 'org';
break;
case MetaTable.TEAMS:
prefix = 'tm';
break;
case MetaTable.VIEWS:
prefix = 'vw';
break;
case MetaTable.HOOKS:
prefix = 'hk';
break;
case MetaTable.HOOK_LOGS:
prefix = 'hkl';
break;
case MetaTable.AUDIT:
prefix = 'adt';
break;
case MetaTable.API_TOKENS:
prefix = 'tkn';
break;
case MetaTable.EXTENSIONS:
prefix = 'ext';
break;
case MetaTable.COMMENTS:
prefix = 'com';
break;
case MetaTable.COMMENTS_REACTIONS:
prefix = 'cre';
break;
case MetaTable.USER_COMMENTS_NOTIFICATIONS_PREFERENCE:
prefix = 'cnp';
break;
default:
prefix = 'nc';
break;
}
const prefixMap: { [key: string]: string } = {
[MetaTable.PROJECT]: 'p',
[MetaTable.BASES]: 'b',
[MetaTable.MODELS]: 'm',
[MetaTable.COLUMNS]: 'c',
[MetaTable.COL_RELATIONS]: 'l',
[MetaTable.COL_SELECT_OPTIONS]: 's',
[MetaTable.COL_LOOKUP]: 'lk',
[MetaTable.COL_ROLLUP]: 'rl',
[MetaTable.COL_FORMULA]: 'f',
[MetaTable.FILTER_EXP]: 'fi',
[MetaTable.SORT]: 'so',
[MetaTable.SHARED_VIEWS]: 'sv',
[MetaTable.ACL]: 'ac',
[MetaTable.FORM_VIEW]: 'fv',
[MetaTable.FORM_VIEW_COLUMNS]: 'fvc',
[MetaTable.GALLERY_VIEW]: 'gv',
[MetaTable.GALLERY_VIEW_COLUMNS]: 'gvc',
[MetaTable.KANBAN_VIEW]: 'kv',
[MetaTable.KANBAN_VIEW_COLUMNS]: 'kvc',
[MetaTable.CALENDAR_VIEW]: 'cv',
[MetaTable.CALENDAR_VIEW_COLUMNS]: 'cvc',
[MetaTable.CALENDAR_VIEW_RANGE]: 'cvr',
[MetaTable.USERS]: 'us',
[MetaTable.ORGS_OLD]: 'org',
[MetaTable.TEAMS]: 'tm',
[MetaTable.VIEWS]: 'vw',
[MetaTable.HOOKS]: 'hk',
[MetaTable.HOOK_LOGS]: 'hkl',
[MetaTable.AUDIT]: 'adt',
[MetaTable.API_TOKENS]: 'tkn',
[MetaTable.EXTENSIONS]: 'ext',
[MetaTable.COMMENTS]: 'com',
[MetaTable.COMMENTS_REACTIONS]: 'cre',
[MetaTable.USER_COMMENTS_NOTIFICATIONS_PREFERENCE]: 'cnp',
};
const prefix = prefixMap[target] || 'nc';
// using nanoid to avoid collision with existing ids when duplicating
return `${prefix}${nanoidv2()}`;
}
/***
* Get paginated list of meta data
* @param baseId - Base id

Loading…
Cancel
Save