@steedos/auth 2.2.52-beta.7 → 2.2.53-beta.3

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 +1 @@
1
- {"version":3,"file":"session.js","sourceRoot":"","sources":["../src/session.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"session.js","sourceRoot":"","sources":["../src/session.ts"],"names":[],"mappings":"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"}
@@ -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":";;;AAAA,gDAAyF;AACzF,mCAAmC;AACnC,MAAM,CAAC,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;AAChC,MAAM,qBAAqB,GAAG,EAAE,CAAC;AACjC,MAAM,kBAAkB,GAAG,mBAAmB,CAAC;AAE/C,MAAM,gBAAgB,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,CAAC,CAAA;AAElE,KAAK,UAAU,mBAAmB,CAAC,MAAc,EAAE,OAAe;IAC9D,IAAI,OAAO,GAAG,cAAc,OAAO,oBAAoB,MAAM,IAAI,CAAC;IAClE,IAAI,SAAS,GAAG,MAAM,IAAA,2BAAgB,GAAE,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;IAClH,IAAI,SAAS,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE;QACnC,OAAO,SAAS,CAAC,CAAC,CAAC,CAAC,OAAO,CAAA;KAC9B;AACL,CAAC;AAED,KAAK,UAAU,YAAY,CAAC,MAAc,EAAE,OAAe;IACvD,IAAI,KAAK,GAAG,CAAC,MAAM,CAAC,CAAC;IACrB,IAAI,KAAK,GAAG,MAAM,IAAA,2BAAgB,GAAE,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;IAClG,IAAI,KAAK,IAAI,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE;QACxC,KAAK,GAAG,CAAC,OAAO,CAAC,CAAC;KACrB;IAED,IAAI,OAAO,GAAG,MAAM,mBAAmB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAEzD,IAAI,OAAO,EAAE;QACT,KAAK,GAAG,CAAC,OAAO,CAAC,CAAA;KACpB;IAED,IAAI,OAAO,GAAG,cAAc,OAAO,qBAAqB,MAAM,IAAI,CAAC;IACnE,IAAI,eAAe,GAAG,MAAM,IAAA,2BAAgB,GAAE,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC,UAAU,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IAC9H,eAAe,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;QACxB,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,gBAAgB,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE;YACtC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;SACtB;IACL,CAAC,CAAC,CAAC;IACH,OAAO,KAAK,CAAC;AACjB,CAAC;AAED,KAAK,UAAU,kBAAkB,CAAC,UAAkB,EAAE,GAAa,EAAE,MAAiB;IAClF,IAAI,CAAC,GAAG,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC,EAAE;QAC1B,OAAO,EAAE,CAAA;KACZ;IAED,IAAI,OAAO,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE,UAAU,EAAE;QACjC,IAAI,CAAC,EAAE,EAAE;YACL,OAAO,EAAE,CAAA;SACZ;QACD,OAAO,YAAY,EAAE,IAAI,CAAA;IAC7B,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAEhB,IAAI,CAAC,OAAO,EAAE;QACV,OAAO,EAAE,CAAA;KACZ;IAED,IAAI,KAAK,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC;IACjC,IAAI,MAAM,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE;QAC7B,KAAK,CAAC,QAAQ,CAAC,GAAG,MAAM,CAAC;KAC5B;IAED,OAAO,MAAM,IAAA,2BAAgB,GAAE,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,CAAA;AAC3E,CAAC;AAED,KAAK,UAAU,uBAAuB,CAAC,SAAS;IAC5C,IAAI,WAAW,GAAG,CAAC,cAAc,SAAS,CAAC,IAAI,IAAI,CAAC,CAAC;IACrD,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,qBAAqB,EAAE,CAAC,KAAK,EAAE,EAAE;QAC9C,WAAW,CAAC,IAAI,CAAC,sBAAsB,KAAK,IAAI,CAAC,CAAC;IACtD,CAAC,CAAC,CAAA;IACF,IAAI,OAAO,GAAG,KAAK,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,mBAAmB,SAAS,CAAC,KAAK,IAAI,CAAA;IACjF,OAAO,MAAM,IAAA,2BAAgB,GAAE,CAAC,SAAS,CAAC,mBAAmB,CAAC,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,KAAK,EAAE,aAAa,CAAC,EAAE,CAAC,CAAC;AAC9H,CAAC;AAED,SAAgB,wBAAwB,CAAC,OAAO,EAAE,MAAM;IACpD,IAAI,gBAAgB,GAAG,IAAA,oBAAS,EAAC,kBAAkB,EAAE,GAAG,OAAO,IAAI,MAAM,EAAE,CAAC,CAAA;IAC5E,IAAI,CAAC,gBAAgB,EAAE;QACnB,OAAO,IAAI,CAAC;KACf;IACD,IAAI,IAAA,iBAAS,EAAC,gBAAgB,CAAC,SAAS,CAAC,EAAE;QACvC,IAAA,uBAAY,EAAC,kBAAkB,EAAE,gBAAgB,CAAC,CAAC;QACnD,OAAO,IAAI,CAAC;KACf;IACD,OAAO,gBAAgB,CAAC;AAC5B,CAAC;AAVD,4DAUC;AAED,SAAgB,sBAAsB,CAAC,OAAO,EAAE,MAAM,EAAE,gBAAgB;IACpE,gBAAgB,CAAC,GAAG,GAAG,GAAG,OAAO,IAAI,MAAM,EAAE,CAAA;IAC7C,IAAA,oBAAS,EAAC,kBAAkB,EAAE,gBAAgB,CAAC,CAAC;AACpD,CAAC;AAHD,wDAGC;AAGM,KAAK,UAAU,mBAAmB,CAAC,OAAO,EAAE,MAAM;IACrD,IAAI,YAAY,GAAQ,wBAAwB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IAClE,IAAI,CAAC,YAAY,EAAE;QACf,IAAI,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,GAAG,qBAAqB,GAAG,EAAE,GAAG,IAAI,CAAC;QACzE,IAAI,EAAE,GAAG,IAAI,CAAC;QACd,IAAI,QAAQ,GAAG,CAAC,KAAK,EAAE,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,cAAc,EAAE,eAAe,EAAE,uBAAuB,EAAE,MAAM,CAAC,CAAC;QAE/H,gCAAgC;QAChC,IAAI,UAAU,GAAG,MAAM,IAAA,2BAAgB,GAAE,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC,UAAU,CAAC,EAAE,OAAO,EAAE,aAAa,MAAM,gCAAgC,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC;QAClK,MAAM,aAAa,GAAG,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,SAAS,EAAC,EAAE,GAAE,OAAO,SAAS,CAAC,KAAK,KAAK,OAAO,CAAA,CAAC,CAAC,CAAC,CAAA;QAC7F,IAAG,aAAa,EAAC;YACb,EAAE,GAAG,aAAa,CAAC;SACtB;aAAI;YACD,EAAE,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;SACtB;QAED,IAAI,EAAE,EAAE;YACJ,IAAI,WAAW,GAAG,EAAE,CAAC,KAAK,CAAC;YAC3B,IAAI,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;YAChD,IAAI,KAAK,GAAG,MAAM,YAAY,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;YACpD,IAAI,OAAO,GAAG,MAAM,mBAAmB,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;YAC7D,YAAY,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAC,SAAS,EAAE,SAAS,EAAE,CAAC;YACvE,YAAY,CAAC,OAAO,GAAG,WAAW,CAAC;YACnC,YAAY,CAAC,MAAM,GAAG,MAAM,kBAAkB,CAAC,QAAQ,EAAE,YAAY,EAAE,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC;YAC3F,YAAY,CAAC,KAAK,GAAG,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC,MAAM,EAAC,EAAE,GAAE,OAAO,MAAM,CAAC,GAAG,KAAK,WAAW,CAAA,CAAC,CAAC,CAAC,CAAC;YAElG,YAAY,CAAC,SAAS,GAAG,MAAM,kBAAkB,CAAC,SAAS,EAAE,EAAE,CAAC,WAAW,EAAE,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC,CAAC;YACvG,YAAY,CAAC,OAAO,GAAG,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE,CAAC,MAAM,EAAC,EAAE,GAAE,OAAO,MAAM,CAAC,GAAG,KAAK,EAAE,CAAC,UAAU,CAAA,CAAC,CAAC,CAAC,CAAC;YAEzG,YAAY,CAAC,aAAa,GAAG,MAAM,kBAAkB,CAAC,eAAe,EAAE,EAAE,CAAC,aAAa,EAAE,CAAC,MAAM,EAAE,UAAU,EAAE,YAAY,CAAC,CAAC,CAAC;YAC7H,YAAY,CAAC,YAAY,GAAG,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,aAAa,EAAE,CAAC,MAAM,EAAC,EAAE,GAAE,OAAO,MAAM,CAAC,GAAG,KAAK,EAAE,CAAC,YAAY,CAAA,CAAC,CAAC,CAAC,CAAC;YAEpH,IAAI,YAAY,CAAC,KAAK,IAAI,YAAY,CAAC,KAAK,CAAC,MAAM,EAAE;gBACjD,YAAY,CAAC,cAAc,GAAG,YAAY,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;aAChF;YACD,IAAI,YAAY,CAAC,OAAO,EAAE;gBACtB,YAAY,CAAC,UAAU,GAAG,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC;aACtD;YACD,IAAI,YAAY,CAAC,SAAS,EAAE;gBACxB,YAAY,CAAC,WAAW,GAAG,YAAY,CAAC,SAAS,CAAC,GAAG,CAAC,UAAU,OAAY,IAAI,OAAO,OAAO,CAAC,GAAG,CAAA,CAAC,CAAC,CAAC,CAAC;aACzG;YACD,YAAY,CAAC,iBAAiB,GAAG,MAAM,uBAAuB,CAAC,EAAE,CAAC,CAAC;YACnE,sBAAsB,CAAC,OAAO,EAAE,MAAM,EAAE,YAAY,CAAC,CAAC;YACtD,OAAO,YAAY,CAAC;SACvB;aAAM;YACH,YAAY,GAAG,EAAE,KAAK,EAAE,CAAC,OAAO,CAAC,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC;SAC7D;KACJ;IACD,OAAO,YAAY,CAAC;AACxB,CAAC;AAjDD,kDAiDC;AAEM,KAAK,UAAU,gCAAgC,CAAC,OAAO,EAAE,MAAM;IAClE,IAAI,YAAY,GAAQ,wBAAwB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IAClE,IAAI,YAAY,EAAE;QACd,YAAY,CAAC,KAAK,GAAG,MAAM,YAAY,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QACzD,OAAO,IAAI,CAAC;KACf;IACD,OAAO,KAAK,CAAC;AACjB,CAAC;AAPD,4EAOC"}
1
+ {"version":3,"file":"spaceUserSession.js","sourceRoot":"","sources":["../src/spaceUserSession.ts"],"names":[],"mappings":"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"}