@qrvey/assets-sharing 0.3.3 → 0.3.4-beta.2501

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 (86) hide show
  1. package/dist/cjs/common/constants.js +23 -1
  2. package/dist/cjs/common/constants.js.map +1 -1
  3. package/dist/cjs/context.js +4 -0
  4. package/dist/cjs/context.js.map +1 -1
  5. package/dist/cjs/index.js +21 -1
  6. package/dist/cjs/index.js.map +1 -1
  7. package/dist/cjs/quser/services/hasAdminRole.js +9 -5
  8. package/dist/cjs/quser/services/hasAdminRole.js.map +1 -1
  9. package/dist/cjs/sharing/entities/details.js.map +1 -1
  10. package/dist/cjs/sharing/entities/sharing.js +12 -0
  11. package/dist/cjs/sharing/entities/sharing.js.map +1 -1
  12. package/dist/cjs/sharing/entities/types/orgTreeResult.js +10 -0
  13. package/dist/cjs/sharing/entities/types/orgTreeResult.js.map +1 -0
  14. package/dist/cjs/sharing/entities/types/organization.type.js +3 -0
  15. package/dist/cjs/sharing/entities/types/organization.type.js.map +1 -0
  16. package/dist/cjs/sharing/implementations/admin.repository.js +47 -0
  17. package/dist/cjs/sharing/implementations/admin.repository.js.map +1 -0
  18. package/dist/cjs/sharing/implementations/organization.model.js +31 -0
  19. package/dist/cjs/sharing/implementations/organization.model.js.map +1 -0
  20. package/dist/cjs/sharing/implementations/organization.repository.js +73 -0
  21. package/dist/cjs/sharing/implementations/organization.repository.js.map +1 -0
  22. package/dist/cjs/sharing/implementations/sharing.model.js +4 -2
  23. package/dist/cjs/sharing/implementations/sharing.model.js.map +1 -1
  24. package/dist/cjs/sharing/interfaces/adminRepository.interface.js +3 -0
  25. package/dist/cjs/sharing/interfaces/adminRepository.interface.js.map +1 -0
  26. package/dist/cjs/sharing/interfaces/organizationRepository.interface.js +3 -0
  27. package/dist/cjs/sharing/interfaces/organizationRepository.interface.js.map +1 -0
  28. package/dist/cjs/sharing/services/checkAppAccess.js +43 -0
  29. package/dist/cjs/sharing/services/checkAppAccess.js.map +1 -0
  30. package/dist/cjs/sharing/services/checkOrgPermissions.js +32 -0
  31. package/dist/cjs/sharing/services/checkOrgPermissions.js.map +1 -0
  32. package/dist/cjs/sharing/services/checkUserAccessLevel.js +4 -3
  33. package/dist/cjs/sharing/services/checkUserAccessLevel.js.map +1 -1
  34. package/dist/cjs/sharing/services/getOrgTree.js +27 -0
  35. package/dist/cjs/sharing/services/getOrgTree.js.map +1 -0
  36. package/dist/cjs/sharing/services/upsertDefaultSharing.js +51 -0
  37. package/dist/cjs/sharing/services/upsertDefaultSharing.js.map +1 -0
  38. package/dist/esm/index.mjs +313 -48
  39. package/dist/esm/index.mjs.map +1 -1
  40. package/dist/types/index.d.ts +118 -29
  41. package/package.json +58 -52
  42. package/.eslintrc +0 -88
  43. package/__test__/hasAdminRole.test.ts +0 -200
  44. package/jest.config.ts +0 -15
  45. package/src/common/common.type.ts +0 -33
  46. package/src/common/constants.ts +0 -47
  47. package/src/common/persistence/base.ts +0 -13
  48. package/src/common/persistence/poolClient.ts +0 -7
  49. package/src/common/util.ts +0 -8
  50. package/src/context.ts +0 -35
  51. package/src/index.ts +0 -38
  52. package/src/quser/entities/types/user.type.ts +0 -14
  53. package/src/quser/entities/user.ts +0 -31
  54. package/src/quser/implementations/group.model.ts +0 -18
  55. package/src/quser/implementations/group.repository.ts +0 -20
  56. package/src/quser/implementations/user.model.ts +0 -23
  57. package/src/quser/implementations/user.repository.ts +0 -35
  58. package/src/quser/interfaces/rolesRepository.interface.ts +0 -3
  59. package/src/quser/interfaces/userRepository.interface.ts +0 -10
  60. package/src/quser/services/fromTokenToUser.ts +0 -49
  61. package/src/quser/services/hasAdminRole.ts +0 -46
  62. package/src/sharing/entities/details.ts +0 -144
  63. package/src/sharing/entities/sharing.ts +0 -84
  64. package/src/sharing/entities/types/details.type.ts +0 -58
  65. package/src/sharing/entities/types/sharing.type.ts +0 -24
  66. package/src/sharing/implementations/details.model.ts +0 -93
  67. package/src/sharing/implementations/details.repository.ts +0 -154
  68. package/src/sharing/implementations/dm.model.ts +0 -21
  69. package/src/sharing/implementations/dm.repository.ts +0 -23
  70. package/src/sharing/implementations/dx.model.ts +0 -30
  71. package/src/sharing/implementations/dx.repository.ts +0 -22
  72. package/src/sharing/implementations/sharing.model.ts +0 -33
  73. package/src/sharing/implementations/sharing.repository.ts +0 -36
  74. package/src/sharing/interfaces/dashboardRepository.interface.ts +0 -3
  75. package/src/sharing/interfaces/detailsRepository.interface.ts +0 -60
  76. package/src/sharing/interfaces/downloadManagerRepository.interface.ts +0 -3
  77. package/src/sharing/interfaces/sharingRepository.interface.ts +0 -32
  78. package/src/sharing/services/checkUserAccessLevel.ts +0 -63
  79. package/src/sharing/services/delete.ts +0 -24
  80. package/src/sharing/services/list.ts +0 -53
  81. package/src/sharing/services/upsert.ts +0 -197
  82. package/tsconfig.cjs.json +0 -7
  83. package/tsconfig.json +0 -19
  84. package/tsup.config.cjs.ts +0 -11
  85. package/tsup.config.esm.ts +0 -12
  86. package/tsup.config.types.ts +0 -9
@@ -1,9 +1,11 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.LIMIT_PER_PAGE = exports.ACCESS_LEVEL = exports.SHARE_TYPE = exports.SHARED_ORIGIN = exports.ASSET_TYPE = exports.ORGANIZATION_QRVEY = exports.DATABASE_INFO = exports.ENVIRONMENT = void 0;
3
+ exports.LIMIT_PER_PAGE = exports.APP_SHARING_STATUS = exports.SHARING_MODE = exports.ACCESS_LEVEL = exports.SHARE_TYPE = exports.SHARED_ORIGIN = exports.ASSET_TYPE = exports.USER_ANONYMOUS = exports.ORGANIZATION_QRVEY = exports.DATABASE_INFO = exports.ENVIRONMENT = void 0;
4
4
  exports.ENVIRONMENT = {
5
5
  SERVER_PREFIX: process.env.SERVER_PREFIX,
6
6
  TABLE_PREFIX: process.env.TABLE_PREFIX,
7
+ DOMAIN: process.env.DOMAIN,
8
+ API_KEY: process.env.API_KEY,
7
9
  };
8
10
  exports.DATABASE_INFO = {
9
11
  DATA_PERSISTENCE_SCHEMA: 'admin',
@@ -11,6 +13,7 @@ exports.DATABASE_INFO = {
11
13
  TABLE_PREFIX: exports.ENVIRONMENT.TABLE_PREFIX,
12
14
  };
13
15
  exports.ORGANIZATION_QRVEY = 'org:0';
16
+ exports.USER_ANONYMOUS = 'anonymous';
14
17
  var ASSET_TYPE;
15
18
  (function (ASSET_TYPE) {
16
19
  ASSET_TYPE["DX"] = "DX";
@@ -27,6 +30,7 @@ var SHARE_TYPE;
27
30
  SHARE_TYPE["USER"] = "USER";
28
31
  SHARE_TYPE["ROLE"] = "ROLE";
29
32
  SHARE_TYPE["ORGANIZATION"] = "ORGANIZATION";
33
+ SHARE_TYPE["TENANTS"] = "TENANTS";
30
34
  })(SHARE_TYPE || (exports.SHARE_TYPE = SHARE_TYPE = {}));
31
35
  /**
32
36
  * Access levels for assets.
@@ -44,5 +48,23 @@ var ACCESS_LEVEL;
44
48
  ACCESS_LEVEL[ACCESS_LEVEL["CAN_EDIT"] = 2] = "CAN_EDIT";
45
49
  ACCESS_LEVEL[ACCESS_LEVEL["ADMIN"] = 4] = "ADMIN";
46
50
  })(ACCESS_LEVEL || (exports.ACCESS_LEVEL = ACCESS_LEVEL = {}));
51
+ /**
52
+ * Sharing Mode for assets.
53
+ * Those are calculated with Base 2, so:
54
+ * - PRIVATE = 0 (undefined)
55
+ * - SAME_AS_APP = 1 (2^0)
56
+ */
57
+ var SHARING_MODE;
58
+ (function (SHARING_MODE) {
59
+ SHARING_MODE[SHARING_MODE["PRIVATE"] = 0] = "PRIVATE";
60
+ SHARING_MODE[SHARING_MODE["SAME_AS_APP"] = 1] = "SAME_AS_APP";
61
+ SHARING_MODE[SHARING_MODE["SHARED"] = 2] = "SHARED";
62
+ })(SHARING_MODE || (exports.SHARING_MODE = SHARING_MODE = {}));
63
+ var APP_SHARING_STATUS;
64
+ (function (APP_SHARING_STATUS) {
65
+ APP_SHARING_STATUS["PUBLIC"] = "public";
66
+ APP_SHARING_STATUS["PRIVATE"] = "private";
67
+ APP_SHARING_STATUS["SHARED"] = "shared";
68
+ })(APP_SHARING_STATUS || (exports.APP_SHARING_STATUS = APP_SHARING_STATUS = {}));
47
69
  exports.LIMIT_PER_PAGE = 10;
48
70
  //# sourceMappingURL=constants.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/common/constants.ts"],"names":[],"mappings":";;;AAAa,QAAA,WAAW,GAAG;IACvB,aAAa,EAAE,OAAO,CAAC,GAAG,CAAC,aAAa;IACxC,YAAY,EAAE,OAAO,CAAC,GAAG,CAAC,YAAY;CACzC,CAAC;AAEW,QAAA,aAAa,GAAG;IACzB,uBAAuB,EAAE,OAAO;IAChC,aAAa,EAAE,mBAAW,CAAC,aAAa;IACxC,YAAY,EAAE,mBAAW,CAAC,YAAY;CACzC,CAAC;AAEW,QAAA,kBAAkB,GAAG,OAAO,CAAC;AAE1C,IAAY,UAGX;AAHD,WAAY,UAAU;IAClB,uBAAS,CAAA;IACT,uBAAS,CAAA;AACb,CAAC,EAHW,UAAU,0BAAV,UAAU,QAGrB;AAED,IAAY,aAIX;AAJD,WAAY,aAAa;IACrB,sCAAqB,CAAA;IACrB,sCAAqB,CAAA;IACrB,oCAAmB,CAAA;AACvB,CAAC,EAJW,aAAa,6BAAb,aAAa,QAIxB;AAED,IAAY,UAIX;AAJD,WAAY,UAAU;IAClB,2BAAa,CAAA;IACb,2BAAa,CAAA;IACb,2CAA6B,CAAA;AACjC,CAAC,EAJW,UAAU,0BAAV,UAAU,QAIrB;AAED;;;;;;;;GAQG;AACH,IAAY,YAKX;AALD,WAAY,YAAY;IACpB,+CAAQ,CAAA;IACR,qDAAW,CAAA;IACX,uDAAY,CAAA;IACZ,iDAAS,CAAA;AACb,CAAC,EALW,YAAY,4BAAZ,YAAY,QAKvB;AAEY,QAAA,cAAc,GAAG,EAAE,CAAC"}
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/common/constants.ts"],"names":[],"mappings":";;;AAAa,QAAA,WAAW,GAAG;IACvB,aAAa,EAAE,OAAO,CAAC,GAAG,CAAC,aAAa;IACxC,YAAY,EAAE,OAAO,CAAC,GAAG,CAAC,YAAY;IACtC,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,MAAM;IAC1B,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,OAAO;CAC/B,CAAC;AAEW,QAAA,aAAa,GAAG;IACzB,uBAAuB,EAAE,OAAO;IAChC,aAAa,EAAE,mBAAW,CAAC,aAAa;IACxC,YAAY,EAAE,mBAAW,CAAC,YAAY;CACzC,CAAC;AAEW,QAAA,kBAAkB,GAAG,OAAO,CAAC;AAE7B,QAAA,cAAc,GAAG,WAAW,CAAC;AAE1C,IAAY,UAGX;AAHD,WAAY,UAAU;IAClB,uBAAS,CAAA;IACT,uBAAS,CAAA;AACb,CAAC,EAHW,UAAU,0BAAV,UAAU,QAGrB;AAED,IAAY,aAIX;AAJD,WAAY,aAAa;IACrB,sCAAqB,CAAA;IACrB,sCAAqB,CAAA;IACrB,oCAAmB,CAAA;AACvB,CAAC,EAJW,aAAa,6BAAb,aAAa,QAIxB;AAED,IAAY,UAKX;AALD,WAAY,UAAU;IAClB,2BAAa,CAAA;IACb,2BAAa,CAAA;IACb,2CAA6B,CAAA;IAC7B,iCAAmB,CAAA;AACvB,CAAC,EALW,UAAU,0BAAV,UAAU,QAKrB;AAED;;;;;;;;GAQG;AACH,IAAY,YAKX;AALD,WAAY,YAAY;IACpB,+CAAQ,CAAA;IACR,qDAAW,CAAA;IACX,uDAAY,CAAA;IACZ,iDAAS,CAAA;AACb,CAAC,EALW,YAAY,4BAAZ,YAAY,QAKvB;AAED;;;;;GAKG;AACH,IAAY,YAIX;AAJD,WAAY,YAAY;IACpB,qDAAW,CAAA;IACX,6DAAe,CAAA;IACf,mDAAU,CAAA;AACd,CAAC,EAJW,YAAY,4BAAZ,YAAY,QAIvB;AAED,IAAY,kBAIX;AAJD,WAAY,kBAAkB;IAC1B,uCAAiB,CAAA;IACjB,yCAAmB,CAAA;IACnB,uCAAiB,CAAA;AACrB,CAAC,EAJW,kBAAkB,kCAAlB,kBAAkB,QAI7B;AAYY,QAAA,cAAc,GAAG,EAAE,CAAC"}
@@ -4,9 +4,11 @@ exports.Context = void 0;
4
4
  const tsyringe_1 = require("tsyringe");
5
5
  const group_repository_1 = require("./quser/implementations/group.repository");
6
6
  const user_repository_1 = require("./quser/implementations/user.repository");
7
+ const admin_repository_1 = require("./sharing/implementations/admin.repository");
7
8
  const details_repository_1 = require("./sharing/implementations/details.repository");
8
9
  const dm_repository_1 = require("./sharing/implementations/dm.repository");
9
10
  const dx_repository_1 = require("./sharing/implementations/dx.repository");
11
+ const organization_repository_1 = require("./sharing/implementations/organization.repository");
10
12
  const sharing_repository_1 = require("./sharing/implementations/sharing.repository");
11
13
  tsyringe_1.container.register('SharingRepository', sharing_repository_1.SharingRepository);
12
14
  tsyringe_1.container.register('SharingDetailsRepository', details_repository_1.SharingDetailsRepository);
@@ -14,5 +16,7 @@ tsyringe_1.container.register('UserRepository', user_repository_1.UserRepository
14
16
  tsyringe_1.container.register('RoleRepository', group_repository_1.GroupRepository);
15
17
  tsyringe_1.container.register('dxRepository', dx_repository_1.DashboardRepository);
16
18
  tsyringe_1.container.register('dmRepository', dm_repository_1.DownloadManagerRepository);
19
+ tsyringe_1.container.register('OrganizationRepository', organization_repository_1.OrganizationRepository);
20
+ tsyringe_1.container.register('AdminRepository', admin_repository_1.AdminRepository);
17
21
  exports.Context = tsyringe_1.container;
18
22
  //# sourceMappingURL=context.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"context.js","sourceRoot":"","sources":["../../src/context.ts"],"names":[],"mappings":";;;AAAA,uCAAqC;AAErC,+EAA2E;AAC3E,6EAAyE;AAGzE,qFAAwF;AACxF,2EAAoF;AACpF,2EAA8E;AAC9E,qFAAiF;AAMjF,oBAAS,CAAC,QAAQ,CACd,mBAAmB,EACnB,sCAAiB,CACpB,CAAC;AACF,oBAAS,CAAC,QAAQ,CACd,0BAA0B,EAC1B,6CAAwB,CAC3B,CAAC;AACF,oBAAS,CAAC,QAAQ,CAA0B,gBAAgB,EAAE,gCAAc,CAAC,CAAC;AAC9E,oBAAS,CAAC,QAAQ,CAA0B,gBAAgB,EAAE,kCAAe,CAAC,CAAC;AAC/E,oBAAS,CAAC,QAAQ,CACd,cAAc,EACd,mCAAmB,CACtB,CAAC;AACF,oBAAS,CAAC,QAAQ,CACd,cAAc,EACd,yCAAyB,CAC5B,CAAC;AAEW,QAAA,OAAO,GAAG,oBAAS,CAAC"}
1
+ {"version":3,"file":"context.js","sourceRoot":"","sources":["../../src/context.ts"],"names":[],"mappings":";;;AAAA,uCAAqC;AAErC,+EAA2E;AAC3E,6EAAyE;AAGzE,iFAA6E;AAC7E,qFAAwF;AACxF,2EAAoF;AACpF,2EAA8E;AAC9E,+FAA2F;AAC3F,qFAAiF;AAQjF,oBAAS,CAAC,QAAQ,CACd,mBAAmB,EACnB,sCAAiB,CACpB,CAAC;AACF,oBAAS,CAAC,QAAQ,CACd,0BAA0B,EAC1B,6CAAwB,CAC3B,CAAC;AACF,oBAAS,CAAC,QAAQ,CAA0B,gBAAgB,EAAE,gCAAc,CAAC,CAAC;AAC9E,oBAAS,CAAC,QAAQ,CAA0B,gBAAgB,EAAE,kCAAe,CAAC,CAAC;AAC/E,oBAAS,CAAC,QAAQ,CACd,cAAc,EACd,mCAAmB,CACtB,CAAC;AACF,oBAAS,CAAC,QAAQ,CACd,cAAc,EACd,yCAAyB,CAC5B,CAAC;AACF,oBAAS,CAAC,QAAQ,CACd,wBAAwB,EACxB,gDAAsB,CACzB,CAAC;AACF,oBAAS,CAAC,QAAQ,CACd,iBAAiB,EACjB,kCAAe,CAClB,CAAC;AAEW,QAAA,OAAO,GAAG,oBAAS,CAAC"}
package/dist/cjs/index.js CHANGED
@@ -1,14 +1,21 @@
1
1
  "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
2
5
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.SHARE_TYPE = exports.SHARED_ORIGIN = exports.ORGANIZATION_QRVEY = exports.ASSET_TYPE = exports.ACCESS_LEVEL = exports.hasAdminRole = exports.fromTokenToUser = exports.checkUserAccessLevel = exports.api = void 0;
6
+ exports.HIERARCHY_SCOPE = exports.SHARING_MODE = exports.USER_ANONYMOUS = exports.APP_SHARING_STATUS = exports.SHARE_TYPE = exports.SHARED_ORIGIN = exports.ORGANIZATION_QRVEY = exports.ASSET_TYPE = exports.ACCESS_LEVEL = exports.checkOrgPermissions = exports.upsertDefaultSharing = exports.hasAdminRole = exports.fromTokenToUser = exports.getOrgTree = exports.checkAppAccess = exports.checkUserAccessLevel = exports.api = void 0;
4
7
  require("reflect-metadata");
5
8
  const context_1 = require("./context");
6
9
  const fromTokenToUser_1 = require("./quser/services/fromTokenToUser");
7
10
  const hasAdminRole_1 = require("./quser/services/hasAdminRole");
11
+ const checkAppAccess_1 = __importDefault(require("./sharing/services/checkAppAccess"));
8
12
  const checkUserAccessLevel_1 = require("./sharing/services/checkUserAccessLevel");
9
13
  const delete_1 = require("./sharing/services/delete");
14
+ const getOrgTree_1 = __importDefault(require("./sharing/services/getOrgTree"));
10
15
  const list_1 = require("./sharing/services/list");
11
16
  const upsert_1 = require("./sharing/services/upsert");
17
+ const upsertDefaultSharing_1 = require("./sharing/services/upsertDefaultSharing");
18
+ const checkOrgPermissions_1 = __importDefault(require("./sharing/services/checkOrgPermissions"));
12
19
  exports.api = {
13
20
  upsert: (...args) => context_1.Context.resolve(upsert_1.UpsertSharing).execute(...args),
14
21
  list: (...args) => context_1.Context.resolve(list_1.ListSharing).execute(...args),
@@ -16,14 +23,27 @@ exports.api = {
16
23
  };
17
24
  const checkUserAccessLevel = (...args) => context_1.Context.resolve(checkUserAccessLevel_1.CheckUserAccessLevel).execute(...args);
18
25
  exports.checkUserAccessLevel = checkUserAccessLevel;
26
+ const checkAppAccess = (...args) => context_1.Context.resolve(checkAppAccess_1.default).execute(...args);
27
+ exports.checkAppAccess = checkAppAccess;
28
+ const getOrgTree = (...args) => context_1.Context.resolve(getOrgTree_1.default).execute(...args);
29
+ exports.getOrgTree = getOrgTree;
19
30
  const fromTokenToUser = (...args) => context_1.Context.resolve(fromTokenToUser_1.FromTokenToUser).execute(...args);
20
31
  exports.fromTokenToUser = fromTokenToUser;
21
32
  const hasAdminRole = (...args) => context_1.Context.resolve(hasAdminRole_1.HasAdminRole).execute(...args);
22
33
  exports.hasAdminRole = hasAdminRole;
34
+ const upsertDefaultSharing = (...args) => context_1.Context.resolve(upsertDefaultSharing_1.UpsertDefaultSharing).execute(...args);
35
+ exports.upsertDefaultSharing = upsertDefaultSharing;
36
+ const checkOrgPermissions = (...args) => context_1.Context.resolve(checkOrgPermissions_1.default).execute(...args);
37
+ exports.checkOrgPermissions = checkOrgPermissions;
23
38
  var constants_1 = require("./common/constants");
24
39
  Object.defineProperty(exports, "ACCESS_LEVEL", { enumerable: true, get: function () { return constants_1.ACCESS_LEVEL; } });
25
40
  Object.defineProperty(exports, "ASSET_TYPE", { enumerable: true, get: function () { return constants_1.ASSET_TYPE; } });
26
41
  Object.defineProperty(exports, "ORGANIZATION_QRVEY", { enumerable: true, get: function () { return constants_1.ORGANIZATION_QRVEY; } });
27
42
  Object.defineProperty(exports, "SHARED_ORIGIN", { enumerable: true, get: function () { return constants_1.SHARED_ORIGIN; } });
28
43
  Object.defineProperty(exports, "SHARE_TYPE", { enumerable: true, get: function () { return constants_1.SHARE_TYPE; } });
44
+ Object.defineProperty(exports, "APP_SHARING_STATUS", { enumerable: true, get: function () { return constants_1.APP_SHARING_STATUS; } });
45
+ Object.defineProperty(exports, "USER_ANONYMOUS", { enumerable: true, get: function () { return constants_1.USER_ANONYMOUS; } });
46
+ Object.defineProperty(exports, "SHARING_MODE", { enumerable: true, get: function () { return constants_1.SHARING_MODE; } });
47
+ var orgTreeResult_1 = require("./sharing/entities/types/orgTreeResult");
48
+ Object.defineProperty(exports, "HIERARCHY_SCOPE", { enumerable: true, get: function () { return orgTreeResult_1.HIERARCHY_SCOPE; } });
29
49
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;AAAA,4BAA0B;AAC1B,uCAAoC;AACpC,sEAAmE;AACnE,gEAA6D;AAC7D,kFAA+E;AAC/E,sDAA0D;AAC1D,kDAAsD;AACtD,sDAA0D;AAE7C,QAAA,GAAG,GAAG;IACf,MAAM,EAAE,CAAC,GAAG,IAA0C,EAAE,EAAE,CACtD,iBAAO,CAAC,OAAO,CAAC,sBAAa,CAAC,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC;IACnD,IAAI,EAAE,CAAC,GAAG,IAAwC,EAAE,EAAE,CAClD,iBAAO,CAAC,OAAO,CAAC,kBAAW,CAAC,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC;IACjD,MAAM,EAAE,CAAC,GAAG,IAA0C,EAAE,EAAE,CACtD,iBAAO,CAAC,OAAO,CAAC,sBAAa,CAAC,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC;CACtD,CAAC;AAEK,MAAM,oBAAoB,GAAG,CAChC,GAAG,IAAiD,EACtD,EAAE,CAAC,iBAAO,CAAC,OAAO,CAAC,2CAAoB,CAAC,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,CAAC;AAF/C,QAAA,oBAAoB,wBAE2B;AAErD,MAAM,eAAe,GAAG,CAC3B,GAAG,IAA4C,EACjD,EAAE,CAAC,iBAAO,CAAC,OAAO,CAAC,iCAAe,CAAC,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,CAAC;AAF1C,QAAA,eAAe,mBAE2B;AAEhD,MAAM,YAAY,GAAG,CAAC,GAAG,IAAyC,EAAE,EAAE,CACzE,iBAAO,CAAC,OAAO,CAAC,2BAAY,CAAC,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,CAAC;AADtC,QAAA,YAAY,gBAC0B;AAEnD,gDAM4B;AALxB,yGAAA,YAAY,OAAA;AACZ,uGAAA,UAAU,OAAA;AACV,+GAAA,kBAAkB,OAAA;AAClB,0GAAA,aAAa,OAAA;AACb,uGAAA,UAAU,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;AAAA,4BAA0B;AAC1B,uCAAoC;AACpC,sEAAmE;AACnE,gEAA6D;AAC7D,uFAA+D;AAC/D,kFAA+E;AAC/E,sDAA0D;AAC1D,+EAAuD;AACvD,kDAAsD;AACtD,sDAA0D;AAC1D,kFAA+E;AAC/E,iGAAyE;AAE5D,QAAA,GAAG,GAAG;IACf,MAAM,EAAE,CAAC,GAAG,IAA0C,EAAE,EAAE,CACtD,iBAAO,CAAC,OAAO,CAAC,sBAAa,CAAC,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC;IACnD,IAAI,EAAE,CAAC,GAAG,IAAwC,EAAE,EAAE,CAClD,iBAAO,CAAC,OAAO,CAAC,kBAAW,CAAC,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC;IACjD,MAAM,EAAE,CAAC,GAAG,IAA0C,EAAE,EAAE,CACtD,iBAAO,CAAC,OAAO,CAAC,sBAAa,CAAC,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC;CACtD,CAAC;AAEK,MAAM,oBAAoB,GAAG,CAChC,GAAG,IAAiD,EACtD,EAAE,CAAC,iBAAO,CAAC,OAAO,CAAC,2CAAoB,CAAC,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,CAAC;AAF/C,QAAA,oBAAoB,wBAE2B;AAErD,MAAM,cAAc,GAAG,CAC1B,GAAG,IAA2C,EAChD,EAAE,CAAC,iBAAO,CAAC,OAAO,CAAC,wBAAc,CAAC,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,CAAC;AAFzC,QAAA,cAAc,kBAE2B;AAE/C,MAAM,UAAU,GAAG,CAAC,GAAG,IAAuC,EAAE,EAAE,CACrE,iBAAO,CAAC,OAAO,CAAC,oBAAU,CAAC,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,CAAC;AADpC,QAAA,UAAU,cAC0B;AAE1C,MAAM,eAAe,GAAG,CAC3B,GAAG,IAA4C,EACjD,EAAE,CAAC,iBAAO,CAAC,OAAO,CAAC,iCAAe,CAAC,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,CAAC;AAF1C,QAAA,eAAe,mBAE2B;AAEhD,MAAM,YAAY,GAAG,CAAC,GAAG,IAAyC,EAAE,EAAE,CACzE,iBAAO,CAAC,OAAO,CAAC,2BAAY,CAAC,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,CAAC;AADtC,QAAA,YAAY,gBAC0B;AAE5C,MAAM,oBAAoB,GAAG,CAChC,GAAG,IAAiD,EACtD,EAAE,CAAC,iBAAO,CAAC,OAAO,CAAC,2CAAoB,CAAC,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,CAAC;AAF/C,QAAA,oBAAoB,wBAE2B;AAErD,MAAM,mBAAmB,GAAG,CAC/B,GAAG,IAAgD,EACrD,EAAE,CAAC,iBAAO,CAAC,OAAO,CAAC,6BAAmB,CAAC,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,CAAC;AAF9C,QAAA,mBAAmB,uBAE2B;AAE3D,gDAS4B;AARxB,yGAAA,YAAY,OAAA;AACZ,uGAAA,UAAU,OAAA;AACV,+GAAA,kBAAkB,OAAA;AAClB,0GAAA,aAAa,OAAA;AACb,uGAAA,UAAU,OAAA;AACV,+GAAA,kBAAkB,OAAA;AAClB,2GAAA,cAAc,OAAA;AACd,yGAAA,YAAY,OAAA;AAGhB,wEAAyE;AAAhE,gHAAA,eAAe,OAAA"}
@@ -20,18 +20,22 @@ let HasAdminRole = class HasAdminRole {
20
20
  async execute({ apiKey, clientId, orgId, userId, loginType, } = {}) {
21
21
  if (!userId)
22
22
  return false;
23
+ const existingUser = await this.userRepository.getOne(userId);
23
24
  const isMasterKey = apiKey && (orgId === undefined || orgId === constants_1.ORGANIZATION_QRVEY);
24
- if (isMasterKey)
25
+ if (isMasterKey && existingUser && (!clientId || clientId === userId))
26
+ return true;
27
+ const user = await this.userRepository.getList({
28
+ data: { identifier: clientId !== null && clientId !== void 0 ? clientId : userId, role: 'administrator' },
29
+ });
30
+ const isAdmin = user.items.length > 0;
31
+ if (isMasterKey && isAdmin)
25
32
  return true;
26
33
  const inComposer = (0, util_1.isComposer)(loginType || '');
27
34
  const isExternal = (!clientId && !inComposer) ||
28
35
  (orgId && orgId !== constants_1.ORGANIZATION_QRVEY);
29
36
  if (isExternal)
30
37
  return false;
31
- const user = await this.userRepository.getList({
32
- data: { identifier: clientId !== null && clientId !== void 0 ? clientId : userId, role: 'administrator' },
33
- });
34
- if (user.items.length > 0)
38
+ if (isAdmin)
35
39
  return true;
36
40
  return false;
37
41
  }
@@ -1 +1 @@
1
- {"version":3,"file":"hasAdminRole.js","sourceRoot":"","sources":["../../../../src/quser/services/hasAdminRole.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,uCAA8C;AAE9C,sDAA4D;AAC5D,4CAA+C;AAIxC,IAAM,YAAY,GAAlB,MAAM,YAAY;IACrB,YAEqB,cAAuC;QAAvC,mBAAc,GAAd,cAAc,CAAyB;IACzD,CAAC;IAEG,KAAK,CAAC,OAAO,CAAC,EACjB,MAAM,EACN,QAAQ,EACR,KAAK,EACL,MAAM,EACN,SAAS,MAOT,EAAE;QACF,IAAI,CAAC,MAAM;YAAE,OAAO,KAAK,CAAC;QAE1B,MAAM,WAAW,GACb,MAAM,IAAI,CAAC,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,8BAAkB,CAAC,CAAC;QACpE,IAAI,WAAW;YAAE,OAAO,IAAI,CAAC;QAE7B,MAAM,UAAU,GAAG,IAAA,iBAAU,EAAC,SAAS,IAAI,EAAE,CAAC,CAAC;QAC/C,MAAM,UAAU,GACZ,CAAC,CAAC,QAAQ,IAAI,CAAC,UAAU,CAAC;YAC1B,CAAC,KAAK,IAAI,KAAK,KAAK,8BAAkB,CAAC,CAAC;QAC5C,IAAI,UAAU;YAAE,OAAO,KAAK,CAAC;QAE7B,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC;YAC3C,IAAI,EAAE,EAAE,UAAU,EAAE,QAAQ,aAAR,QAAQ,cAAR,QAAQ,GAAI,MAAM,EAAE,IAAI,EAAE,eAAe,EAAE;SAClE,CAAC,CAAC;QACH,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC;YAAE,OAAO,IAAI,CAAC;QAEvC,OAAO,KAAK,CAAC;IACjB,CAAC;CACJ,CAAA;AAtCY,oCAAY;uBAAZ,YAAY;IADxB,IAAA,qBAAU,GAAE;IAGJ,WAAA,IAAA,iBAAM,EAAC,gBAAgB,CAAC,CAAA;GAFpB,YAAY,CAsCxB"}
1
+ {"version":3,"file":"hasAdminRole.js","sourceRoot":"","sources":["../../../../src/quser/services/hasAdminRole.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,uCAA8C;AAE9C,sDAA4D;AAC5D,4CAA+C;AAIxC,IAAM,YAAY,GAAlB,MAAM,YAAY;IACrB,YAEqB,cAAuC;QAAvC,mBAAc,GAAd,cAAc,CAAyB;IACzD,CAAC;IAEG,KAAK,CAAC,OAAO,CAAC,EACjB,MAAM,EACN,QAAQ,EACR,KAAK,EACL,MAAM,EACN,SAAS,MAOT,EAAE;QACF,IAAI,CAAC,MAAM;YAAE,OAAO,KAAK,CAAC;QAE1B,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAC9D,MAAM,WAAW,GACb,MAAM,IAAI,CAAC,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,8BAAkB,CAAC,CAAC;QACpE,IAAI,WAAW,IAAI,YAAY,IAAI,CAAC,CAAC,QAAQ,IAAI,QAAQ,KAAK,MAAM,CAAC;YACjE,OAAO,IAAI,CAAC;QAEhB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC;YAC3C,IAAI,EAAE,EAAE,UAAU,EAAE,QAAQ,aAAR,QAAQ,cAAR,QAAQ,GAAI,MAAM,EAAE,IAAI,EAAE,eAAe,EAAE;SAClE,CAAC,CAAC;QACH,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;QAEtC,IAAI,WAAW,IAAI,OAAO;YAAE,OAAO,IAAI,CAAC;QAExC,MAAM,UAAU,GAAG,IAAA,iBAAU,EAAC,SAAS,IAAI,EAAE,CAAC,CAAC;QAC/C,MAAM,UAAU,GACZ,CAAC,CAAC,QAAQ,IAAI,CAAC,UAAU,CAAC;YAC1B,CAAC,KAAK,IAAI,KAAK,KAAK,8BAAkB,CAAC,CAAC;QAC5C,IAAI,UAAU;YAAE,OAAO,KAAK,CAAC;QAE7B,IAAI,OAAO;YAAE,OAAO,IAAI,CAAC;QAEzB,OAAO,KAAK,CAAC;IACjB,CAAC;CACJ,CAAA;AA5CY,oCAAY;uBAAZ,YAAY;IADxB,IAAA,qBAAU,GAAE;IAGJ,WAAA,IAAA,iBAAM,EAAC,gBAAgB,CAAC,CAAA;GAFpB,YAAY,CA4CxB"}
@@ -1 +1 @@
1
- {"version":3,"file":"details.js","sourceRoot":"","sources":["../../../../src/sharing/entities/details.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"details.js","sourceRoot":"","sources":["../../../../src/sharing/entities/details.ts"],"names":[],"mappings":"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"}
@@ -3,11 +3,15 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.Sharing = void 0;
4
4
  class Sharing {
5
5
  constructor(params) {
6
+ var _a, _b;
6
7
  this.assetId = params.assetId;
7
8
  this.assetType = params.assetType;
8
9
  this.createdAt = params.createdAt;
9
10
  this.updatedAt = params.updatedAt;
10
11
  this.deletedAt = params.deletedAt;
12
+ this.sharingModeStatus =
13
+ (_a = params.sharingModeStatus) !== null && _a !== void 0 ? _a : true;
14
+ this.sharingMode = (_b = params.sharingMode) !== null && _b !== void 0 ? _b : null;
11
15
  }
12
16
  static create(params) {
13
17
  const now = new Date().toISOString();
@@ -33,6 +37,8 @@ class Sharing {
33
37
  created_at: this.createdAt,
34
38
  updated_at: this.updatedAt,
35
39
  deleted_at: this.deletedAt,
40
+ sharing_mode: this.sharingMode,
41
+ sharing_mode_status: this.sharingModeStatus,
36
42
  };
37
43
  }
38
44
  toPlain() {
@@ -52,6 +58,12 @@ class Sharing {
52
58
  updatedAt: this.updatedAt,
53
59
  };
54
60
  }
61
+ set setSharingModeStatus(sharingModeStatus) {
62
+ this.sharingModeStatus = sharingModeStatus;
63
+ }
64
+ set setSharingMode(sharingMode) {
65
+ this.sharingMode = sharingMode;
66
+ }
55
67
  get getAssetId() {
56
68
  return this.assetId;
57
69
  }
@@ -1 +1 @@
1
- {"version":3,"file":"sharing.js","sourceRoot":"","sources":["../../../../src/sharing/entities/sharing.ts"],"names":[],"mappings":";;;AAQA,MAAa,OAAO;IAOhB,YAAY,MAAmB;QAC3B,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;QAC9B,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC;QAClC,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC;QAClC,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC;QAClC,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC;IACtC,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,MAAqB;QAC/B,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QACrC,MAAM,GAAG,mCACF,MAAM,KACT,SAAS,EAAE,GAAG,EACd,SAAS,EAAE,GAAG,GACjB,CAAC;QACF,OAAO,IAAI,OAAO,CAAC,GAAG,CAAC,CAAC;IAC5B,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,MAAoB;QAC7B,OAAO,IAAI,OAAO,CAAC;YACf,OAAO,EAAE,MAAM,CAAC,QAAQ;YACxB,SAAS,EAAE,MAAM,CAAC,UAAwB;YAC1C,SAAS,EAAE,MAAM,CAAC,UAAU;YAC5B,SAAS,EAAE,MAAM,CAAC,UAAU;YAC5B,SAAS,EAAE,MAAM,CAAC,UAAU;SAC/B,CAAC,CAAC;IACP,CAAC;IAED,MAAM;QACF,IAAI,CAAC,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAC9C,CAAC;IAED,OAAO;QACH,OAAO;YACH,QAAQ,EAAE,IAAI,CAAC,OAAO;YACtB,UAAU,EAAE,IAAI,CAAC,SAAS;YAC1B,UAAU,EAAE,IAAI,CAAC,SAAS;YAC1B,UAAU,EAAE,IAAI,CAAC,SAAS;YAC1B,UAAU,EAAE,IAAI,CAAC,SAAS;SAC7B,CAAC;IACN,CAAC;IAED,OAAO;QACH,OAAO;YACH,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,SAAS,EAAE,IAAI,CAAC,SAAS;SAC5B,CAAC;IACN,CAAC;IAED,MAAM;QACF,OAAO;YACH,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,SAAS,EAAE,IAAI,CAAC,SAAS;SAC5B,CAAC;IACN,CAAC;IAED,IAAW,UAAU;QACjB,OAAO,IAAI,CAAC,OAAO,CAAC;IACxB,CAAC;IAED,IAAW,YAAY;QACnB,OAAO,IAAI,CAAC,SAAS,CAAC;IAC1B,CAAC;CACJ;AA3ED,0BA2EC"}
1
+ {"version":3,"file":"sharing.js","sourceRoot":"","sources":["../../../../src/sharing/entities/sharing.ts"],"names":[],"mappings":";;;AAQA,MAAa,OAAO;IAShB,YAAY,MAAmB;;QAC3B,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;QAC9B,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC;QAClC,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC;QAClC,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC;QAClC,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC;QAClC,IAAI,CAAC,iBAAiB;YAClB,MAAA,MAAM,CAAC,iBAAiB,mCAAI,IAAI,CAAC;QACrC,IAAI,CAAC,WAAW,GAAG,MAAA,MAAM,CAAC,WAAW,mCAAI,IAAI,CAAC;IAClD,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,MAAqB;QAC/B,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QACrC,MAAM,GAAG,mCACF,MAAM,KACT,SAAS,EAAE,GAAG,EACd,SAAS,EAAE,GAAG,GACjB,CAAC;QACF,OAAO,IAAI,OAAO,CAAC,GAAG,CAAC,CAAC;IAC5B,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,MAAoB;QAC7B,OAAO,IAAI,OAAO,CAAC;YACf,OAAO,EAAE,MAAM,CAAC,QAAQ;YACxB,SAAS,EAAE,MAAM,CAAC,UAAwB;YAC1C,SAAS,EAAE,MAAM,CAAC,UAAU;YAC5B,SAAS,EAAE,MAAM,CAAC,UAAU;YAC5B,SAAS,EAAE,MAAM,CAAC,UAAU;SAC/B,CAAC,CAAC;IACP,CAAC;IAED,MAAM;QACF,IAAI,CAAC,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAC9C,CAAC;IAED,OAAO;QACH,OAAO;YACH,QAAQ,EAAE,IAAI,CAAC,OAAO;YACtB,UAAU,EAAE,IAAI,CAAC,SAAS;YAC1B,UAAU,EAAE,IAAI,CAAC,SAAS;YAC1B,UAAU,EAAE,IAAI,CAAC,SAAS;YAC1B,UAAU,EAAE,IAAI,CAAC,SAAS;YAC1B,YAAY,EAAE,IAAI,CAAC,WAAW;YAC9B,mBAAmB,EAAE,IAAI,CAAC,iBAAiB;SAC9C,CAAC;IACN,CAAC;IAED,OAAO;QACH,OAAO;YACH,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,SAAS,EAAE,IAAI,CAAC,SAAS;SAC5B,CAAC;IACN,CAAC;IAED,MAAM;QACF,OAAO;YACH,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,SAAS,EAAE,IAAI,CAAC,SAAS;SAC5B,CAAC;IACN,CAAC;IAED,IAAW,oBAAoB,CAC3B,iBAA0B;QAE1B,IAAI,CAAC,iBAAiB,GAAG,iBAAiB,CAAC;IAC/C,CAAC;IAED,IAAW,cAAc,CAAC,WAAgC;QACtD,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;IACnC,CAAC;IAED,IAAW,UAAU;QACjB,OAAO,IAAI,CAAC,OAAO,CAAC;IACxB,CAAC;IAED,IAAW,YAAY;QACnB,OAAO,IAAI,CAAC,SAAS,CAAC;IAC1B,CAAC;CACJ;AA5FD,0BA4FC"}
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.HIERARCHY_SCOPE = void 0;
4
+ var HIERARCHY_SCOPE;
5
+ (function (HIERARCHY_SCOPE) {
6
+ HIERARCHY_SCOPE["CHILDREN"] = "children";
7
+ HIERARCHY_SCOPE["PARENTS"] = "parents";
8
+ HIERARCHY_SCOPE["BOTH"] = "both";
9
+ })(HIERARCHY_SCOPE || (exports.HIERARCHY_SCOPE = HIERARCHY_SCOPE = {}));
10
+ //# sourceMappingURL=orgTreeResult.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"orgTreeResult.js","sourceRoot":"","sources":["../../../../../src/sharing/entities/types/orgTreeResult.ts"],"names":[],"mappings":";;;AAAA,IAAY,eAIX;AAJD,WAAY,eAAe;IACvB,wCAAqB,CAAA;IACrB,sCAAmB,CAAA;IACnB,gCAAa,CAAA;AACjB,CAAC,EAJW,eAAe,+BAAf,eAAe,QAI1B"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=organization.type.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"organization.type.js","sourceRoot":"","sources":["../../../../../src/sharing/entities/types/organization.type.ts"],"names":[],"mappings":""}
@@ -0,0 +1,47 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.AdminRepository = void 0;
4
+ const utils_1 = require("@qrvey/utils");
5
+ const constants_1 = require("../../common/constants");
6
+ class AdminRepository {
7
+ async getApplicationInfo(body) {
8
+ var _a;
9
+ const url = `${constants_1.ENVIRONMENT.DOMAIN}/devapi/v4/user/${body.userId}/app/${body.appId}`;
10
+ const headers = {
11
+ 'x-api-key': constants_1.ENVIRONMENT.API_KEY,
12
+ };
13
+ const requestOptions = {
14
+ method: 'GET',
15
+ headers,
16
+ };
17
+ const response = await fetch(url, requestOptions);
18
+ const data = (await response.json());
19
+ return {
20
+ status: response.status,
21
+ data: {
22
+ userId: (_a = data === null || data === void 0 ? void 0 : data.userid) !== null && _a !== void 0 ? _a : body.userId,
23
+ appId: (0, utils_1.getAttribute)(data, 'appId'),
24
+ userEmail: (0, utils_1.getAttribute)(data, 'userEmail'),
25
+ },
26
+ };
27
+ }
28
+ async getPlatformConfiguration() {
29
+ var _a, _b, _c;
30
+ const url = `${constants_1.ENVIRONMENT.DOMAIN}/admin/api/v5/customization/features/platform`;
31
+ const headers = {
32
+ 'x-api-key': constants_1.ENVIRONMENT.API_KEY,
33
+ };
34
+ const requestOptions = {
35
+ method: 'GET',
36
+ headers,
37
+ };
38
+ const response = await fetch(url, requestOptions);
39
+ const data = (await response.json());
40
+ return {
41
+ status: response.status,
42
+ defaultSharingMode: (_c = (_b = (_a = data === null || data === void 0 ? void 0 : data.Item) === null || _a === void 0 ? void 0 : _a.settings) === null || _b === void 0 ? void 0 : _b.defaultSharingMode) !== null && _c !== void 0 ? _c : constants_1.SHARING_MODE.PRIVATE,
43
+ };
44
+ }
45
+ }
46
+ exports.AdminRepository = AdminRepository;
47
+ //# sourceMappingURL=admin.repository.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"admin.repository.js","sourceRoot":"","sources":["../../../../src/sharing/implementations/admin.repository.ts"],"names":[],"mappings":";;;AAAA,wCAA4C;AAE5C,sDAAmE;AAGnE,MAAa,eAAe;IACxB,KAAK,CAAC,kBAAkB,CAAC,IAAuC;;QAC5D,MAAM,GAAG,GAAG,GAAG,uBAAW,CAAC,MAAM,mBAAmB,IAAI,CAAC,MAAM,QAAQ,IAAI,CAAC,KAAK,EAAE,CAAC;QAEpF,MAAM,OAAO,GAAG;YACZ,WAAW,EAAE,uBAAW,CAAC,OAAiB;SAC7C,CAAC;QAEF,MAAM,cAAc,GAAgB;YAChC,MAAM,EAAE,KAAK;YACb,OAAO;SACV,CAAC;QAEF,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE,cAAc,CAAC,CAAC;QAElD,MAAM,IAAI,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAIlC,CAAC;QAEF,OAAO;YACH,MAAM,EAAE,QAAQ,CAAC,MAAM;YACvB,IAAI,EAAE;gBACF,MAAM,EAAE,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,MAAM,mCAAI,IAAI,CAAC,MAAM;gBACnC,KAAK,EAAE,IAAA,oBAAY,EAAC,IAAI,EAAE,OAAO,CAAC;gBAClC,SAAS,EAAE,IAAA,oBAAY,EAAC,IAAI,EAAE,WAAW,CAAC;aAC7C;SACJ,CAAC;IACN,CAAC;IAED,KAAK,CAAC,wBAAwB;;QAI1B,MAAM,GAAG,GAAG,GAAG,uBAAW,CAAC,MAAM,+CAA+C,CAAC;QAEjF,MAAM,OAAO,GAAG;YACZ,WAAW,EAAE,uBAAW,CAAC,OAAiB;SAC7C,CAAC;QAEF,MAAM,cAAc,GAAgB;YAChC,MAAM,EAAE,KAAK;YACb,OAAO;SACV,CAAC;QAEF,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE,cAAc,CAAC,CAAC;QAElD,MAAM,IAAI,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAMlC,CAAC;QACF,OAAO;YACH,MAAM,EAAE,QAAQ,CAAC,MAAM;YACvB,kBAAkB,EACd,MAAA,MAAA,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,IAAI,0CAAE,QAAQ,0CAAE,kBAAkB,mCACxC,wBAAY,CAAC,OAAO;SAC3B,CAAC;IACN,CAAC;CACJ;AA9DD,0CA8DC"}
@@ -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;QAGnB,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;AA5ED,wDA4EC"}
@@ -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,43 @@
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 __param = (this && this.__param) || function (paramIndex, decorator) {
9
+ return function (target, key) { decorator(target, key, paramIndex); }
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ const tsyringe_1 = require("tsyringe");
13
+ let CheckAppAccess = class CheckAppAccess {
14
+ constructor(adminRepository) {
15
+ this.adminRepository = adminRepository;
16
+ }
17
+ //TODO Need Test
18
+ async execute({ appId, userId, }) {
19
+ // If no user is available, block access by default
20
+ if (!userId)
21
+ return {
22
+ hasAccess: false,
23
+ };
24
+ // Fetch application status and global platform configuration in parallel
25
+ const appInfo = await this.adminRepository.getApplicationInfo({
26
+ appId,
27
+ userId,
28
+ });
29
+ if (appInfo.status !== 200)
30
+ return {
31
+ hasAccess: false,
32
+ };
33
+ return {
34
+ hasAccess: true,
35
+ };
36
+ }
37
+ };
38
+ CheckAppAccess = __decorate([
39
+ (0, tsyringe_1.injectable)(),
40
+ __param(0, (0, tsyringe_1.inject)('AdminRepository'))
41
+ ], CheckAppAccess);
42
+ exports.default = CheckAppAccess;
43
+ //# 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,32 @@
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 __param = (this && this.__param) || function (paramIndex, decorator) {
9
+ return function (target, key) { decorator(target, key, paramIndex); }
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ const tsyringe_1 = require("tsyringe");
13
+ const constants_1 = require("../../common/constants");
14
+ let CheckOrgPermissions = class CheckOrgPermissions {
15
+ constructor(organizationRepository) {
16
+ this.organizationRepository = organizationRepository;
17
+ }
18
+ //TODO Need Tes
19
+ async execute({ orgId, }) {
20
+ const hasPublicAccess = await this.organizationRepository.getOne(orgId);
21
+ const privacy = (hasPublicAccess === null || hasPublicAccess === void 0 ? void 0 : hasPublicAccess.effective_asset_sharing)
22
+ ? constants_1.APP_SHARING_STATUS.PRIVATE
23
+ : constants_1.APP_SHARING_STATUS.PUBLIC;
24
+ return { privacy };
25
+ }
26
+ };
27
+ CheckOrgPermissions = __decorate([
28
+ (0, tsyringe_1.injectable)(),
29
+ __param(0, (0, tsyringe_1.inject)('OrganizationRepository'))
30
+ ], CheckOrgPermissions);
31
+ exports.default = CheckOrgPermissions;
32
+ //# 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,sDAEgC;AAIjB,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"}
@@ -29,9 +29,10 @@ let CheckUserAccessLevel = class CheckUserAccessLevel {
29
29
  if (details.items.length === 0)
30
30
  return { level: constants_1.ACCESS_LEVEL.NONE, levelAsText: 'NONE' };
31
31
  const priority = {
32
- [constants_1.SHARE_TYPE.USER]: 3,
33
- [constants_1.SHARE_TYPE.ROLE]: 2,
34
- [constants_1.SHARE_TYPE.ORGANIZATION]: 1,
32
+ [constants_1.SHARE_TYPE.USER]: 4,
33
+ [constants_1.SHARE_TYPE.ROLE]: 3,
34
+ [constants_1.SHARE_TYPE.ORGANIZATION]: 2,
35
+ [constants_1.SHARE_TYPE.TENANTS]: 1
35
36
  };
36
37
  const priorityDetail = details.items.reduce((best, current) => {
37
38
  const bestPriority = priority[best.shared_type];
@@ -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":";;;;;;;;;;;;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;YAC5B,CAAC,sBAAU,CAAC,OAAO,CAAC,EAAE,CAAC;SAC1B,CAAC;QAEF,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;AAxDY,oDAAoB;+BAApB,oBAAoB;IADhC,IAAA,qBAAU,GAAE;IAGJ,WAAA,IAAA,iBAAM,EAAC,0BAA0B,CAAC,CAAA;GAF9B,oBAAoB,CAwDhC"}