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