@qrvey/assets-sharing 0.3.4-dev.2092 → 0.3.4-dev.2153

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 (150) hide show
  1. package/dist/cjs/common/common.type.js +3 -0
  2. package/dist/cjs/common/common.type.js.map +1 -0
  3. package/dist/cjs/common/constants.js +56 -0
  4. package/dist/cjs/common/constants.js.map +1 -0
  5. package/dist/cjs/common/persistence/base.js +15 -0
  6. package/dist/cjs/common/persistence/base.js.map +1 -0
  7. package/dist/cjs/common/persistence/poolClient.js +11 -0
  8. package/dist/cjs/common/persistence/poolClient.js.map +1 -0
  9. package/dist/cjs/common/util.js +12 -0
  10. package/dist/cjs/common/util.js.map +1 -0
  11. package/dist/cjs/context.js +22 -0
  12. package/dist/cjs/context.js.map +1 -0
  13. package/dist/cjs/index.js +43 -0
  14. package/dist/cjs/index.js.map +1 -0
  15. package/dist/cjs/quser/entities/types/user.type.js +3 -0
  16. package/dist/cjs/quser/entities/types/user.type.js.map +1 -0
  17. package/dist/cjs/quser/entities/user.js +25 -0
  18. package/dist/cjs/quser/entities/user.js.map +1 -0
  19. package/dist/cjs/quser/implementations/group.model.js +19 -0
  20. package/dist/cjs/quser/implementations/group.model.js.map +1 -0
  21. package/dist/cjs/quser/implementations/group.repository.js +19 -0
  22. package/dist/cjs/quser/implementations/group.repository.js.map +1 -0
  23. package/dist/cjs/quser/implementations/user.model.js +24 -0
  24. package/dist/cjs/quser/implementations/user.model.js.map +1 -0
  25. package/dist/cjs/quser/implementations/user.repository.js +29 -0
  26. package/dist/cjs/quser/implementations/user.repository.js.map +1 -0
  27. package/dist/cjs/quser/interfaces/rolesRepository.interface.js +3 -0
  28. package/dist/cjs/quser/interfaces/rolesRepository.interface.js.map +1 -0
  29. package/dist/cjs/quser/interfaces/userRepository.interface.js +3 -0
  30. package/dist/cjs/quser/interfaces/userRepository.interface.js.map +1 -0
  31. package/dist/cjs/quser/services/fromTokenToUser.js +52 -0
  32. package/dist/cjs/quser/services/fromTokenToUser.js.map +1 -0
  33. package/dist/cjs/quser/services/hasAdminRole.js +48 -0
  34. package/dist/cjs/quser/services/hasAdminRole.js.map +1 -0
  35. package/{src/sharing/entities/details.ts → dist/cjs/sharing/entities/details.js} +29 -65
  36. package/dist/cjs/sharing/entities/details.js.map +1 -0
  37. package/{src/sharing/entities/sharing.ts → dist/cjs/sharing/entities/sharing.js} +16 -37
  38. package/dist/cjs/sharing/entities/sharing.js.map +1 -0
  39. package/dist/cjs/sharing/entities/types/details.type.js +3 -0
  40. package/dist/cjs/sharing/entities/types/details.type.js.map +1 -0
  41. package/dist/cjs/sharing/entities/types/orgTreeResult.js +3 -0
  42. package/dist/cjs/sharing/entities/types/orgTreeResult.js.map +1 -0
  43. package/dist/cjs/sharing/entities/types/organization.type.js +3 -0
  44. package/dist/cjs/sharing/entities/types/organization.type.js.map +1 -0
  45. package/dist/cjs/sharing/entities/types/sharing.type.js +3 -0
  46. package/dist/cjs/sharing/entities/types/sharing.type.js.map +1 -0
  47. package/dist/cjs/sharing/implementations/admin.repository.js +47 -0
  48. package/dist/cjs/sharing/implementations/admin.repository.js.map +1 -0
  49. package/dist/cjs/sharing/implementations/details.model.js +93 -0
  50. package/dist/cjs/sharing/implementations/details.model.js.map +1 -0
  51. package/dist/cjs/sharing/implementations/details.repository.js +114 -0
  52. package/dist/cjs/sharing/implementations/details.repository.js.map +1 -0
  53. package/dist/cjs/sharing/implementations/dm.model.js +22 -0
  54. package/dist/cjs/sharing/implementations/dm.model.js.map +1 -0
  55. package/dist/cjs/sharing/implementations/dm.repository.js +20 -0
  56. package/dist/cjs/sharing/implementations/dm.repository.js.map +1 -0
  57. package/dist/cjs/sharing/implementations/dx.model.js +30 -0
  58. package/dist/cjs/sharing/implementations/dx.model.js.map +1 -0
  59. package/dist/cjs/sharing/implementations/dx.repository.js +21 -0
  60. package/dist/cjs/sharing/implementations/dx.repository.js.map +1 -0
  61. package/dist/cjs/sharing/implementations/organization.model.js +31 -0
  62. package/dist/cjs/sharing/implementations/organization.model.js.map +1 -0
  63. package/dist/cjs/sharing/implementations/organization.repository.js +66 -0
  64. package/dist/cjs/sharing/implementations/organization.repository.js.map +1 -0
  65. package/dist/cjs/sharing/implementations/sharing.model.js +33 -0
  66. package/dist/cjs/sharing/implementations/sharing.model.js.map +1 -0
  67. package/dist/cjs/sharing/implementations/sharing.repository.js +31 -0
  68. package/dist/cjs/sharing/implementations/sharing.repository.js.map +1 -0
  69. package/dist/cjs/sharing/interfaces/adminRepository.interface.js +3 -0
  70. package/dist/cjs/sharing/interfaces/adminRepository.interface.js.map +1 -0
  71. package/dist/cjs/sharing/interfaces/dashboardRepository.interface.js +3 -0
  72. package/dist/cjs/sharing/interfaces/dashboardRepository.interface.js.map +1 -0
  73. package/dist/cjs/sharing/interfaces/detailsRepository.interface.js +3 -0
  74. package/dist/cjs/sharing/interfaces/detailsRepository.interface.js.map +1 -0
  75. package/dist/cjs/sharing/interfaces/downloadManagerRepository.interface.js +3 -0
  76. package/dist/cjs/sharing/interfaces/downloadManagerRepository.interface.js.map +1 -0
  77. package/dist/cjs/sharing/interfaces/organizationRepository.interface.js +3 -0
  78. package/dist/cjs/sharing/interfaces/organizationRepository.interface.js.map +1 -0
  79. package/dist/cjs/sharing/interfaces/sharingRepository.interface.js +3 -0
  80. package/dist/cjs/sharing/interfaces/sharingRepository.interface.js.map +1 -0
  81. package/dist/cjs/sharing/services/checkAppPermissions.js +45 -0
  82. package/dist/cjs/sharing/services/checkAppPermissions.js.map +1 -0
  83. package/dist/cjs/sharing/services/checkOrgPermissions.js +32 -0
  84. package/dist/cjs/sharing/services/checkOrgPermissions.js.map +1 -0
  85. package/dist/cjs/sharing/services/checkUserAccessLevel.js +58 -0
  86. package/dist/cjs/sharing/services/checkUserAccessLevel.js.map +1 -0
  87. package/dist/cjs/sharing/services/delete.js +32 -0
  88. package/dist/cjs/sharing/services/delete.js.map +1 -0
  89. package/dist/cjs/sharing/services/getOrgTree.js +26 -0
  90. package/dist/cjs/sharing/services/getOrgTree.js.map +1 -0
  91. package/dist/cjs/sharing/services/list.js +44 -0
  92. package/dist/cjs/sharing/services/list.js.map +1 -0
  93. package/dist/cjs/sharing/services/upsert.js +135 -0
  94. package/dist/cjs/sharing/services/upsert.js.map +1 -0
  95. package/dist/cjs/tsconfig.cjs.tsbuildinfo +1 -0
  96. package/dist/esm/index.mjs +1198 -0
  97. package/dist/esm/index.mjs.map +1 -0
  98. package/dist/types/index.d.ts +167 -0
  99. package/package.json +7 -2
  100. package/.eslintrc +0 -88
  101. package/__test__/hasAdminRole.test.ts +0 -299
  102. package/jest.config.ts +0 -15
  103. package/src/common/common.type.ts +0 -33
  104. package/src/common/constants.ts +0 -64
  105. package/src/common/persistence/base.ts +0 -13
  106. package/src/common/persistence/poolClient.ts +0 -7
  107. package/src/common/util.ts +0 -8
  108. package/src/context.ts +0 -47
  109. package/src/index.ts +0 -48
  110. package/src/quser/entities/types/user.type.ts +0 -14
  111. package/src/quser/entities/user.ts +0 -31
  112. package/src/quser/implementations/group.model.ts +0 -18
  113. package/src/quser/implementations/group.repository.ts +0 -20
  114. package/src/quser/implementations/user.model.ts +0 -23
  115. package/src/quser/implementations/user.repository.ts +0 -35
  116. package/src/quser/interfaces/rolesRepository.interface.ts +0 -3
  117. package/src/quser/interfaces/userRepository.interface.ts +0 -10
  118. package/src/quser/services/fromTokenToUser.ts +0 -49
  119. package/src/quser/services/hasAdminRole.ts +0 -52
  120. package/src/sharing/entities/types/details.type.ts +0 -58
  121. package/src/sharing/entities/types/organization.type.ts +0 -10
  122. package/src/sharing/entities/types/sharing.type.ts +0 -24
  123. package/src/sharing/implementations/admin.repository.ts +0 -66
  124. package/src/sharing/implementations/details.model.ts +0 -93
  125. package/src/sharing/implementations/details.repository.ts +0 -154
  126. package/src/sharing/implementations/dm.model.ts +0 -21
  127. package/src/sharing/implementations/dm.repository.ts +0 -23
  128. package/src/sharing/implementations/dx.model.ts +0 -30
  129. package/src/sharing/implementations/dx.repository.ts +0 -22
  130. package/src/sharing/implementations/organization.model.ts +0 -32
  131. package/src/sharing/implementations/organization.repository.ts +0 -21
  132. package/src/sharing/implementations/sharing.model.ts +0 -33
  133. package/src/sharing/implementations/sharing.repository.ts +0 -36
  134. package/src/sharing/interfaces/adminRepository.interface.ts +0 -13
  135. package/src/sharing/interfaces/dashboardRepository.interface.ts +0 -3
  136. package/src/sharing/interfaces/detailsRepository.interface.ts +0 -60
  137. package/src/sharing/interfaces/downloadManagerRepository.interface.ts +0 -3
  138. package/src/sharing/interfaces/organizationRepository.interface.ts +0 -5
  139. package/src/sharing/interfaces/sharingRepository.interface.ts +0 -32
  140. package/src/sharing/services/checkAppPermissions.ts +0 -47
  141. package/src/sharing/services/checkOrgPermissions.ts +0 -29
  142. package/src/sharing/services/checkUserAccessLevel.ts +0 -63
  143. package/src/sharing/services/delete.ts +0 -24
  144. package/src/sharing/services/list.ts +0 -53
  145. package/src/sharing/services/upsert.ts +0 -197
  146. package/tsconfig.cjs.json +0 -7
  147. package/tsconfig.json +0 -27
  148. package/tsup.config.cjs.ts +0 -19
  149. package/tsup.config.esm.ts +0 -12
  150. package/tsup.config.types.ts +0 -9
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=common.type.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"common.type.js","sourceRoot":"","sources":["../../../src/common/common.type.ts"],"names":[],"mappings":""}
@@ -0,0 +1,56 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.LIMIT_PER_PAGE = exports.APP_SHARING_STATUS = exports.ACCESS_LEVEL = exports.SHARE_TYPE = exports.SHARED_ORIGIN = exports.ASSET_TYPE = exports.ORGANIZATION_ANONYMOUS = exports.ORGANIZATION_QRVEY = exports.DATABASE_INFO = exports.ENVIRONMENT = void 0;
4
+ exports.ENVIRONMENT = {
5
+ SERVER_PREFIX: process.env.SERVER_PREFIX,
6
+ TABLE_PREFIX: process.env.TABLE_PREFIX,
7
+ DOMAIN: process.env.DOMAIN,
8
+ API_KEY: process.env.API_KEY,
9
+ };
10
+ exports.DATABASE_INFO = {
11
+ DATA_PERSISTENCE_SCHEMA: 'admin',
12
+ SERVER_PREFIX: exports.ENVIRONMENT.SERVER_PREFIX,
13
+ TABLE_PREFIX: exports.ENVIRONMENT.TABLE_PREFIX,
14
+ };
15
+ exports.ORGANIZATION_QRVEY = 'org:0';
16
+ exports.ORGANIZATION_ANONYMOUS = 'anonymous';
17
+ var ASSET_TYPE;
18
+ (function (ASSET_TYPE) {
19
+ ASSET_TYPE["DX"] = "DX";
20
+ ASSET_TYPE["DM"] = "DM";
21
+ })(ASSET_TYPE || (exports.ASSET_TYPE = ASSET_TYPE = {}));
22
+ var SHARED_ORIGIN;
23
+ (function (SHARED_ORIGIN) {
24
+ SHARED_ORIGIN["INTERNAL"] = "INTERNAL";
25
+ SHARED_ORIGIN["EXTERNAL"] = "EXTERNAL";
26
+ SHARED_ORIGIN["UNKNOWN"] = "UNKNOWN";
27
+ })(SHARED_ORIGIN || (exports.SHARED_ORIGIN = SHARED_ORIGIN = {}));
28
+ var SHARE_TYPE;
29
+ (function (SHARE_TYPE) {
30
+ SHARE_TYPE["USER"] = "USER";
31
+ SHARE_TYPE["ROLE"] = "ROLE";
32
+ SHARE_TYPE["ORGANIZATION"] = "ORGANIZATION";
33
+ })(SHARE_TYPE || (exports.SHARE_TYPE = SHARE_TYPE = {}));
34
+ /**
35
+ * Access levels for assets.
36
+ * Those are calculated with Base 2, so:
37
+ * - NONE = 0 (undefined)
38
+ * - CAN_USE = 1 (2^0)
39
+ * - CAN_EDIT = 2 (2^1)
40
+ * - ADMIN = 4 (2^2)
41
+ * - (Future) SUPER = 8 (2^3)
42
+ */
43
+ var ACCESS_LEVEL;
44
+ (function (ACCESS_LEVEL) {
45
+ ACCESS_LEVEL[ACCESS_LEVEL["NONE"] = 0] = "NONE";
46
+ ACCESS_LEVEL[ACCESS_LEVEL["CAN_USE"] = 1] = "CAN_USE";
47
+ ACCESS_LEVEL[ACCESS_LEVEL["CAN_EDIT"] = 2] = "CAN_EDIT";
48
+ ACCESS_LEVEL[ACCESS_LEVEL["ADMIN"] = 4] = "ADMIN";
49
+ })(ACCESS_LEVEL || (exports.ACCESS_LEVEL = ACCESS_LEVEL = {}));
50
+ var APP_SHARING_STATUS;
51
+ (function (APP_SHARING_STATUS) {
52
+ APP_SHARING_STATUS["PUBLIC"] = "public";
53
+ APP_SHARING_STATUS["PRIVATE"] = "private";
54
+ })(APP_SHARING_STATUS || (exports.APP_SHARING_STATUS = APP_SHARING_STATUS = {}));
55
+ exports.LIMIT_PER_PAGE = 10;
56
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +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;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,sBAAsB,GAAG,WAAW,CAAC;AAElD,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;AAED,IAAY,kBAGX;AAHD,WAAY,kBAAkB;IAC1B,uCAAiB,CAAA;IACjB,yCAAmB,CAAA;AACvB,CAAC,EAHW,kBAAkB,kCAAlB,kBAAkB,QAG7B;AAYY,QAAA,cAAc,GAAG,EAAE,CAAC"}
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.BaseRepository = void 0;
4
+ const data_persistence_1 = require("@qrvey/data-persistence");
5
+ const poolClient_1 = require("./poolClient");
6
+ class BaseRepository extends data_persistence_1.CrudService {
7
+ constructor(schema) {
8
+ super(schema, (0, poolClient_1.getPoolClient)());
9
+ }
10
+ filter(attribute, value, operator) {
11
+ return (0, data_persistence_1.buildFilter)(attribute, value, operator);
12
+ }
13
+ }
14
+ exports.BaseRepository = BaseRepository;
15
+ //# sourceMappingURL=base.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base.js","sourceRoot":"","sources":["../../../../src/common/persistence/base.ts"],"names":[],"mappings":";;;AAAA,8DAAmE;AAEnE,6CAA6C;AAE7C,MAAa,cAAe,SAAQ,8BAAgB;IAChD,YAAY,MAAW;QACnB,KAAK,CAAC,MAAM,EAAE,IAAA,0BAAa,GAAE,CAAC,CAAC;IACnC,CAAC;IAED,MAAM,CAAC,SAAiB,EAAE,KAAU,EAAE,QAAiB;QACnD,OAAO,IAAA,8BAAW,EAAC,SAAS,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;IACnD,CAAC;CACJ;AARD,wCAQC"}
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getPoolClient = getPoolClient;
4
+ const data_persistence_1 = require("@qrvey/data-persistence");
5
+ let poolClient;
6
+ function getPoolClient() {
7
+ if (!poolClient)
8
+ poolClient = (0, data_persistence_1.getDbPool)();
9
+ return poolClient;
10
+ }
11
+ //# sourceMappingURL=poolClient.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"poolClient.js","sourceRoot":"","sources":["../../../../src/common/persistence/poolClient.ts"],"names":[],"mappings":";;AAGA,sCAGC;AAND,8DAAoD;AAEpD,IAAI,UAAe,CAAC;AACpB,SAAgB,aAAa;IACzB,IAAI,CAAC,UAAU;QAAE,UAAU,GAAG,IAAA,4BAAS,GAAE,CAAC;IAC1C,OAAO,UAAU,CAAC;AACtB,CAAC"}
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.isComposer = isComposer;
4
+ var LOGIN_TYPES;
5
+ (function (LOGIN_TYPES) {
6
+ LOGIN_TYPES["composer"] = "qrveyLogin";
7
+ LOGIN_TYPES["openIdComposer"] = "OPENID_CREATORS";
8
+ })(LOGIN_TYPES || (LOGIN_TYPES = {}));
9
+ function isComposer(type) {
10
+ return type === LOGIN_TYPES.composer || type === LOGIN_TYPES.openIdComposer;
11
+ }
12
+ //# sourceMappingURL=util.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"util.js","sourceRoot":"","sources":["../../../src/common/util.ts"],"names":[],"mappings":";;AAKA,gCAEC;AAPD,IAAK,WAGJ;AAHD,WAAK,WAAW;IACZ,sCAAuB,CAAA;IACvB,iDAAkC,CAAA;AACtC,CAAC,EAHI,WAAW,KAAX,WAAW,QAGf;AAED,SAAgB,UAAU,CAAC,IAAY;IACnC,OAAO,IAAI,KAAK,WAAW,CAAC,QAAQ,IAAI,IAAI,KAAK,WAAW,CAAC,cAAc,CAAC;AAChF,CAAC"}
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Context = void 0;
4
+ const tsyringe_1 = require("tsyringe");
5
+ const group_repository_1 = require("./quser/implementations/group.repository");
6
+ const user_repository_1 = require("./quser/implementations/user.repository");
7
+ const admin_repository_1 = require("./sharing/implementations/admin.repository");
8
+ const details_repository_1 = require("./sharing/implementations/details.repository");
9
+ const dm_repository_1 = require("./sharing/implementations/dm.repository");
10
+ const dx_repository_1 = require("./sharing/implementations/dx.repository");
11
+ const organization_repository_1 = require("./sharing/implementations/organization.repository");
12
+ const sharing_repository_1 = require("./sharing/implementations/sharing.repository");
13
+ tsyringe_1.container.register('SharingRepository', sharing_repository_1.SharingRepository);
14
+ tsyringe_1.container.register('SharingDetailsRepository', details_repository_1.SharingDetailsRepository);
15
+ tsyringe_1.container.register('UserRepository', user_repository_1.UserRepository);
16
+ tsyringe_1.container.register('RoleRepository', group_repository_1.GroupRepository);
17
+ tsyringe_1.container.register('dxRepository', dx_repository_1.DashboardRepository);
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);
21
+ exports.Context = tsyringe_1.container;
22
+ //# sourceMappingURL=context.js.map
@@ -0,0 +1 @@
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"}
@@ -0,0 +1,43 @@
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.ORGANIZATION_ANONYMOUS = exports.APP_SHARING_STATUS = exports.SHARE_TYPE = exports.SHARED_ORIGIN = exports.ORGANIZATION_QRVEY = exports.ASSET_TYPE = exports.ACCESS_LEVEL = exports.hasAdminRole = exports.fromTokenToUser = exports.getOrgTree = exports.checkOrgPermissions = exports.checkAppPermissions = exports.checkUserAccessLevel = exports.api = void 0;
7
+ require("reflect-metadata");
8
+ const context_1 = require("./context");
9
+ const fromTokenToUser_1 = require("./quser/services/fromTokenToUser");
10
+ const hasAdminRole_1 = require("./quser/services/hasAdminRole");
11
+ const checkAppPermissions_1 = __importDefault(require("./sharing/services/checkAppPermissions"));
12
+ const checkOrgPermissions_1 = __importDefault(require("./sharing/services/checkOrgPermissions"));
13
+ const checkUserAccessLevel_1 = require("./sharing/services/checkUserAccessLevel");
14
+ const delete_1 = require("./sharing/services/delete");
15
+ const getOrgTree_1 = __importDefault(require("./sharing/services/getOrgTree"));
16
+ const list_1 = require("./sharing/services/list");
17
+ const upsert_1 = require("./sharing/services/upsert");
18
+ exports.api = {
19
+ upsert: (...args) => context_1.Context.resolve(upsert_1.UpsertSharing).execute(...args),
20
+ list: (...args) => context_1.Context.resolve(list_1.ListSharing).execute(...args),
21
+ delete: (...args) => context_1.Context.resolve(delete_1.DeleteSharing).execute(...args),
22
+ };
23
+ const checkUserAccessLevel = (...args) => context_1.Context.resolve(checkUserAccessLevel_1.CheckUserAccessLevel).execute(...args);
24
+ exports.checkUserAccessLevel = checkUserAccessLevel;
25
+ const checkAppPermissions = (...args) => context_1.Context.resolve(checkAppPermissions_1.default).execute(...args);
26
+ exports.checkAppPermissions = checkAppPermissions;
27
+ const checkOrgPermissions = (...args) => context_1.Context.resolve(checkOrgPermissions_1.default).execute(...args);
28
+ exports.checkOrgPermissions = checkOrgPermissions;
29
+ const getOrgTree = (...args) => context_1.Context.resolve(getOrgTree_1.default).execute(...args);
30
+ exports.getOrgTree = getOrgTree;
31
+ const fromTokenToUser = (...args) => context_1.Context.resolve(fromTokenToUser_1.FromTokenToUser).execute(...args);
32
+ exports.fromTokenToUser = fromTokenToUser;
33
+ const hasAdminRole = (...args) => context_1.Context.resolve(hasAdminRole_1.HasAdminRole).execute(...args);
34
+ exports.hasAdminRole = hasAdminRole;
35
+ var constants_1 = require("./common/constants");
36
+ Object.defineProperty(exports, "ACCESS_LEVEL", { enumerable: true, get: function () { return constants_1.ACCESS_LEVEL; } });
37
+ Object.defineProperty(exports, "ASSET_TYPE", { enumerable: true, get: function () { return constants_1.ASSET_TYPE; } });
38
+ Object.defineProperty(exports, "ORGANIZATION_QRVEY", { enumerable: true, get: function () { return constants_1.ORGANIZATION_QRVEY; } });
39
+ Object.defineProperty(exports, "SHARED_ORIGIN", { enumerable: true, get: function () { return constants_1.SHARED_ORIGIN; } });
40
+ Object.defineProperty(exports, "SHARE_TYPE", { enumerable: true, get: function () { return constants_1.SHARE_TYPE; } });
41
+ Object.defineProperty(exports, "APP_SHARING_STATUS", { enumerable: true, get: function () { return constants_1.APP_SHARING_STATUS; } });
42
+ Object.defineProperty(exports, "ORGANIZATION_ANONYMOUS", { enumerable: true, get: function () { return constants_1.ORGANIZATION_ANONYMOUS; } });
43
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;AAAA,4BAA0B;AAC1B,uCAAoC;AACpC,sEAAmE;AACnE,gEAA6D;AAC7D,iGAAyE;AACzE,iGAAyE;AACzE,kFAA+E;AAC/E,sDAA0D;AAC1D,+EAAuD;AACvD,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,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;AAEpD,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;AAEpD,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;AAEnD,gDAQ4B;AAPxB,yGAAA,YAAY,OAAA;AACZ,uGAAA,UAAU,OAAA;AACV,+GAAA,kBAAkB,OAAA;AAClB,0GAAA,aAAa,OAAA;AACb,uGAAA,UAAU,OAAA;AACV,+GAAA,kBAAkB,OAAA;AAClB,mHAAA,sBAAsB,OAAA"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=user.type.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"user.type.js","sourceRoot":"","sources":["../../../../../src/quser/entities/types/user.type.ts"],"names":[],"mappings":""}
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.User = void 0;
4
+ class User {
5
+ constructor(params) {
6
+ this.userId = params.userid;
7
+ this.email = params.email;
8
+ this.groups = params.groups;
9
+ this.organization = params.organization;
10
+ }
11
+ get getUserId() {
12
+ return this.userId;
13
+ }
14
+ get getEmail() {
15
+ return this.email;
16
+ }
17
+ get getGroups() {
18
+ return this.groups;
19
+ }
20
+ get getOrganization() {
21
+ return this.organization;
22
+ }
23
+ }
24
+ exports.User = User;
25
+ //# sourceMappingURL=user.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"user.js","sourceRoot":"","sources":["../../../../src/quser/entities/user.ts"],"names":[],"mappings":";;;AAEA,MAAa,IAAI;IAMb,YAAY,MAAgB;QACxB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;QAC5B,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;QAC1B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;QAC5B,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC,YAAY,CAAC;IAC5C,CAAC;IAED,IAAW,SAAS;QAChB,OAAO,IAAI,CAAC,MAAM,CAAC;IACvB,CAAC;IAED,IAAW,QAAQ;QACf,OAAO,IAAI,CAAC,KAAK,CAAC;IACtB,CAAC;IAED,IAAW,SAAS;QAChB,OAAO,IAAI,CAAC,MAAM,CAAC;IACvB,CAAC;IAED,IAAW,eAAe;QACtB,OAAO,IAAI,CAAC,YAAY,CAAC;IAC7B,CAAC;CACJ;AA5BD,oBA4BC"}
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.GroupModel = void 0;
4
+ const data_persistence_1 = require("@qrvey/data-persistence");
5
+ const constants_1 = require("../../common/constants");
6
+ class GroupModel extends data_persistence_1.CrudSchema {
7
+ }
8
+ exports.GroupModel = GroupModel;
9
+ GroupModel.table = {
10
+ name: `${constants_1.DATABASE_INFO.SERVER_PREFIX}Groups`,
11
+ alias: 'qv_groups',
12
+ };
13
+ GroupModel.columns = {
14
+ groupid: {
15
+ type: 'string',
16
+ },
17
+ };
18
+ GroupModel.schema = constants_1.DATABASE_INFO.DATA_PERSISTENCE_SCHEMA;
19
+ //# sourceMappingURL=group.model.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"group.model.js","sourceRoot":"","sources":["../../../../src/quser/implementations/group.model.ts"],"names":[],"mappings":";;;AAAA,8DAAqD;AAErD,sDAAuD;AAEvD,MAAa,UAAW,SAAQ,6BAAU;;AAA1C,gCAaC;AAZU,gBAAK,GAAG;IACX,IAAI,EAAE,GAAG,yBAAa,CAAC,aAAa,QAAQ;IAC5C,KAAK,EAAE,WAAW;CACrB,CAAC;AAEK,kBAAO,GAAG;IACb,OAAO,EAAE;QACL,IAAI,EAAE,QAAQ;KACjB;CACJ,CAAC;AAEK,iBAAM,GAAG,yBAAa,CAAC,uBAAuB,CAAC"}
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.GroupRepository = void 0;
4
+ const group_model_1 = require("./group.model");
5
+ const base_1 = require("../../common/persistence/base");
6
+ class GroupRepository extends base_1.BaseRepository {
7
+ constructor() {
8
+ super(group_model_1.GroupModel);
9
+ }
10
+ async getOne(identifier) {
11
+ const params = {
12
+ filters: [this.filter('groupid', identifier)],
13
+ };
14
+ const response = await super.findItem(params);
15
+ return response;
16
+ }
17
+ }
18
+ exports.GroupRepository = GroupRepository;
19
+ //# sourceMappingURL=group.repository.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"group.repository.js","sourceRoot":"","sources":["../../../../src/quser/implementations/group.repository.ts"],"names":[],"mappings":";;;AAAA,+CAA2C;AAC3C,wDAA+D;AAG/D,MAAa,eACT,SAAQ,qBAAc;IAGtB;QACI,KAAK,CAAC,wBAAU,CAAC,CAAC;IACtB,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,UAAkB;QAC3B,MAAM,MAAM,GAAG;YACX,OAAO,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;SAChD,CAAC;QACF,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QAC9C,OAAO,QAA+B,CAAC;IAC3C,CAAC;CACJ;AAfD,0CAeC"}
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.UserModel = void 0;
4
+ const data_persistence_1 = require("@qrvey/data-persistence");
5
+ const constants_1 = require("../../common/constants");
6
+ class UserModel extends data_persistence_1.CrudSchema {
7
+ }
8
+ exports.UserModel = UserModel;
9
+ UserModel.table = {
10
+ name: `${constants_1.DATABASE_INFO.SERVER_PREFIX}Users`,
11
+ alias: 'qv_users',
12
+ };
13
+ UserModel.columns = {
14
+ userid: {
15
+ type: 'string',
16
+ primary: true,
17
+ columnId: true,
18
+ },
19
+ groups: {
20
+ type: 'array',
21
+ },
22
+ };
23
+ UserModel.schema = constants_1.DATABASE_INFO.DATA_PERSISTENCE_SCHEMA;
24
+ //# sourceMappingURL=user.model.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"user.model.js","sourceRoot":"","sources":["../../../../src/quser/implementations/user.model.ts"],"names":[],"mappings":";;;AAAA,8DAAqD;AAErD,sDAAuD;AAEvD,MAAa,SAAU,SAAQ,6BAAU;;AAAzC,8BAkBC;AAjBU,eAAK,GAAG;IACX,IAAI,EAAE,GAAG,yBAAa,CAAC,aAAa,OAAO;IAC3C,KAAK,EAAE,UAAU;CACpB,CAAC;AAEK,iBAAO,GAAG;IACb,MAAM,EAAE;QACJ,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE,IAAI;QACb,QAAQ,EAAE,IAAI;KACjB;IACD,MAAM,EAAE;QACJ,IAAI,EAAE,OAAO;KAChB;CACJ,CAAC;AAEK,gBAAM,GAAG,yBAAa,CAAC,uBAAuB,CAAC"}
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.UserRepository = void 0;
4
+ const user_model_1 = require("./user.model");
5
+ const base_1 = require("../../common/persistence/base");
6
+ class UserRepository extends base_1.BaseRepository {
7
+ constructor() {
8
+ super(user_model_1.UserModel);
9
+ }
10
+ async getOne(identifier) {
11
+ const params = {
12
+ filters: [this.filter('userid', identifier)],
13
+ };
14
+ const response = await super.findItem(params);
15
+ return response;
16
+ }
17
+ async getList(options) {
18
+ const params = {
19
+ filters: [
20
+ this.filter('userid', options.data.identifier),
21
+ this.filter('groups', options.data.role, 'CONTAINS'),
22
+ ],
23
+ };
24
+ const response = await super.find(params);
25
+ return response;
26
+ }
27
+ }
28
+ exports.UserRepository = UserRepository;
29
+ //# sourceMappingURL=user.repository.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"user.repository.js","sourceRoot":"","sources":["../../../../src/quser/implementations/user.repository.ts"],"names":[],"mappings":";;;AAAA,6CAAyC;AAEzC,wDAA+D;AAI/D,MAAa,cACT,SAAQ,qBAAc;IAGtB;QACI,KAAK,CAAC,sBAAS,CAAC,CAAC;IACrB,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,UAAkB;QAC3B,MAAM,MAAM,GAAG;YACX,OAAO,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;SAC/C,CAAC;QACF,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QAC9C,OAAO,QAAoB,CAAC;IAChC,CAAC;IAED,KAAK,CAAC,OAAO,CACT,OAAyD;QAEzD,MAAM,MAAM,GAAG;YACX,OAAO,EAAE;gBACL,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC;gBAC9C,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,UAAU,CAAC;aACvD;SACJ,CAAC;QACF,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC1C,OAAO,QAAgC,CAAC;IAC5C,CAAC;CACJ;AA5BD,wCA4BC"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=rolesRepository.interface.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rolesRepository.interface.js","sourceRoot":"","sources":["../../../../src/quser/interfaces/rolesRepository.interface.ts"],"names":[],"mappings":""}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=userRepository.interface.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"userRepository.interface.js","sourceRoot":"","sources":["../../../../src/quser/interfaces/userRepository.interface.ts"],"names":[],"mappings":""}
@@ -0,0 +1,52 @@
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
+ exports.FromTokenToUser = void 0;
13
+ const tsyringe_1 = require("tsyringe");
14
+ const constants_1 = require("../../common/constants");
15
+ const util_1 = require("../../common/util");
16
+ const user_1 = require("../entities/user");
17
+ let FromTokenToUser = class FromTokenToUser {
18
+ constructor(userRepository) {
19
+ this.userRepository = userRepository;
20
+ }
21
+ async execute({ body, }) {
22
+ var _a;
23
+ const current = await this.userRepository.getOne(body.clientId || body.userId);
24
+ if (current) {
25
+ const user = new user_1.User(current);
26
+ return {
27
+ userId: user.getUserId,
28
+ roles: user.getGroups,
29
+ orgId: (_a = body.orgId) !== null && _a !== void 0 ? _a : constants_1.ORGANIZATION_QRVEY,
30
+ };
31
+ }
32
+ const inComposer = (0, util_1.isComposer)(body.loginType || '');
33
+ if (!inComposer) {
34
+ return {
35
+ userId: body.clientId || '',
36
+ roles: body.roles || [],
37
+ orgId: body.orgId || '',
38
+ };
39
+ }
40
+ return {
41
+ userId: '',
42
+ roles: [],
43
+ orgId: '',
44
+ };
45
+ }
46
+ };
47
+ exports.FromTokenToUser = FromTokenToUser;
48
+ exports.FromTokenToUser = FromTokenToUser = __decorate([
49
+ (0, tsyringe_1.injectable)(),
50
+ __param(0, (0, tsyringe_1.inject)('UserRepository'))
51
+ ], FromTokenToUser);
52
+ //# sourceMappingURL=fromTokenToUser.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fromTokenToUser.js","sourceRoot":"","sources":["../../../../src/quser/services/fromTokenToUser.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,uCAA8C;AAG9C,sDAA4D;AAC5D,4CAA+C;AAE/C,2CAAwC;AAIjC,IAAM,eAAe,GAArB,MAAM,eAAe;IACxB,YAEqB,cAAuC;QAAvC,mBAAc,GAAd,cAAc,CAAyB;IACzD,CAAC;IAEG,KAAK,CAAC,OAAO,CAAC,EACjB,IAAI,GAGP;;QACG,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,MAAM,CAC5C,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,MAAM,CAC/B,CAAC;QACF,IAAI,OAAO,EAAE,CAAC;YACV,MAAM,IAAI,GAAG,IAAI,WAAI,CAAC,OAAO,CAAC,CAAC;YAC/B,OAAO;gBACH,MAAM,EAAE,IAAI,CAAC,SAAS;gBACtB,KAAK,EAAE,IAAI,CAAC,SAAS;gBACrB,KAAK,EAAE,MAAA,IAAI,CAAC,KAAK,mCAAI,8BAAkB;aAC1C,CAAC;QACN,CAAC;QAED,MAAM,UAAU,GAAG,IAAA,iBAAU,EAAC,IAAI,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC;QACpD,IAAI,CAAC,UAAU,EAAE,CAAC;YACd,OAAO;gBACH,MAAM,EAAE,IAAI,CAAC,QAAQ,IAAI,EAAE;gBAC3B,KAAK,EAAE,IAAI,CAAC,KAAK,IAAI,EAAE;gBACvB,KAAK,EAAE,IAAI,CAAC,KAAK,IAAI,EAAE;aAC1B,CAAC;QACN,CAAC;QAED,OAAO;YACH,MAAM,EAAE,EAAE;YACV,KAAK,EAAE,EAAE;YACT,KAAK,EAAE,EAAE;SACZ,CAAC;IACN,CAAC;CACJ,CAAA;AAtCY,0CAAe;0BAAf,eAAe;IAD3B,IAAA,qBAAU,GAAE;IAGJ,WAAA,IAAA,iBAAM,EAAC,gBAAgB,CAAC,CAAA;GAFpB,eAAe,CAsC3B"}
@@ -0,0 +1,48 @@
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
+ exports.HasAdminRole = void 0;
13
+ const tsyringe_1 = require("tsyringe");
14
+ const constants_1 = require("../../common/constants");
15
+ const util_1 = require("../../common/util");
16
+ let HasAdminRole = class HasAdminRole {
17
+ constructor(userRepository) {
18
+ this.userRepository = userRepository;
19
+ }
20
+ async execute({ apiKey, clientId, orgId, userId, loginType, } = {}) {
21
+ if (!userId)
22
+ return false;
23
+ const existingUser = await this.userRepository.getOne(userId);
24
+ const isMasterKey = apiKey && (orgId === undefined || orgId === constants_1.ORGANIZATION_QRVEY);
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)
32
+ return true;
33
+ const inComposer = (0, util_1.isComposer)(loginType || '');
34
+ const isExternal = (!clientId && !inComposer) ||
35
+ (orgId && orgId !== constants_1.ORGANIZATION_QRVEY);
36
+ if (isExternal)
37
+ return false;
38
+ if (isAdmin)
39
+ return true;
40
+ return false;
41
+ }
42
+ };
43
+ exports.HasAdminRole = HasAdminRole;
44
+ exports.HasAdminRole = HasAdminRole = __decorate([
45
+ (0, tsyringe_1.injectable)(),
46
+ __param(0, (0, tsyringe_1.inject)('UserRepository'))
47
+ ], HasAdminRole);
48
+ //# sourceMappingURL=hasAdminRole.js.map
@@ -0,0 +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,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,39 +1,14 @@
1
- import { getId } from '@qrvey/id-generator';
2
-
3
- import {
4
- BaseSharingDetails,
5
- CreateSharingDetails,
6
- ResponseSharingDetails,
7
- SharingDetailsTable,
8
- UpdateSharingDetails,
9
- } from './types/details.type';
10
- import {
11
- ACCESS_LEVEL,
12
- SHARED_ORIGIN,
13
- SHARE_TYPE,
14
- } from '../../common/constants';
15
-
16
- export class SharingDetail {
17
- private sharingDetailsId: string;
18
- private assetId: string;
19
- private accessLevel: ACCESS_LEVEL;
20
- private accessLevelAsText: string;
21
- private orgId: string;
22
- private sharedWith: string;
23
- private sharedType: SHARE_TYPE;
24
- private sharedOrigin: SHARED_ORIGIN;
25
- private sharedEmail?: string;
26
- private createdAt: string;
27
- private updatedAt: string;
28
- private deletedAt?: string;
29
-
30
- constructor(params: BaseSharingDetails) {
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SharingDetail = void 0;
4
+ const id_generator_1 = require("@qrvey/id-generator");
5
+ const constants_1 = require("../../common/constants");
6
+ class SharingDetail {
7
+ constructor(params) {
31
8
  this.sharingDetailsId = params.sharingDetailsId;
32
9
  this.assetId = params.assetId;
33
10
  this.accessLevel = params.accessLevel;
34
- this.accessLevelAsText = this.convertAccessLevelToText(
35
- params.accessLevel,
36
- );
11
+ this.accessLevelAsText = this.convertAccessLevelToText(params.accessLevel);
37
12
  this.orgId = params.orgId;
38
13
  this.sharedWith = params.sharedWith;
39
14
  this.sharedType = params.sharedType;
@@ -43,43 +18,35 @@ export class SharingDetail {
43
18
  this.updatedAt = params.updatedAt;
44
19
  this.deletedAt = params.deletedAt;
45
20
  }
46
-
47
- static create(params: CreateSharingDetails): SharingDetail {
21
+ static create(params) {
22
+ var _a;
48
23
  const now = new Date().toISOString();
49
- const obj: BaseSharingDetails = {
50
- ...params,
51
- sharingDetailsId: params.sharedId ?? getId(),
52
- createdAt: now,
53
- updatedAt: now,
54
- };
55
-
24
+ const obj = Object.assign(Object.assign({}, params), { sharingDetailsId: (_a = params.sharedId) !== null && _a !== void 0 ? _a : (0, id_generator_1.getId)(), createdAt: now, updatedAt: now });
56
25
  return new SharingDetail(obj);
57
26
  }
58
-
59
- static parse(params: SharingDetailsTable): SharingDetail {
27
+ static parse(params) {
60
28
  return new SharingDetail({
61
29
  sharingDetailsId: params.sharing_details_id,
62
30
  assetId: params.asset_id,
63
- accessLevel: params.access_level as ACCESS_LEVEL,
31
+ accessLevel: params.access_level,
64
32
  orgId: params.org_id,
65
33
  sharedWith: params.shared_with,
66
- sharedType: params.shared_type as SHARE_TYPE,
34
+ sharedType: params.shared_type,
67
35
  sharedEmail: params.shared_email,
68
- sharedOrigin: params.share_origin as SHARED_ORIGIN,
36
+ sharedOrigin: params.share_origin,
69
37
  createdAt: params.created_at,
70
38
  updatedAt: params.updated_at,
71
39
  deletedAt: params.deleted_at,
72
40
  });
73
41
  }
74
-
75
- update(params: UpdateSharingDetails) {
42
+ update(params) {
76
43
  if (params.accessLevel || params.accessLevel === 0)
77
44
  this.accessLevel = params.accessLevel;
78
- if (params.sharedEmail) this.sharedEmail = params.sharedEmail;
45
+ if (params.sharedEmail)
46
+ this.sharedEmail = params.sharedEmail;
79
47
  this.updatedAt = new Date().toISOString();
80
48
  }
81
-
82
- toTable(): SharingDetailsTable {
49
+ toTable() {
83
50
  return {
84
51
  sharing_details_id: this.sharingDetailsId,
85
52
  asset_id: this.assetId,
@@ -94,8 +61,7 @@ export class SharingDetail {
94
61
  deleted_at: this.deletedAt,
95
62
  };
96
63
  }
97
-
98
- toPlain(): BaseSharingDetails {
64
+ toPlain() {
99
65
  return {
100
66
  sharingDetailsId: this.sharingDetailsId,
101
67
  assetId: this.assetId,
@@ -110,8 +76,7 @@ export class SharingDetail {
110
76
  deletedAt: this.deletedAt,
111
77
  };
112
78
  }
113
-
114
- toJSON(): ResponseSharingDetails {
79
+ toJSON() {
115
80
  return {
116
81
  sharedId: this.sharingDetailsId,
117
82
  assetId: this.assetId,
@@ -126,20 +91,19 @@ export class SharingDetail {
126
91
  updatedAt: this.updatedAt,
127
92
  };
128
93
  }
129
-
130
- public get getSharingDetailsId(): string {
94
+ get getSharingDetailsId() {
131
95
  return this.sharingDetailsId;
132
96
  }
133
-
134
- public get getAccessLevel(): ACCESS_LEVEL {
97
+ get getAccessLevel() {
135
98
  return this.accessLevel;
136
99
  }
137
-
138
- public get getAccessLevelAsText(): string {
100
+ get getAccessLevelAsText() {
139
101
  return this.accessLevelAsText;
140
102
  }
141
-
142
- private convertAccessLevelToText(level: number): string {
143
- return ACCESS_LEVEL[level] ?? 'UNKNOWN';
103
+ convertAccessLevelToText(level) {
104
+ var _a;
105
+ return (_a = constants_1.ACCESS_LEVEL[level]) !== null && _a !== void 0 ? _a : 'UNKNOWN';
144
106
  }
145
107
  }
108
+ exports.SharingDetail = SharingDetail;
109
+ //# sourceMappingURL=details.js.map