@qrvey/assets-sharing 0.3.3 → 0.3.4-dev.2089

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 (95) hide show
  1. package/__test__/hasAdminRole.test.ts +146 -47
  2. package/package.json +53 -52
  3. package/src/common/constants.ts +17 -0
  4. package/src/context.ts +12 -0
  5. package/src/index.ts +10 -0
  6. package/src/quser/services/hasAdminRole.ts +11 -5
  7. package/src/sharing/entities/details.ts +1 -0
  8. package/src/sharing/entities/types/organization.type.ts +10 -0
  9. package/src/sharing/implementations/admin.repository.ts +66 -0
  10. package/src/sharing/implementations/organization.model.ts +28 -0
  11. package/src/sharing/implementations/organization.repository.ts +35 -0
  12. package/src/sharing/interfaces/adminRepository.interface.ts +13 -0
  13. package/src/sharing/interfaces/organizationRepository.interface.ts +8 -0
  14. package/src/sharing/services/checkAppPermissions.ts +44 -0
  15. package/src/sharing/services/checkOrgPermissions.ts +29 -0
  16. package/tsconfig.json +25 -17
  17. package/tsup.config.cjs.ts +8 -0
  18. package/dist/cjs/common/common.type.js +0 -3
  19. package/dist/cjs/common/common.type.js.map +0 -1
  20. package/dist/cjs/common/constants.js +0 -48
  21. package/dist/cjs/common/constants.js.map +0 -1
  22. package/dist/cjs/common/persistence/base.js +0 -15
  23. package/dist/cjs/common/persistence/base.js.map +0 -1
  24. package/dist/cjs/common/persistence/poolClient.js +0 -11
  25. package/dist/cjs/common/persistence/poolClient.js.map +0 -1
  26. package/dist/cjs/common/util.js +0 -12
  27. package/dist/cjs/common/util.js.map +0 -1
  28. package/dist/cjs/context.js +0 -18
  29. package/dist/cjs/context.js.map +0 -1
  30. package/dist/cjs/index.js +0 -29
  31. package/dist/cjs/index.js.map +0 -1
  32. package/dist/cjs/quser/entities/types/user.type.js +0 -3
  33. package/dist/cjs/quser/entities/types/user.type.js.map +0 -1
  34. package/dist/cjs/quser/entities/user.js +0 -25
  35. package/dist/cjs/quser/entities/user.js.map +0 -1
  36. package/dist/cjs/quser/implementations/group.model.js +0 -19
  37. package/dist/cjs/quser/implementations/group.model.js.map +0 -1
  38. package/dist/cjs/quser/implementations/group.repository.js +0 -19
  39. package/dist/cjs/quser/implementations/group.repository.js.map +0 -1
  40. package/dist/cjs/quser/implementations/user.model.js +0 -24
  41. package/dist/cjs/quser/implementations/user.model.js.map +0 -1
  42. package/dist/cjs/quser/implementations/user.repository.js +0 -29
  43. package/dist/cjs/quser/implementations/user.repository.js.map +0 -1
  44. package/dist/cjs/quser/interfaces/rolesRepository.interface.js +0 -3
  45. package/dist/cjs/quser/interfaces/rolesRepository.interface.js.map +0 -1
  46. package/dist/cjs/quser/interfaces/userRepository.interface.js +0 -3
  47. package/dist/cjs/quser/interfaces/userRepository.interface.js.map +0 -1
  48. package/dist/cjs/quser/services/fromTokenToUser.js +0 -52
  49. package/dist/cjs/quser/services/fromTokenToUser.js.map +0 -1
  50. package/dist/cjs/quser/services/hasAdminRole.js +0 -44
  51. package/dist/cjs/quser/services/hasAdminRole.js.map +0 -1
  52. package/dist/cjs/sharing/entities/details.js +0 -109
  53. package/dist/cjs/sharing/entities/details.js.map +0 -1
  54. package/dist/cjs/sharing/entities/sharing.js +0 -63
  55. package/dist/cjs/sharing/entities/sharing.js.map +0 -1
  56. package/dist/cjs/sharing/entities/types/details.type.js +0 -3
  57. package/dist/cjs/sharing/entities/types/details.type.js.map +0 -1
  58. package/dist/cjs/sharing/entities/types/sharing.type.js +0 -3
  59. package/dist/cjs/sharing/entities/types/sharing.type.js.map +0 -1
  60. package/dist/cjs/sharing/implementations/details.model.js +0 -93
  61. package/dist/cjs/sharing/implementations/details.model.js.map +0 -1
  62. package/dist/cjs/sharing/implementations/details.repository.js +0 -114
  63. package/dist/cjs/sharing/implementations/details.repository.js.map +0 -1
  64. package/dist/cjs/sharing/implementations/dm.model.js +0 -22
  65. package/dist/cjs/sharing/implementations/dm.model.js.map +0 -1
  66. package/dist/cjs/sharing/implementations/dm.repository.js +0 -20
  67. package/dist/cjs/sharing/implementations/dm.repository.js.map +0 -1
  68. package/dist/cjs/sharing/implementations/dx.model.js +0 -30
  69. package/dist/cjs/sharing/implementations/dx.model.js.map +0 -1
  70. package/dist/cjs/sharing/implementations/dx.repository.js +0 -21
  71. package/dist/cjs/sharing/implementations/dx.repository.js.map +0 -1
  72. package/dist/cjs/sharing/implementations/sharing.model.js +0 -33
  73. package/dist/cjs/sharing/implementations/sharing.model.js.map +0 -1
  74. package/dist/cjs/sharing/implementations/sharing.repository.js +0 -31
  75. package/dist/cjs/sharing/implementations/sharing.repository.js.map +0 -1
  76. package/dist/cjs/sharing/interfaces/dashboardRepository.interface.js +0 -3
  77. package/dist/cjs/sharing/interfaces/dashboardRepository.interface.js.map +0 -1
  78. package/dist/cjs/sharing/interfaces/detailsRepository.interface.js +0 -3
  79. package/dist/cjs/sharing/interfaces/detailsRepository.interface.js.map +0 -1
  80. package/dist/cjs/sharing/interfaces/downloadManagerRepository.interface.js +0 -3
  81. package/dist/cjs/sharing/interfaces/downloadManagerRepository.interface.js.map +0 -1
  82. package/dist/cjs/sharing/interfaces/sharingRepository.interface.js +0 -3
  83. package/dist/cjs/sharing/interfaces/sharingRepository.interface.js.map +0 -1
  84. package/dist/cjs/sharing/services/checkUserAccessLevel.js +0 -58
  85. package/dist/cjs/sharing/services/checkUserAccessLevel.js.map +0 -1
  86. package/dist/cjs/sharing/services/delete.js +0 -32
  87. package/dist/cjs/sharing/services/delete.js.map +0 -1
  88. package/dist/cjs/sharing/services/list.js +0 -44
  89. package/dist/cjs/sharing/services/list.js.map +0 -1
  90. package/dist/cjs/sharing/services/upsert.js +0 -135
  91. package/dist/cjs/sharing/services/upsert.js.map +0 -1
  92. package/dist/cjs/tsconfig.cjs.tsbuildinfo +0 -1
  93. package/dist/esm/index.mjs +0 -1014
  94. package/dist/esm/index.mjs.map +0 -1
  95. package/dist/types/index.d.ts +0 -146
@@ -0,0 +1,35 @@
1
+ import { BaseRepository } from '../../common/persistence/base';
2
+ import OrganizationModel from './organization.model';
3
+ import { OrganizationRepositoryInterface } from '../interfaces/organizationRepository.interface';
4
+ import { OrganizationType } from '../entities/types/organization.type';
5
+
6
+ export class OrganizationRepository
7
+ extends BaseRepository
8
+ implements OrganizationRepositoryInterface
9
+ {
10
+ constructor() {
11
+ super(OrganizationModel);
12
+ }
13
+
14
+ async getOne(orgId: string): Promise<OrganizationType | null> {
15
+ const params = {
16
+ filters: [this.filter('orgid', orgId)],
17
+ };
18
+ const response = await super.findItem(params);
19
+ return response as OrganizationType;
20
+ }
21
+
22
+ async create(org: OrganizationType): Promise<OrganizationType> {
23
+ return (await super.create(org)) as OrganizationType;
24
+ }
25
+
26
+ async patch(orgId: string, org: OrganizationType): Promise<boolean> {
27
+ await super.update([this.filter('orgid', orgId)], org);
28
+ return true;
29
+ }
30
+
31
+ async delete(orgId: string): Promise<boolean> {
32
+ await super.remove([this.filter('orgid', orgId)]);
33
+ return true;
34
+ }
35
+ }
@@ -0,0 +1,13 @@
1
+ import { AppOwner } from '../../common/constants';
2
+
3
+ export interface AdminRepositoryInterface {
4
+ getApplicationInfo(params: { appId: string; userId: string }): Promise<{
5
+ status: number;
6
+ data: AppOwner;
7
+ }>;
8
+
9
+ getPlatformConfiguration(): Promise<{
10
+ status: number;
11
+ legacyMode: boolean;
12
+ }>;
13
+ }
@@ -0,0 +1,8 @@
1
+ import { OrganizationType } from '../entities/types/organization.type';
2
+
3
+ export interface OrganizationRepositoryInterface {
4
+ getOne(orgId: string): Promise<OrganizationType | null>;
5
+ create(org: OrganizationType): Promise<OrganizationType>;
6
+ patch(orgId: string, org: OrganizationType): Promise<boolean>;
7
+ delete(orgId: string): Promise<boolean>;
8
+ }
@@ -0,0 +1,44 @@
1
+ import { inject, injectable } from 'tsyringe';
2
+ import { AppPermissionResponse, AppSharingStatus } from '../../common/constants';
3
+ import { AdminRepositoryInterface } from '../interfaces/adminRepository.interface';
4
+
5
+
6
+ @injectable()
7
+ export default class CheckAppPermissions {
8
+
9
+ constructor(@inject('AdminRepository') private readonly adminRepository: AdminRepositoryInterface) {
10
+ }
11
+
12
+ //TODO Need Test
13
+ async execute(
14
+ {
15
+ appId,
16
+ userId,
17
+ }:
18
+ {
19
+ appId: string;
20
+ userId: string;
21
+ },
22
+ ): Promise<AppPermissionResponse> {
23
+
24
+ // If no user is available, block access by default
25
+ if (!userId) return { privacy: AppSharingStatus.PRIVATE };
26
+
27
+ // Fetch application status and global platform configuration in parallel
28
+ const appInfo = await this.adminRepository.getApplicationInfo({ appId, userId });
29
+ const platform = await this.adminRepository.getPlatformConfiguration();
30
+
31
+ // Check if the application is shared with the current user
32
+ if (appInfo.status !== 200)
33
+ return { privacy: AppSharingStatus.PRIVATE };
34
+
35
+ // According to QRV-297, the LegacyMode ON will have public access, in future implementation, other options will be added.
36
+ const hasPublicAccess = platform?.legacyMode;
37
+
38
+ const privacy = hasPublicAccess
39
+ ? AppSharingStatus.PUBLIC
40
+ : AppSharingStatus.PRIVATE;
41
+
42
+ return { privacy };
43
+ }
44
+ };
@@ -0,0 +1,29 @@
1
+ import { inject, injectable } from 'tsyringe';
2
+ import { AppPermissionResponse, AppSharingStatus } from '../../common/constants';
3
+ import { OrganizationRepositoryInterface } from '../interfaces/organizationRepository.interface';
4
+
5
+
6
+ @injectable()
7
+ export default class CheckOrgPermissions {
8
+
9
+ constructor(@inject('OrganizationRepository') private readonly organizationRepository: OrganizationRepositoryInterface) {
10
+ }
11
+
12
+
13
+ //TODO Need Tes
14
+ async execute(
15
+ {
16
+ orgId }:
17
+ {
18
+ orgId: string;
19
+ },
20
+ ): Promise<AppPermissionResponse> {
21
+
22
+ const hasPublicAccess = await this.organizationRepository.getOne(orgId)
23
+ const privacy = hasPublicAccess?.effectivecontentprivacy
24
+ ? AppSharingStatus.PRIVATE
25
+ : AppSharingStatus.PUBLIC
26
+
27
+ return { privacy };
28
+ }
29
+ };
package/tsconfig.json CHANGED
@@ -1,19 +1,27 @@
1
1
  {
2
- "extends": "tsconfig/tsconfig.json",
3
- "compilerOptions": {
4
- "outDir": "./dist",
5
- "experimentalDecorators": true
6
- },
7
- "include": [
8
- "src/index.ts"
9
- ],
10
- "exclude": [
11
- "dist",
12
- "build",
13
- "node_modules",
14
- "coverage",
15
- "**/*.test.ts",
16
- "**/*.test.d.ts",
17
- "**/*.spec.ts",
18
- ]
2
+ "extends": "tsconfig/tsconfig.json",
3
+ "compilerOptions": {
4
+ "outDir": "./dist",
5
+ "experimentalDecorators": true
6
+ },
7
+ "references": [
8
+ {
9
+ "path": "../id-generator"
10
+ },
11
+ {
12
+ "path": "../data-persistence"
13
+ }
14
+ ],
15
+ "include": [
16
+ "src/index.ts"
17
+ ],
18
+ "exclude": [
19
+ "dist",
20
+ "build",
21
+ "node_modules",
22
+ "coverage",
23
+ "**/*.test.ts",
24
+ "**/*.test.d.ts",
25
+ "**/*.spec.ts"
26
+ ]
19
27
  }
@@ -8,4 +8,12 @@ export default defineConfig({
8
8
  treeshake: true,
9
9
  sourcemap: true,
10
10
  outDir: 'dist/cjs',
11
+ references: [
12
+ {
13
+ path: "../id-generator"
14
+ },
15
+ {
16
+ path: "../data-persistence"
17
+ }
18
+ ],
11
19
  });
@@ -1,3 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=common.type.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"common.type.js","sourceRoot":"","sources":["../../../src/common/common.type.ts"],"names":[],"mappings":""}
@@ -1,48 +0,0 @@
1
- "use strict";
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;
4
- exports.ENVIRONMENT = {
5
- SERVER_PREFIX: process.env.SERVER_PREFIX,
6
- TABLE_PREFIX: process.env.TABLE_PREFIX,
7
- };
8
- exports.DATABASE_INFO = {
9
- DATA_PERSISTENCE_SCHEMA: 'admin',
10
- SERVER_PREFIX: exports.ENVIRONMENT.SERVER_PREFIX,
11
- TABLE_PREFIX: exports.ENVIRONMENT.TABLE_PREFIX,
12
- };
13
- exports.ORGANIZATION_QRVEY = 'org:0';
14
- var ASSET_TYPE;
15
- (function (ASSET_TYPE) {
16
- ASSET_TYPE["DX"] = "DX";
17
- ASSET_TYPE["DM"] = "DM";
18
- })(ASSET_TYPE || (exports.ASSET_TYPE = ASSET_TYPE = {}));
19
- var SHARED_ORIGIN;
20
- (function (SHARED_ORIGIN) {
21
- SHARED_ORIGIN["INTERNAL"] = "INTERNAL";
22
- SHARED_ORIGIN["EXTERNAL"] = "EXTERNAL";
23
- SHARED_ORIGIN["UNKNOWN"] = "UNKNOWN";
24
- })(SHARED_ORIGIN || (exports.SHARED_ORIGIN = SHARED_ORIGIN = {}));
25
- var SHARE_TYPE;
26
- (function (SHARE_TYPE) {
27
- SHARE_TYPE["USER"] = "USER";
28
- SHARE_TYPE["ROLE"] = "ROLE";
29
- SHARE_TYPE["ORGANIZATION"] = "ORGANIZATION";
30
- })(SHARE_TYPE || (exports.SHARE_TYPE = SHARE_TYPE = {}));
31
- /**
32
- * Access levels for assets.
33
- * Those are calculated with Base 2, so:
34
- * - NONE = 0 (undefined)
35
- * - CAN_USE = 1 (2^0)
36
- * - CAN_EDIT = 2 (2^1)
37
- * - ADMIN = 4 (2^2)
38
- * - (Future) SUPER = 8 (2^3)
39
- */
40
- var ACCESS_LEVEL;
41
- (function (ACCESS_LEVEL) {
42
- ACCESS_LEVEL[ACCESS_LEVEL["NONE"] = 0] = "NONE";
43
- ACCESS_LEVEL[ACCESS_LEVEL["CAN_USE"] = 1] = "CAN_USE";
44
- ACCESS_LEVEL[ACCESS_LEVEL["CAN_EDIT"] = 2] = "CAN_EDIT";
45
- ACCESS_LEVEL[ACCESS_LEVEL["ADMIN"] = 4] = "ADMIN";
46
- })(ACCESS_LEVEL || (exports.ACCESS_LEVEL = ACCESS_LEVEL = {}));
47
- exports.LIMIT_PER_PAGE = 10;
48
- //# sourceMappingURL=constants.js.map
@@ -1 +0,0 @@
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,15 +0,0 @@
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
@@ -1 +0,0 @@
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"}
@@ -1,11 +0,0 @@
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
@@ -1 +0,0 @@
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"}
@@ -1,12 +0,0 @@
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
@@ -1 +0,0 @@
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"}
@@ -1,18 +0,0 @@
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 details_repository_1 = require("./sharing/implementations/details.repository");
8
- const dm_repository_1 = require("./sharing/implementations/dm.repository");
9
- const dx_repository_1 = require("./sharing/implementations/dx.repository");
10
- const sharing_repository_1 = require("./sharing/implementations/sharing.repository");
11
- tsyringe_1.container.register('SharingRepository', sharing_repository_1.SharingRepository);
12
- tsyringe_1.container.register('SharingDetailsRepository', details_repository_1.SharingDetailsRepository);
13
- tsyringe_1.container.register('UserRepository', user_repository_1.UserRepository);
14
- tsyringe_1.container.register('RoleRepository', group_repository_1.GroupRepository);
15
- tsyringe_1.container.register('dxRepository', dx_repository_1.DashboardRepository);
16
- tsyringe_1.container.register('dmRepository', dm_repository_1.DownloadManagerRepository);
17
- exports.Context = tsyringe_1.container;
18
- //# sourceMappingURL=context.js.map
@@ -1 +0,0 @@
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"}
package/dist/cjs/index.js DELETED
@@ -1,29 +0,0 @@
1
- "use strict";
2
- 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;
4
- require("reflect-metadata");
5
- const context_1 = require("./context");
6
- const fromTokenToUser_1 = require("./quser/services/fromTokenToUser");
7
- const hasAdminRole_1 = require("./quser/services/hasAdminRole");
8
- const checkUserAccessLevel_1 = require("./sharing/services/checkUserAccessLevel");
9
- const delete_1 = require("./sharing/services/delete");
10
- const list_1 = require("./sharing/services/list");
11
- const upsert_1 = require("./sharing/services/upsert");
12
- exports.api = {
13
- upsert: (...args) => context_1.Context.resolve(upsert_1.UpsertSharing).execute(...args),
14
- list: (...args) => context_1.Context.resolve(list_1.ListSharing).execute(...args),
15
- delete: (...args) => context_1.Context.resolve(delete_1.DeleteSharing).execute(...args),
16
- };
17
- const checkUserAccessLevel = (...args) => context_1.Context.resolve(checkUserAccessLevel_1.CheckUserAccessLevel).execute(...args);
18
- exports.checkUserAccessLevel = checkUserAccessLevel;
19
- const fromTokenToUser = (...args) => context_1.Context.resolve(fromTokenToUser_1.FromTokenToUser).execute(...args);
20
- exports.fromTokenToUser = fromTokenToUser;
21
- const hasAdminRole = (...args) => context_1.Context.resolve(hasAdminRole_1.HasAdminRole).execute(...args);
22
- exports.hasAdminRole = hasAdminRole;
23
- var constants_1 = require("./common/constants");
24
- Object.defineProperty(exports, "ACCESS_LEVEL", { enumerable: true, get: function () { return constants_1.ACCESS_LEVEL; } });
25
- Object.defineProperty(exports, "ASSET_TYPE", { enumerable: true, get: function () { return constants_1.ASSET_TYPE; } });
26
- Object.defineProperty(exports, "ORGANIZATION_QRVEY", { enumerable: true, get: function () { return constants_1.ORGANIZATION_QRVEY; } });
27
- Object.defineProperty(exports, "SHARED_ORIGIN", { enumerable: true, get: function () { return constants_1.SHARED_ORIGIN; } });
28
- Object.defineProperty(exports, "SHARE_TYPE", { enumerable: true, get: function () { return constants_1.SHARE_TYPE; } });
29
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
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,3 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=user.type.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"user.type.js","sourceRoot":"","sources":["../../../../../src/quser/entities/types/user.type.ts"],"names":[],"mappings":""}
@@ -1,25 +0,0 @@
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
@@ -1 +0,0 @@
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"}
@@ -1,19 +0,0 @@
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
@@ -1 +0,0 @@
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"}
@@ -1,19 +0,0 @@
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
@@ -1 +0,0 @@
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"}
@@ -1,24 +0,0 @@
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
@@ -1 +0,0 @@
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"}
@@ -1,29 +0,0 @@
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
@@ -1 +0,0 @@
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"}
@@ -1,3 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=rolesRepository.interface.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"rolesRepository.interface.js","sourceRoot":"","sources":["../../../../src/quser/interfaces/rolesRepository.interface.ts"],"names":[],"mappings":""}
@@ -1,3 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=userRepository.interface.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"userRepository.interface.js","sourceRoot":"","sources":["../../../../src/quser/interfaces/userRepository.interface.ts"],"names":[],"mappings":""}
@@ -1,52 +0,0 @@
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
@@ -1 +0,0 @@
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"}