@steedos/auth 2.2.52 → 2.2.53-beta.4

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.
@@ -1,67 +1,151 @@
1
1
  "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.updateSpaceUserSessionRolesCache = exports.getSpaceUserSession = exports.addSpaceSessionToCache = exports.getSpaceSessionFromCache = void 0;
4
- const objectql_1 = require("@steedos/objectql");
5
- const utils_1 = require("./utils");
6
- const _ = require('underscore');
7
- const sessionCacheInMinutes = 10;
8
- const SPACEUSERCACHENAME = 'space_users_cache';
9
- const internalProfiles = ['admin', 'user', 'supplier', 'customer'];
10
- async function getSpaceUserProfile(userId, spaceId) {
11
- let filters = `(space eq '${spaceId}') and (user eq '${userId}')`;
12
- let spaceUser = await (0, objectql_1.getSteedosSchema)().getObject('space_users').find({ filters: filters, fields: ['profile'] });
13
- if (spaceUser && spaceUser.length > 0) {
14
- return spaceUser[0].profile;
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ var __generator = (this && this.__generator) || function (thisArg, body) {
12
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
13
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
14
+ function verb(n) { return function (v) { return step([n, v]); }; }
15
+ function step(op) {
16
+ if (f) throw new TypeError("Generator is already executing.");
17
+ while (_) try {
18
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
19
+ if (y = 0, t) op = [op[0] & 2, t.value];
20
+ switch (op[0]) {
21
+ case 0: case 1: t = op; break;
22
+ case 4: _.label++; return { value: op[1], done: false };
23
+ case 5: _.label++; y = op[1]; op = [0]; continue;
24
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
25
+ default:
26
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
27
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
28
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
29
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
30
+ if (t[2]) _.ops.pop();
31
+ _.trys.pop(); continue;
32
+ }
33
+ op = body.call(thisArg, _);
34
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
35
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
15
36
  }
37
+ };
38
+ exports.__esModule = true;
39
+ exports.deleteSpaceCacheByChangedProp = exports.deleteSpaceUserSessionCacheByChangedProp = exports.updateSpaceUserSessionRolesCache = exports.getSpaceUserSession = exports.removeSpaceUserSessionFromCache = exports.addSpaceSessionToCache = exports.getSpaceSessionFromCache = void 0;
40
+ var objectql_1 = require("@steedos/objectql");
41
+ var utils_1 = require("./utils");
42
+ var cachers_1 = require("@steedos/cachers");
43
+ var session_1 = require("./session");
44
+ var userSession_1 = require("./userSession");
45
+ var _ = require("underscore");
46
+ var sessionCacheInMinutes = 10;
47
+ var SPACEUSERCACHENAME = 'space_users_cache';
48
+ var internalProfiles = ['admin', 'user', 'supplier', 'customer'];
49
+ // 使用@steedos/cacher缓存工作区信息
50
+ var SPACES_CACHER_NAME = 'lru.spaces';
51
+ function getSpaceUserProfile(userId, spaceId) {
52
+ return __awaiter(this, void 0, void 0, function () {
53
+ var filters, spaceUser;
54
+ return __generator(this, function (_a) {
55
+ switch (_a.label) {
56
+ case 0:
57
+ filters = "(space eq '".concat(spaceId, "') and (user eq '").concat(userId, "')");
58
+ return [4 /*yield*/, (0, objectql_1.getSteedosSchema)().getObject('space_users').find({ filters: filters, fields: ['profile'] })];
59
+ case 1:
60
+ spaceUser = _a.sent();
61
+ if (spaceUser && spaceUser.length > 0) {
62
+ return [2 /*return*/, spaceUser[0].profile];
63
+ }
64
+ return [2 /*return*/];
65
+ }
66
+ });
67
+ });
16
68
  }
17
- async function getUserRoles(userId, spaceId) {
18
- let roles = ['user'];
19
- let space = await (0, objectql_1.getSteedosSchema)().getObject('spaces').findOne(spaceId, { fields: ['admins'] });
20
- if (space && space.admins.includes(userId)) {
21
- roles = ['admin'];
22
- }
23
- let profile = await getSpaceUserProfile(userId, spaceId);
24
- if (profile) {
25
- roles = [profile];
26
- }
27
- let filters = `(space eq '${spaceId}') and (users eq '${userId}')`;
28
- let permission_sets = await (0, objectql_1.getSteedosSchema)().getObject('permission_set').directFind({ filters: filters, fields: ['name'] });
29
- permission_sets.forEach(p => {
30
- if (!_.include(internalProfiles, p.name)) {
31
- roles.push(p.name);
32
- }
69
+ function getUserRoles(userId, spaceId) {
70
+ return __awaiter(this, void 0, void 0, function () {
71
+ var roles, space, profile, filters, permission_sets;
72
+ return __generator(this, function (_a) {
73
+ switch (_a.label) {
74
+ case 0:
75
+ roles = ['user'];
76
+ return [4 /*yield*/, (0, objectql_1.getSteedosSchema)().getObject('spaces').findOne(spaceId, { fields: ['admins'] })];
77
+ case 1:
78
+ space = _a.sent();
79
+ if (space && space.admins.includes(userId)) {
80
+ roles = ['admin'];
81
+ }
82
+ return [4 /*yield*/, getSpaceUserProfile(userId, spaceId)];
83
+ case 2:
84
+ profile = _a.sent();
85
+ if (profile) {
86
+ roles = [profile];
87
+ }
88
+ filters = "(space eq '".concat(spaceId, "') and (users eq '").concat(userId, "')");
89
+ return [4 /*yield*/, (0, objectql_1.getSteedosSchema)().getObject('permission_set').directFind({ filters: filters, fields: ['name'] })];
90
+ case 3:
91
+ permission_sets = _a.sent();
92
+ permission_sets.forEach(function (p) {
93
+ if (!_.include(internalProfiles, p.name)) {
94
+ roles.push(p.name);
95
+ }
96
+ });
97
+ return [2 /*return*/, roles];
98
+ }
99
+ });
33
100
  });
34
- return roles;
35
101
  }
36
- async function getObjectDataByIds(objectName, ids, fields) {
37
- if (!ids || ids.length === 0) {
38
- return [];
39
- }
40
- let filters = _.map(ids, function (id) {
41
- if (!id) {
42
- return '';
43
- }
44
- return `(_id eq '${id}')`;
45
- }).join(' or ');
46
- if (!filters) {
47
- return [];
48
- }
49
- let query = { filters: filters };
50
- if (fields && fields.length > 0) {
51
- query['fields'] = fields;
52
- }
53
- return await (0, objectql_1.getSteedosSchema)().getObject(objectName).directFind(query);
102
+ function getObjectDataByIds(objectName, ids, fields) {
103
+ return __awaiter(this, void 0, void 0, function () {
104
+ var filters, query;
105
+ return __generator(this, function (_a) {
106
+ switch (_a.label) {
107
+ case 0:
108
+ if (!ids || ids.length === 0) {
109
+ return [2 /*return*/, []];
110
+ }
111
+ filters = _.map(ids, function (id) {
112
+ if (!id) {
113
+ return '';
114
+ }
115
+ return "(_id eq '".concat(id, "')");
116
+ }).join(' or ');
117
+ if (!filters) {
118
+ return [2 /*return*/, []];
119
+ }
120
+ query = { filters: filters };
121
+ if (fields && fields.length > 0) {
122
+ query['fields'] = fields;
123
+ }
124
+ return [4 /*yield*/, (0, objectql_1.getSteedosSchema)().getObject(objectName).directFind(query)];
125
+ case 1: return [2 /*return*/, _a.sent()];
126
+ }
127
+ });
128
+ });
54
129
  }
55
- async function getUserPermissionShares(spaceUser) {
56
- let userFilters = [`(users eq '${spaceUser.user}')`];
57
- _.each(spaceUser.organizations_parents, (orgId) => {
58
- userFilters.push(`(organizations eq '${orgId}')`);
130
+ function getUserPermissionShares(spaceUser) {
131
+ return __awaiter(this, void 0, void 0, function () {
132
+ var userFilters, filters;
133
+ return __generator(this, function (_a) {
134
+ switch (_a.label) {
135
+ case 0:
136
+ userFilters = ["(users eq '".concat(spaceUser.user, "')")];
137
+ _.each(spaceUser.organizations_parents, function (orgId) {
138
+ userFilters.push("(organizations eq '".concat(orgId, "')"));
139
+ });
140
+ filters = "((".concat(userFilters.join(' or '), ") and space eq '").concat(spaceUser.space, "')");
141
+ return [4 /*yield*/, (0, objectql_1.getSteedosSchema)().getObject('permission_shares').find({ filters: filters, fields: ['_id', 'object_name'] })];
142
+ case 1: return [2 /*return*/, _a.sent()];
143
+ }
144
+ });
59
145
  });
60
- let filters = `((${userFilters.join(' or ')}) and space eq '${spaceUser.space}')`;
61
- return await (0, objectql_1.getSteedosSchema)().getObject('permission_shares').find({ filters: filters, fields: ['_id', 'object_name'] });
62
146
  }
63
147
  function getSpaceSessionFromCache(spaceId, userId) {
64
- let spaceUserSession = (0, objectql_1.getConfig)(SPACEUSERCACHENAME, `${spaceId}-${userId}`);
148
+ var spaceUserSession = (0, objectql_1.getConfig)(SPACEUSERCACHENAME, "".concat(spaceId, "-").concat(userId));
65
149
  if (!spaceUserSession) {
66
150
  return null;
67
151
  }
@@ -73,65 +157,205 @@ function getSpaceSessionFromCache(spaceId, userId) {
73
157
  }
74
158
  exports.getSpaceSessionFromCache = getSpaceSessionFromCache;
75
159
  function addSpaceSessionToCache(spaceId, userId, spaceUserSession) {
76
- spaceUserSession._id = `${spaceId}-${userId}`;
160
+ spaceUserSession._id = "".concat(spaceId, "-").concat(userId);
77
161
  (0, objectql_1.addConfig)(SPACEUSERCACHENAME, spaceUserSession);
78
162
  }
79
163
  exports.addSpaceSessionToCache = addSpaceSessionToCache;
80
- async function getSpaceUserSession(spaceId, userId) {
81
- let spaceSession = getSpaceSessionFromCache(spaceId, userId);
82
- if (!spaceSession) {
83
- let expiredAt = new Date().getTime() + sessionCacheInMinutes * 60 * 1000;
84
- let su = null;
85
- let suFields = ['_id', 'space', 'company_id', 'company_ids', 'organization', 'organizations', 'organizations_parents', 'user'];
86
- // 如果spaceid和user不匹配,则取用户的第一个工作区
87
- let spaceUsers = await (0, objectql_1.getSteedosSchema)().getObject('space_users').directFind({ filters: `(user eq '${userId}') and (user_accepted eq true)`, fields: suFields });
88
- const findSpaceUser = _.find(spaceUsers, (spaceUser) => { return spaceUser.space === spaceId; });
89
- if (findSpaceUser) {
90
- su = findSpaceUser;
91
- }
92
- else {
93
- su = spaceUsers[0];
94
- }
95
- if (su) {
96
- let userSpaceId = su.space;
97
- let userSpaceIds = _.pluck(spaceUsers, 'space');
98
- let roles = await getUserRoles(userId, userSpaceId);
99
- let profile = await getSpaceUserProfile(userId, userSpaceId);
100
- spaceSession = { roles: roles, profile: profile, expiredAt: expiredAt };
101
- spaceSession.spaceId = userSpaceId;
102
- spaceSession.spaces = await getObjectDataByIds('spaces', userSpaceIds, ['name', 'admins']);
103
- spaceSession.space = _.find(spaceSession.spaces, (record) => { return record._id === userSpaceId; });
104
- spaceSession.companies = await getObjectDataByIds('company', su.company_ids, ['name', 'organization']);
105
- spaceSession.company = _.find(spaceSession.companies, (record) => { return record._id === su.company_id; });
106
- spaceSession.organizations = await getObjectDataByIds('organizations', su.organizations, ['name', 'fullname', 'company_id']);
107
- spaceSession.organization = _.find(spaceSession.organizations, (record) => { return record._id === su.organization; });
108
- if (spaceSession.space && spaceSession.space.admins) {
109
- spaceSession.is_space_admin = spaceSession.space.admins.indexOf(userId) > -1;
164
+ /**
165
+ * 清除缓存
166
+ * @param spaceId
167
+ * @param userId
168
+ */
169
+ function removeSpaceUserSessionFromCache(spaceId, userId) {
170
+ (0, objectql_1.removeConfig)(SPACEUSERCACHENAME, { _id: "".concat(spaceId, "-").concat(userId) });
171
+ }
172
+ exports.removeSpaceUserSessionFromCache = removeSpaceUserSessionFromCache;
173
+ function getSpaceUserSession(spaceId, userId) {
174
+ return __awaiter(this, void 0, void 0, function () {
175
+ var spaceSession, expiredAt, su_1, suFields, spaceUsers, findSpaceUser, userSpaceId_1, userSpaceIds, roles, profile, _a, _b, _c, _d;
176
+ return __generator(this, function (_e) {
177
+ switch (_e.label) {
178
+ case 0:
179
+ spaceSession = getSpaceSessionFromCache(spaceId, userId);
180
+ if (!!spaceSession) return [3 /*break*/, 9];
181
+ expiredAt = new Date().getTime() + sessionCacheInMinutes * 60 * 1000;
182
+ su_1 = null;
183
+ suFields = ['_id', 'space', 'company_id', 'company_ids', 'organization', 'organizations', 'organizations_parents', 'user'];
184
+ return [4 /*yield*/, (0, objectql_1.getSteedosSchema)().getObject('space_users').directFind({ filters: "(user eq '".concat(userId, "') and (user_accepted eq true)"), fields: suFields })];
185
+ case 1:
186
+ spaceUsers = _e.sent();
187
+ findSpaceUser = _.find(spaceUsers, function (spaceUser) { return spaceUser.space === spaceId; });
188
+ if (findSpaceUser) {
189
+ su_1 = findSpaceUser;
190
+ }
191
+ else {
192
+ su_1 = spaceUsers[0];
193
+ }
194
+ if (!su_1) return [3 /*break*/, 8];
195
+ userSpaceId_1 = su_1.space;
196
+ userSpaceIds = _.pluck(spaceUsers, 'space');
197
+ return [4 /*yield*/, getUserRoles(userId, userSpaceId_1)];
198
+ case 2:
199
+ roles = _e.sent();
200
+ return [4 /*yield*/, getSpaceUserProfile(userId, userSpaceId_1)];
201
+ case 3:
202
+ profile = _e.sent();
203
+ spaceSession = { roles: roles, profile: profile, expiredAt: expiredAt };
204
+ spaceSession.spaceId = userSpaceId_1;
205
+ _a = spaceSession;
206
+ return [4 /*yield*/, getSpaces(userSpaceIds)];
207
+ case 4:
208
+ _a.spaces = _e.sent();
209
+ spaceSession.space = _.find(spaceSession.spaces, function (record) { return record._id === userSpaceId_1; });
210
+ _b = spaceSession;
211
+ return [4 /*yield*/, getObjectDataByIds('company', su_1.company_ids, ['name', 'organization'])];
212
+ case 5:
213
+ _b.companies = _e.sent();
214
+ spaceSession.company = _.find(spaceSession.companies, function (record) { return record._id === su_1.company_id; });
215
+ _c = spaceSession;
216
+ return [4 /*yield*/, getObjectDataByIds('organizations', su_1.organizations, ['name', 'fullname', 'company_id'])];
217
+ case 6:
218
+ _c.organizations = _e.sent();
219
+ spaceSession.organization = _.find(spaceSession.organizations, function (record) { return record._id === su_1.organization; });
220
+ if (spaceSession.company) {
221
+ spaceSession.company_id = spaceSession.company._id;
222
+ }
223
+ if (spaceSession.companies) {
224
+ spaceSession.company_ids = spaceSession.companies.map(function (company) { return company._id; });
225
+ }
226
+ _d = spaceSession;
227
+ return [4 /*yield*/, getUserPermissionShares(su_1)];
228
+ case 7:
229
+ _d.permission_shares = _e.sent();
230
+ addSpaceSessionToCache(spaceId, userId, spaceSession);
231
+ return [3 /*break*/, 9];
232
+ case 8:
233
+ spaceSession = { roles: ['guest'], expiredAt: expiredAt };
234
+ _e.label = 9;
235
+ case 9:
236
+ if (spaceSession.space && spaceSession.space.admins) {
237
+ spaceSession.is_space_admin = spaceSession.space.admins.indexOf(userId) > -1;
238
+ }
239
+ return [2 /*return*/, spaceSession];
110
240
  }
111
- if (spaceSession.company) {
112
- spaceSession.company_id = spaceSession.company._id;
241
+ });
242
+ });
243
+ }
244
+ exports.getSpaceUserSession = getSpaceUserSession;
245
+ function updateSpaceUserSessionRolesCache(spaceId, userId) {
246
+ return __awaiter(this, void 0, void 0, function () {
247
+ var spaceSession, _a;
248
+ return __generator(this, function (_b) {
249
+ switch (_b.label) {
250
+ case 0:
251
+ spaceSession = getSpaceSessionFromCache(spaceId, userId);
252
+ if (!spaceSession) return [3 /*break*/, 2];
253
+ _a = spaceSession;
254
+ return [4 /*yield*/, getUserRoles(userId, spaceId)];
255
+ case 1:
256
+ _a.roles = _b.sent();
257
+ return [2 /*return*/, true];
258
+ case 2: return [2 /*return*/, false];
113
259
  }
114
- if (spaceSession.companies) {
115
- spaceSession.company_ids = spaceSession.companies.map(function (company) { return company._id; });
260
+ });
261
+ });
262
+ }
263
+ exports.updateSpaceUserSessionRolesCache = updateSpaceUserSessionRolesCache;
264
+ /**
265
+ * 获取用户所属工作区记录,优先从缓存获取
266
+ * @param userSpaceIds
267
+ * @returns 工作区记录
268
+ */
269
+ function getSpaces(userSpaceIds) {
270
+ return __awaiter(this, void 0, void 0, function () {
271
+ var cacher, spaces, _i, userSpaceIds_1, sId, cacheDoc;
272
+ return __generator(this, function (_a) {
273
+ switch (_a.label) {
274
+ case 0:
275
+ cacher = (0, cachers_1.getCacher)(SPACES_CACHER_NAME);
276
+ spaces = [];
277
+ _i = 0, userSpaceIds_1 = userSpaceIds;
278
+ _a.label = 1;
279
+ case 1:
280
+ if (!(_i < userSpaceIds_1.length)) return [3 /*break*/, 5];
281
+ sId = userSpaceIds_1[_i];
282
+ cacheDoc = cacher.get(sId);
283
+ if (!!cacheDoc) return [3 /*break*/, 3];
284
+ return [4 /*yield*/, (0, objectql_1.getObject)('spaces').directFind({ filters: [['_id', '=', sId]], fields: ['_id', 'name', 'admins'] })];
285
+ case 2:
286
+ cacheDoc = (_a.sent())[0];
287
+ cacher.set(sId, cacheDoc);
288
+ _a.label = 3;
289
+ case 3:
290
+ spaces.push(cacheDoc);
291
+ _a.label = 4;
292
+ case 4:
293
+ _i++;
294
+ return [3 /*break*/, 1];
295
+ case 5:
296
+ if (_.isEmpty(spaces)) {
297
+ console.log(userSpaceIds);
298
+ }
299
+ return [2 /*return*/, spaces];
116
300
  }
117
- spaceSession.permission_shares = await getUserPermissionShares(su);
118
- addSpaceSessionToCache(spaceId, userId, spaceSession);
119
- return spaceSession;
120
- }
121
- else {
122
- spaceSession = { roles: ['guest'], expiredAt: expiredAt };
123
- }
301
+ });
302
+ });
303
+ }
304
+ /**
305
+ * userSession支持实时更新
306
+ * 当space_users属性发生变更后清除userSession缓存
307
+ */
308
+ function deleteSpaceUserSessionCacheByChangedProp(newDoc, oldDoc) {
309
+ var spaceId = oldDoc.space, userId = oldDoc.user;
310
+ // 由于space_users和users是单独缓存,故这里分别判断清除
311
+ // space_users session
312
+ var suProps = [
313
+ 'company_id',
314
+ 'company_ids',
315
+ 'organization',
316
+ 'organizations',
317
+ 'profile', // 简档
318
+ ];
319
+ var suChanged = (0, session_1.isPropValueChanged)(newDoc, oldDoc, suProps);
320
+ if (suChanged) {
321
+ removeSpaceUserSessionFromCache(spaceId, userId);
322
+ }
323
+ // user session
324
+ var uProps = [
325
+ 'locale',
326
+ 'mobile',
327
+ 'name',
328
+ 'username',
329
+ 'email' // 邮箱
330
+ ];
331
+ var uChanged = (0, session_1.isPropValueChanged)(newDoc, oldDoc, uProps);
332
+ if (uChanged) {
333
+ (0, userSession_1.removeUserSessionFromCache)(userId);
124
334
  }
125
- return spaceSession;
126
335
  }
127
- exports.getSpaceUserSession = getSpaceUserSession;
128
- async function updateSpaceUserSessionRolesCache(spaceId, userId) {
129
- let spaceSession = getSpaceSessionFromCache(spaceId, userId);
130
- if (spaceSession) {
131
- spaceSession.roles = await getUserRoles(userId, spaceId);
132
- return true;
336
+ exports.deleteSpaceUserSessionCacheByChangedProp = deleteSpaceUserSessionCacheByChangedProp;
337
+ /**
338
+ * userSession支持实时更新
339
+ * 当spaces属性发生变更后清除spaces缓存
340
+ */
341
+ function deleteSpaceCacheByChangedProp(newDoc, oldDoc) {
342
+ var spaceId = oldDoc._id;
343
+ var props = [
344
+ 'name',
345
+ 'admins', // 管理员
346
+ ];
347
+ var changed = (0, session_1.isPropValueChanged)(newDoc, oldDoc, props);
348
+ if (changed) {
349
+ // 清除spaces缓存
350
+ var cacher = (0, cachers_1.getCacher)(SPACES_CACHER_NAME);
351
+ cacher["delete"](spaceId);
352
+ // 如果admins发生了变化,则需要清除变化的人员的缓存
353
+ var changeAdmins = _.difference(newDoc.admins, oldDoc.admins).concat(_.difference(oldDoc.admins, newDoc.admins));
354
+ for (var _i = 0, changeAdmins_1 = changeAdmins; _i < changeAdmins_1.length; _i++) {
355
+ var userId = changeAdmins_1[_i];
356
+ removeSpaceUserSessionFromCache(spaceId, userId);
357
+ }
133
358
  }
134
- return false;
135
359
  }
136
- exports.updateSpaceUserSessionRolesCache = updateSpaceUserSessionRolesCache;
360
+ exports.deleteSpaceCacheByChangedProp = deleteSpaceCacheByChangedProp;
137
361
  //# sourceMappingURL=spaceUserSession.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"spaceUserSession.js","sourceRoot":"","sources":["../src/spaceUserSession.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"spaceUserSession.js","sourceRoot":"","sources":["../src/spaceUserSession.ts"],"names":[],"mappings":"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"}