@qrvey/assets-sharing 0.3.4-beta.3092 → 0.3.4-beta.3402

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 (27) hide show
  1. package/dist/cjs/common/constants.js +2 -1
  2. package/dist/cjs/common/constants.js.map +1 -1
  3. package/dist/cjs/quser/services/fromTokenToUser.js +5 -1
  4. package/dist/cjs/quser/services/fromTokenToUser.js.map +1 -1
  5. package/dist/cjs/quser/services/hasAdminRole.js +11 -2
  6. package/dist/cjs/quser/services/hasAdminRole.js.map +1 -1
  7. package/dist/cjs/quser/services/hasSharingPermission.js +12 -3
  8. package/dist/cjs/quser/services/hasSharingPermission.js.map +1 -1
  9. package/dist/cjs/sharing/services/checkAppAccess.js +6 -2
  10. package/dist/cjs/sharing/services/checkAppAccess.js.map +1 -1
  11. package/dist/cjs/sharing/services/checkOrgPermissions.js +5 -1
  12. package/dist/cjs/sharing/services/checkOrgPermissions.js.map +1 -1
  13. package/dist/cjs/sharing/services/checkUserAccessLevel.js +5 -1
  14. package/dist/cjs/sharing/services/checkUserAccessLevel.js.map +1 -1
  15. package/dist/cjs/sharing/services/delete.js +5 -1
  16. package/dist/cjs/sharing/services/delete.js.map +1 -1
  17. package/dist/cjs/sharing/services/getOrgTree.js +5 -1
  18. package/dist/cjs/sharing/services/getOrgTree.js.map +1 -1
  19. package/dist/cjs/sharing/services/list.js +5 -1
  20. package/dist/cjs/sharing/services/list.js.map +1 -1
  21. package/dist/cjs/sharing/services/upsert.js +5 -1
  22. package/dist/cjs/sharing/services/upsert.js.map +1 -1
  23. package/dist/cjs/sharing/services/upsertDefaultSharing.js +5 -1
  24. package/dist/cjs/sharing/services/upsertDefaultSharing.js.map +1 -1
  25. package/dist/esm/index.mjs +797 -411
  26. package/dist/esm/index.mjs.map +1 -1
  27. package/package.json +1 -1
@@ -6,7 +6,6 @@ import { getId } from '@qrvey/id-generator';
6
6
 
7
7
  var __defProp = Object.defineProperty;
8
8
  var __defProps = Object.defineProperties;
9
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
10
9
  var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
11
10
  var __getOwnPropSymbols = Object.getOwnPropertySymbols;
12
11
  var __hasOwnProp = Object.prototype.hasOwnProperty;
@@ -24,6 +23,7 @@ var __spreadValues = (a, b) => {
24
23
  return a;
25
24
  };
26
25
  var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
26
+ var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
27
27
  var __objRest = (source, exclude) => {
28
28
  var target = {};
29
29
  for (var prop in source)
@@ -36,14 +36,7 @@ var __objRest = (source, exclude) => {
36
36
  }
37
37
  return target;
38
38
  };
39
- var __decorateClass = (decorators, target, key, kind) => {
40
- var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc(target, key) : target;
41
- for (var i = decorators.length - 1, decorator; i >= 0; i--)
42
- if (decorator = decorators[i])
43
- result = (decorator(result)) || result;
44
- return result;
45
- };
46
- var __decorateParam = (index, decorator) => (target, key) => decorator(target, key, index);
39
+ var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
47
40
 
48
41
  // src/common/constants.ts
49
42
  var ENVIRONMENT = {
@@ -58,64 +51,68 @@ var DATABASE_INFO = {
58
51
  TABLE_PREFIX: ENVIRONMENT.TABLE_PREFIX
59
52
  };
60
53
  var ORGANIZATION_QRVEY = "org:0";
54
+ var SUPER_ADMIN_ROLE = "administrator";
61
55
  var USER_ANONYMOUS = "anonymous";
62
- var ASSET_TYPE = /* @__PURE__ */ ((ASSET_TYPE3) => {
63
- ASSET_TYPE3["DX"] = "DX";
64
- ASSET_TYPE3["DM"] = "DM";
65
- return ASSET_TYPE3;
66
- })(ASSET_TYPE || {});
67
- var SHARED_ORIGIN = /* @__PURE__ */ ((SHARED_ORIGIN4) => {
68
- SHARED_ORIGIN4["INTERNAL"] = "INTERNAL";
69
- SHARED_ORIGIN4["EXTERNAL"] = "EXTERNAL";
70
- SHARED_ORIGIN4["UNKNOWN"] = "UNKNOWN";
71
- return SHARED_ORIGIN4;
72
- })(SHARED_ORIGIN || {});
73
- var SHARE_TYPE = /* @__PURE__ */ ((SHARE_TYPE3) => {
74
- SHARE_TYPE3["USER"] = "USER";
75
- SHARE_TYPE3["ROLE"] = "ROLE";
76
- SHARE_TYPE3["ORGANIZATION"] = "ORGANIZATION";
77
- SHARE_TYPE3["TENANT"] = "TENANT";
78
- return SHARE_TYPE3;
79
- })(SHARE_TYPE || {});
80
- var ACCESS_LEVEL = /* @__PURE__ */ ((ACCESS_LEVEL3) => {
81
- ACCESS_LEVEL3[ACCESS_LEVEL3["NONE"] = 0] = "NONE";
82
- ACCESS_LEVEL3[ACCESS_LEVEL3["CAN_USE"] = 1] = "CAN_USE";
83
- ACCESS_LEVEL3[ACCESS_LEVEL3["CAN_EDIT"] = 2] = "CAN_EDIT";
84
- ACCESS_LEVEL3[ACCESS_LEVEL3["ADMIN"] = 4] = "ADMIN";
85
- return ACCESS_LEVEL3;
86
- })(ACCESS_LEVEL || {});
87
- var APP_SHARING_STATUS = /* @__PURE__ */ ((APP_SHARING_STATUS2) => {
56
+ var ASSET_TYPE = /* @__PURE__ */ function(ASSET_TYPE2) {
57
+ ASSET_TYPE2["DX"] = "DX";
58
+ ASSET_TYPE2["DM"] = "DM";
59
+ return ASSET_TYPE2;
60
+ }({});
61
+ var SHARED_ORIGIN = /* @__PURE__ */ function(SHARED_ORIGIN2) {
62
+ SHARED_ORIGIN2["INTERNAL"] = "INTERNAL";
63
+ SHARED_ORIGIN2["EXTERNAL"] = "EXTERNAL";
64
+ SHARED_ORIGIN2["UNKNOWN"] = "UNKNOWN";
65
+ return SHARED_ORIGIN2;
66
+ }({});
67
+ var SHARE_TYPE = /* @__PURE__ */ function(SHARE_TYPE2) {
68
+ SHARE_TYPE2["USER"] = "USER";
69
+ SHARE_TYPE2["ROLE"] = "ROLE";
70
+ SHARE_TYPE2["ORGANIZATION"] = "ORGANIZATION";
71
+ SHARE_TYPE2["TENANT"] = "TENANT";
72
+ return SHARE_TYPE2;
73
+ }({});
74
+ var ACCESS_LEVEL = /* @__PURE__ */ function(ACCESS_LEVEL2) {
75
+ ACCESS_LEVEL2[ACCESS_LEVEL2["NONE"] = 0] = "NONE";
76
+ ACCESS_LEVEL2[ACCESS_LEVEL2["CAN_USE"] = 1] = "CAN_USE";
77
+ ACCESS_LEVEL2[ACCESS_LEVEL2["CAN_EDIT"] = 2] = "CAN_EDIT";
78
+ ACCESS_LEVEL2[ACCESS_LEVEL2["ADMIN"] = 4] = "ADMIN";
79
+ return ACCESS_LEVEL2;
80
+ }({});
81
+ var APP_SHARING_STATUS = /* @__PURE__ */ function(APP_SHARING_STATUS2) {
88
82
  APP_SHARING_STATUS2["PUBLIC"] = "public";
89
83
  APP_SHARING_STATUS2["PRIVATE"] = "private";
90
84
  APP_SHARING_STATUS2["SHARED"] = "shared";
91
85
  return APP_SHARING_STATUS2;
92
- })(APP_SHARING_STATUS || {});
86
+ }({});
93
87
  var LIMIT_PER_PAGE = 10;
94
88
 
95
89
  // src/quser/implementations/group.model.ts
96
- var GroupModel = class extends CrudSchema {
90
+ var _GroupModel = class _GroupModel extends CrudSchema {
97
91
  };
98
- GroupModel.table = {
92
+ __name(_GroupModel, "GroupModel");
93
+ __publicField(_GroupModel, "table", {
99
94
  name: `${DATABASE_INFO.SERVER_PREFIX}Groups`,
100
95
  alias: "qv_groups"
101
- };
102
- GroupModel.columns = {
96
+ });
97
+ __publicField(_GroupModel, "columns", {
103
98
  groupid: {
104
99
  type: "string"
105
100
  },
106
101
  name: {
107
102
  type: "string"
108
103
  }
109
- };
110
- GroupModel.schema = DATABASE_INFO.DATA_PERSISTENCE_SCHEMA;
104
+ });
105
+ __publicField(_GroupModel, "schema", DATABASE_INFO.DATA_PERSISTENCE_SCHEMA);
106
+ var GroupModel = _GroupModel;
111
107
  var poolClient;
112
108
  function getPoolClient() {
113
109
  if (!poolClient) poolClient = getDbPool();
114
110
  return poolClient;
115
111
  }
112
+ __name(getPoolClient, "getPoolClient");
116
113
 
117
114
  // src/common/persistence/base.ts
118
- var BaseRepository = class extends CrudService {
115
+ var _BaseRepository = class _BaseRepository extends CrudService {
119
116
  constructor(schema) {
120
117
  super(schema, getPoolClient());
121
118
  }
@@ -123,9 +120,11 @@ var BaseRepository = class extends CrudService {
123
120
  return buildFilter(attribute, value, operator);
124
121
  }
125
122
  };
123
+ __name(_BaseRepository, "BaseRepository");
124
+ var BaseRepository = _BaseRepository;
126
125
 
127
126
  // src/quser/implementations/group.repository.ts
128
- var GroupRepository = class extends BaseRepository {
127
+ var _GroupRepository = class _GroupRepository extends BaseRepository {
129
128
  constructor() {
130
129
  super(GroupModel);
131
130
  }
@@ -144,7 +143,10 @@ var GroupRepository = class extends BaseRepository {
144
143
  async getByName(name) {
145
144
  const params = {
146
145
  filters: {
147
- OR: [this.filter("groupid", name), this.filter("name", name)]
146
+ OR: [
147
+ this.filter("groupid", name),
148
+ this.filter("name", name)
149
+ ]
148
150
  }
149
151
  };
150
152
  const response = await super.findItem(params);
@@ -152,20 +154,18 @@ var GroupRepository = class extends BaseRepository {
152
154
  const data = {
153
155
  groupid: response.groupid,
154
156
  permissions: {
155
- contentAdministration: response.permissions.some(
156
- (p) => p.feature === "contentAdministration" && p.permission === "edit"
157
- ),
158
- assetSharing: response.permissions.some(
159
- (p) => p.feature === "assetSharing" && p.permission === "edit"
160
- )
157
+ contentAdministration: response.permissions.some((p) => p.feature === "contentAdministration" && p.permission === "edit"),
158
+ assetSharing: response.permissions.some((p) => p.feature === "assetSharing" && p.permission === "edit")
161
159
  }
162
160
  };
163
161
  return data;
164
162
  }
165
163
  };
164
+ __name(_GroupRepository, "GroupRepository");
165
+ var GroupRepository = _GroupRepository;
166
166
 
167
167
  // src/quser/implementations/permission.repository.ts
168
- var PermissionRepository = class {
168
+ var _PermissionRepository = class _PermissionRepository {
169
169
  async getPermission(userIdentifier) {
170
170
  var _a, _b, _c, _d;
171
171
  const url = `${ENVIRONMENT.DOMAIN}/api/admin/v5/user/${userIdentifier}/permissions`;
@@ -185,13 +185,16 @@ var PermissionRepository = class {
185
185
  };
186
186
  }
187
187
  };
188
- var UserModel = class extends CrudSchema {
188
+ __name(_PermissionRepository, "PermissionRepository");
189
+ var PermissionRepository = _PermissionRepository;
190
+ var _UserModel = class _UserModel extends CrudSchema {
189
191
  };
190
- UserModel.table = {
192
+ __name(_UserModel, "UserModel");
193
+ __publicField(_UserModel, "table", {
191
194
  name: `${DATABASE_INFO.SERVER_PREFIX}Users`,
192
195
  alias: "qv_users"
193
- };
194
- UserModel.columns = {
196
+ });
197
+ __publicField(_UserModel, "columns", {
195
198
  userid: {
196
199
  type: "string",
197
200
  primary: true,
@@ -200,17 +203,20 @@ UserModel.columns = {
200
203
  groups: {
201
204
  type: "array"
202
205
  }
203
- };
204
- UserModel.schema = DATABASE_INFO.DATA_PERSISTENCE_SCHEMA;
206
+ });
207
+ __publicField(_UserModel, "schema", DATABASE_INFO.DATA_PERSISTENCE_SCHEMA);
208
+ var UserModel = _UserModel;
205
209
 
206
210
  // src/quser/implementations/user.repository.ts
207
- var UserRepository = class extends BaseRepository {
211
+ var _UserRepository = class _UserRepository extends BaseRepository {
208
212
  constructor() {
209
213
  super(UserModel);
210
214
  }
211
215
  async getOne(identifier) {
212
216
  const params = {
213
- filters: [this.filter("userid", identifier)]
217
+ filters: [
218
+ this.filter("userid", identifier)
219
+ ]
214
220
  };
215
221
  const response = await super.findItem(params);
216
222
  return response;
@@ -226,7 +232,9 @@ var UserRepository = class extends BaseRepository {
226
232
  return response;
227
233
  }
228
234
  };
229
- var AdminRepository = class {
235
+ __name(_UserRepository, "UserRepository");
236
+ var UserRepository = _UserRepository;
237
+ var _AdminRepository = class _AdminRepository {
230
238
  async getApplicationInfo(body) {
231
239
  var _a;
232
240
  const url = `${ENVIRONMENT.DOMAIN}/devapi/v4/user/${body.userId}/app/${body.appId}`;
@@ -249,26 +257,52 @@ var AdminRepository = class {
249
257
  };
250
258
  }
251
259
  };
252
- var SharingDetailsModel = class extends CrudSchema {
260
+ __name(_AdminRepository, "AdminRepository");
261
+ var AdminRepository = _AdminRepository;
262
+ var _SharingDetailsModel = class _SharingDetailsModel extends CrudSchema {
253
263
  };
254
- SharingDetailsModel.table = {
264
+ __name(_SharingDetailsModel, "SharingDetailsModel");
265
+ __publicField(_SharingDetailsModel, "table", {
255
266
  name: `${DATABASE_INFO.SERVER_PREFIX}_sharing_details`,
256
267
  alias: `${DATABASE_INFO.TABLE_PREFIX}_sharing_details`
257
- };
258
- SharingDetailsModel.columns = {
259
- sharing_details_id: { type: "string", primary: true },
260
- asset_id: { type: "string" },
261
- access_level: { type: "numeric" },
262
- org_id: { type: "string" },
263
- shared_with: { type: "string" },
264
- shared_type: { type: "string" },
265
- shared_email: { type: "string" },
266
- share_origin: { type: "string" },
267
- created_at: { type: "date" },
268
- updated_at: { type: "date" },
269
- deleted_at: { type: "date" }
270
- };
271
- SharingDetailsModel.indexes = {
268
+ });
269
+ __publicField(_SharingDetailsModel, "columns", {
270
+ sharing_details_id: {
271
+ type: "string",
272
+ primary: true
273
+ },
274
+ asset_id: {
275
+ type: "string"
276
+ },
277
+ access_level: {
278
+ type: "numeric"
279
+ },
280
+ org_id: {
281
+ type: "string"
282
+ },
283
+ shared_with: {
284
+ type: "string"
285
+ },
286
+ shared_type: {
287
+ type: "string"
288
+ },
289
+ shared_email: {
290
+ type: "string"
291
+ },
292
+ share_origin: {
293
+ type: "string"
294
+ },
295
+ created_at: {
296
+ type: "date"
297
+ },
298
+ updated_at: {
299
+ type: "date"
300
+ },
301
+ deleted_at: {
302
+ type: "date"
303
+ }
304
+ });
305
+ __publicField(_SharingDetailsModel, "indexes", {
272
306
  sharingDetailsOrgId: {
273
307
  name: "sharing_details_org_id_index",
274
308
  columns: [
@@ -332,18 +366,21 @@ SharingDetailsModel.indexes = {
332
366
  "share_origin"
333
367
  ]
334
368
  }
335
- };
336
- SharingDetailsModel.schema = DATABASE_INFO.DATA_PERSISTENCE_SCHEMA;
337
- SharingDetailsModel.usePool = true;
369
+ });
370
+ __publicField(_SharingDetailsModel, "schema", DATABASE_INFO.DATA_PERSISTENCE_SCHEMA);
371
+ __publicField(_SharingDetailsModel, "usePool", true);
372
+ var SharingDetailsModel = _SharingDetailsModel;
338
373
 
339
374
  // src/sharing/implementations/details.repository.ts
340
- var SharingDetailsRepository = class extends BaseRepository {
375
+ var _SharingDetailsRepository = class _SharingDetailsRepository extends BaseRepository {
341
376
  constructor() {
342
377
  super(SharingDetailsModel);
343
378
  }
344
379
  async getOne(sharingDetailId) {
345
380
  const params = {
346
- filters: [this.filter("sharing_details_id", sharingDetailId)]
381
+ filters: [
382
+ this.filter("sharing_details_id", sharingDetailId)
383
+ ]
347
384
  };
348
385
  const response = await super.findItem(params);
349
386
  return response;
@@ -370,7 +407,9 @@ var SharingDetailsRepository = class extends BaseRepository {
370
407
  columns: assetIndex.columns
371
408
  }
372
409
  };
373
- const filterList = [this.filter("asset_id", options.data.assetId)];
410
+ const filterList = [
411
+ this.filter("asset_id", options.data.assetId)
412
+ ];
374
413
  if (options.filters) {
375
414
  options.filters.forEach((filter) => {
376
415
  filterList.push(this.filter(filter.column, filter.value));
@@ -378,11 +417,7 @@ var SharingDetailsRepository = class extends BaseRepository {
378
417
  }
379
418
  params.filters = filterList;
380
419
  if (options.data.user) {
381
- params.filters = this.getUserFilter(
382
- options.data.user,
383
- (_a = options.data.parentOrgIds) != null ? _a : [],
384
- filterList
385
- );
420
+ params.filters = this.getUserFilter(options.data.user, (_a = options.data.parentOrgIds) != null ? _a : [], filterList);
386
421
  }
387
422
  if (options.sorting) params.sorting = options.sorting;
388
423
  const response = await super.find(params);
@@ -393,10 +428,9 @@ var SharingDetailsRepository = class extends BaseRepository {
393
428
  return response;
394
429
  }
395
430
  async patch(sharingDetailId, details) {
396
- await super.update(
397
- [this.filter("sharing_details_id", sharingDetailId)],
398
- details
399
- );
431
+ await super.update([
432
+ this.filter("sharing_details_id", sharingDetailId)
433
+ ], details);
400
434
  return true;
401
435
  }
402
436
  async delete(sharingDetailId) {
@@ -454,32 +488,40 @@ var SharingDetailsRepository = class extends BaseRepository {
454
488
  const filter = [];
455
489
  if (currentFilters) filter.push(...currentFilters);
456
490
  filter.push(sharing);
457
- return { AND: filter };
491
+ return {
492
+ AND: filter
493
+ };
458
494
  }
459
495
  };
460
- var DownloadManagerSchema = class extends CrudSchema {
496
+ __name(_SharingDetailsRepository, "SharingDetailsRepository");
497
+ var SharingDetailsRepository = _SharingDetailsRepository;
498
+ var _DownloadManagerSchema = class _DownloadManagerSchema extends CrudSchema {
461
499
  };
462
- DownloadManagerSchema.table = {
500
+ __name(_DownloadManagerSchema, "DownloadManagerSchema");
501
+ __publicField(_DownloadManagerSchema, "table", {
463
502
  name: `${DATABASE_INFO.SERVER_PREFIX}DownloadManager`,
464
503
  alias: `${DATABASE_INFO.TABLE_PREFIX}_download_manager`
465
- };
466
- DownloadManagerSchema.columns = {
504
+ });
505
+ __publicField(_DownloadManagerSchema, "columns", {
467
506
  downloadManagerId: {
468
507
  primary: true,
469
508
  type: "String",
470
509
  columnId: true
471
510
  }
472
- };
473
- DownloadManagerSchema.schema = "exports";
474
- DownloadManagerSchema.usePool = true;
511
+ });
512
+ __publicField(_DownloadManagerSchema, "schema", "exports");
513
+ __publicField(_DownloadManagerSchema, "usePool", true);
514
+ var DownloadManagerSchema = _DownloadManagerSchema;
475
515
 
476
516
  // src/sharing/implementations/dm.repository.ts
477
- var DownloadManagerRepository = class extends BaseRepository {
517
+ var _DownloadManagerRepository = class _DownloadManagerRepository extends BaseRepository {
478
518
  constructor() {
479
519
  super(DownloadManagerSchema);
480
520
  }
481
521
  async get(identifier) {
482
- const filterList = [this.filter("downloadManagerId", identifier)];
522
+ const filterList = [
523
+ this.filter("downloadManagerId", identifier)
524
+ ];
483
525
  const params = {
484
526
  filters: filterList
485
527
  };
@@ -487,38 +529,62 @@ var DownloadManagerRepository = class extends BaseRepository {
487
529
  return response;
488
530
  }
489
531
  };
490
- var DashboardSchema = class extends CrudSchema {
532
+ __name(_DownloadManagerRepository, "DownloadManagerRepository");
533
+ var DownloadManagerRepository = _DownloadManagerRepository;
534
+ var _DashboardSchema = class _DashboardSchema extends CrudSchema {
491
535
  };
492
- DashboardSchema.table = {
536
+ __name(_DashboardSchema, "DashboardSchema");
537
+ __publicField(_DashboardSchema, "table", {
493
538
  name: `${DATABASE_INFO.SERVER_PREFIX}_dx_dashboard`,
494
539
  alias: `${DATABASE_INFO.TABLE_PREFIX}_dashboard`
495
- };
496
- DashboardSchema.columns = {
497
- ResourceUID: { type: "string", primary: true },
498
- dashboardId: { type: "string" },
499
- contentId: { type: "string" },
500
- userId: { type: "string" },
501
- ownerId: { type: "string" },
502
- appId: { type: "string" },
503
- qvAttributes: { type: "object" }
504
- };
505
- DashboardSchema.indexes = {
540
+ });
541
+ __publicField(_DashboardSchema, "columns", {
542
+ ResourceUID: {
543
+ type: "string",
544
+ primary: true
545
+ },
546
+ dashboardId: {
547
+ type: "string"
548
+ },
549
+ contentId: {
550
+ type: "string"
551
+ },
552
+ userId: {
553
+ type: "string"
554
+ },
555
+ ownerId: {
556
+ type: "string"
557
+ },
558
+ appId: {
559
+ type: "string"
560
+ },
561
+ qvAttributes: {
562
+ type: "object"
563
+ }
564
+ });
565
+ __publicField(_DashboardSchema, "indexes", {
506
566
  ResourceUID: {
507
567
  name: "MetadataByResource",
508
- columns: ["Metadata", "ResourceUID"]
568
+ columns: [
569
+ "Metadata",
570
+ "ResourceUID"
571
+ ]
509
572
  }
510
- };
511
- DashboardSchema.schema = "dashboard_x";
512
- DashboardSchema.usePool = true;
573
+ });
574
+ __publicField(_DashboardSchema, "schema", "dashboard_x");
575
+ __publicField(_DashboardSchema, "usePool", true);
576
+ var DashboardSchema = _DashboardSchema;
513
577
 
514
578
  // src/sharing/implementations/dx.repository.ts
515
- var DashboardRepository = class extends BaseRepository {
579
+ var _DashboardRepository = class _DashboardRepository extends BaseRepository {
516
580
  constructor() {
517
581
  super(DashboardSchema);
518
582
  }
519
583
  async get(identifier) {
520
584
  const uid = `DASHBOARD=${identifier}&BRANCH=MAIN`;
521
- const filterList = [this.filter("ResourceUID", uid)];
585
+ const filterList = [
586
+ this.filter("ResourceUID", uid)
587
+ ];
522
588
  const params = {
523
589
  filters: filterList
524
590
  };
@@ -526,58 +592,88 @@ var DashboardRepository = class extends BaseRepository {
526
592
  return response;
527
593
  }
528
594
  };
529
- var OrganizationModel = class extends CrudSchema {
595
+ __name(_DashboardRepository, "DashboardRepository");
596
+ var DashboardRepository = _DashboardRepository;
597
+ var _OrganizationModel = class _OrganizationModel extends CrudSchema {
530
598
  };
531
- OrganizationModel.table = {
599
+ __name(_OrganizationModel, "OrganizationModel");
600
+ __publicField(_OrganizationModel, "table", {
532
601
  name: "qv_organizations",
533
602
  alias: `${DATABASE_INFO.TABLE_PREFIX}_organizations`
534
- };
535
- OrganizationModel.columns = {
536
- orgId: { type: "string", primary: true },
537
- name: { type: "string" },
538
- parent_org_id: { type: "string" },
539
- org_path: { type: "string" },
540
- asset_sharing: { type: "boolean" },
541
- effective_asset_sharing: { type: "boolean" },
542
- created_at: { type: "string" },
543
- updated_at: { type: "string" }
544
- };
545
- OrganizationModel.indexes = {
546
- org_path: { name: "idx_qv_orgs_org_path_gist", columns: ["org_path"] },
603
+ });
604
+ __publicField(_OrganizationModel, "columns", {
605
+ orgId: {
606
+ type: "string",
607
+ primary: true
608
+ },
609
+ name: {
610
+ type: "string"
611
+ },
612
+ parent_org_id: {
613
+ type: "string"
614
+ },
615
+ org_path: {
616
+ type: "string"
617
+ },
618
+ asset_sharing: {
619
+ type: "boolean"
620
+ },
621
+ effective_asset_sharing: {
622
+ type: "boolean"
623
+ },
624
+ created_at: {
625
+ type: "string"
626
+ },
627
+ updated_at: {
628
+ type: "string"
629
+ }
630
+ });
631
+ __publicField(_OrganizationModel, "indexes", {
632
+ org_path: {
633
+ name: "idx_qv_orgs_org_path_gist",
634
+ columns: [
635
+ "org_path"
636
+ ]
637
+ },
547
638
  parent_org_id: {
548
639
  name: "idx_qv_orgs_parent",
549
- columns: ["parent_org_id"]
640
+ columns: [
641
+ "parent_org_id"
642
+ ]
550
643
  }
551
- };
552
- OrganizationModel.schema = DATABASE_INFO.DATA_PERSISTENCE_SCHEMA;
553
- OrganizationModel.usePool = true;
644
+ });
645
+ __publicField(_OrganizationModel, "schema", DATABASE_INFO.DATA_PERSISTENCE_SCHEMA);
646
+ __publicField(_OrganizationModel, "usePool", true);
647
+ var OrganizationModel = _OrganizationModel;
554
648
 
555
649
  // src/sharing/entities/types/orgTreeResult.ts
556
- var HIERARCHY_SCOPE = /* @__PURE__ */ ((HIERARCHY_SCOPE2) => {
650
+ var HIERARCHY_SCOPE = /* @__PURE__ */ function(HIERARCHY_SCOPE2) {
557
651
  HIERARCHY_SCOPE2["CHILDREN"] = "children";
558
652
  HIERARCHY_SCOPE2["PARENTS"] = "parents";
559
653
  HIERARCHY_SCOPE2["BOTH"] = "both";
560
654
  return HIERARCHY_SCOPE2;
561
- })(HIERARCHY_SCOPE || {});
655
+ }({});
562
656
 
563
657
  // src/sharing/implementations/organization.repository.ts
564
- var OrganizationRepository = class extends BaseRepository {
658
+ var _OrganizationRepository = class _OrganizationRepository extends BaseRepository {
565
659
  constructor() {
566
660
  super(OrganizationModel);
567
661
  }
568
662
  async getOne(orgId) {
569
663
  const params = {
570
- filters: [this.filter('"orgId"', orgId)]
664
+ filters: [
665
+ this.filter('"orgId"', orgId)
666
+ ]
571
667
  };
572
668
  const response = await super.findItem(params);
573
669
  return response;
574
670
  }
575
- async getOrgTree(orgId, scope = "both" /* BOTH */) {
671
+ async getOrgTree(orgId, scope = HIERARCHY_SCOPE.BOTH) {
576
672
  const cte = `WITH target AS (SELECT org_path FROM admin.qv_organizations WHERE "orgId" = '${orgId}')`;
577
673
  let condition = "";
578
- if (scope === "children" /* CHILDREN */) {
674
+ if (scope === HIERARCHY_SCOPE.CHILDREN) {
579
675
  condition = `admin.qv_organizations.org_path <@ target.org_path`;
580
- } else if (scope === "parents" /* PARENTS */) {
676
+ } else if (scope === HIERARCHY_SCOPE.PARENTS) {
581
677
  condition = `admin.qv_organizations.org_path @> target.org_path`;
582
678
  } else {
583
679
  condition = `(
@@ -621,43 +717,71 @@ var OrganizationRepository = class extends BaseRepository {
621
717
  };
622
718
  }
623
719
  };
624
- var SharingModel = class extends CrudSchema {
720
+ __name(_OrganizationRepository, "OrganizationRepository");
721
+ var OrganizationRepository = _OrganizationRepository;
722
+ var _SharingModel = class _SharingModel extends CrudSchema {
625
723
  };
626
- SharingModel.table = {
724
+ __name(_SharingModel, "SharingModel");
725
+ __publicField(_SharingModel, "table", {
627
726
  name: `${DATABASE_INFO.SERVER_PREFIX}_sharing`,
628
727
  alias: `${DATABASE_INFO.TABLE_PREFIX}_sharing`
629
- };
630
- SharingModel.columns = {
631
- asset_id: { type: "string", primary: true },
632
- asset_type: { type: "string" },
633
- sharing_mode_status: { type: "boolean" },
634
- sharing_mode: { type: "number" },
635
- created_at: { type: "date" },
636
- updated_at: { type: "date" },
637
- deleted_at: { type: "date" },
638
- qvAttributes: { type: "object" }
639
- };
640
- SharingModel.indexes = {
728
+ });
729
+ __publicField(_SharingModel, "columns", {
730
+ asset_id: {
731
+ type: "string",
732
+ primary: true
733
+ },
734
+ asset_type: {
735
+ type: "string"
736
+ },
737
+ sharing_mode_status: {
738
+ type: "boolean"
739
+ },
740
+ sharing_mode: {
741
+ type: "number"
742
+ },
743
+ created_at: {
744
+ type: "date"
745
+ },
746
+ updated_at: {
747
+ type: "date"
748
+ },
749
+ deleted_at: {
750
+ type: "date"
751
+ },
752
+ qvAttributes: {
753
+ type: "object"
754
+ }
755
+ });
756
+ __publicField(_SharingModel, "indexes", {
641
757
  sharingConfigLookup: {
642
758
  name: "sharing_config_lookup_idx",
643
- columns: ["asset_id", "asset_type"]
759
+ columns: [
760
+ "asset_id",
761
+ "asset_type"
762
+ ]
644
763
  },
645
764
  sharingAssetType: {
646
765
  name: "sharing_asset_type_index",
647
- columns: ["asset_type"]
766
+ columns: [
767
+ "asset_type"
768
+ ]
648
769
  }
649
- };
650
- SharingModel.schema = DATABASE_INFO.DATA_PERSISTENCE_SCHEMA;
651
- SharingModel.usePool = true;
770
+ });
771
+ __publicField(_SharingModel, "schema", DATABASE_INFO.DATA_PERSISTENCE_SCHEMA);
772
+ __publicField(_SharingModel, "usePool", true);
773
+ var SharingModel = _SharingModel;
652
774
 
653
775
  // src/sharing/implementations/sharing.repository.ts
654
- var SharingRepository = class extends BaseRepository {
776
+ var _SharingRepository = class _SharingRepository extends BaseRepository {
655
777
  constructor() {
656
778
  super(SharingModel);
657
779
  }
658
780
  async getOne(assetId) {
659
781
  const params = {
660
- filters: [this.filter("asset_id", assetId)]
782
+ filters: [
783
+ this.filter("asset_id", assetId)
784
+ ]
661
785
  };
662
786
  const response = await super.findItem(params);
663
787
  return response;
@@ -667,59 +791,50 @@ var SharingRepository = class extends BaseRepository {
667
791
  return response;
668
792
  }
669
793
  async patch(assetId, sharing) {
670
- await super.update([this.filter("asset_id", assetId)], sharing);
794
+ await super.update([
795
+ this.filter("asset_id", assetId)
796
+ ], sharing);
671
797
  return true;
672
798
  }
673
799
  async delete(assetId) {
674
- await super.remove([this.filter("asset_id", assetId)]);
800
+ await super.remove([
801
+ this.filter("asset_id", assetId)
802
+ ]);
675
803
  return true;
676
804
  }
677
805
  };
806
+ __name(_SharingRepository, "SharingRepository");
807
+ var SharingRepository = _SharingRepository;
678
808
 
679
809
  // src/context.ts
680
- container.register(
681
- "SharingRepository",
682
- SharingRepository
683
- );
684
- container.register(
685
- "SharingDetailsRepository",
686
- SharingDetailsRepository
687
- );
810
+ container.register("SharingRepository", SharingRepository);
811
+ container.register("SharingDetailsRepository", SharingDetailsRepository);
688
812
  container.register("UserRepository", UserRepository);
689
813
  container.register("RoleRepository", GroupRepository);
690
- container.register(
691
- "dxRepository",
692
- DashboardRepository
693
- );
694
- container.register(
695
- "dmRepository",
696
- DownloadManagerRepository
697
- );
698
- container.register(
699
- "OrganizationRepository",
700
- OrganizationRepository
701
- );
702
- container.register(
703
- "AdminRepository",
704
- AdminRepository
705
- );
706
- container.register(
707
- "PermissionRepository",
708
- PermissionRepository
709
- );
814
+ container.register("dxRepository", DashboardRepository);
815
+ container.register("dmRepository", DownloadManagerRepository);
816
+ container.register("OrganizationRepository", OrganizationRepository);
817
+ container.register("AdminRepository", AdminRepository);
818
+ container.register("PermissionRepository", PermissionRepository);
710
819
  var Context = container;
711
820
 
712
821
  // src/common/util.ts
713
822
  function isComposer(type) {
714
- return type === "qrveyLogin" /* composer */ || type === "OPENID_CREATORS" /* openIdComposer */;
823
+ return type === "qrveyLogin" || type === "OPENID_CREATORS";
715
824
  }
825
+ __name(isComposer, "isComposer");
716
826
  function isAnonymousUser(value) {
717
827
  return (value == null ? void 0 : value.toLowerCase()) === USER_ANONYMOUS;
718
828
  }
829
+ __name(isAnonymousUser, "isAnonymousUser");
719
830
 
720
831
  // src/quser/entities/user.ts
721
- var User = class {
832
+ var _User = class _User {
722
833
  constructor(params) {
834
+ __publicField(this, "userId");
835
+ __publicField(this, "email");
836
+ __publicField(this, "groups");
837
+ __publicField(this, "organization");
723
838
  this.userId = params.userid;
724
839
  this.email = params.email;
725
840
  this.groups = params.groups;
@@ -738,19 +853,35 @@ var User = class {
738
853
  return this.organization;
739
854
  }
740
855
  };
856
+ __name(_User, "User");
857
+ var User = _User;
741
858
 
742
859
  // src/quser/services/fromTokenToUser.ts
743
- var FromTokenToUser = class {
860
+ function _ts_decorate(decorators, target, key, desc) {
861
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
862
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
863
+ 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;
864
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
865
+ }
866
+ __name(_ts_decorate, "_ts_decorate");
867
+ function _ts_metadata(k, v) {
868
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
869
+ }
870
+ __name(_ts_metadata, "_ts_metadata");
871
+ function _ts_param(paramIndex, decorator) {
872
+ return function(target, key) {
873
+ decorator(target, key, paramIndex);
874
+ };
875
+ }
876
+ __name(_ts_param, "_ts_param");
877
+ var _FromTokenToUser = class _FromTokenToUser {
744
878
  constructor(userRepository) {
879
+ __publicField(this, "userRepository");
745
880
  this.userRepository = userRepository;
746
881
  }
747
- async execute({
748
- body
749
- }) {
882
+ async execute({ body }) {
750
883
  var _a;
751
- const current = await this.userRepository.getOne(
752
- body.clientId || body.userId
753
- );
884
+ const current = await this.userRepository.getOne(body.clientId || body.userId);
754
885
  if (current) {
755
886
  const user = new User(current);
756
887
  return {
@@ -774,45 +905,63 @@ var FromTokenToUser = class {
774
905
  };
775
906
  }
776
907
  };
777
- FromTokenToUser = __decorateClass([
908
+ __name(_FromTokenToUser, "FromTokenToUser");
909
+ var FromTokenToUser = _FromTokenToUser;
910
+ FromTokenToUser = _ts_decorate([
778
911
  injectable(),
779
- __decorateParam(0, inject("UserRepository"))
912
+ _ts_param(0, inject("UserRepository")),
913
+ _ts_metadata("design:type", Function),
914
+ _ts_metadata("design:paramtypes", [
915
+ typeof UserRepositoryInterface === "undefined" ? Object : UserRepositoryInterface
916
+ ])
780
917
  ], FromTokenToUser);
781
- var HasAdminRole = class {
918
+ function _ts_decorate2(decorators, target, key, desc) {
919
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
920
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
921
+ 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;
922
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
923
+ }
924
+ __name(_ts_decorate2, "_ts_decorate");
925
+ function _ts_metadata2(k, v) {
926
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
927
+ }
928
+ __name(_ts_metadata2, "_ts_metadata");
929
+ function _ts_param2(paramIndex, decorator) {
930
+ return function(target, key) {
931
+ decorator(target, key, paramIndex);
932
+ };
933
+ }
934
+ __name(_ts_param2, "_ts_param");
935
+ var _HasAdminRole = class _HasAdminRole {
782
936
  constructor(userRepository, permissionRepository, roleRepository) {
937
+ __publicField(this, "userRepository");
938
+ __publicField(this, "permissionRepository");
939
+ __publicField(this, "roleRepository");
783
940
  this.userRepository = userRepository;
784
941
  this.permissionRepository = permissionRepository;
785
942
  this.roleRepository = roleRepository;
786
943
  }
787
- async execute({
788
- clientId,
789
- orgId,
790
- userId,
791
- loginType,
792
- roles
793
- } = {}) {
944
+ async execute({ clientId, orgId, userId, loginType, roles } = {}) {
794
945
  var _a;
795
946
  if (!userId) return false;
796
947
  if (isAnonymousUser(clientId)) return false;
797
948
  if (roles == null ? void 0 : roles.length) {
798
- const rolePermissions = await Promise.all(
799
- roles.map((role) => this.roleRepository.getByName(role))
800
- );
801
- const foundRoles = rolePermissions.filter((role) => role != null);
949
+ const rolePermissions = await Promise.all(roles.map((role) => this.roleRepository.getByName(role)));
950
+ const isQrveyOrg = orgId === ORGANIZATION_QRVEY;
951
+ const foundRoles = rolePermissions.filter((role) => {
952
+ if (role == null) return false;
953
+ return !(role.groupid === SUPER_ADMIN_ROLE && !isQrveyOrg);
954
+ });
802
955
  if (foundRoles.length > 0) {
803
- return foundRoles.some(
804
- (role) => {
805
- var _a2;
806
- return (_a2 = role == null ? void 0 : role.permissions) == null ? void 0 : _a2.contentAdministration;
807
- }
808
- );
956
+ return foundRoles.some((role) => {
957
+ var _a2;
958
+ return (_a2 = role == null ? void 0 : role.permissions) == null ? void 0 : _a2.contentAdministration;
959
+ });
809
960
  }
810
961
  }
811
962
  let isAdmin = false;
812
963
  if (orgId === ORGANIZATION_QRVEY) {
813
- const user = await this.permissionRepository.getPermission(
814
- clientId != null ? clientId : userId
815
- );
964
+ const user = await this.permissionRepository.getPermission(clientId != null ? clientId : userId);
816
965
  isAdmin = (_a = user == null ? void 0 : user.contentAdministration) != null ? _a : false;
817
966
  if (isAdmin) return true;
818
967
  }
@@ -822,109 +971,189 @@ var HasAdminRole = class {
822
971
  return isAdmin;
823
972
  }
824
973
  };
825
- HasAdminRole = __decorateClass([
974
+ __name(_HasAdminRole, "HasAdminRole");
975
+ var HasAdminRole = _HasAdminRole;
976
+ HasAdminRole = _ts_decorate2([
826
977
  injectable(),
827
- __decorateParam(0, inject("UserRepository")),
828
- __decorateParam(1, inject("PermissionRepository")),
829
- __decorateParam(2, inject("RoleRepository"))
978
+ _ts_param2(0, inject("UserRepository")),
979
+ _ts_param2(1, inject("PermissionRepository")),
980
+ _ts_param2(2, inject("RoleRepository")),
981
+ _ts_metadata2("design:type", Function),
982
+ _ts_metadata2("design:paramtypes", [
983
+ typeof UserRepositoryInterface === "undefined" ? Object : UserRepositoryInterface,
984
+ typeof PermissionRepositoryInterface === "undefined" ? Object : PermissionRepositoryInterface,
985
+ typeof RoleRepositoryInterface === "undefined" ? Object : RoleRepositoryInterface
986
+ ])
830
987
  ], HasAdminRole);
831
- var HasSharingPermission = class {
988
+ function _ts_decorate3(decorators, target, key, desc) {
989
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
990
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
991
+ 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;
992
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
993
+ }
994
+ __name(_ts_decorate3, "_ts_decorate");
995
+ function _ts_metadata3(k, v) {
996
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
997
+ }
998
+ __name(_ts_metadata3, "_ts_metadata");
999
+ function _ts_param3(paramIndex, decorator) {
1000
+ return function(target, key) {
1001
+ decorator(target, key, paramIndex);
1002
+ };
1003
+ }
1004
+ __name(_ts_param3, "_ts_param");
1005
+ var _HasSharingPermission = class _HasSharingPermission {
832
1006
  constructor(permissionRepository, roleRepository) {
1007
+ __publicField(this, "permissionRepository");
1008
+ __publicField(this, "roleRepository");
833
1009
  this.permissionRepository = permissionRepository;
834
1010
  this.roleRepository = roleRepository;
835
1011
  }
836
- async execute({
837
- clientId,
838
- userId,
839
- roles,
840
- orgId
841
- } = {}) {
1012
+ async execute({ clientId, orgId, userId, roles } = {}) {
842
1013
  var _a;
843
1014
  if (!userId) return false;
844
1015
  if (isAnonymousUser(clientId)) return false;
845
1016
  if (roles == null ? void 0 : roles.length) {
846
- const rolePermissions = await Promise.all(
847
- roles.map((role) => this.roleRepository.getByName(role))
848
- );
849
- const foundRoles = rolePermissions.filter((role) => role != null);
1017
+ const rolePermissions = await Promise.all(roles.map((role) => this.roleRepository.getByName(role)));
1018
+ const isQrveyOrg = orgId === ORGANIZATION_QRVEY;
1019
+ const foundRoles = rolePermissions.filter((role) => {
1020
+ if (role == null) return false;
1021
+ return !(role.groupid === SUPER_ADMIN_ROLE && !isQrveyOrg);
1022
+ });
850
1023
  if (foundRoles.length > 0) {
851
- return foundRoles.some(
852
- (role) => {
853
- var _a2;
854
- return (_a2 = role == null ? void 0 : role.permissions) == null ? void 0 : _a2.assetSharing;
855
- }
856
- );
1024
+ return foundRoles.some((role) => {
1025
+ var _a2;
1026
+ return (_a2 = role == null ? void 0 : role.permissions) == null ? void 0 : _a2.assetSharing;
1027
+ });
857
1028
  }
858
1029
  }
859
1030
  if (orgId === ORGANIZATION_QRVEY) {
860
- const permission = await this.permissionRepository.getPermission(
861
- clientId != null ? clientId : userId
862
- );
1031
+ const permission = await this.permissionRepository.getPermission(clientId != null ? clientId : userId);
863
1032
  return (_a = permission == null ? void 0 : permission.assetSharing) != null ? _a : false;
864
1033
  }
865
1034
  return false;
866
1035
  }
867
1036
  };
868
- HasSharingPermission = __decorateClass([
1037
+ __name(_HasSharingPermission, "HasSharingPermission");
1038
+ var HasSharingPermission = _HasSharingPermission;
1039
+ HasSharingPermission = _ts_decorate3([
869
1040
  injectable(),
870
- __decorateParam(0, inject("PermissionRepository")),
871
- __decorateParam(1, inject("RoleRepository"))
1041
+ _ts_param3(0, inject("PermissionRepository")),
1042
+ _ts_param3(1, inject("RoleRepository")),
1043
+ _ts_metadata3("design:type", Function),
1044
+ _ts_metadata3("design:paramtypes", [
1045
+ typeof PermissionRepositoryInterface === "undefined" ? Object : PermissionRepositoryInterface,
1046
+ typeof RoleRepositoryInterface === "undefined" ? Object : RoleRepositoryInterface
1047
+ ])
872
1048
  ], HasSharingPermission);
873
- var CheckAppAccess = class {
1049
+ function _ts_decorate4(decorators, target, key, desc) {
1050
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
1051
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
1052
+ 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;
1053
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
1054
+ }
1055
+ __name(_ts_decorate4, "_ts_decorate");
1056
+ function _ts_metadata4(k, v) {
1057
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
1058
+ }
1059
+ __name(_ts_metadata4, "_ts_metadata");
1060
+ function _ts_param4(paramIndex, decorator) {
1061
+ return function(target, key) {
1062
+ decorator(target, key, paramIndex);
1063
+ };
1064
+ }
1065
+ __name(_ts_param4, "_ts_param");
1066
+ var _CheckAppAccess = class _CheckAppAccess {
874
1067
  constructor(adminRepository) {
1068
+ __publicField(this, "adminRepository");
875
1069
  this.adminRepository = adminRepository;
876
1070
  }
877
1071
  //TODO Need Test
878
- async execute({
879
- appId,
880
- userId
881
- }) {
882
- if (!userId)
883
- return {
884
- hasAccess: false
885
- };
1072
+ async execute({ userId, appId }) {
1073
+ if (!userId) return {
1074
+ hasAccess: false
1075
+ };
886
1076
  const appInfo = await this.adminRepository.getApplicationInfo({
887
1077
  appId,
888
1078
  userId
889
1079
  });
890
- if (appInfo.status !== 200)
891
- return {
892
- hasAccess: false
893
- };
1080
+ if (appInfo.status !== 200) return {
1081
+ hasAccess: false
1082
+ };
894
1083
  return {
895
1084
  hasAccess: true
896
1085
  };
897
1086
  }
898
1087
  };
899
- CheckAppAccess = __decorateClass([
1088
+ __name(_CheckAppAccess, "CheckAppAccess");
1089
+ var CheckAppAccess = _CheckAppAccess;
1090
+ CheckAppAccess = _ts_decorate4([
900
1091
  injectable(),
901
- __decorateParam(0, inject("AdminRepository"))
1092
+ _ts_param4(0, inject("AdminRepository")),
1093
+ _ts_metadata4("design:type", Function),
1094
+ _ts_metadata4("design:paramtypes", [
1095
+ typeof AdminRepositoryInterface === "undefined" ? Object : AdminRepositoryInterface
1096
+ ])
902
1097
  ], CheckAppAccess);
903
- var CheckOrgPermissions = class {
1098
+ function _ts_decorate5(decorators, target, key, desc) {
1099
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
1100
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
1101
+ 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;
1102
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
1103
+ }
1104
+ __name(_ts_decorate5, "_ts_decorate");
1105
+ function _ts_metadata5(k, v) {
1106
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
1107
+ }
1108
+ __name(_ts_metadata5, "_ts_metadata");
1109
+ function _ts_param5(paramIndex, decorator) {
1110
+ return function(target, key) {
1111
+ decorator(target, key, paramIndex);
1112
+ };
1113
+ }
1114
+ __name(_ts_param5, "_ts_param");
1115
+ var _CheckOrgPermissions = class _CheckOrgPermissions {
904
1116
  constructor(organizationRepository) {
1117
+ __publicField(this, "organizationRepository");
905
1118
  this.organizationRepository = organizationRepository;
906
1119
  }
907
1120
  //TODO Need Tes
908
- async execute({
909
- orgId
910
- }) {
1121
+ async execute({ orgId }) {
911
1122
  const hasPublicAccess = await this.organizationRepository.getOne(orgId);
912
- const privacy = (hasPublicAccess == null ? void 0 : hasPublicAccess.effective_asset_sharing) ? "private" /* PRIVATE */ : "public" /* PUBLIC */;
913
- return { privacy };
1123
+ const privacy = (hasPublicAccess == null ? void 0 : hasPublicAccess.effective_asset_sharing) ? APP_SHARING_STATUS.PRIVATE : APP_SHARING_STATUS.PUBLIC;
1124
+ return {
1125
+ privacy
1126
+ };
914
1127
  }
915
1128
  };
916
- CheckOrgPermissions = __decorateClass([
1129
+ __name(_CheckOrgPermissions, "CheckOrgPermissions");
1130
+ var CheckOrgPermissions = _CheckOrgPermissions;
1131
+ CheckOrgPermissions = _ts_decorate5([
917
1132
  injectable(),
918
- __decorateParam(0, inject("OrganizationRepository"))
1133
+ _ts_param5(0, inject("OrganizationRepository")),
1134
+ _ts_metadata5("design:type", Function),
1135
+ _ts_metadata5("design:paramtypes", [
1136
+ typeof OrganizationRepositoryInterface === "undefined" ? Object : OrganizationRepositoryInterface
1137
+ ])
919
1138
  ], CheckOrgPermissions);
920
- var SharingDetail = class _SharingDetail {
1139
+ var _SharingDetail = class _SharingDetail {
921
1140
  constructor(params) {
1141
+ __publicField(this, "sharingDetailsId");
1142
+ __publicField(this, "assetId");
1143
+ __publicField(this, "accessLevel");
1144
+ __publicField(this, "accessLevelAsText");
1145
+ __publicField(this, "orgId");
1146
+ __publicField(this, "sharedWith");
1147
+ __publicField(this, "sharedType");
1148
+ __publicField(this, "sharedOrigin");
1149
+ __publicField(this, "sharedEmail");
1150
+ __publicField(this, "createdAt");
1151
+ __publicField(this, "updatedAt");
1152
+ __publicField(this, "deletedAt");
922
1153
  this.sharingDetailsId = params.sharingDetailsId;
923
1154
  this.assetId = params.assetId;
924
1155
  this.accessLevel = params.accessLevel;
925
- this.accessLevelAsText = this.convertAccessLevelToText(
926
- params.accessLevel
927
- );
1156
+ this.accessLevelAsText = this.convertAccessLevelToText(params.accessLevel);
928
1157
  this.orgId = params.orgId;
929
1158
  this.sharedWith = params.sharedWith;
930
1159
  this.sharedType = params.sharedType;
@@ -960,8 +1189,7 @@ var SharingDetail = class _SharingDetail {
960
1189
  });
961
1190
  }
962
1191
  update(params) {
963
- if (params.accessLevel || params.accessLevel === 0)
964
- this.accessLevel = params.accessLevel;
1192
+ if (params.accessLevel || params.accessLevel === 0) this.accessLevel = params.accessLevel;
965
1193
  if (params.sharedEmail) this.sharedEmail = params.sharedEmail;
966
1194
  this.updatedAt = (/* @__PURE__ */ new Date()).toISOString();
967
1195
  }
@@ -1024,55 +1252,90 @@ var SharingDetail = class _SharingDetail {
1024
1252
  return (_a = ACCESS_LEVEL[level]) != null ? _a : "UNKNOWN";
1025
1253
  }
1026
1254
  };
1255
+ __name(_SharingDetail, "SharingDetail");
1256
+ var SharingDetail = _SharingDetail;
1027
1257
 
1028
1258
  // src/sharing/services/checkUserAccessLevel.ts
1029
- var CheckUserAccessLevel = class {
1259
+ function _ts_decorate6(decorators, target, key, desc) {
1260
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
1261
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
1262
+ 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;
1263
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
1264
+ }
1265
+ __name(_ts_decorate6, "_ts_decorate");
1266
+ function _ts_metadata6(k, v) {
1267
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
1268
+ }
1269
+ __name(_ts_metadata6, "_ts_metadata");
1270
+ function _ts_param6(paramIndex, decorator) {
1271
+ return function(target, key) {
1272
+ decorator(target, key, paramIndex);
1273
+ };
1274
+ }
1275
+ __name(_ts_param6, "_ts_param");
1276
+ var _CheckUserAccessLevel = class _CheckUserAccessLevel {
1030
1277
  constructor(detailsRepository, organizationRepository) {
1278
+ __publicField(this, "detailsRepository");
1279
+ __publicField(this, "organizationRepository");
1031
1280
  this.detailsRepository = detailsRepository;
1032
1281
  this.organizationRepository = organizationRepository;
1033
1282
  }
1034
- async execute({
1035
- userId,
1036
- assetId,
1037
- assetOrgId,
1038
- clientId,
1039
- loginType,
1040
- roles,
1041
- orgId
1042
- }) {
1283
+ async execute({ userId, assetId, assetOrgId, clientId, loginType, roles, orgId }) {
1043
1284
  var _a, _b;
1044
1285
  const user = await fromTokenToUser({
1045
- body: { userId, clientId, roles, orgId, loginType }
1286
+ body: {
1287
+ userId,
1288
+ clientId,
1289
+ roles,
1290
+ orgId,
1291
+ loginType
1292
+ }
1046
1293
  });
1047
- user.roles = [...(_a = user.roles) != null ? _a : [], ...roles != null ? roles : []];
1048
- if (isAnonymousUser(user.userId))
1049
- return { level: 1 /* CAN_USE */, levelAsText: "CAN_USE" };
1294
+ user.roles = [
1295
+ ...(_a = user.roles) != null ? _a : [],
1296
+ ...roles != null ? roles : []
1297
+ ];
1298
+ if (isAnonymousUser(user.userId)) return {
1299
+ level: ACCESS_LEVEL.CAN_USE,
1300
+ levelAsText: "CAN_USE"
1301
+ };
1050
1302
  const currentUserOrgId = user.orgId || ORGANIZATION_QRVEY;
1051
- const orgsId = await this.organizationRepository.getOrgTree(
1052
- currentUserOrgId,
1053
- "both" /* BOTH */
1054
- );
1303
+ const orgsId = await this.organizationRepository.getOrgTree(currentUserOrgId, HIERARCHY_SCOPE.BOTH);
1055
1304
  const isAdmin = await hasAdminRole(user);
1056
1305
  if (isAdmin) {
1057
1306
  const isSuperAdmin = currentUserOrgId === ORGANIZATION_QRVEY;
1058
1307
  const isSameOrg = currentUserOrgId === assetOrgId;
1059
1308
  const isChildOrg = ((_b = orgsId == null ? void 0 : orgsId.childrenIds) == null ? void 0 : _b.includes(assetOrgId)) || false;
1060
1309
  if (isSuperAdmin || isSameOrg || isChildOrg) {
1061
- return { level: 4 /* ADMIN */, levelAsText: "ADMIN" };
1310
+ return {
1311
+ level: ACCESS_LEVEL.ADMIN,
1312
+ levelAsText: "ADMIN"
1313
+ };
1062
1314
  }
1063
1315
  }
1064
1316
  orgsId.parentIds.push(currentUserOrgId);
1065
1317
  const details = await this.detailsRepository.getList({
1066
- data: { assetId, user, parentOrgIds: orgsId.parentIds },
1067
- sorting: [{ column: "access_level", direction: "DESC" }]
1318
+ data: {
1319
+ assetId,
1320
+ user,
1321
+ parentOrgIds: orgsId.parentIds
1322
+ },
1323
+ sorting: [
1324
+ {
1325
+ column: "access_level",
1326
+ direction: "DESC"
1327
+ }
1328
+ ]
1068
1329
  });
1069
- if (details.items.length === 0)
1070
- return { level: 0 /* NONE */, levelAsText: "NONE" };
1330
+ if (details.items.length === 0) return {
1331
+ level: ACCESS_LEVEL.NONE,
1332
+ levelAsText: "NONE"
1333
+ };
1071
1334
  const priority = {
1072
- ["USER" /* USER */]: 4,
1073
- ["ROLE" /* ROLE */]: 3,
1074
- ["ORGANIZATION" /* ORGANIZATION */]: 2,
1075
- ["TENANT" /* TENANT */]: 1
1335
+ [SHARE_TYPE.USER]: 4,
1336
+ [SHARE_TYPE.ROLE]: 3,
1337
+ [SHARE_TYPE.ORGANIZATION]: 2,
1338
+ [SHARE_TYPE.TENANT]: 1
1076
1339
  };
1077
1340
  const priorityDetail = details.items.reduce((best, current) => {
1078
1341
  const bestPriority = priority[best.shared_type];
@@ -1088,13 +1351,38 @@ var CheckUserAccessLevel = class {
1088
1351
  };
1089
1352
  }
1090
1353
  };
1091
- CheckUserAccessLevel = __decorateClass([
1354
+ __name(_CheckUserAccessLevel, "CheckUserAccessLevel");
1355
+ var CheckUserAccessLevel = _CheckUserAccessLevel;
1356
+ CheckUserAccessLevel = _ts_decorate6([
1092
1357
  injectable(),
1093
- __decorateParam(0, inject("SharingDetailsRepository")),
1094
- __decorateParam(1, inject("OrganizationRepository"))
1358
+ _ts_param6(0, inject("SharingDetailsRepository")),
1359
+ _ts_param6(1, inject("OrganizationRepository")),
1360
+ _ts_metadata6("design:type", Function),
1361
+ _ts_metadata6("design:paramtypes", [
1362
+ typeof SharingDetailsRepositoryInterface === "undefined" ? Object : SharingDetailsRepositoryInterface,
1363
+ typeof OrganizationRepositoryInterface === "undefined" ? Object : OrganizationRepositoryInterface
1364
+ ])
1095
1365
  ], CheckUserAccessLevel);
1096
- var DeleteSharing = class {
1366
+ function _ts_decorate7(decorators, target, key, desc) {
1367
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
1368
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
1369
+ 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;
1370
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
1371
+ }
1372
+ __name(_ts_decorate7, "_ts_decorate");
1373
+ function _ts_metadata7(k, v) {
1374
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
1375
+ }
1376
+ __name(_ts_metadata7, "_ts_metadata");
1377
+ function _ts_param7(paramIndex, decorator) {
1378
+ return function(target, key) {
1379
+ decorator(target, key, paramIndex);
1380
+ };
1381
+ }
1382
+ __name(_ts_param7, "_ts_param");
1383
+ var _DeleteSharing = class _DeleteSharing {
1097
1384
  constructor(sharingRepository) {
1385
+ __publicField(this, "sharingRepository");
1098
1386
  this.sharingRepository = sharingRepository;
1099
1387
  }
1100
1388
  async execute({ body }) {
@@ -1105,63 +1393,121 @@ var DeleteSharing = class {
1105
1393
  return detailSharing;
1106
1394
  }
1107
1395
  };
1108
- DeleteSharing = __decorateClass([
1396
+ __name(_DeleteSharing, "DeleteSharing");
1397
+ var DeleteSharing = _DeleteSharing;
1398
+ DeleteSharing = _ts_decorate7([
1109
1399
  injectable(),
1110
- __decorateParam(0, inject("SharingRepository"))
1400
+ _ts_param7(0, inject("SharingRepository")),
1401
+ _ts_metadata7("design:type", Function),
1402
+ _ts_metadata7("design:paramtypes", [
1403
+ typeof SharingRepositoryInterface === "undefined" ? Object : SharingRepositoryInterface
1404
+ ])
1111
1405
  ], DeleteSharing);
1112
- var GetOrgTree = class {
1406
+ function _ts_decorate8(decorators, target, key, desc) {
1407
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
1408
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
1409
+ 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;
1410
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
1411
+ }
1412
+ __name(_ts_decorate8, "_ts_decorate");
1413
+ function _ts_metadata8(k, v) {
1414
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
1415
+ }
1416
+ __name(_ts_metadata8, "_ts_metadata");
1417
+ function _ts_param8(paramIndex, decorator) {
1418
+ return function(target, key) {
1419
+ decorator(target, key, paramIndex);
1420
+ };
1421
+ }
1422
+ __name(_ts_param8, "_ts_param");
1423
+ var _GetOrgTree = class _GetOrgTree {
1113
1424
  constructor(organizationRepository) {
1425
+ __publicField(this, "organizationRepository");
1114
1426
  this.organizationRepository = organizationRepository;
1115
1427
  }
1116
1428
  async execute(orgId, scope) {
1117
- return this.organizationRepository.getOrgTree(
1118
- orgId,
1119
- scope != null ? scope : "both" /* BOTH */
1120
- );
1429
+ return this.organizationRepository.getOrgTree(orgId, scope != null ? scope : HIERARCHY_SCOPE.BOTH);
1121
1430
  }
1122
1431
  };
1123
- GetOrgTree = __decorateClass([
1432
+ __name(_GetOrgTree, "GetOrgTree");
1433
+ var GetOrgTree = _GetOrgTree;
1434
+ GetOrgTree = _ts_decorate8([
1124
1435
  injectable(),
1125
- __decorateParam(0, inject("OrganizationRepository"))
1436
+ _ts_param8(0, inject("OrganizationRepository")),
1437
+ _ts_metadata8("design:type", Function),
1438
+ _ts_metadata8("design:paramtypes", [
1439
+ typeof OrganizationRepositoryInterface === "undefined" ? Object : OrganizationRepositoryInterface
1440
+ ])
1126
1441
  ], GetOrgTree);
1127
- var ListSharing = class {
1442
+ function _ts_decorate9(decorators, target, key, desc) {
1443
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
1444
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
1445
+ 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;
1446
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
1447
+ }
1448
+ __name(_ts_decorate9, "_ts_decorate");
1449
+ function _ts_metadata9(k, v) {
1450
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
1451
+ }
1452
+ __name(_ts_metadata9, "_ts_metadata");
1453
+ function _ts_param9(paramIndex, decorator) {
1454
+ return function(target, key) {
1455
+ decorator(target, key, paramIndex);
1456
+ };
1457
+ }
1458
+ __name(_ts_param9, "_ts_param");
1459
+ var _ListSharing = class _ListSharing {
1128
1460
  constructor(sharingRepository, detailsRepository) {
1461
+ __publicField(this, "sharingRepository");
1462
+ __publicField(this, "detailsRepository");
1129
1463
  this.sharingRepository = sharingRepository;
1130
1464
  this.detailsRepository = detailsRepository;
1131
1465
  }
1132
- async execute({
1133
- body
1134
- }) {
1466
+ async execute({ body }) {
1135
1467
  var _a;
1136
- const {
1137
- data: { assetId },
1138
- pagination
1139
- } = body;
1468
+ const { data: { assetId }, pagination } = body;
1140
1469
  const sharing = await this.sharingRepository.getOne(assetId);
1141
1470
  if (!sharing) return null;
1142
- const sorting = body.sorting && ((_a = body.sorting) == null ? void 0 : _a.length) > 0 ? body.sorting : [{ column: "created_at", direction: "ASC" }];
1471
+ const sorting = body.sorting && ((_a = body.sorting) == null ? void 0 : _a.length) > 0 ? body.sorting : [
1472
+ {
1473
+ column: "created_at",
1474
+ direction: "ASC"
1475
+ }
1476
+ ];
1143
1477
  const detailSharing = await this.detailsRepository.getList({
1144
- data: { assetId },
1478
+ data: {
1479
+ assetId
1480
+ },
1145
1481
  pagination,
1146
1482
  sorting
1147
1483
  });
1148
- const items = detailSharing.items.map(
1149
- (item) => SharingDetail.parse(item).toJSON()
1150
- );
1484
+ const items = detailSharing.items.map((item) => SharingDetail.parse(item).toJSON());
1151
1485
  return __spreadProps(__spreadValues({}, detailSharing), {
1152
1486
  items
1153
1487
  });
1154
1488
  }
1155
1489
  };
1156
- ListSharing = __decorateClass([
1490
+ __name(_ListSharing, "ListSharing");
1491
+ var ListSharing = _ListSharing;
1492
+ ListSharing = _ts_decorate9([
1157
1493
  injectable(),
1158
- __decorateParam(0, inject("SharingRepository")),
1159
- __decorateParam(1, inject("SharingDetailsRepository"))
1494
+ _ts_param9(0, inject("SharingRepository")),
1495
+ _ts_param9(1, inject("SharingDetailsRepository")),
1496
+ _ts_metadata9("design:type", Function),
1497
+ _ts_metadata9("design:paramtypes", [
1498
+ typeof SharingRepositoryInterface === "undefined" ? Object : SharingRepositoryInterface,
1499
+ typeof SharingDetailsRepositoryInterface === "undefined" ? Object : SharingDetailsRepositoryInterface
1500
+ ])
1160
1501
  ], ListSharing);
1161
1502
 
1162
1503
  // src/sharing/entities/sharing.ts
1163
- var Sharing = class _Sharing {
1504
+ var _Sharing = class _Sharing {
1164
1505
  constructor(params) {
1506
+ __publicField(this, "assetId");
1507
+ __publicField(this, "assetType");
1508
+ __publicField(this, "createdAt");
1509
+ __publicField(this, "updatedAt");
1510
+ __publicField(this, "deletedAt");
1165
1511
  this.assetId = params.assetId;
1166
1512
  this.assetType = params.assetType;
1167
1513
  this.createdAt = params.createdAt;
@@ -1221,10 +1567,35 @@ var Sharing = class _Sharing {
1221
1567
  return this.assetType;
1222
1568
  }
1223
1569
  };
1570
+ __name(_Sharing, "Sharing");
1571
+ var Sharing = _Sharing;
1224
1572
 
1225
1573
  // src/sharing/services/upsert.ts
1226
- var UpsertSharing = class {
1574
+ function _ts_decorate10(decorators, target, key, desc) {
1575
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
1576
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
1577
+ 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;
1578
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
1579
+ }
1580
+ __name(_ts_decorate10, "_ts_decorate");
1581
+ function _ts_metadata10(k, v) {
1582
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
1583
+ }
1584
+ __name(_ts_metadata10, "_ts_metadata");
1585
+ function _ts_param10(paramIndex, decorator) {
1586
+ return function(target, key) {
1587
+ decorator(target, key, paramIndex);
1588
+ };
1589
+ }
1590
+ __name(_ts_param10, "_ts_param");
1591
+ var _UpsertSharing = class _UpsertSharing {
1227
1592
  constructor(sharingRepository, detailsRepository, dxRepository, dmRepository, userRepository, roleRepository) {
1593
+ __publicField(this, "sharingRepository");
1594
+ __publicField(this, "detailsRepository");
1595
+ __publicField(this, "dxRepository");
1596
+ __publicField(this, "dmRepository");
1597
+ __publicField(this, "userRepository");
1598
+ __publicField(this, "roleRepository");
1228
1599
  this.sharingRepository = sharingRepository;
1229
1600
  this.detailsRepository = detailsRepository;
1230
1601
  this.dxRepository = dxRepository;
@@ -1232,16 +1603,10 @@ var UpsertSharing = class {
1232
1603
  this.userRepository = userRepository;
1233
1604
  this.roleRepository = roleRepository;
1234
1605
  }
1235
- async execute({
1236
- body
1237
- }) {
1606
+ async execute({ body }) {
1238
1607
  const assetId = body.assetId;
1239
- const isValidAsset = await this.validateIfAssetExists(
1240
- assetId,
1241
- body.assetType
1242
- );
1243
- if (!isValidAsset)
1244
- throw new Error(`Asset with ID ${assetId} not found`);
1608
+ const isValidAsset = await this.validateIfAssetExists(assetId, body.assetType);
1609
+ if (!isValidAsset) throw new Error(`Asset with ID ${assetId} not found`);
1245
1610
  const sharing = await this.sharingRepository.getOne(assetId);
1246
1611
  let currentSharing;
1247
1612
  if (sharing) {
@@ -1258,20 +1623,17 @@ var UpsertSharing = class {
1258
1623
  if (body.add) updatedList = await this.addDetails(assetId, body.add);
1259
1624
  if (body.remove) await this.removeDetails(body.remove);
1260
1625
  currentSharing.update();
1261
- await this.sharingRepository.patch(
1262
- currentSharing.getAssetId,
1263
- currentSharing.toTable()
1264
- );
1626
+ await this.sharingRepository.patch(currentSharing.getAssetId, currentSharing.toTable());
1265
1627
  return updatedList.map((detail) => detail.toJSON());
1266
1628
  }
1267
1629
  async validateIfAssetExists(assetId, assetType) {
1268
1630
  switch (assetType) {
1269
- case "DX" /* DX */: {
1631
+ case ASSET_TYPE.DX: {
1270
1632
  const result = await this.dxRepository.get(assetId);
1271
1633
  if (result) return true;
1272
1634
  return false;
1273
1635
  }
1274
- case "DM" /* DM */: {
1636
+ case ASSET_TYPE.DM: {
1275
1637
  return true;
1276
1638
  }
1277
1639
  default:
@@ -1291,22 +1653,14 @@ var UpsertSharing = class {
1291
1653
  let currentDetail;
1292
1654
  const isValid = await this.validateIfSharedWithExist(detail);
1293
1655
  if (!isValid) return null;
1294
- let sharingDetail = await this.detailsRepository.getBySharedWith(
1295
- assetId,
1296
- detail.sharedWith
1297
- );
1656
+ let sharingDetail = await this.detailsRepository.getBySharedWith(assetId, detail.sharedWith);
1298
1657
  if (!sharingDetail && detail.sharedId) {
1299
- sharingDetail = await this.detailsRepository.getOne(
1300
- detail.sharedId
1301
- );
1658
+ sharingDetail = await this.detailsRepository.getOne(detail.sharedId);
1302
1659
  }
1303
1660
  if (sharingDetail) {
1304
1661
  currentDetail = SharingDetail.parse(sharingDetail);
1305
1662
  currentDetail.update(detail);
1306
- await this.detailsRepository.patch(
1307
- currentDetail.getSharingDetailsId,
1308
- currentDetail.toTable()
1309
- );
1663
+ await this.detailsRepository.patch(currentDetail.getSharingDetailsId, currentDetail.toTable());
1310
1664
  } else {
1311
1665
  const createDetails = __spreadValues({
1312
1666
  assetId,
@@ -1318,20 +1672,18 @@ var UpsertSharing = class {
1318
1672
  return currentDetail;
1319
1673
  }
1320
1674
  async validateIfSharedWithExist(detail) {
1321
- if (detail.sharedOrigin === "EXTERNAL" /* EXTERNAL */ || detail.sharedOrigin === "UNKNOWN" /* UNKNOWN */)
1322
- return true;
1323
- const isQrveyOrg = detail.sharedType === "ORGANIZATION" /* ORGANIZATION */ && detail.sharedWith === ORGANIZATION_QRVEY;
1675
+ if (detail.sharedOrigin === SHARED_ORIGIN.EXTERNAL || detail.sharedOrigin === SHARED_ORIGIN.UNKNOWN) return true;
1676
+ const isQrveyOrg = detail.sharedType === SHARE_TYPE.ORGANIZATION && detail.sharedWith === ORGANIZATION_QRVEY;
1324
1677
  if (isQrveyOrg) return true;
1325
- if (detail.sharedType === "USER" /* USER */) {
1678
+ if (detail.sharedType === SHARE_TYPE.USER) {
1326
1679
  const user = await this.userRepository.getOne(detail.sharedWith);
1327
1680
  if (user) return true;
1328
1681
  }
1329
- if (detail.sharedType === "ROLE" /* ROLE */) {
1682
+ if (detail.sharedType === SHARE_TYPE.ROLE) {
1330
1683
  const role = await this.roleRepository.getOne(detail.sharedWith);
1331
1684
  if (role) return true;
1332
1685
  }
1333
- if (detail.sharedType === "TENANT" /* TENANT */ && detail.sharedWith === "TENANT" /* TENANT */)
1334
- return true;
1686
+ if (detail.sharedType === SHARE_TYPE.TENANT && detail.sharedWith === SHARE_TYPE.TENANT) return true;
1335
1687
  return false;
1336
1688
  }
1337
1689
  async removeDetails(list) {
@@ -1340,27 +1692,53 @@ var UpsertSharing = class {
1340
1692
  }
1341
1693
  }
1342
1694
  };
1343
- UpsertSharing = __decorateClass([
1695
+ __name(_UpsertSharing, "UpsertSharing");
1696
+ var UpsertSharing = _UpsertSharing;
1697
+ UpsertSharing = _ts_decorate10([
1344
1698
  injectable(),
1345
- __decorateParam(0, inject("SharingRepository")),
1346
- __decorateParam(1, inject("SharingDetailsRepository")),
1347
- __decorateParam(2, inject("dxRepository")),
1348
- __decorateParam(3, inject("dmRepository")),
1349
- __decorateParam(4, inject("UserRepository")),
1350
- __decorateParam(5, inject("RoleRepository"))
1699
+ _ts_param10(0, inject("SharingRepository")),
1700
+ _ts_param10(1, inject("SharingDetailsRepository")),
1701
+ _ts_param10(2, inject("dxRepository")),
1702
+ _ts_param10(3, inject("dmRepository")),
1703
+ _ts_param10(4, inject("UserRepository")),
1704
+ _ts_param10(5, inject("RoleRepository")),
1705
+ _ts_metadata10("design:type", Function),
1706
+ _ts_metadata10("design:paramtypes", [
1707
+ typeof SharingRepositoryInterface === "undefined" ? Object : SharingRepositoryInterface,
1708
+ typeof SharingDetailsRepositoryInterface === "undefined" ? Object : SharingDetailsRepositoryInterface,
1709
+ typeof DashboardRepositoryInterface === "undefined" ? Object : DashboardRepositoryInterface,
1710
+ typeof DownloadManagerRepositoryInterface === "undefined" ? Object : DownloadManagerRepositoryInterface,
1711
+ typeof UserRepositoryInterface === "undefined" ? Object : UserRepositoryInterface,
1712
+ typeof RoleRepositoryInterface === "undefined" ? Object : RoleRepositoryInterface
1713
+ ])
1351
1714
  ], UpsertSharing);
1352
- var SetDefaultSharing = class {
1715
+ function _ts_decorate11(decorators, target, key, desc) {
1716
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
1717
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
1718
+ 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;
1719
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
1720
+ }
1721
+ __name(_ts_decorate11, "_ts_decorate");
1722
+ function _ts_metadata11(k, v) {
1723
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
1724
+ }
1725
+ __name(_ts_metadata11, "_ts_metadata");
1726
+ function _ts_param11(paramIndex, decorator) {
1727
+ return function(target, key) {
1728
+ decorator(target, key, paramIndex);
1729
+ };
1730
+ }
1731
+ __name(_ts_param11, "_ts_param");
1732
+ var _SetDefaultSharing = class _SetDefaultSharing {
1353
1733
  constructor(sharingRepository, detailsRepository, adminRepository) {
1734
+ __publicField(this, "sharingRepository");
1735
+ __publicField(this, "detailsRepository");
1736
+ __publicField(this, "adminRepository");
1354
1737
  this.sharingRepository = sharingRepository;
1355
1738
  this.detailsRepository = detailsRepository;
1356
1739
  this.adminRepository = adminRepository;
1357
1740
  }
1358
- async execute({
1359
- assetId,
1360
- assetType,
1361
- orgId,
1362
- sharedOrigin
1363
- }) {
1741
+ async execute({ assetId, assetType, orgId, sharedOrigin }) {
1364
1742
  const sharingRecord = await this.sharingRepository.getOne(assetId);
1365
1743
  let currentSharing;
1366
1744
  if (sharingRecord) {
@@ -1374,18 +1752,18 @@ var SetDefaultSharing = class {
1374
1752
  await this.sharingRepository.create(currentSharing.toTable());
1375
1753
  }
1376
1754
  const sharingDetailsTenants = SharingDetail.create({
1377
- accessLevel: 1 /* CAN_USE */,
1755
+ accessLevel: ACCESS_LEVEL.CAN_USE,
1378
1756
  assetId,
1379
1757
  sharedOrigin,
1380
- sharedType: "TENANT" /* TENANT */,
1758
+ sharedType: SHARE_TYPE.TENANT,
1381
1759
  sharedWith: "TENANT",
1382
1760
  orgId
1383
1761
  });
1384
1762
  const sharingDetailsOrg = SharingDetail.create({
1385
- accessLevel: 2 /* CAN_EDIT */,
1763
+ accessLevel: ACCESS_LEVEL.CAN_EDIT,
1386
1764
  assetId,
1387
1765
  sharedOrigin,
1388
- sharedType: "ORGANIZATION" /* ORGANIZATION */,
1766
+ sharedType: SHARE_TYPE.ORGANIZATION,
1389
1767
  sharedWith: orgId,
1390
1768
  orgId
1391
1769
  });
@@ -1396,27 +1774,35 @@ var SetDefaultSharing = class {
1396
1774
  return currentSharing;
1397
1775
  }
1398
1776
  };
1399
- SetDefaultSharing = __decorateClass([
1777
+ __name(_SetDefaultSharing, "SetDefaultSharing");
1778
+ var SetDefaultSharing = _SetDefaultSharing;
1779
+ SetDefaultSharing = _ts_decorate11([
1400
1780
  injectable(),
1401
- __decorateParam(0, inject("SharingRepository")),
1402
- __decorateParam(1, inject("SharingDetailsRepository")),
1403
- __decorateParam(2, inject("AdminRepository"))
1781
+ _ts_param11(0, inject("SharingRepository")),
1782
+ _ts_param11(1, inject("SharingDetailsRepository")),
1783
+ _ts_param11(2, inject("AdminRepository")),
1784
+ _ts_metadata11("design:type", Function),
1785
+ _ts_metadata11("design:paramtypes", [
1786
+ typeof SharingRepositoryInterface === "undefined" ? Object : SharingRepositoryInterface,
1787
+ typeof SharingDetailsRepositoryInterface === "undefined" ? Object : SharingDetailsRepositoryInterface,
1788
+ typeof AdminRepositoryInterface === "undefined" ? Object : AdminRepositoryInterface
1789
+ ])
1404
1790
  ], SetDefaultSharing);
1405
1791
 
1406
1792
  // src/index.ts
1407
1793
  var api = {
1408
- upsert: (...args) => Context.resolve(UpsertSharing).execute(...args),
1409
- list: (...args) => Context.resolve(ListSharing).execute(...args),
1410
- delete: (...args) => Context.resolve(DeleteSharing).execute(...args)
1794
+ upsert: /* @__PURE__ */ __name((...args) => Context.resolve(UpsertSharing).execute(...args), "upsert"),
1795
+ list: /* @__PURE__ */ __name((...args) => Context.resolve(ListSharing).execute(...args), "list"),
1796
+ delete: /* @__PURE__ */ __name((...args) => Context.resolve(DeleteSharing).execute(...args), "delete")
1411
1797
  };
1412
- var checkUserAccessLevel = (...args) => Context.resolve(CheckUserAccessLevel).execute(...args);
1413
- var checkAppAccess = (...args) => Context.resolve(CheckAppAccess).execute(...args);
1414
- var getOrgTree = (...args) => Context.resolve(GetOrgTree).execute(...args);
1415
- var fromTokenToUser = (...args) => Context.resolve(FromTokenToUser).execute(...args);
1416
- var hasAdminRole = (...args) => Context.resolve(HasAdminRole).execute(...args);
1417
- var hasSharingPermission = (...args) => Context.resolve(HasSharingPermission).execute(...args);
1418
- var setDefaultSharing = (...args) => Context.resolve(SetDefaultSharing).execute(...args);
1419
- var checkOrgPermissions = (...args) => Context.resolve(CheckOrgPermissions).execute(...args);
1798
+ var checkUserAccessLevel = /* @__PURE__ */ __name((...args) => Context.resolve(CheckUserAccessLevel).execute(...args), "checkUserAccessLevel");
1799
+ var checkAppAccess = /* @__PURE__ */ __name((...args) => Context.resolve(CheckAppAccess).execute(...args), "checkAppAccess");
1800
+ var getOrgTree = /* @__PURE__ */ __name((...args) => Context.resolve(GetOrgTree).execute(...args), "getOrgTree");
1801
+ var fromTokenToUser = /* @__PURE__ */ __name((...args) => Context.resolve(FromTokenToUser).execute(...args), "fromTokenToUser");
1802
+ var hasAdminRole = /* @__PURE__ */ __name((...args) => Context.resolve(HasAdminRole).execute(...args), "hasAdminRole");
1803
+ var hasSharingPermission = /* @__PURE__ */ __name((...args) => Context.resolve(HasSharingPermission).execute(...args), "hasSharingPermission");
1804
+ var setDefaultSharing = /* @__PURE__ */ __name((...args) => Context.resolve(SetDefaultSharing).execute(...args), "setDefaultSharing");
1805
+ var checkOrgPermissions = /* @__PURE__ */ __name((...args) => Context.resolve(CheckOrgPermissions).execute(...args), "checkOrgPermissions");
1420
1806
 
1421
1807
  export { ACCESS_LEVEL, APP_SHARING_STATUS, ASSET_TYPE, HIERARCHY_SCOPE, ORGANIZATION_QRVEY, SHARED_ORIGIN, SHARE_TYPE, USER_ANONYMOUS, api, checkAppAccess, checkOrgPermissions, checkUserAccessLevel, fromTokenToUser, getOrgTree, hasAdminRole, hasSharingPermission, setDefaultSharing };
1422
1808
  //# sourceMappingURL=index.mjs.map