@qrvey/assets-sharing 0.3.4-dev.2181 → 0.3.4-dev.2186
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.
- package/dist/cjs/common/constants.js +13 -1
- package/dist/cjs/common/constants.js.map +1 -1
- package/dist/cjs/index.js +7 -7
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/sharing/entities/sharing.js +2 -1
- package/dist/cjs/sharing/entities/sharing.js.map +1 -1
- package/dist/cjs/sharing/entities/types/orgTreeResult.js +7 -0
- package/dist/cjs/sharing/entities/types/orgTreeResult.js.map +1 -1
- package/dist/cjs/sharing/implementations/admin.repository.js +1 -1
- package/dist/cjs/sharing/implementations/admin.repository.js.map +1 -1
- package/dist/cjs/sharing/implementations/organization.repository.js +42 -34
- package/dist/cjs/sharing/implementations/organization.repository.js.map +1 -1
- package/dist/cjs/sharing/services/{checkAppPermissions.js → checkAppAccess.js} +14 -16
- package/dist/cjs/sharing/services/checkAppAccess.js.map +1 -0
- package/dist/cjs/sharing/services/getOrgTree.js +3 -2
- package/dist/cjs/sharing/services/getOrgTree.js.map +1 -1
- package/dist/cjs/sharing/services/upsertDefaultSharing.js +9 -5
- package/dist/cjs/sharing/services/upsertDefaultSharing.js.map +1 -1
- package/dist/esm/index.mjs +79 -71
- package/dist/esm/index.mjs.map +1 -1
- package/dist/types/index.d.ts +29 -16
- package/package.json +1 -1
- package/dist/cjs/sharing/services/checkAppPermissions.js.map +0 -1
- package/dist/cjs/sharing/services/checkOrgPermissions.js +0 -32
- package/dist/cjs/sharing/services/checkOrgPermissions.js.map +0 -1
package/dist/esm/index.mjs
CHANGED
|
@@ -71,9 +71,15 @@ var ACCESS_LEVEL = /* @__PURE__ */ ((ACCESS_LEVEL3) => {
|
|
|
71
71
|
ACCESS_LEVEL3[ACCESS_LEVEL3["ADMIN"] = 4] = "ADMIN";
|
|
72
72
|
return ACCESS_LEVEL3;
|
|
73
73
|
})(ACCESS_LEVEL || {});
|
|
74
|
+
var SHARING_MODE = /* @__PURE__ */ ((SHARING_MODE2) => {
|
|
75
|
+
SHARING_MODE2[SHARING_MODE2["PRIVATE"] = 0] = "PRIVATE";
|
|
76
|
+
SHARING_MODE2[SHARING_MODE2["SAME_AS_APP"] = 1] = "SAME_AS_APP";
|
|
77
|
+
return SHARING_MODE2;
|
|
78
|
+
})(SHARING_MODE || {});
|
|
74
79
|
var APP_SHARING_STATUS = /* @__PURE__ */ ((APP_SHARING_STATUS2) => {
|
|
75
80
|
APP_SHARING_STATUS2["PUBLIC"] = "public";
|
|
76
81
|
APP_SHARING_STATUS2["PRIVATE"] = "private";
|
|
82
|
+
APP_SHARING_STATUS2["SHARED"] = "shared";
|
|
77
83
|
return APP_SHARING_STATUS2;
|
|
78
84
|
})(APP_SHARING_STATUS || {});
|
|
79
85
|
var LIMIT_PER_PAGE = 10;
|
|
@@ -197,7 +203,7 @@ var AdminRepository = class {
|
|
|
197
203
|
const data = await response.json();
|
|
198
204
|
return {
|
|
199
205
|
status: response.status,
|
|
200
|
-
|
|
206
|
+
defaultSharingMode: (_c = (_b = (_a = data == null ? void 0 : data.Item) == null ? void 0 : _a.settings) == null ? void 0 : _b.defaultSharingMode) != null ? _c : 0 /* PRIVATE */
|
|
201
207
|
};
|
|
202
208
|
}
|
|
203
209
|
};
|
|
@@ -494,6 +500,14 @@ OrganizationModel.indexes = {
|
|
|
494
500
|
OrganizationModel.schema = DATABASE_INFO.DATA_PERSISTENCE_SCHEMA;
|
|
495
501
|
OrganizationModel.usePool = true;
|
|
496
502
|
|
|
503
|
+
// src/sharing/entities/types/orgTreeResult.ts
|
|
504
|
+
var HIERARCHY_SCOPE = /* @__PURE__ */ ((HIERARCHY_SCOPE2) => {
|
|
505
|
+
HIERARCHY_SCOPE2["CHILDREN"] = "children";
|
|
506
|
+
HIERARCHY_SCOPE2["PARENTS"] = "parents";
|
|
507
|
+
HIERARCHY_SCOPE2["BOTH"] = "both";
|
|
508
|
+
return HIERARCHY_SCOPE2;
|
|
509
|
+
})(HIERARCHY_SCOPE || {});
|
|
510
|
+
|
|
497
511
|
// src/sharing/implementations/organization.repository.ts
|
|
498
512
|
var OrganizationRepository = class extends BaseRepository {
|
|
499
513
|
constructor() {
|
|
@@ -506,47 +520,53 @@ var OrganizationRepository = class extends BaseRepository {
|
|
|
506
520
|
const response = await super.findItem(params);
|
|
507
521
|
return response;
|
|
508
522
|
}
|
|
509
|
-
async getOrgTree(orgId,
|
|
523
|
+
async getOrgTree(orgId, scope = "both" /* BOTH */) {
|
|
510
524
|
const cte = `WITH target AS (SELECT org_path FROM admin.qv_organization WHERE org_id = '${orgId}')`;
|
|
511
|
-
let
|
|
512
|
-
|
|
513
|
-
|
|
514
|
-
|
|
515
|
-
|
|
516
|
-
OR
|
|
517
|
-
admin.qv_organization.org_path @> target.org_path
|
|
518
|
-
)
|
|
519
|
-
AND org_id != '${orgId}'
|
|
520
|
-
`;
|
|
521
|
-
if (contentSharing === void 0) {
|
|
522
|
-
selectClause = `
|
|
523
|
-
SELECT
|
|
524
|
-
COALESCE(ARRAY_AGG(org_id) FILTER (WHERE effective_content_privacy = true), '{}') as db_private,
|
|
525
|
-
COALESCE(ARRAY_AGG(org_id) FILTER (WHERE effective_content_privacy = false), '{}') as db_public
|
|
526
|
-
`;
|
|
525
|
+
let condition = "";
|
|
526
|
+
if (scope === "children" /* CHILDREN */) {
|
|
527
|
+
condition = `admin.qv_organization.org_path <@ target.org_path`;
|
|
528
|
+
} else if (scope === "parents" /* PARENTS */) {
|
|
529
|
+
condition = `admin.qv_organization.org_path @> target.org_path`;
|
|
527
530
|
} else {
|
|
528
|
-
|
|
529
|
-
|
|
531
|
+
condition = `(
|
|
532
|
+
admin.qv_organization.org_path <@ target.org_path
|
|
533
|
+
OR
|
|
534
|
+
admin.qv_organization.org_path @> target.org_path
|
|
535
|
+
)`;
|
|
530
536
|
}
|
|
531
|
-
const
|
|
537
|
+
const selectClause = `
|
|
538
|
+
SELECT
|
|
539
|
+
COALESCE(
|
|
540
|
+
ARRAY_AGG(org_id) FILTER (
|
|
541
|
+
WHERE admin.qv_organization.org_path <@ target.org_path AND org_id != '${orgId}'
|
|
542
|
+
),
|
|
543
|
+
'{}'
|
|
544
|
+
) as db_children,
|
|
545
|
+
COALESCE(
|
|
546
|
+
ARRAY_AGG(org_id) FILTER (
|
|
547
|
+
WHERE admin.qv_organization.org_path @> target.org_path AND org_id != '${orgId}'
|
|
548
|
+
),
|
|
549
|
+
'{}'
|
|
550
|
+
) as db_parents
|
|
551
|
+
`;
|
|
552
|
+
const fromWhereClause = `
|
|
553
|
+
FROM admin.qv_organization, target
|
|
554
|
+
WHERE ${condition}
|
|
555
|
+
AND org_id != '${orgId}'
|
|
556
|
+
`;
|
|
557
|
+
const fullSql = `${cte} ${selectClause} ${fromWhereClause};`;
|
|
532
558
|
const result = await super.runRawQuery(fullSql, []);
|
|
533
559
|
const row = result == null ? void 0 : result.rows[0];
|
|
534
|
-
if (!row)
|
|
535
|
-
return {
|
|
536
|
-
privateIds: [],
|
|
537
|
-
publicIds: []
|
|
538
|
-
};
|
|
539
|
-
if (contentSharing === void 0) {
|
|
560
|
+
if (!row) {
|
|
540
561
|
return {
|
|
541
|
-
|
|
542
|
-
|
|
543
|
-
};
|
|
544
|
-
} else {
|
|
545
|
-
return {
|
|
546
|
-
privateIds: contentSharing ? row.db_specific : [],
|
|
547
|
-
publicIds: contentSharing ? [] : row.db_specific
|
|
562
|
+
childrenIds: [],
|
|
563
|
+
parentIds: []
|
|
548
564
|
};
|
|
549
565
|
}
|
|
566
|
+
return {
|
|
567
|
+
childrenIds: row.db_children,
|
|
568
|
+
parentIds: row.db_parents
|
|
569
|
+
};
|
|
550
570
|
}
|
|
551
571
|
};
|
|
552
572
|
var SharingModel = class extends CrudSchema {
|
|
@@ -731,7 +751,7 @@ HasAdminRole = __decorateClass([
|
|
|
731
751
|
injectable(),
|
|
732
752
|
__decorateParam(0, inject("UserRepository"))
|
|
733
753
|
], HasAdminRole);
|
|
734
|
-
var
|
|
754
|
+
var CheckAppAccess = class {
|
|
735
755
|
constructor(adminRepository) {
|
|
736
756
|
this.adminRepository = adminRepository;
|
|
737
757
|
}
|
|
@@ -740,40 +760,27 @@ var CheckAppPermissions = class {
|
|
|
740
760
|
appId,
|
|
741
761
|
userId
|
|
742
762
|
}) {
|
|
743
|
-
if (!userId)
|
|
763
|
+
if (!userId)
|
|
764
|
+
return {
|
|
765
|
+
hasAccess: false
|
|
766
|
+
};
|
|
744
767
|
const appInfo = await this.adminRepository.getApplicationInfo({
|
|
745
768
|
appId,
|
|
746
769
|
userId
|
|
747
770
|
});
|
|
748
|
-
const platform = await this.adminRepository.getPlatformConfiguration();
|
|
749
771
|
if (appInfo.status !== 200)
|
|
750
|
-
return {
|
|
751
|
-
|
|
752
|
-
|
|
753
|
-
return {
|
|
772
|
+
return {
|
|
773
|
+
hasAccess: false
|
|
774
|
+
};
|
|
775
|
+
return {
|
|
776
|
+
hasAccess: true
|
|
777
|
+
};
|
|
754
778
|
}
|
|
755
779
|
};
|
|
756
|
-
|
|
780
|
+
CheckAppAccess = __decorateClass([
|
|
757
781
|
injectable(),
|
|
758
782
|
__decorateParam(0, inject("AdminRepository"))
|
|
759
|
-
],
|
|
760
|
-
var CheckOrgPermissions = class {
|
|
761
|
-
constructor(organizationRepository) {
|
|
762
|
-
this.organizationRepository = organizationRepository;
|
|
763
|
-
}
|
|
764
|
-
//TODO Need Tes
|
|
765
|
-
async execute({
|
|
766
|
-
orgId
|
|
767
|
-
}) {
|
|
768
|
-
const hasPublicAccess = await this.organizationRepository.getOne(orgId);
|
|
769
|
-
const privacy = (hasPublicAccess == null ? void 0 : hasPublicAccess.effective_content_privacy) ? "private" /* PRIVATE */ : "public" /* PUBLIC */;
|
|
770
|
-
return { privacy };
|
|
771
|
-
}
|
|
772
|
-
};
|
|
773
|
-
CheckOrgPermissions = __decorateClass([
|
|
774
|
-
injectable(),
|
|
775
|
-
__decorateParam(0, inject("OrganizationRepository"))
|
|
776
|
-
], CheckOrgPermissions);
|
|
783
|
+
], CheckAppAccess);
|
|
777
784
|
var SharingDetail = class _SharingDetail {
|
|
778
785
|
constructor(params) {
|
|
779
786
|
this.sharingDetailsId = params.sharingDetailsId;
|
|
@@ -947,10 +954,10 @@ var GetOrgTree = class {
|
|
|
947
954
|
constructor(organizationRepository) {
|
|
948
955
|
this.organizationRepository = organizationRepository;
|
|
949
956
|
}
|
|
950
|
-
async execute(orgId,
|
|
957
|
+
async execute(orgId, scope) {
|
|
951
958
|
return this.organizationRepository.getOrgTree(
|
|
952
959
|
orgId,
|
|
953
|
-
|
|
960
|
+
scope != null ? scope : "both" /* BOTH */
|
|
954
961
|
);
|
|
955
962
|
}
|
|
956
963
|
};
|
|
@@ -1191,14 +1198,15 @@ UpsertSharing = __decorateClass([
|
|
|
1191
1198
|
__decorateParam(5, inject("RoleRepository"))
|
|
1192
1199
|
], UpsertSharing);
|
|
1193
1200
|
var UpsertDefaultSharing = class {
|
|
1194
|
-
constructor(sharingRepository) {
|
|
1201
|
+
constructor(sharingRepository, adminRepository) {
|
|
1195
1202
|
this.sharingRepository = sharingRepository;
|
|
1203
|
+
this.adminRepository = adminRepository;
|
|
1196
1204
|
}
|
|
1197
1205
|
async execute({
|
|
1198
1206
|
assetId,
|
|
1199
1207
|
assetType,
|
|
1200
|
-
|
|
1201
|
-
|
|
1208
|
+
sharingMode,
|
|
1209
|
+
contentSharingEnabled = true
|
|
1202
1210
|
}) {
|
|
1203
1211
|
const sharingRecord = await this.sharingRepository.getOne(assetId);
|
|
1204
1212
|
let currentSharing;
|
|
@@ -1209,12 +1217,12 @@ var UpsertDefaultSharing = class {
|
|
|
1209
1217
|
assetId,
|
|
1210
1218
|
assetType,
|
|
1211
1219
|
defaultContentSharingEnabled: contentSharingEnabled,
|
|
1212
|
-
defaultAccessLevel:
|
|
1220
|
+
defaultAccessLevel: sharingMode != null ? sharingMode : null
|
|
1213
1221
|
};
|
|
1214
1222
|
currentSharing = Sharing.create(createSharing);
|
|
1215
1223
|
await this.sharingRepository.create(currentSharing.toTable());
|
|
1216
1224
|
}
|
|
1217
|
-
currentSharing.setDefaultAccessLevel =
|
|
1225
|
+
currentSharing.setDefaultAccessLevel = sharingMode != null ? sharingMode : (await this.adminRepository.getPlatformConfiguration()).defaultSharingMode;
|
|
1218
1226
|
currentSharing.setDefaultContentSharingEnabled = contentSharingEnabled;
|
|
1219
1227
|
currentSharing.update();
|
|
1220
1228
|
await this.sharingRepository.patch(
|
|
@@ -1226,7 +1234,8 @@ var UpsertDefaultSharing = class {
|
|
|
1226
1234
|
};
|
|
1227
1235
|
UpsertDefaultSharing = __decorateClass([
|
|
1228
1236
|
injectable(),
|
|
1229
|
-
__decorateParam(0, inject("SharingRepository"))
|
|
1237
|
+
__decorateParam(0, inject("SharingRepository")),
|
|
1238
|
+
__decorateParam(1, inject("AdminRepository"))
|
|
1230
1239
|
], UpsertDefaultSharing);
|
|
1231
1240
|
|
|
1232
1241
|
// src/index.ts
|
|
@@ -1236,13 +1245,12 @@ var api = {
|
|
|
1236
1245
|
delete: (...args) => Context.resolve(DeleteSharing).execute(...args)
|
|
1237
1246
|
};
|
|
1238
1247
|
var checkUserAccessLevel = (...args) => Context.resolve(CheckUserAccessLevel).execute(...args);
|
|
1239
|
-
var
|
|
1240
|
-
var checkOrgPermissions = (...args) => Context.resolve(CheckOrgPermissions).execute(...args);
|
|
1248
|
+
var checkAppAccess = (...args) => Context.resolve(CheckAppAccess).execute(...args);
|
|
1241
1249
|
var getOrgTree = (...args) => Context.resolve(GetOrgTree).execute(...args);
|
|
1242
1250
|
var fromTokenToUser = (...args) => Context.resolve(FromTokenToUser).execute(...args);
|
|
1243
1251
|
var hasAdminRole = (...args) => Context.resolve(HasAdminRole).execute(...args);
|
|
1244
1252
|
var upsertDefaultSharing = (...args) => Context.resolve(UpsertDefaultSharing).execute(...args);
|
|
1245
1253
|
|
|
1246
|
-
export { ACCESS_LEVEL, APP_SHARING_STATUS, ASSET_TYPE, ORGANIZATION_ANONYMOUS, ORGANIZATION_QRVEY, SHARED_ORIGIN, SHARE_TYPE,
|
|
1254
|
+
export { ACCESS_LEVEL, APP_SHARING_STATUS, ASSET_TYPE, HIERARCHY_SCOPE, ORGANIZATION_ANONYMOUS, ORGANIZATION_QRVEY, SHARED_ORIGIN, SHARE_TYPE, SHARING_MODE, api, checkAppAccess, checkUserAccessLevel, fromTokenToUser, getOrgTree, hasAdminRole, upsertDefaultSharing };
|
|
1247
1255
|
//# sourceMappingURL=index.mjs.map
|
|
1248
1256
|
//# sourceMappingURL=index.mjs.map
|