@steedos/metadata-api 2.3.0-beta.35 → 2.3.0-beta.37

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,4 +1,10 @@
1
1
  import { MetadataBaseCollection } from './_base';
2
2
  export declare class TabCollection extends MetadataBaseCollection {
3
3
  constructor();
4
+ find(dbManager: any): Promise<any>;
5
+ findOne(dbManager: any, metadataApiName: any): Promise<any>;
6
+ save(dbManager: any, data: any): Promise<any>;
7
+ private getPermissionTabs;
8
+ private savePermissionTabs;
9
+ private getPermissionTab;
4
10
  }
@@ -1,12 +1,92 @@
1
1
  "use strict";
2
+ var __asyncValues = (this && this.__asyncValues) || function (o) {
3
+ if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");
4
+ var m = o[Symbol.asyncIterator], i;
5
+ return m ? m.call(o) : (o = typeof __values === "function" ? __values(o) : o[Symbol.iterator](), i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i);
6
+ function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }
7
+ function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }
8
+ };
9
+ var __importDefault = (this && this.__importDefault) || function (mod) {
10
+ return (mod && mod.__esModule) ? mod : { "default": mod };
11
+ };
2
12
  Object.defineProperty(exports, "__esModule", { value: true });
3
13
  exports.TabCollection = void 0;
4
14
  const metadata_core_1 = require("@steedos/metadata-core");
15
+ const underscore_1 = __importDefault(require("underscore"));
5
16
  const _base_1 = require("./_base");
17
+ const clone = require('clone');
6
18
  const metadataName = metadata_core_1.SteedosMetadataTypeInfoKeys.Tab;
19
+ const PERMISSION_TABS_TABLE_NAME = "permission_tabs";
20
+ const RELATED_PROPERTY_NAME_OF_PERMISSION_TABS = "permissions";
7
21
  class TabCollection extends _base_1.MetadataBaseCollection {
8
22
  constructor() {
9
- super(metadataName);
23
+ super(metadataName, [RELATED_PROPERTY_NAME_OF_PERMISSION_TABS]);
24
+ }
25
+ async find(dbManager) {
26
+ const tabs = await dbManager.find(this.collectionName, {});
27
+ for (const tab of tabs) {
28
+ tab[RELATED_PROPERTY_NAME_OF_PERMISSION_TABS] = await this.getPermissionTabs(dbManager, tab.name);
29
+ }
30
+ return tabs;
31
+ }
32
+ async findOne(dbManager, metadataApiName) {
33
+ const tab = await dbManager.findOne(this.collectionName, { name: metadataApiName });
34
+ tab[RELATED_PROPERTY_NAME_OF_PERMISSION_TABS] = await this.getPermissionTabs(dbManager, tab.name);
35
+ return tab;
36
+ }
37
+ async save(dbManager, data) {
38
+ const clonedData = clone(data);
39
+ delete data.permissions;
40
+ const tabApiName = data.name;
41
+ var filter = { name: tabApiName };
42
+ var record = await dbManager.findOne(this.collectionName, filter);
43
+ let result = null;
44
+ if (record == null) {
45
+ result = await dbManager.insert(this.collectionName, data);
46
+ }
47
+ else {
48
+ result = await dbManager.update(this.collectionName, filter, data);
49
+ }
50
+ await this.savePermissionTabs(dbManager, tabApiName, clonedData.permissions);
51
+ return result;
52
+ }
53
+ async getPermissionTabs(dbManager, tabApiName) {
54
+ const permissionTabs = await dbManager.find(PERMISSION_TABS_TABLE_NAME, { tab: tabApiName });
55
+ underscore_1.default.map(permissionTabs, (pTab) => {
56
+ delete pTab.tab;
57
+ });
58
+ return permissionTabs;
59
+ }
60
+ async savePermissionTabs(dbManager, tabApiName, permissionTabs) {
61
+ var e_1, _a;
62
+ if (permissionTabs && underscore_1.default.isArray(permissionTabs)) {
63
+ try {
64
+ for (var permissionTabs_1 = __asyncValues(permissionTabs), permissionTabs_1_1; permissionTabs_1_1 = await permissionTabs_1.next(), !permissionTabs_1_1.done;) {
65
+ let pTab = permissionTabs_1_1.value;
66
+ const pTabRecord = await this.getPermissionTab(dbManager, tabApiName, pTab.permission_set);
67
+ pTab.tab = tabApiName;
68
+ if (pTabRecord) {
69
+ await dbManager.update(PERMISSION_TABS_TABLE_NAME, { _id: pTabRecord._id }, pTab);
70
+ }
71
+ else {
72
+ await dbManager.insert(PERMISSION_TABS_TABLE_NAME, pTab);
73
+ }
74
+ }
75
+ }
76
+ catch (e_1_1) { e_1 = { error: e_1_1 }; }
77
+ finally {
78
+ try {
79
+ if (permissionTabs_1_1 && !permissionTabs_1_1.done && (_a = permissionTabs_1.return)) await _a.call(permissionTabs_1);
80
+ }
81
+ finally { if (e_1) throw e_1.error; }
82
+ }
83
+ }
84
+ }
85
+ async getPermissionTab(dbManager, tabApiName, permissionSetApiName) {
86
+ const permissionTabs = await dbManager.find(PERMISSION_TABS_TABLE_NAME, { tab: tabApiName, permission_set: permissionSetApiName });
87
+ if (permissionTabs && permissionTabs.length > 0) {
88
+ return permissionTabs[0];
89
+ }
10
90
  }
11
91
  }
12
92
  exports.TabCollection = TabCollection;
@@ -1 +1 @@
1
- {"version":3,"file":"tab.js","sourceRoot":"","sources":["../../../src/metadata/collection/tab.ts"],"names":[],"mappings":";;;AAAA,0DAAqF;AAErF,mCAAgD;AAEhD,MAAM,YAAY,GAAG,2CAAY,CAAC,GAAG,CAAC;AAEtC,MAAa,aAAc,SAAQ,8BAAsB;IACrD;QACI,KAAK,CAAC,YAAY,CAAC,CAAC;IACxB,CAAC;CACJ;AAJD,sCAIC"}
1
+ {"version":3,"file":"tab.js","sourceRoot":"","sources":["../../../src/metadata/collection/tab.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@steedos/metadata-api",
3
- "version": "2.3.0-beta.35",
3
+ "version": "2.3.0-beta.37",
4
4
  "description": "",
5
5
  "main": "lib/index.js",
6
6
  "files": [
@@ -21,11 +21,12 @@
21
21
  "access": "public"
22
22
  },
23
23
  "dependencies": {
24
- "@steedos/auth": "2.3.0-beta.35",
25
- "@steedos/core": "2.3.0-beta.35",
26
- "@steedos/metadata-core": "2.3.0-beta.35",
27
- "@steedos/objectql": "2.3.0-beta.35",
24
+ "@steedos/auth": "2.3.0-beta.37",
25
+ "@steedos/core": "2.3.0-beta.37",
26
+ "@steedos/metadata-core": "2.3.0-beta.37",
27
+ "@steedos/objectql": "2.3.0-beta.37",
28
28
  "chalk": "^4.1.0",
29
+ "clone": "2.1.2",
29
30
  "compressing": "^1.5.1",
30
31
  "dotenv-flow": "^3.1.0",
31
32
  "form-data": "^3.0.0",
@@ -35,9 +36,9 @@
35
36
  "underscore": "^1.11.0"
36
37
  },
37
38
  "devDependencies": {
38
- "@steedos/service-meteor-package-loader": "2.3.0-beta.35",
39
+ "@steedos/service-meteor-package-loader": "2.3.0-beta.37",
39
40
  "javascript-obfuscator": "^2.9.1",
40
41
  "typescript": "4.6.3"
41
42
  },
42
- "gitHead": "a5fb79aafcd152165f41d981c8d1ce97d7f4c205"
43
+ "gitHead": "5e1dc58290142d1d7deb0fbe2e171d79c5029cdd"
43
44
  }