@qrvey/assets-sharing 0.3.4-dev.2179 → 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 +9 -8
- 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 -6
- package/dist/cjs/sharing/services/upsertDefaultSharing.js.map +1 -1
- package/dist/esm/index.mjs +83 -78
- package/dist/esm/index.mjs.map +1 -1
- package/dist/types/index.d.ts +71 -62
- 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,18 +1198,16 @@ 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,
|
|
1207
|
+
assetType,
|
|
1208
|
+
sharingMode,
|
|
1209
|
+
contentSharingEnabled = true
|
|
1199
1210
|
}) {
|
|
1200
|
-
const {
|
|
1201
|
-
assetId,
|
|
1202
|
-
assetType,
|
|
1203
|
-
contentSharingEnabled = true,
|
|
1204
|
-
defaultAccessLevel
|
|
1205
|
-
} = body;
|
|
1206
1211
|
const sharingRecord = await this.sharingRepository.getOne(assetId);
|
|
1207
1212
|
let currentSharing;
|
|
1208
1213
|
if (sharingRecord) {
|
|
@@ -1212,12 +1217,12 @@ var UpsertDefaultSharing = class {
|
|
|
1212
1217
|
assetId,
|
|
1213
1218
|
assetType,
|
|
1214
1219
|
defaultContentSharingEnabled: contentSharingEnabled,
|
|
1215
|
-
defaultAccessLevel:
|
|
1220
|
+
defaultAccessLevel: sharingMode != null ? sharingMode : null
|
|
1216
1221
|
};
|
|
1217
1222
|
currentSharing = Sharing.create(createSharing);
|
|
1218
1223
|
await this.sharingRepository.create(currentSharing.toTable());
|
|
1219
1224
|
}
|
|
1220
|
-
currentSharing.setDefaultAccessLevel =
|
|
1225
|
+
currentSharing.setDefaultAccessLevel = sharingMode != null ? sharingMode : (await this.adminRepository.getPlatformConfiguration()).defaultSharingMode;
|
|
1221
1226
|
currentSharing.setDefaultContentSharingEnabled = contentSharingEnabled;
|
|
1222
1227
|
currentSharing.update();
|
|
1223
1228
|
await this.sharingRepository.patch(
|
|
@@ -1229,23 +1234,23 @@ var UpsertDefaultSharing = class {
|
|
|
1229
1234
|
};
|
|
1230
1235
|
UpsertDefaultSharing = __decorateClass([
|
|
1231
1236
|
injectable(),
|
|
1232
|
-
__decorateParam(0, inject("SharingRepository"))
|
|
1237
|
+
__decorateParam(0, inject("SharingRepository")),
|
|
1238
|
+
__decorateParam(1, inject("AdminRepository"))
|
|
1233
1239
|
], UpsertDefaultSharing);
|
|
1234
1240
|
|
|
1235
1241
|
// src/index.ts
|
|
1236
1242
|
var api = {
|
|
1237
1243
|
upsert: (...args) => Context.resolve(UpsertSharing).execute(...args),
|
|
1238
1244
|
list: (...args) => Context.resolve(ListSharing).execute(...args),
|
|
1239
|
-
delete: (...args) => Context.resolve(DeleteSharing).execute(...args)
|
|
1240
|
-
upsertDefaultSharing: (...args) => Context.resolve(UpsertDefaultSharing).execute(...args)
|
|
1245
|
+
delete: (...args) => Context.resolve(DeleteSharing).execute(...args)
|
|
1241
1246
|
};
|
|
1242
1247
|
var checkUserAccessLevel = (...args) => Context.resolve(CheckUserAccessLevel).execute(...args);
|
|
1243
|
-
var
|
|
1244
|
-
var checkOrgPermissions = (...args) => Context.resolve(CheckOrgPermissions).execute(...args);
|
|
1248
|
+
var checkAppAccess = (...args) => Context.resolve(CheckAppAccess).execute(...args);
|
|
1245
1249
|
var getOrgTree = (...args) => Context.resolve(GetOrgTree).execute(...args);
|
|
1246
1250
|
var fromTokenToUser = (...args) => Context.resolve(FromTokenToUser).execute(...args);
|
|
1247
1251
|
var hasAdminRole = (...args) => Context.resolve(HasAdminRole).execute(...args);
|
|
1252
|
+
var upsertDefaultSharing = (...args) => Context.resolve(UpsertDefaultSharing).execute(...args);
|
|
1248
1253
|
|
|
1249
|
-
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 };
|
|
1250
1255
|
//# sourceMappingURL=index.mjs.map
|
|
1251
1256
|
//# sourceMappingURL=index.mjs.map
|