@qrvey/assets-sharing 0.3.4 → 0.3.5-1236-beta.1

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.
Files changed (108) hide show
  1. package/dist/cjs/common/constants.js +11 -1
  2. package/dist/cjs/common/constants.js.map +1 -1
  3. package/dist/cjs/common/util.js +5 -0
  4. package/dist/cjs/common/util.js.map +1 -1
  5. package/dist/cjs/context.js +6 -0
  6. package/dist/cjs/context.js.map +1 -1
  7. package/dist/cjs/index.js +23 -1
  8. package/dist/cjs/index.js.map +1 -1
  9. package/dist/cjs/quser/implementations/group.model.js +3 -0
  10. package/dist/cjs/quser/implementations/group.model.js.map +1 -1
  11. package/dist/cjs/quser/implementations/group.repository.js +22 -1
  12. package/dist/cjs/quser/implementations/group.repository.js.map +1 -1
  13. package/dist/cjs/quser/implementations/permission.repository.js +27 -0
  14. package/dist/cjs/quser/implementations/permission.repository.js.map +1 -0
  15. package/dist/cjs/quser/interfaces/permissionsRepository.interface.js +3 -0
  16. package/dist/cjs/quser/interfaces/permissionsRepository.interface.js.map +1 -0
  17. package/dist/cjs/quser/services/fromTokenToUser.js +5 -1
  18. package/dist/cjs/quser/services/fromTokenToUser.js.map +1 -1
  19. package/dist/cjs/quser/services/hasAdminRole.js +31 -12
  20. package/dist/cjs/quser/services/hasAdminRole.js.map +1 -1
  21. package/dist/cjs/quser/services/hasSharingPermission.js +47 -0
  22. package/dist/cjs/quser/services/hasSharingPermission.js.map +1 -0
  23. package/dist/cjs/sharing/entities/details.js +13 -2
  24. package/dist/cjs/sharing/entities/details.js.map +1 -1
  25. package/dist/cjs/sharing/entities/types/orgTreeResult.js +10 -0
  26. package/dist/cjs/sharing/entities/types/orgTreeResult.js.map +1 -0
  27. package/dist/cjs/sharing/entities/types/organization.type.js +3 -0
  28. package/dist/cjs/sharing/entities/types/organization.type.js.map +1 -0
  29. package/dist/cjs/sharing/implementations/admin.repository.js +30 -0
  30. package/dist/cjs/sharing/implementations/admin.repository.js.map +1 -0
  31. package/dist/cjs/sharing/implementations/details.repository.js +13 -4
  32. package/dist/cjs/sharing/implementations/details.repository.js.map +1 -1
  33. package/dist/cjs/sharing/implementations/organization.model.js +31 -0
  34. package/dist/cjs/sharing/implementations/organization.model.js.map +1 -0
  35. package/dist/cjs/sharing/implementations/organization.repository.js +73 -0
  36. package/dist/cjs/sharing/implementations/organization.repository.js.map +1 -0
  37. package/dist/cjs/sharing/implementations/sharing.model.js +4 -2
  38. package/dist/cjs/sharing/implementations/sharing.model.js.map +1 -1
  39. package/dist/cjs/sharing/interfaces/adminRepository.interface.js +3 -0
  40. package/dist/cjs/sharing/interfaces/adminRepository.interface.js.map +1 -0
  41. package/dist/cjs/sharing/interfaces/organizationRepository.interface.js +3 -0
  42. package/dist/cjs/sharing/interfaces/organizationRepository.interface.js.map +1 -0
  43. package/dist/cjs/sharing/services/checkAppAccess.js +47 -0
  44. package/dist/cjs/sharing/services/checkAppAccess.js.map +1 -0
  45. package/dist/cjs/sharing/services/checkOrgPermissions.js +36 -0
  46. package/dist/cjs/sharing/services/checkOrgPermissions.js.map +1 -0
  47. package/dist/cjs/sharing/services/checkUserAccessLevel.js +30 -7
  48. package/dist/cjs/sharing/services/checkUserAccessLevel.js.map +1 -1
  49. package/dist/cjs/sharing/services/delete.js +5 -1
  50. package/dist/cjs/sharing/services/delete.js.map +1 -1
  51. package/dist/cjs/sharing/services/getOrgTree.js +31 -0
  52. package/dist/cjs/sharing/services/getOrgTree.js.map +1 -0
  53. package/dist/cjs/sharing/services/list.js +5 -1
  54. package/dist/cjs/sharing/services/list.js.map +1 -1
  55. package/dist/cjs/sharing/services/upsert.js +11 -2
  56. package/dist/cjs/sharing/services/upsert.js.map +1 -1
  57. package/dist/cjs/sharing/services/upsertDefaultSharing.js +71 -0
  58. package/dist/cjs/sharing/services/upsertDefaultSharing.js.map +1 -0
  59. package/dist/cjs/tsconfig.cjs.tsbuildinfo +1 -1
  60. package/dist/esm/index.mjs +1089 -312
  61. package/dist/esm/index.mjs.map +1 -1
  62. package/dist/types/index.d.ts +348 -54
  63. package/package.json +60 -51
  64. package/.eslintrc +0 -88
  65. package/__test__/hasAdminRole.test.ts +0 -299
  66. package/jest.config.ts +0 -15
  67. package/src/common/common.type.ts +0 -33
  68. package/src/common/constants.ts +0 -47
  69. package/src/common/persistence/base.ts +0 -13
  70. package/src/common/persistence/poolClient.ts +0 -7
  71. package/src/common/util.ts +0 -8
  72. package/src/context.ts +0 -35
  73. package/src/index.ts +0 -38
  74. package/src/quser/entities/types/user.type.ts +0 -14
  75. package/src/quser/entities/user.ts +0 -31
  76. package/src/quser/implementations/group.model.ts +0 -18
  77. package/src/quser/implementations/group.repository.ts +0 -20
  78. package/src/quser/implementations/user.model.ts +0 -23
  79. package/src/quser/implementations/user.repository.ts +0 -35
  80. package/src/quser/interfaces/rolesRepository.interface.ts +0 -3
  81. package/src/quser/interfaces/userRepository.interface.ts +0 -10
  82. package/src/quser/services/fromTokenToUser.ts +0 -49
  83. package/src/quser/services/hasAdminRole.ts +0 -52
  84. package/src/sharing/entities/details.ts +0 -144
  85. package/src/sharing/entities/sharing.ts +0 -84
  86. package/src/sharing/entities/types/details.type.ts +0 -58
  87. package/src/sharing/entities/types/sharing.type.ts +0 -24
  88. package/src/sharing/implementations/details.model.ts +0 -93
  89. package/src/sharing/implementations/details.repository.ts +0 -154
  90. package/src/sharing/implementations/dm.model.ts +0 -21
  91. package/src/sharing/implementations/dm.repository.ts +0 -23
  92. package/src/sharing/implementations/dx.model.ts +0 -30
  93. package/src/sharing/implementations/dx.repository.ts +0 -22
  94. package/src/sharing/implementations/sharing.model.ts +0 -33
  95. package/src/sharing/implementations/sharing.repository.ts +0 -36
  96. package/src/sharing/interfaces/dashboardRepository.interface.ts +0 -3
  97. package/src/sharing/interfaces/detailsRepository.interface.ts +0 -60
  98. package/src/sharing/interfaces/downloadManagerRepository.interface.ts +0 -3
  99. package/src/sharing/interfaces/sharingRepository.interface.ts +0 -32
  100. package/src/sharing/services/checkUserAccessLevel.ts +0 -63
  101. package/src/sharing/services/delete.ts +0 -24
  102. package/src/sharing/services/list.ts +0 -53
  103. package/src/sharing/services/upsert.ts +0 -197
  104. package/tsconfig.cjs.json +0 -7
  105. package/tsconfig.json +0 -19
  106. package/tsup.config.cjs.ts +0 -11
  107. package/tsup.config.esm.ts +0 -12
  108. package/tsup.config.types.ts +0 -9
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const data_persistence_1 = require("@qrvey/data-persistence");
4
+ const constants_1 = require("../../common/constants");
5
+ class OrganizationModel extends data_persistence_1.CrudSchema {
6
+ }
7
+ OrganizationModel.table = {
8
+ name: 'qv_organizations',
9
+ alias: `${constants_1.DATABASE_INFO.TABLE_PREFIX}_organizations`,
10
+ };
11
+ OrganizationModel.columns = {
12
+ orgId: { type: 'string', primary: true },
13
+ name: { type: 'string' },
14
+ parent_org_id: { type: 'string' },
15
+ org_path: { type: 'string' },
16
+ asset_sharing: { type: 'boolean' },
17
+ effective_asset_sharing: { type: 'boolean' },
18
+ created_at: { type: 'string' },
19
+ updated_at: { type: 'string' },
20
+ };
21
+ OrganizationModel.indexes = {
22
+ org_path: { name: 'idx_qv_orgs_org_path_gist', columns: ['org_path'] },
23
+ parent_org_id: {
24
+ name: 'idx_qv_orgs_parent',
25
+ columns: ['parent_org_id'],
26
+ },
27
+ };
28
+ OrganizationModel.schema = constants_1.DATABASE_INFO.DATA_PERSISTENCE_SCHEMA;
29
+ OrganizationModel.usePool = true;
30
+ exports.default = OrganizationModel;
31
+ //# sourceMappingURL=organization.model.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"organization.model.js","sourceRoot":"","sources":["../../../../src/sharing/implementations/organization.model.ts"],"names":[],"mappings":";;AAAA,8DAAqD;AAErD,sDAAuD;AAEvD,MAAqB,iBAAkB,SAAQ,6BAAU;;AACrC,uBAAK,GAAG;IACpB,IAAI,EAAE,kBAAkB;IACxB,KAAK,EAAE,GAAG,yBAAa,CAAC,YAAY,gBAAgB;CACvD,CAAC;AAEc,yBAAO,GAAG;IACtB,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE;IACxC,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;IACxB,aAAa,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;IACjC,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;IAC5B,aAAa,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;IAClC,uBAAuB,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;IAC5C,UAAU,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;IAC9B,UAAU,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;CACjC,CAAC;AAEc,yBAAO,GAAG;IACtB,QAAQ,EAAE,EAAE,IAAI,EAAE,2BAA2B,EAAE,OAAO,EAAE,CAAC,UAAU,CAAC,EAAE;IACtE,aAAa,EAAE;QACX,IAAI,EAAE,oBAAoB;QAC1B,OAAO,EAAE,CAAC,eAAe,CAAC;KAC7B;CACJ,CAAC;AAEc,wBAAM,GAAG,yBAAa,CAAC,uBAAuB,CAAC;AAC/C,yBAAO,GAAG,IAAI,CAAC;kBA1Bd,iBAAiB"}
@@ -0,0 +1,73 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.OrganizationRepository = void 0;
7
+ const organization_model_1 = __importDefault(require("./organization.model"));
8
+ const base_1 = require("../../common/persistence/base");
9
+ const orgTreeResult_1 = require("../entities/types/orgTreeResult");
10
+ class OrganizationRepository extends base_1.BaseRepository {
11
+ constructor() {
12
+ super(organization_model_1.default);
13
+ }
14
+ async getOne(orgId) {
15
+ const params = {
16
+ filters: [this.filter('"orgId"', orgId)],
17
+ };
18
+ const response = await super.findItem(params);
19
+ return response;
20
+ }
21
+ async getOrgTree(orgId, scope = orgTreeResult_1.HIERARCHY_SCOPE.BOTH) {
22
+ const cte = `WITH target AS (SELECT org_path FROM admin.qv_organizations WHERE "orgId" = '${orgId}')`;
23
+ let condition = '';
24
+ if (scope === orgTreeResult_1.HIERARCHY_SCOPE.CHILDREN) {
25
+ condition = `admin.qv_organizations.org_path <@ target.org_path`;
26
+ }
27
+ else if (scope === orgTreeResult_1.HIERARCHY_SCOPE.PARENTS) {
28
+ condition = `admin.qv_organizations.org_path @> target.org_path`;
29
+ }
30
+ else {
31
+ condition = `(
32
+ admin.qv_organizations.org_path <@ target.org_path
33
+ OR
34
+ admin.qv_organizations.org_path @> target.org_path
35
+ )`;
36
+ }
37
+ const selectClause = `
38
+ SELECT
39
+ COALESCE(
40
+ ARRAY_AGG("orgId") FILTER (
41
+ WHERE admin.qv_organizations.org_path <@ target.org_path AND "orgId" != '${orgId}'
42
+ ),
43
+ '{}'
44
+ ) as db_children,
45
+ COALESCE(
46
+ ARRAY_AGG("orgId") FILTER (
47
+ WHERE admin.qv_organizations.org_path @> target.org_path AND "orgId" != '${orgId}'
48
+ ),
49
+ '{}'
50
+ ) as db_parents
51
+ `;
52
+ const fromWhereClause = `
53
+ FROM admin.qv_organizations, target
54
+ WHERE ${condition}
55
+ AND "orgId" != '${orgId}'
56
+ `;
57
+ const fullSql = `${cte} ${selectClause} ${fromWhereClause};`;
58
+ const result = await super.runRawQuery(fullSql, []);
59
+ const row = result === null || result === void 0 ? void 0 : result.rows[0];
60
+ if (!row) {
61
+ return {
62
+ childrenIds: [],
63
+ parentIds: [],
64
+ };
65
+ }
66
+ return {
67
+ childrenIds: row.db_children,
68
+ parentIds: row.db_parents,
69
+ };
70
+ }
71
+ }
72
+ exports.OrganizationRepository = OrganizationRepository;
73
+ //# sourceMappingURL=organization.repository.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"organization.repository.js","sourceRoot":"","sources":["../../../../src/sharing/implementations/organization.repository.ts"],"names":[],"mappings":";;;;;;AAAA,8EAAqD;AACrD,wDAA+D;AAE/D,mEAGyC;AAGzC,MAAa,sBACT,SAAQ,qBAAc;IAGtB;QACI,KAAK,CAAC,4BAAiB,CAAC,CAAC;IAC7B,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,KAAa;QACtB,MAAM,MAAM,GAAG;YACX,OAAO,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;SAC3C,CAAC;QACF,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QAC9C,OAAO,QAA4B,CAAC;IACxC,CAAC;IAED,KAAK,CAAC,UAAU,CACZ,KAAa,EACb,QAAyB,+BAAe,CAAC,IAAI;QAE7C,MAAM,GAAG,GAAG,gFAAgF,KAAK,IAAI,CAAC;QAEtG,IAAI,SAAS,GAAG,EAAE,CAAC;QAEnB,IAAI,KAAK,KAAK,+BAAe,CAAC,QAAQ,EAAE,CAAC;YACrC,SAAS,GAAG,oDAAoD,CAAC;QACrE,CAAC;aAAM,IAAI,KAAK,KAAK,+BAAe,CAAC,OAAO,EAAE,CAAC;YAC3C,SAAS,GAAG,oDAAoD,CAAC;QACrE,CAAC;aAAM,CAAC;YACJ,SAAS,GAAG;;;;cAIV,CAAC;QACP,CAAC;QAED,MAAM,YAAY,GAAG;;;;mGAIsE,KAAK;;;;;;mGAML,KAAK;;;;SAI/F,CAAC;QAEF,MAAM,eAAe,GAAG;;oBAEZ,SAAS;8BACC,KAAK;SAC1B,CAAC;QAEF,MAAM,OAAO,GAAG,GAAG,GAAG,IAAI,YAAY,IAAI,eAAe,GAAG,CAAC;QAE7D,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,WAAW,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QACpD,MAAM,GAAG,GAAG,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,IAAI,CAAC,CAAC,CAAC,CAAC;QAE5B,IAAI,CAAC,GAAG,EAAE,CAAC;YACP,OAAO;gBACH,WAAW,EAAE,EAAE;gBACf,SAAS,EAAE,EAAE;aAChB,CAAC;QACN,CAAC;QAED,OAAO;YACH,WAAW,EAAE,GAAG,CAAC,WAAW;YAC5B,SAAS,EAAE,GAAG,CAAC,UAAU;SAC5B,CAAC;IACN,CAAC;CACJ;AA3ED,wDA2EC"}
@@ -13,14 +13,16 @@ SharingModel.table = {
13
13
  SharingModel.columns = {
14
14
  asset_id: { type: 'string', primary: true },
15
15
  asset_type: { type: 'string' },
16
+ sharing_mode_status: { type: 'boolean' },
17
+ sharing_mode: { type: 'number' },
16
18
  created_at: { type: 'date' },
17
19
  updated_at: { type: 'date' },
18
20
  deleted_at: { type: 'date' },
19
21
  qvAttributes: { type: 'object' },
20
22
  };
21
23
  SharingModel.indexes = {
22
- sharingAssetIdAssetType: {
23
- name: 'sharing_asset_id_asset_type_index',
24
+ sharingConfigLookup: {
25
+ name: 'sharing_config_lookup_idx',
24
26
  columns: ['asset_id', 'asset_type'],
25
27
  },
26
28
  sharingAssetType: {
@@ -1 +1 @@
1
- {"version":3,"file":"sharing.model.js","sourceRoot":"","sources":["../../../../src/sharing/implementations/sharing.model.ts"],"names":[],"mappings":";;;AAAA,8DAAqD;AAErD,sDAAuD;AAEvD,MAAa,YAAa,SAAQ,6BAAU;;AAA5C,oCA4BC;AA3BU,kBAAK,GAAG;IACX,IAAI,EAAE,GAAG,yBAAa,CAAC,aAAa,UAAU;IAC9C,KAAK,EAAE,GAAG,yBAAa,CAAC,YAAY,UAAU;CACjD,CAAC;AAEK,oBAAO,GAAG;IACb,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE;IAC3C,UAAU,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;IAC9B,UAAU,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE;IAC5B,UAAU,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE;IAC5B,UAAU,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE;IAC5B,YAAY,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;CACnC,CAAC;AAEK,oBAAO,GAAG;IACb,uBAAuB,EAAE;QACrB,IAAI,EAAE,mCAAmC;QACzC,OAAO,EAAE,CAAC,UAAU,EAAE,YAAY,CAAC;KACtC;IACD,gBAAgB,EAAE;QACd,IAAI,EAAE,0BAA0B;QAChC,OAAO,EAAE,CAAC,YAAY,CAAC;KAC1B;CACJ,CAAC;AAEK,mBAAM,GAAG,yBAAa,CAAC,uBAAuB,CAAC;AAC/C,oBAAO,GAAG,IAAI,CAAC"}
1
+ {"version":3,"file":"sharing.model.js","sourceRoot":"","sources":["../../../../src/sharing/implementations/sharing.model.ts"],"names":[],"mappings":";;;AAAA,8DAAqD;AAErD,sDAAuD;AAEvD,MAAa,YAAa,SAAQ,6BAAU;;AAA5C,oCA8BC;AA7BmB,kBAAK,GAAG;IACpB,IAAI,EAAE,GAAG,yBAAa,CAAC,aAAa,UAAU;IAC9C,KAAK,EAAE,GAAG,yBAAa,CAAC,YAAY,UAAU;CACjD,CAAC;AAEc,oBAAO,GAAG;IACtB,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE;IAC3C,UAAU,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;IAC9B,mBAAmB,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;IACxC,YAAY,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;IAChC,UAAU,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE;IAC5B,UAAU,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE;IAC5B,UAAU,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE;IAC5B,YAAY,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;CACnC,CAAC;AAEc,oBAAO,GAAG;IACtB,mBAAmB,EAAE;QACjB,IAAI,EAAE,2BAA2B;QACjC,OAAO,EAAE,CAAC,UAAU,EAAE,YAAY,CAAC;KACtC;IACD,gBAAgB,EAAE;QACd,IAAI,EAAE,0BAA0B;QAChC,OAAO,EAAE,CAAC,YAAY,CAAC;KAC1B;CACJ,CAAC;AAEc,mBAAM,GAAG,yBAAa,CAAC,uBAAuB,CAAC;AAC/C,oBAAO,GAAG,IAAI,CAAC"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=adminRepository.interface.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"adminRepository.interface.js","sourceRoot":"","sources":["../../../../src/sharing/interfaces/adminRepository.interface.ts"],"names":[],"mappings":""}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=organizationRepository.interface.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"organizationRepository.interface.js","sourceRoot":"","sources":["../../../../src/sharing/interfaces/organizationRepository.interface.ts"],"names":[],"mappings":""}
@@ -0,0 +1,47 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ var __param = (this && this.__param) || function (paramIndex, decorator) {
12
+ return function (target, key) { decorator(target, key, paramIndex); }
13
+ };
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ const tsyringe_1 = require("tsyringe");
16
+ let CheckAppAccess = class CheckAppAccess {
17
+ constructor(adminRepository) {
18
+ this.adminRepository = adminRepository;
19
+ }
20
+ //TODO Need Test
21
+ async execute({ appId, userId, }) {
22
+ // If no user is available, block access by default
23
+ if (!userId)
24
+ return {
25
+ hasAccess: false,
26
+ };
27
+ // Fetch application status and global platform configuration in parallel
28
+ const appInfo = await this.adminRepository.getApplicationInfo({
29
+ appId,
30
+ userId,
31
+ });
32
+ if (appInfo.status !== 200)
33
+ return {
34
+ hasAccess: false,
35
+ };
36
+ return {
37
+ hasAccess: true,
38
+ };
39
+ }
40
+ };
41
+ CheckAppAccess = __decorate([
42
+ (0, tsyringe_1.injectable)(),
43
+ __param(0, (0, tsyringe_1.inject)('AdminRepository')),
44
+ __metadata("design:paramtypes", [Object])
45
+ ], CheckAppAccess);
46
+ exports.default = CheckAppAccess;
47
+ //# sourceMappingURL=checkAppAccess.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"checkAppAccess.js","sourceRoot":"","sources":["../../../../src/sharing/services/checkAppAccess.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,uCAA8C;AAM/B,IAAM,cAAc,GAApB,MAAM,cAAc;IAC/B,YAEqB,eAAyC;QAAzC,oBAAe,GAAf,eAAe,CAA0B;IAC3D,CAAC;IAEJ,gBAAgB;IAChB,KAAK,CAAC,OAAO,CAAC,EACV,KAAK,EACL,MAAM,GAIT;QACG,mDAAmD;QACnD,IAAI,CAAC,MAAM;YACP,OAAO;gBACH,SAAS,EAAE,KAAK;aACnB,CAAC;QAEN,yEAAyE;QACzE,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,kBAAkB,CAAC;YAC1D,KAAK;YACL,MAAM;SACT,CAAC,CAAC;QAEH,IAAI,OAAO,CAAC,MAAM,KAAK,GAAG;YACtB,OAAO;gBACH,SAAS,EAAE,KAAK;aACnB,CAAC;QAEN,OAAO;YACH,SAAS,EAAE,IAAI;SAClB,CAAC;IACN,CAAC;CACJ,CAAA;AAnCoB,cAAc;IADlC,IAAA,qBAAU,GAAE;IAGJ,WAAA,IAAA,iBAAM,EAAC,iBAAiB,CAAC,CAAA;;GAFb,cAAc,CAmClC;kBAnCoB,cAAc"}
@@ -0,0 +1,36 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ var __param = (this && this.__param) || function (paramIndex, decorator) {
12
+ return function (target, key) { decorator(target, key, paramIndex); }
13
+ };
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ const tsyringe_1 = require("tsyringe");
16
+ const constants_1 = require("../../common/constants");
17
+ let CheckOrgPermissions = class CheckOrgPermissions {
18
+ constructor(organizationRepository) {
19
+ this.organizationRepository = organizationRepository;
20
+ }
21
+ //TODO Need Tes
22
+ async execute({ orgId, }) {
23
+ const hasPublicAccess = await this.organizationRepository.getOne(orgId);
24
+ const privacy = (hasPublicAccess === null || hasPublicAccess === void 0 ? void 0 : hasPublicAccess.effective_asset_sharing)
25
+ ? constants_1.APP_SHARING_STATUS.PRIVATE
26
+ : constants_1.APP_SHARING_STATUS.PUBLIC;
27
+ return { privacy };
28
+ }
29
+ };
30
+ CheckOrgPermissions = __decorate([
31
+ (0, tsyringe_1.injectable)(),
32
+ __param(0, (0, tsyringe_1.inject)('OrganizationRepository')),
33
+ __metadata("design:paramtypes", [Object])
34
+ ], CheckOrgPermissions);
35
+ exports.default = CheckOrgPermissions;
36
+ //# sourceMappingURL=checkOrgPermissions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"checkOrgPermissions.js","sourceRoot":"","sources":["../../../../src/sharing/services/checkOrgPermissions.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,uCAA8C;AAE9C,sDAA4D;AAI7C,IAAM,mBAAmB,GAAzB,MAAM,mBAAmB;IACpC,YAEqB,sBAAuD;QAAvD,2BAAsB,GAAtB,sBAAsB,CAAiC;IACzE,CAAC;IAEJ,eAAe;IACf,KAAK,CAAC,OAAO,CAAC,EACV,KAAK,GAGR;QACG,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,sBAAsB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACxE,MAAM,OAAO,GAAG,CAAA,eAAe,aAAf,eAAe,uBAAf,eAAe,CAAE,uBAAuB;YACpD,CAAC,CAAC,8BAAkB,CAAC,OAAO;YAC5B,CAAC,CAAC,8BAAkB,CAAC,MAAM,CAAC;QAEhC,OAAO,EAAE,OAAO,EAAE,CAAC;IACvB,CAAC;CACJ,CAAA;AAnBoB,mBAAmB;IADvC,IAAA,qBAAU,GAAE;IAGJ,WAAA,IAAA,iBAAM,EAAC,wBAAwB,CAAC,CAAA;;GAFpB,mBAAmB,CAmBvC;kBAnBoB,mBAAmB"}
@@ -5,6 +5,9 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
5
5
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
6
  return c > 3 && r && Object.defineProperty(target, key, r), r;
7
7
  };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
8
11
  var __param = (this && this.__param) || function (paramIndex, decorator) {
9
12
  return function (target, key) { decorator(target, key, paramIndex); }
10
13
  };
@@ -12,26 +15,44 @@ Object.defineProperty(exports, "__esModule", { value: true });
12
15
  exports.CheckUserAccessLevel = void 0;
13
16
  const tsyringe_1 = require("tsyringe");
14
17
  const constants_1 = require("../../common/constants");
18
+ const util_1 = require("../../common/util");
15
19
  const index_1 = require("../../index");
16
20
  const details_1 = require("../entities/details");
17
21
  let CheckUserAccessLevel = class CheckUserAccessLevel {
18
- constructor(detailsRepository) {
22
+ constructor(detailsRepository, organizationRepository) {
19
23
  this.detailsRepository = detailsRepository;
24
+ this.organizationRepository = organizationRepository;
20
25
  }
21
- async execute({ userId, assetId, clientId, loginType, roles, orgId, }) {
26
+ async execute({ userId, assetId, assetOrgId, clientId, loginType, roles, orgId, }) {
27
+ var _a;
22
28
  const user = await (0, index_1.fromTokenToUser)({
23
29
  body: { userId, clientId, roles, orgId, loginType },
24
30
  });
31
+ if ((0, util_1.isAnonymousUser)(user.userId))
32
+ return { level: constants_1.ACCESS_LEVEL.CAN_USE, levelAsText: 'CAN_USE' };
33
+ const currentUserOrgId = user.orgId || constants_1.ORGANIZATION_QRVEY;
34
+ const orgsId = await this.organizationRepository.getOrgTree(currentUserOrgId, index_1.HIERARCHY_SCOPE.BOTH);
35
+ const isAdmin = await (0, index_1.hasAdminRole)(user);
36
+ if (isAdmin) {
37
+ const isSuperAdmin = currentUserOrgId === constants_1.ORGANIZATION_QRVEY;
38
+ const isSameOrg = currentUserOrgId === assetOrgId;
39
+ const isChildOrg = ((_a = orgsId === null || orgsId === void 0 ? void 0 : orgsId.childrenIds) === null || _a === void 0 ? void 0 : _a.includes(assetOrgId)) || false;
40
+ if (isSuperAdmin || isSameOrg || isChildOrg) {
41
+ return { level: constants_1.ACCESS_LEVEL.ADMIN, levelAsText: 'ADMIN' };
42
+ }
43
+ }
44
+ orgsId.parentIds.push(currentUserOrgId);
25
45
  const details = await this.detailsRepository.getList({
26
- data: { assetId, user },
46
+ data: { assetId, user, parentOrgIds: orgsId.parentIds },
27
47
  sorting: [{ column: 'access_level', direction: 'DESC' }],
28
48
  });
29
49
  if (details.items.length === 0)
30
50
  return { level: constants_1.ACCESS_LEVEL.NONE, levelAsText: 'NONE' };
31
51
  const priority = {
32
- [constants_1.SHARE_TYPE.USER]: 3,
33
- [constants_1.SHARE_TYPE.ROLE]: 2,
34
- [constants_1.SHARE_TYPE.ORGANIZATION]: 1,
52
+ [constants_1.SHARE_TYPE.USER]: 4,
53
+ [constants_1.SHARE_TYPE.ROLE]: 3,
54
+ [constants_1.SHARE_TYPE.ORGANIZATION]: 2,
55
+ [constants_1.SHARE_TYPE.TENANT]: 1,
35
56
  };
36
57
  const priorityDetail = details.items.reduce((best, current) => {
37
58
  const bestPriority = priority[best.shared_type];
@@ -53,6 +74,8 @@ let CheckUserAccessLevel = class CheckUserAccessLevel {
53
74
  exports.CheckUserAccessLevel = CheckUserAccessLevel;
54
75
  exports.CheckUserAccessLevel = CheckUserAccessLevel = __decorate([
55
76
  (0, tsyringe_1.injectable)(),
56
- __param(0, (0, tsyringe_1.inject)('SharingDetailsRepository'))
77
+ __param(0, (0, tsyringe_1.inject)('SharingDetailsRepository')),
78
+ __param(1, (0, tsyringe_1.inject)('OrganizationRepository')),
79
+ __metadata("design:paramtypes", [Object, Object])
57
80
  ], CheckUserAccessLevel);
58
81
  //# sourceMappingURL=checkUserAccessLevel.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"checkUserAccessLevel.js","sourceRoot":"","sources":["../../../../src/sharing/services/checkUserAccessLevel.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,uCAA8C;AAE9C,sDAAkE;AAClE,uCAA8C;AAC9C,iDAAoD;AAI7C,IAAM,oBAAoB,GAA1B,MAAM,oBAAoB;IAC7B,YAEqB,iBAAoD;QAApD,sBAAiB,GAAjB,iBAAiB,CAAmC;IACtE,CAAC;IAEG,KAAK,CAAC,OAAO,CAAC,EACjB,MAAM,EACN,OAAO,EACP,QAAQ,EACR,SAAS,EACT,KAAK,EACL,KAAK,GAQR;QACG,MAAM,IAAI,GAAG,MAAM,IAAA,uBAAe,EAAC;YAC/B,IAAI,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE;SACtD,CAAC,CAAC;QACH,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC;YACjD,IAAI,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE;YACvB,OAAO,EAAE,CAAC,EAAE,MAAM,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC;SAC3D,CAAC,CAAC;QACH,IAAI,OAAO,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC;YAC1B,OAAO,EAAE,KAAK,EAAE,wBAAY,CAAC,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,CAAC;QAE7D,MAAM,QAAQ,GAAG;YACb,CAAC,sBAAU,CAAC,IAAI,CAAC,EAAE,CAAC;YACpB,CAAC,sBAAU,CAAC,IAAI,CAAC,EAAE,CAAC;YACpB,CAAC,sBAAU,CAAC,YAAY,CAAC,EAAE,CAAC;SAC/B,CAAC;QACF,MAAM,cAAc,GAAG,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE;YAC1D,MAAM,YAAY,GAAG,QAAQ,CAAC,IAAI,CAAC,WAAyB,CAAC,CAAC;YAC9D,MAAM,eAAe,GAAG,QAAQ,CAAC,OAAO,CAAC,WAAyB,CAAC,CAAC;YACpE,MAAM,QAAQ,GACV,eAAe,GAAG,YAAY;gBAC9B,CAAC,eAAe,KAAK,YAAY;oBAC7B,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC,CAAC;YAElD,IAAI,QAAQ;gBAAE,OAAO,OAAO,CAAC;YAC7B,OAAO,IAAI,CAAC;QAChB,CAAC,CAAC,CAAC;QAEH,MAAM,aAAa,GAAG,uBAAa,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;QAC1D,OAAO;YACH,KAAK,EAAE,aAAa,CAAC,cAAc;YACnC,WAAW,EAAE,aAAa,CAAC,oBAAoB;SAClD,CAAC;IACN,CAAC;CACJ,CAAA;AAtDY,oDAAoB;+BAApB,oBAAoB;IADhC,IAAA,qBAAU,GAAE;IAGJ,WAAA,IAAA,iBAAM,EAAC,0BAA0B,CAAC,CAAA;GAF9B,oBAAoB,CAsDhC"}
1
+ {"version":3,"file":"checkUserAccessLevel.js","sourceRoot":"","sources":["../../../../src/sharing/services/checkUserAccessLevel.ts"],"names":[],"mappings":"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"}
@@ -5,6 +5,9 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
5
5
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
6
  return c > 3 && r && Object.defineProperty(target, key, r), r;
7
7
  };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
8
11
  var __param = (this && this.__param) || function (paramIndex, decorator) {
9
12
  return function (target, key) { decorator(target, key, paramIndex); }
10
13
  };
@@ -27,6 +30,7 @@ let DeleteSharing = class DeleteSharing {
27
30
  exports.DeleteSharing = DeleteSharing;
28
31
  exports.DeleteSharing = DeleteSharing = __decorate([
29
32
  (0, tsyringe_1.injectable)(),
30
- __param(0, (0, tsyringe_1.inject)('SharingRepository'))
33
+ __param(0, (0, tsyringe_1.inject)('SharingRepository')),
34
+ __metadata("design:paramtypes", [Object])
31
35
  ], DeleteSharing);
32
36
  //# sourceMappingURL=delete.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"delete.js","sourceRoot":"","sources":["../../../../src/sharing/services/delete.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,uCAA8C;AASvC,IAAM,aAAa,GAAnB,MAAM,aAAa;IACtB,YAEqB,iBAA6C;QAA7C,sBAAiB,GAAjB,iBAAiB,CAA4B;IAC/D,CAAC;IAEG,KAAK,CAAC,OAAO,CAAC,EAAE,IAAI,EAAoB;QAC3C,MAAM,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;QACzB,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAE7D,IAAI,CAAC,OAAO;YAAE,OAAO,IAAI,CAAC;QAC1B,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QACnE,OAAO,aAAa,CAAC;IACzB,CAAC;CACJ,CAAA;AAdY,sCAAa;wBAAb,aAAa;IADzB,IAAA,qBAAU,GAAE;IAGJ,WAAA,IAAA,iBAAM,EAAC,mBAAmB,CAAC,CAAA;GAFvB,aAAa,CAczB"}
1
+ {"version":3,"file":"delete.js","sourceRoot":"","sources":["../../../../src/sharing/services/delete.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,uCAA8C;AASvC,IAAM,aAAa,GAAnB,MAAM,aAAa;IACtB,YAEqB,iBAA6C;QAA7C,sBAAiB,GAAjB,iBAAiB,CAA4B;IAC/D,CAAC;IAEG,KAAK,CAAC,OAAO,CAAC,EAAE,IAAI,EAAoB;QAC3C,MAAM,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;QACzB,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAE7D,IAAI,CAAC,OAAO;YAAE,OAAO,IAAI,CAAC;QAC1B,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QACnE,OAAO,aAAa,CAAC;IACzB,CAAC;CACJ,CAAA;AAdY,sCAAa;wBAAb,aAAa;IADzB,IAAA,qBAAU,GAAE;IAGJ,WAAA,IAAA,iBAAM,EAAC,mBAAmB,CAAC,CAAA;;GAFvB,aAAa,CAczB"}
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ var __param = (this && this.__param) || function (paramIndex, decorator) {
12
+ return function (target, key) { decorator(target, key, paramIndex); }
13
+ };
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ const tsyringe_1 = require("tsyringe");
16
+ const orgTreeResult_1 = require("../entities/types/orgTreeResult");
17
+ let GetOrgTree = class GetOrgTree {
18
+ constructor(organizationRepository) {
19
+ this.organizationRepository = organizationRepository;
20
+ }
21
+ async execute(orgId, scope) {
22
+ return this.organizationRepository.getOrgTree(orgId, scope !== null && scope !== void 0 ? scope : orgTreeResult_1.HIERARCHY_SCOPE.BOTH);
23
+ }
24
+ };
25
+ GetOrgTree = __decorate([
26
+ (0, tsyringe_1.injectable)(),
27
+ __param(0, (0, tsyringe_1.inject)('OrganizationRepository')),
28
+ __metadata("design:paramtypes", [Object])
29
+ ], GetOrgTree);
30
+ exports.default = GetOrgTree;
31
+ //# sourceMappingURL=getOrgTree.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getOrgTree.js","sourceRoot":"","sources":["../../../../src/sharing/services/getOrgTree.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,uCAA8C;AAE9C,mEAGyC;AAI1B,IAAM,UAAU,GAAhB,MAAM,UAAU;IAC3B,YAEqB,sBAAuD;QAAvD,2BAAsB,GAAtB,sBAAsB,CAAiC;IACzE,CAAC;IAEJ,KAAK,CAAC,OAAO,CACT,KAAa,EACb,KAAuB;QAEvB,OAAO,IAAI,CAAC,sBAAsB,CAAC,UAAU,CACzC,KAAK,EACL,KAAK,aAAL,KAAK,cAAL,KAAK,GAAI,+BAAe,CAAC,IAAI,CAChC,CAAC;IACN,CAAC;CACJ,CAAA;AAfoB,UAAU;IAD9B,IAAA,qBAAU,GAAE;IAGJ,WAAA,IAAA,iBAAM,EAAC,wBAAwB,CAAC,CAAA;;GAFpB,UAAU,CAe9B;kBAfoB,UAAU"}
@@ -5,6 +5,9 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
5
5
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
6
  return c > 3 && r && Object.defineProperty(target, key, r), r;
7
7
  };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
8
11
  var __param = (this && this.__param) || function (paramIndex, decorator) {
9
12
  return function (target, key) { decorator(target, key, paramIndex); }
10
13
  };
@@ -39,6 +42,7 @@ exports.ListSharing = ListSharing;
39
42
  exports.ListSharing = ListSharing = __decorate([
40
43
  (0, tsyringe_1.injectable)(),
41
44
  __param(0, (0, tsyringe_1.inject)('SharingRepository')),
42
- __param(1, (0, tsyringe_1.inject)('SharingDetailsRepository'))
45
+ __param(1, (0, tsyringe_1.inject)('SharingDetailsRepository')),
46
+ __metadata("design:paramtypes", [Object, Object])
43
47
  ], ListSharing);
44
48
  //# sourceMappingURL=list.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"list.js","sourceRoot":"","sources":["../../../../src/sharing/services/list.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,uCAA8C;AAG9C,iDAAoD;AAU7C,IAAM,WAAW,GAAjB,MAAM,WAAW;IACpB,YAEqB,iBAA6C,EAE7C,iBAAoD;QAFpD,sBAAiB,GAAjB,iBAAiB,CAA4B;QAE7C,sBAAiB,GAAjB,iBAAiB,CAAmC;IACtE,CAAC;IAEG,KAAK,CAAC,OAAO,CAAC,EACjB,IAAI,GAGP;;QACG,MAAM,EACF,IAAI,EAAE,EAAE,OAAO,EAAE,EACjB,UAAU,GACb,GAAG,IAAI,CAAC;QACT,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAE7D,IAAI,CAAC,OAAO;YAAE,OAAO,IAAI,CAAC;QAE1B,MAAM,OAAO,GACT,IAAI,CAAC,OAAO,IAAI,CAAA,MAAA,IAAI,CAAC,OAAO,0CAAE,MAAM,IAAG,CAAC;YACpC,CAAC,CAAC,IAAI,CAAC,OAAO;YACd,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,YAAY,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC;QAEvD,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC;YACvD,IAAI,EAAE,EAAE,OAAO,EAAE;YACjB,UAAU;YACV,OAAO;SACV,CAAC,CAAC;QACH,MAAM,KAAK,GAAG,aAAa,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAC3C,uBAAa,CAAC,KAAK,CAAC,IAA2B,CAAC,CAAC,MAAM,EAAE,CAC5D,CAAC;QACF,uCACO,aAAa,KAChB,KAAK,IACP;IACN,CAAC;CACJ,CAAA;AAvCY,kCAAW;sBAAX,WAAW;IADvB,IAAA,qBAAU,GAAE;IAGJ,WAAA,IAAA,iBAAM,EAAC,mBAAmB,CAAC,CAAA;IAE3B,WAAA,IAAA,iBAAM,EAAC,0BAA0B,CAAC,CAAA;GAJ9B,WAAW,CAuCvB"}
1
+ {"version":3,"file":"list.js","sourceRoot":"","sources":["../../../../src/sharing/services/list.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,uCAA8C;AAG9C,iDAAoD;AAU7C,IAAM,WAAW,GAAjB,MAAM,WAAW;IACpB,YAEqB,iBAA6C,EAE7C,iBAAoD;QAFpD,sBAAiB,GAAjB,iBAAiB,CAA4B;QAE7C,sBAAiB,GAAjB,iBAAiB,CAAmC;IACtE,CAAC;IAEG,KAAK,CAAC,OAAO,CAAC,EACjB,IAAI,GAGP;;QACG,MAAM,EACF,IAAI,EAAE,EAAE,OAAO,EAAE,EACjB,UAAU,GACb,GAAG,IAAI,CAAC;QACT,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAE7D,IAAI,CAAC,OAAO;YAAE,OAAO,IAAI,CAAC;QAE1B,MAAM,OAAO,GACT,IAAI,CAAC,OAAO,IAAI,CAAA,MAAA,IAAI,CAAC,OAAO,0CAAE,MAAM,IAAG,CAAC;YACpC,CAAC,CAAC,IAAI,CAAC,OAAO;YACd,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,YAAY,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC;QAEvD,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC;YACvD,IAAI,EAAE,EAAE,OAAO,EAAE;YACjB,UAAU;YACV,OAAO;SACV,CAAC,CAAC;QACH,MAAM,KAAK,GAAG,aAAa,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAC3C,uBAAa,CAAC,KAAK,CAAC,IAA2B,CAAC,CAAC,MAAM,EAAE,CAC5D,CAAC;QACF,uCACO,aAAa,KAChB,KAAK,IACP;IACN,CAAC;CACJ,CAAA;AAvCY,kCAAW;sBAAX,WAAW;IADvB,IAAA,qBAAU,GAAE;IAGJ,WAAA,IAAA,iBAAM,EAAC,mBAAmB,CAAC,CAAA;IAE3B,WAAA,IAAA,iBAAM,EAAC,0BAA0B,CAAC,CAAA;;GAJ9B,WAAW,CAuCvB"}
@@ -5,6 +5,9 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
5
5
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
6
  return c > 3 && r && Object.defineProperty(target, key, r), r;
7
7
  };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
8
11
  var __param = (this && this.__param) || function (paramIndex, decorator) {
9
12
  return function (target, key) { decorator(target, key, paramIndex); }
10
13
  };
@@ -100,10 +103,11 @@ let UpsertSharing = class UpsertSharing {
100
103
  if (detail.sharedOrigin === constants_1.SHARED_ORIGIN.EXTERNAL ||
101
104
  detail.sharedOrigin === constants_1.SHARED_ORIGIN.UNKNOWN)
102
105
  return true;
106
+ // NOTE: If more Internal Organization arrive, need to change this validation
103
107
  const isQrveyOrg = detail.sharedType === constants_1.SHARE_TYPE.ORGANIZATION &&
104
108
  detail.sharedWith === constants_1.ORGANIZATION_QRVEY;
105
109
  if (isQrveyOrg)
106
- return true; // NOTE: If more Internal Organization arrive, need to change this validation
110
+ return true;
107
111
  if (detail.sharedType === constants_1.SHARE_TYPE.USER) {
108
112
  const user = await this.userRepository.getOne(detail.sharedWith);
109
113
  if (user)
@@ -114,6 +118,10 @@ let UpsertSharing = class UpsertSharing {
114
118
  if (role)
115
119
  return true;
116
120
  }
121
+ // NOTE: Only TENANT with TENANT with is valid. If more tenant arrive, need to change this validation
122
+ if (detail.sharedType === constants_1.SHARE_TYPE.TENANT &&
123
+ detail.sharedWith === constants_1.SHARE_TYPE.TENANT)
124
+ return true;
117
125
  return false;
118
126
  }
119
127
  async removeDetails(list) {
@@ -130,6 +138,7 @@ exports.UpsertSharing = UpsertSharing = __decorate([
130
138
  __param(2, (0, tsyringe_1.inject)('dxRepository')),
131
139
  __param(3, (0, tsyringe_1.inject)('dmRepository')),
132
140
  __param(4, (0, tsyringe_1.inject)('UserRepository')),
133
- __param(5, (0, tsyringe_1.inject)('RoleRepository'))
141
+ __param(5, (0, tsyringe_1.inject)('RoleRepository')),
142
+ __metadata("design:paramtypes", [Object, Object, Object, Object, Object, Object])
134
143
  ], UpsertSharing);
135
144
  //# sourceMappingURL=upsert.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"upsert.js","sourceRoot":"","sources":["../../../../src/sharing/services/upsert.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"upsert.js","sourceRoot":"","sources":["../../../../src/sharing/services/upsert.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,71 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ var __param = (this && this.__param) || function (paramIndex, decorator) {
12
+ return function (target, key) { decorator(target, key, paramIndex); }
13
+ };
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ exports.SetDefaultSharing = void 0;
16
+ const tsyringe_1 = require("tsyringe");
17
+ const constants_1 = require("../../common/constants");
18
+ const details_1 = require("../entities/details");
19
+ const sharing_1 = require("../entities/sharing");
20
+ let SetDefaultSharing = class SetDefaultSharing {
21
+ constructor(sharingRepository, detailsRepository, adminRepository) {
22
+ this.sharingRepository = sharingRepository;
23
+ this.detailsRepository = detailsRepository;
24
+ this.adminRepository = adminRepository;
25
+ }
26
+ async execute({ assetId, assetType, orgId, sharedOrigin, }) {
27
+ const sharingRecord = await this.sharingRepository.getOne(assetId);
28
+ let currentSharing;
29
+ if (sharingRecord) {
30
+ currentSharing = sharing_1.Sharing.parse(sharingRecord);
31
+ }
32
+ else {
33
+ const createSharing = {
34
+ assetId,
35
+ assetType,
36
+ };
37
+ currentSharing = sharing_1.Sharing.create(createSharing);
38
+ await this.sharingRepository.create(currentSharing.toTable());
39
+ }
40
+ const sharingDetailsTenants = details_1.SharingDetail.create({
41
+ accessLevel: constants_1.ACCESS_LEVEL.CAN_USE,
42
+ assetId,
43
+ sharedOrigin: sharedOrigin,
44
+ sharedType: constants_1.SHARE_TYPE.TENANT,
45
+ sharedWith: 'TENANT',
46
+ orgId,
47
+ });
48
+ const sharingDetailsOrg = details_1.SharingDetail.create({
49
+ accessLevel: constants_1.ACCESS_LEVEL.CAN_EDIT,
50
+ assetId,
51
+ sharedOrigin: sharedOrigin,
52
+ sharedType: constants_1.SHARE_TYPE.ORGANIZATION,
53
+ sharedWith: orgId,
54
+ orgId,
55
+ });
56
+ await Promise.all([
57
+ this.detailsRepository.create(sharingDetailsTenants.toTable()),
58
+ this.detailsRepository.create(sharingDetailsOrg.toTable()),
59
+ ]);
60
+ return currentSharing;
61
+ }
62
+ };
63
+ exports.SetDefaultSharing = SetDefaultSharing;
64
+ exports.SetDefaultSharing = SetDefaultSharing = __decorate([
65
+ (0, tsyringe_1.injectable)(),
66
+ __param(0, (0, tsyringe_1.inject)('SharingRepository')),
67
+ __param(1, (0, tsyringe_1.inject)('SharingDetailsRepository')),
68
+ __param(2, (0, tsyringe_1.inject)('AdminRepository')),
69
+ __metadata("design:paramtypes", [Object, Object, Object])
70
+ ], SetDefaultSharing);
71
+ //# sourceMappingURL=upsertDefaultSharing.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"upsertDefaultSharing.js","sourceRoot":"","sources":["../../../../src/sharing/services/upsertDefaultSharing.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,uCAA8C;AAE9C,sDAKgC;AAChC,iDAAoD;AACpD,iDAA8C;AAMvC,IAAM,iBAAiB,GAAvB,MAAM,iBAAiB;IAC1B,YAEqB,iBAA6C,EAE7C,iBAAoD,EAEpD,eAAyC;QAJzC,sBAAiB,GAAjB,iBAAiB,CAA4B;QAE7C,sBAAiB,GAAjB,iBAAiB,CAAmC;QAEpD,oBAAe,GAAf,eAAe,CAA0B;IAC3D,CAAC;IAEG,KAAK,CAAC,OAAO,CAAC,EACjB,OAAO,EACP,SAAS,EACT,KAAK,EACL,YAAY,GAMf;QACG,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QACnE,IAAI,cAAuB,CAAC;QAE5B,IAAI,aAAa,EAAE,CAAC;YAChB,cAAc,GAAG,iBAAO,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;QAClD,CAAC;aAAM,CAAC;YACJ,MAAM,aAAa,GAAG;gBAClB,OAAO;gBACP,SAAS;aACZ,CAAC;YACF,cAAc,GAAG,iBAAO,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;YAE/C,MAAM,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,CAAC,CAAC;QAClE,CAAC;QAED,MAAM,qBAAqB,GAAG,uBAAa,CAAC,MAAM,CAAC;YAC/C,WAAW,EAAE,wBAAY,CAAC,OAAO;YACjC,OAAO;YACP,YAAY,EAAE,YAAY;YAC1B,UAAU,EAAE,sBAAU,CAAC,MAAM;YAC7B,UAAU,EAAE,QAAQ;YACpB,KAAK;SACR,CAAC,CAAC;QAEH,MAAM,iBAAiB,GAAG,uBAAa,CAAC,MAAM,CAAC;YAC3C,WAAW,EAAE,wBAAY,CAAC,QAAQ;YAClC,OAAO;YACP,YAAY,EAAE,YAAY;YAC1B,UAAU,EAAE,sBAAU,CAAC,YAAY;YACnC,UAAU,EAAE,KAAK;YACjB,KAAK;SACR,CAAC,CAAC;QAEH,MAAM,OAAO,CAAC,GAAG,CAAC;YACd,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,qBAAqB,CAAC,OAAO,EAAE,CAAC;YAC9D,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,iBAAiB,CAAC,OAAO,EAAE,CAAC;SAC7D,CAAC,CAAC;QAEH,OAAO,cAAc,CAAC;IAC1B,CAAC;CACJ,CAAA;AA7DY,8CAAiB;4BAAjB,iBAAiB;IAD7B,IAAA,qBAAU,GAAE;IAGJ,WAAA,IAAA,iBAAM,EAAC,mBAAmB,CAAC,CAAA;IAE3B,WAAA,IAAA,iBAAM,EAAC,0BAA0B,CAAC,CAAA;IAElC,WAAA,IAAA,iBAAM,EAAC,iBAAiB,CAAC,CAAA;;GANrB,iBAAiB,CA6D7B"}
@@ -1 +1 @@
1
- {"root":["../../src/index.ts"],"version":"5.7.3"}
1
+ {"root":["../../src/index.ts"],"version":"5.9.3"}