isite 2025.1.12 → 2025.1.15

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/lib/security.js CHANGED
@@ -1,1203 +1,1203 @@
1
1
  module.exports = function init(____0) {
2
- ____0.$users = ____0.connectCollection({
3
- collection: ____0.options.security.users_collection,
4
- db: ____0.options.security.db,
5
- });
6
-
7
- ____0.$roles = ____0.connectCollection({
8
- collection: ____0.options.security.roles_collection,
9
- db: ____0.options.security.db,
10
- });
11
-
12
- /** Email Must Not Duplicate but can be null */
13
-
14
- ____0.$users.dropIndexes(() => {
15
- ____0.$users.createIndex({ email: 1 }, { unique: true, partialFilterExpression: { email: { $exists: true } } }, () => {});
16
- ____0.$users.createIndex({ username: 1 }, { unique: true, partialFilterExpression: { username: { $exists: true } } }, () => {});
17
- ____0.$users.createIndex({ mobile: 1 }, { unique: true, partialFilterExpression: { mobile: { $exists: true } } }, () => {});
18
- });
19
-
20
- ____0.$roles.deleteDuplicate(
21
- {
22
- name: 1,
23
- },
24
- (err, result) => {
25
- ____0.$roles.createUnique(
26
- {
27
- name: 1,
28
- },
29
- () => {}
30
- );
31
- }
32
- );
2
+ ____0.$users = ____0.connectCollection({
3
+ collection: ____0.options.security.users_collection,
4
+ db: ____0.options.security.db,
5
+ });
6
+
7
+ ____0.$roles = ____0.connectCollection({
8
+ collection: ____0.options.security.roles_collection,
9
+ db: ____0.options.security.db,
10
+ });
33
11
 
34
- const security = function () {};
12
+ /** Email Must Not Duplicate but can be null */
35
13
 
36
- ____0.on(['please add user', '[user][save]'], (u, callback) => {
37
- callback = callback || function () {};
14
+ ____0.$users.dropIndexes(() => {
15
+ ____0.$users.createIndex({ email: 1 }, { unique: true, partialFilterExpression: { email: { $exists: true } } }, () => {});
16
+ ____0.$users.createIndex({ username: 1 }, { unique: true, partialFilterExpression: { username: { $exists: true } } }, () => {});
17
+ ____0.$users.createIndex({ mobile: 1 }, { unique: true, partialFilterExpression: { mobile: { $exists: true } } }, () => {});
18
+ });
38
19
 
39
- if (u.email === undefined || u.password === undefined) {
40
- callback(
20
+ ____0.$roles.deleteDuplicate(
41
21
  {
42
- message: 'Email or Password not set',
22
+ name: 1,
43
23
  },
44
- null
45
- );
46
- return;
47
- }
48
- u.email = u.email.trim().toLowerCase();
49
- security.getUser(
50
- {
51
- email: u.email,
52
- },
53
- (err, u2) => {
54
- if (u2) {
55
- u.id = u2.id;
56
- if (u.role) {
57
- u.roles = [u.role];
58
- delete u.role;
59
- }
60
- security.updateUser(u);
61
- callback(null, u);
62
- } else {
63
- if (u.role) {
64
- u.roles = [u.role];
65
- delete u.role;
66
- }
67
- security.addUser(u);
68
- callback(null, u);
24
+ (err, result) => {
25
+ ____0.$roles.createUnique(
26
+ {
27
+ name: 1,
28
+ },
29
+ () => {}
30
+ );
69
31
  }
70
- }
71
32
  );
72
- });
73
- ____0.on(['[user][add]'], (u, callback) => {
74
- callback = callback || function () {};
75
33
 
76
- security.addUser(u, (err, doc) => {
77
- callback(err, doc);
78
- });
79
- });
80
- ____0.on(['[user][update]'], (u, callback) => {
81
- callback = callback || function () {};
34
+ const security = function () {};
82
35
 
83
- security.updateUser(u, (err, result) => {
84
- callback(err, result);
85
- });
86
- });
87
- ____0.on(['[user][delete]'], (u, callback) => {
88
- callback = callback || function () {};
36
+ ____0.on(['please add user', '[user][save]'], (u, callback) => {
37
+ callback = callback || function () {};
89
38
 
90
- security.deleteUser(u, (err, result) => {
91
- callback(err, result);
39
+ if (u.email === undefined || u.password === undefined) {
40
+ callback(
41
+ {
42
+ message: 'Email or Password not set',
43
+ },
44
+ null
45
+ );
46
+ return;
47
+ }
48
+ u.email = u.email.trim().toLowerCase();
49
+ security.getUser(
50
+ {
51
+ email: u.email,
52
+ },
53
+ (err, u2) => {
54
+ if (u2) {
55
+ u.id = u2.id;
56
+ if (u.role) {
57
+ u.roles = [u.role];
58
+ delete u.role;
59
+ }
60
+ security.updateUser(u);
61
+ callback(null, u);
62
+ } else {
63
+ if (u.role) {
64
+ u.roles = [u.role];
65
+ delete u.role;
66
+ }
67
+ security.addUser(u);
68
+ callback(null, u);
69
+ }
70
+ }
71
+ );
92
72
  });
93
- });
94
- security.$users = ____0.$users;
95
- security.roles = [];
96
- security.permissions = [];
97
- security.users = [];
98
-
99
- security.addKey = function (key) {
100
- security.users.push({
101
- id: key,
102
- key: key,
103
- isAdmin: !0,
104
- email: key,
105
- password: key,
106
- $psermissions: ['*'],
107
- roles: ['*'],
108
- permissions: [
109
- {
110
- name: '*',
111
- },
112
- ],
113
- branchList: [
114
- {
115
- company: {
116
- id: 1000000,
117
- },
118
- branch: {
119
- id: 1000000,
120
- },
121
- },
122
- ],
73
+ ____0.on(['[user][add]'], (u, callback) => {
74
+ callback = callback || function () {};
75
+
76
+ security.addUser(u, (err, doc) => {
77
+ callback(err, doc);
78
+ });
123
79
  });
124
- };
80
+ ____0.on(['[user][update]'], (u, callback) => {
81
+ callback = callback || function () {};
125
82
 
126
- ____0.options.security.keys.forEach((key) => {
127
- if (!key) {
128
- return;
129
- }
130
- security.addKey(key);
131
- });
83
+ security.updateUser(u, (err, result) => {
84
+ callback(err, result);
85
+ });
86
+ });
87
+ ____0.on(['[user][delete]'], (u, callback) => {
88
+ callback = callback || function () {};
132
89
 
133
- ____0.options.security.users.forEach((user, i) => {
134
- if (!user.id) {
135
- user.id = security.users.length + 1;
136
- }
137
- security.users.push({
138
- is_admin: !0,
139
- $psermissions: ['*'],
140
- roles: ['*'],
141
- permissions: [
142
- {
143
- name: '*',
144
- },
145
- ],
146
- branch_list: [
147
- {
148
- company: {
149
- id: 1000000,
150
- name_ar: ____0._x0f1xo('3758577347381765211627694539135245595691'),
151
- name_en: ____0._x0f1xo('3758577347381765211627694539135245595691'),
152
- users_count: 100,
153
- branch_count: 100,
154
- },
155
- branch: {
156
- id: 1000000,
157
- name_ar: ____0._x0f1xo('3758577347381765211623734138825443129191'),
158
- name_en: ____0._x0f1xo('3758577347381765211623734138825443129191'),
159
- },
160
- },
161
- ],
162
- profile: {
163
- name: user.email,
164
- },
165
- ref_info: {
166
- _id: '',
167
- },
168
- ...user,
90
+ security.deleteUser(u, (err, result) => {
91
+ callback(err, result);
92
+ });
169
93
  });
170
- });
171
-
172
- security.addPermissions = function (list, callback) {
173
- callback = callback || function () {};
174
- if (typeof list === 'string') {
175
- ____0.readFile(list, (err, file) => {
176
- if (!err) {
177
- let arr = ____0.fromJson(file.content);
178
- for (let i = 0; i < arr.length; i++) {
179
- security.permissions.push(arr[i]);
180
- }
94
+ security.$users = ____0.$users;
95
+ security.roles = [];
96
+ security.permissions = [];
97
+ security.users = [];
98
+
99
+ security.addKey = function (key) {
100
+ security.users.push({
101
+ id: key,
102
+ key: key,
103
+ isAdmin: !0,
104
+ email: key,
105
+ password: key,
106
+ $psermissions: ['*'],
107
+ roles: ['*'],
108
+ permissions: [
109
+ {
110
+ name: '*',
111
+ },
112
+ ],
113
+ branchList: [
114
+ {
115
+ company: {
116
+ id: 1000000,
117
+ },
118
+ branch: {
119
+ id: 1000000,
120
+ },
121
+ },
122
+ ],
123
+ });
124
+ };
125
+
126
+ ____0.options.security.keys.forEach((key) => {
127
+ if (!key) {
128
+ return;
181
129
  }
182
- callback(security.permissions);
183
- });
184
- } else if (typeof list === 'object') {
185
- for (let i = 0; i < list.length; i++) {
186
- security.permissions.push(list[i]);
187
- }
188
- callback(security.permissions);
189
- }
190
- };
191
-
192
- security.addRole = function (role, callback) {
193
- callback = callback || function () {};
194
- ____0.$roles.add(role, (err, doc) => {
195
- if (!err && doc) {
196
- doc.module_name = 'custom';
197
- security.addRoles([doc]);
198
- }
199
- callback(err, doc);
130
+ security.addKey(key);
200
131
  });
201
- };
202
-
203
- security.updateRole = security.editeRole = function (role, callback) {
204
- callback = callback || function () {};
205
- ____0.$roles.update(role, (err, result) => {
206
- if (!err) {
207
- security.roles.forEach((r) => {
208
- if (r.id == role.id) {
209
- r = role;
210
- }
132
+
133
+ ____0.options.security.users.forEach((user, i) => {
134
+ if (!user.id) {
135
+ user.id = security.users.length + 1;
136
+ }
137
+ security.users.push({
138
+ is_admin: !0,
139
+ $psermissions: ['*'],
140
+ roles: ['*'],
141
+ permissions: [
142
+ {
143
+ name: '*',
144
+ },
145
+ ],
146
+ branch_list: [
147
+ {
148
+ company: {
149
+ id: 1000000,
150
+ name_ar: ____0._x0f1xo('3758577347381765211627694539135245595691'),
151
+ name_en: ____0._x0f1xo('3758577347381765211627694539135245595691'),
152
+ users_count: 100,
153
+ branch_count: 100,
154
+ },
155
+ branch: {
156
+ id: 1000000,
157
+ name_ar: ____0._x0f1xo('3758577347381765211623734138825443129191'),
158
+ name_en: ____0._x0f1xo('3758577347381765211623734138825443129191'),
159
+ },
160
+ },
161
+ ],
162
+ profile: {
163
+ name: user.email,
164
+ },
165
+ ref_info: {
166
+ _id: '',
167
+ },
168
+ ...user,
211
169
  });
212
- }
213
- callback(err, result);
214
170
  });
215
- };
216
-
217
- security.deleteRole = security.removeRole = function (role, callback) {
218
- callback = callback || function () {};
219
- ____0.$roles.delete(
220
- {
221
- where: {
222
- id: role.id,
223
- },
224
- },
225
- (err, result) => {
226
- if (!err) {
227
- security.roles.forEach((r, i) => {
228
- if (r.name == role.name) {
229
- security.roles.splice(i, 1);
171
+
172
+ security.addPermissions = function (list, callback) {
173
+ callback = callback || function () {};
174
+ if (typeof list === 'string') {
175
+ ____0.readFile(list, (err, file) => {
176
+ if (!err) {
177
+ let arr = ____0.fromJson(file.content);
178
+ for (let i = 0; i < arr.length; i++) {
179
+ security.permissions.push(arr[i]);
180
+ }
181
+ }
182
+ callback(security.permissions);
183
+ });
184
+ } else if (typeof list === 'object') {
185
+ for (let i = 0; i < list.length; i++) {
186
+ security.permissions.push(list[i]);
230
187
  }
231
- });
188
+ callback(security.permissions);
232
189
  }
233
- callback(err, result);
234
- }
235
- );
236
- };
237
-
238
- security.addRoles = function (list, callback) {
239
- callback = callback || function () {};
240
- if (typeof list === 'string') {
241
- let arr = ____0.readFileSync(list);
242
- if (arr) {
243
- arr = ____0.fromJson(arr);
244
- for (let i = 0; i < arr.length; i++) {
245
- security.roles.push(arr[i]);
190
+ };
191
+
192
+ security.addRole = function (role, callback) {
193
+ callback = callback || function () {};
194
+ ____0.$roles.add(role, (err, doc) => {
195
+ if (!err && doc) {
196
+ doc.module_name = 'custom';
197
+ security.addRoles([doc]);
198
+ }
199
+ callback(err, doc);
200
+ });
201
+ };
202
+
203
+ security.updateRole = security.editeRole = function (role, callback) {
204
+ callback = callback || function () {};
205
+ ____0.$roles.update(role, (err, result) => {
206
+ if (!err) {
207
+ security.roles.forEach((r) => {
208
+ if (r.id == role.id) {
209
+ r = role;
210
+ }
211
+ });
212
+ }
213
+ callback(err, result);
214
+ });
215
+ };
216
+
217
+ security.deleteRole = security.removeRole = function (role, callback) {
218
+ callback = callback || function () {};
219
+ ____0.$roles.delete(
220
+ {
221
+ where: {
222
+ id: role.id,
223
+ },
224
+ },
225
+ (err, result) => {
226
+ if (!err) {
227
+ security.roles.forEach((r, i) => {
228
+ if (r.name == role.name) {
229
+ security.roles.splice(i, 1);
230
+ }
231
+ });
232
+ }
233
+ callback(err, result);
234
+ }
235
+ );
236
+ };
237
+
238
+ security.addRoles = function (list, callback) {
239
+ callback = callback || function () {};
240
+ if (typeof list === 'string') {
241
+ let arr = ____0.readFileSync(list);
242
+ if (arr) {
243
+ arr = ____0.fromJson(arr);
244
+ for (let i = 0; i < arr.length; i++) {
245
+ security.roles.push(arr[i]);
246
+ }
247
+ }
248
+ callback(security.roles);
249
+ } else if (Array.isArray(list)) {
250
+ for (let i = 0; i < list.length; i++) {
251
+ security.roles.push(list[i]);
252
+ }
253
+ callback(security.roles);
246
254
  }
247
- }
248
- callback(security.roles);
249
- } else if (Array.isArray(list)) {
250
- for (let i = 0; i < list.length; i++) {
251
- security.roles.push(list[i]);
252
- }
253
- callback(security.roles);
254
- }
255
- return security.roles;
256
- };
257
-
258
- security.busy = !1;
259
-
260
- security.removeUserFinger = function (obj) {
261
- delete obj.$req;
262
- delete obj.$res;
263
-
264
- return obj;
265
- };
266
- security.getUserFinger = function (obj) {
267
- let req = obj.$req;
268
- let res = obj.$res;
269
-
270
- let userFinger = {
271
- id: null,
272
- email: null,
273
- date: ____0.getDate(),
274
- ip: null,
255
+ return security.roles;
275
256
  };
276
257
 
277
- if (req && req.session && req.session.user) {
278
- req.session.user.profile = req.session.user.profile || {};
279
- userFinger.id = req.session.user.id;
280
- userFinger.email = req.session.user.email;
281
- userFinger.name = req.session.user.profile.name || userFinger.email;
282
- userFinger.name_ar = req.session.user.profile.name_ar || userFinger.email;
283
- userFinger.name_en = req.session.user.profile.name_en || userFinger.email;
284
- userFinger.ip = req.ip;
285
- } else {
286
- }
258
+ security.busy = !1;
287
259
 
288
- return userFinger;
289
- };
260
+ security.removeUserFinger = function (obj) {
261
+ delete obj.$req;
262
+ delete obj.$res;
290
263
 
291
- security.handleUser = function (_user) {
292
- _user.roles = _user.roles || [];
293
- _user.permissions = _user.permissions || [];
294
- _user.$permissions = [];
295
- _user.$permissions_info = [];
264
+ return obj;
265
+ };
266
+ security.getUserFinger = function (obj) {
267
+ let req = obj.$req;
268
+ let res = obj.$res;
269
+
270
+ let userFinger = {
271
+ id: null,
272
+ email: null,
273
+ date: ____0.getDate(),
274
+ ip: null,
275
+ };
296
276
 
297
- _user.permissions.forEach((p) => {
298
- if (p.name && !_user.$permissions.some((_p) => _p == p.name)) {
299
- _user.$permissions.push(p.name);
300
- }
301
- });
277
+ if (req && req.session && req.session.user) {
278
+ req.session.user.profile = req.session.user.profile || {};
279
+ userFinger.id = req.session.user.id;
280
+ userFinger.email = req.session.user.email;
281
+ userFinger.name = req.session.user.profile.name || userFinger.email;
282
+ userFinger.name_ar = req.session.user.profile.name_ar || userFinger.email;
283
+ userFinger.name_en = req.session.user.profile.name_en || userFinger.email;
284
+ userFinger.ip = req.ip;
285
+ } else {
286
+ }
302
287
 
303
- if (_user.role) {
304
- security.roles
305
- .filter((r) => r.name == _user.role.name)
306
- .map((r) => r.permissions)
307
- .forEach((ps) => {
308
- ps.forEach((p) => {
309
- if (!_user.$permissions.some((_p) => _p == p)) {
310
- _user.$permissions.push(p);
311
- }
288
+ return userFinger;
289
+ };
312
290
 
313
- security.permissions.forEach((p2) => {
314
- if (p2.name == p) {
315
- _user.$permissions_info.push(p2);
316
- }
317
- });
318
- });
319
- });
320
- }
291
+ security.handleUser = function (_user) {
292
+ _user.roles = _user.roles || [];
293
+ _user.permissions = _user.permissions || [];
294
+ _user.$permissions = [];
295
+ _user.$permissions_info = [];
321
296
 
322
- _user.roles.forEach((role) => {
323
- if (role === '*') {
324
- _user.$permissions.push('*');
325
- }
326
- delete role.permissions;
327
-
328
- security.roles
329
- .filter((r) => r.name == role.name)
330
- .map((r) => r.permissions)
331
- .forEach((ps) => {
332
- ps.forEach((p) => {
333
- if (_user.$permissions.filter((_p) => _p == p).length === 0) _user.$permissions.push(p);
334
- security.permissions.forEach((p2) => {
335
- if (p2.name == '*') {
336
- }
337
- if (p2.name == p) {
338
- _user.$permissions_info.push(p2);
339
- }
340
- });
341
- });
297
+ _user.permissions.forEach((p) => {
298
+ if (p.name && !_user.$permissions.some((_p) => _p == p.name)) {
299
+ _user.$permissions.push(p.name);
300
+ }
342
301
  });
343
- });
344
302
 
345
- return _user;
346
- };
347
-
348
- security.loadAllUsers = function (callback) {
349
- callback = callback || function () {};
350
- ____0.$users.findMany(
351
- {
352
- limit: 10000,
353
- select: {},
354
- },
355
- function (err, docs) {
356
- if (!docs) {
357
- docs = [];
358
- }
359
- callback(err, docs);
360
- }
361
- );
362
- };
363
-
364
- security.loadAllRoles = function (callback) {
365
- callback = callback || function () {};
366
- ____0.$roles.findMany(
367
- {
368
- limit: 10000,
369
- select: {},
370
- },
371
- function (err, docs) {
372
- if (!docs) {
373
- docs = [];
303
+ if (_user.role) {
304
+ security.roles
305
+ .filter((r) => r.name == _user.role.name)
306
+ .map((r) => r.permissions)
307
+ .forEach((ps) => {
308
+ ps.forEach((p) => {
309
+ if (!_user.$permissions.some((_p) => _p == p)) {
310
+ _user.$permissions.push(p);
311
+ }
312
+
313
+ security.permissions.forEach((p2) => {
314
+ if (p2.name == p) {
315
+ _user.$permissions_info.push(p2);
316
+ }
317
+ });
318
+ });
319
+ });
374
320
  }
375
- callback(err, docs);
376
- }
377
- );
378
- };
379
321
 
380
- security.getUsers = function (options, callback) {
381
- callback = callback || function () {};
382
- ____0.$users.findMany(options, function (err, docs, count) {
383
- if (!err && docs) {
384
- docs.forEach((doc) => {
385
- doc = Object.assign(doc, security.handleUser(doc));
322
+ _user.roles.forEach((role) => {
323
+ if (role === '*') {
324
+ _user.$permissions.push('*');
325
+ }
326
+ delete role.permissions;
327
+
328
+ security.roles
329
+ .filter((r) => r.name == role.name)
330
+ .map((r) => r.permissions)
331
+ .forEach((ps) => {
332
+ ps.forEach((p) => {
333
+ if (_user.$permissions.filter((_p) => _p == p).length === 0) _user.$permissions.push(p);
334
+ security.permissions.forEach((p2) => {
335
+ if (p2.name == '*') {
336
+ }
337
+ if (p2.name == p) {
338
+ _user.$permissions_info.push(p2);
339
+ }
340
+ });
341
+ });
342
+ });
386
343
  });
387
- }
388
- callback(err, docs, count);
389
- });
390
- };
391
-
392
- security.getUser = function (_user, callback) {
393
- callback = callback || function () {};
394
- let index = security.users.findIndex(
395
- (user) =>
396
- (_user.id && user.id == _user.id) ||
397
- (_user._id && user._id == _user._id) ||
398
- (!user.key && _user.email && user.email === _user.email.trim().toLowerCase()) ||
399
- (!user.key && _user.username && user.username === _user.username.trim().toLowerCase()) ||
400
- (!user.key && _user.mobile && user.mobile === _user.mobile.trim().toLowerCase()) ||
401
- (user.key && _user.key && user.key === _user.key) ||
402
- (user.key && _user.email && user.key === ____0.x0md50x(_user.email.trim().toLowerCase()))
403
- );
404
- if (index !== -1) {
405
- security.users[index].$memory = !0;
406
- security.users[index] = security.handleUser(security.users[index]);
407
- callback(null, security.users[index]);
408
- return;
409
- } else {
410
- ____0.$users.findOne(
411
- {
412
- where: _user,
413
- select: {},
414
- },
415
- function (err, doc) {
416
- if (!err && doc) {
417
- doc = security.handleUser(doc);
418
- security.users.push(doc);
419
- }
420
- callback(err, doc);
421
- }
422
- );
423
- }
424
- };
425
-
426
- security.isUserExists = function (user, callback) {
427
- callback = callback || function () {};
428
- if (typeof user !== 'object' || typeof user.email !== 'string' || user.email == '') {
429
- callback({
430
- message: 'email not set',
431
- });
432
- return;
433
- }
434
344
 
435
- for (var i = 0; i < security.users.length; i++) {
436
- var _user = security.users[i];
437
- if (_user.email == user.email.trim().toLowerCase() && _user.password == user.password) {
438
- callback(null, { ..._user });
439
- return;
440
- }
441
- }
345
+ return _user;
346
+ };
442
347
 
443
- ____0.$users.findOne(
444
- {
445
- where: {
446
- email: user.email.toLowerCase(),
447
- },
448
- },
449
- function (err, doc) {
450
- if (doc) {
451
- doc = security.handleUser(doc);
452
- callback(err, doc);
453
- security.users.push(doc);
454
- } else {
455
- callback(
348
+ security.loadAllUsers = function (callback) {
349
+ callback = callback || function () {};
350
+ ____0.$users.findMany(
456
351
  {
457
- message: 'User Not Exists',
352
+ limit: 10000,
353
+ select: {},
458
354
  },
459
- null
460
- );
461
- }
462
- }
463
- );
464
- };
465
-
466
- security.login = function (user, callback) {
467
- callback = callback || function () {};
468
- let $req = user.$req;
469
- let $res = user.$res;
470
-
471
- delete user.$req;
472
- delete user.$res;
473
-
474
- if (user && user.email && user.password) {
475
- user.email = user.email.trim().toLowerCase();
476
- } else if (user && user.mobile && user.password) {
477
- user.mobile = user.mobile.trim().toLowerCase();
478
- } else if (user && user.username && user.password) {
479
- user.username = user.username.trim().toLowerCase();
480
- }
355
+ function (err, docs) {
356
+ if (!docs) {
357
+ docs = [];
358
+ }
359
+ callback(err, docs);
360
+ }
361
+ );
362
+ };
481
363
 
482
- for (var i = 0; i < security.users.length; i++) {
483
- var _user = security.users[i];
484
- if (
485
- (!_user.key && user.email && _user.email === user.email && _user.password === user.password) ||
486
- (!_user.key && user.mobile && _user.mobile === user.mobile && _user.password === user.password) ||
487
- (!_user.key && user.username && _user.username === user.username && _user.password === user.password) ||
488
- (_user.key && user.key && _user.key === user.key) ||
489
- (_user.key && user.email && user.password && _user.key === ____0.x0md50x(user.email + user.password))
490
- ) {
491
- if ($req) {
492
- $req.session.user = _user;
493
- $req.session.user_id = _user.id;
494
- $req.session.$save();
495
- } else {
496
- console.log('$req Not Exists in security.login');
497
- }
498
- callback(null, _user);
499
- ____0.call('user login', {
500
- db: ____0.$users.db,
501
- collection: ____0.$users.collection,
502
- doc: _user,
503
- $res: $res,
504
- $req: $req,
505
- });
364
+ security.loadAllRoles = function (callback) {
365
+ callback = callback || function () {};
366
+ ____0.$roles.findMany(
367
+ {
368
+ limit: 10000,
369
+ select: {},
370
+ },
371
+ function (err, docs) {
372
+ if (!docs) {
373
+ docs = [];
374
+ }
375
+ callback(err, docs);
376
+ }
377
+ );
378
+ };
506
379
 
507
- return;
508
- }
509
- }
380
+ security.getUsers = function (options, callback) {
381
+ callback = callback || function () {};
382
+ ____0.$users.findMany(options, function (err, docs, count) {
383
+ if (!err && docs) {
384
+ docs.forEach((doc) => {
385
+ doc = Object.assign(doc, security.handleUser(doc));
386
+ });
387
+ }
388
+ callback(err, docs, count);
389
+ });
390
+ };
510
391
 
511
- ____0.$users.findOne(
512
- {
513
- where: user,
514
- },
515
- function (err, doc) {
516
- if (doc) {
517
- doc = security.handleUser(doc);
518
-
519
- security.users.push(doc);
520
-
521
- if ($req) {
522
- $req.session.user = doc;
523
- $req.session.user_id = doc.id;
524
- $req.session.$save();
525
- }
526
-
527
- callback(null, doc);
528
-
529
- ____0.call('user login', {
530
- db: ____0.$users.db,
531
- collection: ____0.$users.collection,
532
- doc: doc,
533
- $res: $res,
534
- $req: $req,
535
- });
392
+ security.getUser = function (_user, callback) {
393
+ callback = callback || function () {};
394
+ let index = security.users.findIndex(
395
+ (user) =>
396
+ (_user.id && user.id == _user.id) ||
397
+ (_user._id && user._id == _user._id) ||
398
+ (!user.key && _user.email && user.email === _user.email.trim().toLowerCase()) ||
399
+ (!user.key && _user.username && user.username === _user.username.trim().toLowerCase()) ||
400
+ (!user.key && _user.mobile && user.mobile === _user.mobile.trim().toLowerCase()) ||
401
+ (user.key && _user.key && user.key === _user.key) ||
402
+ (user.key && _user.email && user.key === ____0.x0md50x(_user.email.trim().toLowerCase()))
403
+ );
404
+ if (index !== -1) {
405
+ security.users[index].$memory = !0;
406
+ security.users[index] = security.handleUser(security.users[index]);
407
+ callback(null, security.users[index]);
408
+ return;
536
409
  } else {
537
- if (err) {
538
- callback(err);
539
- } else {
410
+ ____0.$users.findOne(
411
+ {
412
+ where: _user,
413
+ select: {},
414
+ },
415
+ function (err, doc) {
416
+ if (!err && doc) {
417
+ doc = security.handleUser(doc);
418
+ security.users.push(doc);
419
+ }
420
+ callback(err, doc);
421
+ }
422
+ );
423
+ }
424
+ };
425
+
426
+ security.isUserExists = function (user, callback) {
427
+ callback = callback || function () {};
428
+ if (typeof user !== 'object' || typeof user.email !== 'string' || user.email == '') {
540
429
  callback({
541
- message: 'User Credential Not Correct ',
430
+ message: 'email not set',
542
431
  });
543
- }
432
+ return;
433
+ }
544
434
 
545
- ____0.call('security error', {
546
- message: 'User Credential Not Correct ',
547
- });
435
+ for (var i = 0; i < security.users.length; i++) {
436
+ var _user = security.users[i];
437
+ if (_user.email == user.email.trim().toLowerCase() && _user.password == user.password) {
438
+ callback(null, { ..._user });
439
+ return;
440
+ }
548
441
  }
549
- }
550
- );
551
- };
552
-
553
- security.register = function (user, callback) {
554
- callback = callback || function () {};
555
- let $req = user.$req;
556
- let $res = user.$res;
557
-
558
- delete user.$req;
559
- delete user.$res;
560
-
561
- if (user && user.email && user.password) {
562
- user.email = user.email.trim().toLowerCase();
563
- } else if (user && user.mobile && user.password) {
564
- user.mobile = user.mobile.trim().toLowerCase();
565
- } else if (user && user.username && user.password) {
566
- user.username = user.username.trim().toLowerCase();
567
- }
568
442
 
569
- security.isUserExists(user, function (err, u) {
570
- if (u) {
571
- callback({
572
- message: 'Register Error , User Exists',
573
- });
574
- } else {
575
- user.profile = user.profile || {
576
- name: user.email,
577
- };
578
- user.permissions = user.permissions || [];
579
- user.roles = user.roles || [];
580
-
581
- ____0.$users.insertOne(user, function (err, doc) {
582
- if (doc) {
583
- doc = security.handleUser(doc);
584
-
585
- security.users.push(doc);
586
- if ($req) {
587
- $req.session.user = doc;
588
- $req.session.user_id = doc.id;
589
- $req.session.$save();
443
+ ____0.$users.findOne(
444
+ {
445
+ where: {
446
+ email: user.email.toLowerCase(),
447
+ },
448
+ },
449
+ function (err, doc) {
450
+ if (doc) {
451
+ doc = security.handleUser(doc);
452
+ callback(err, doc);
453
+ security.users.push(doc);
454
+ } else {
455
+ callback(
456
+ {
457
+ message: 'User Not Exists',
458
+ },
459
+ null
460
+ );
461
+ }
590
462
  }
591
- ____0.call('user register', {
592
- db: ____0.$users.db,
593
- collection: ____0.$users.collection,
594
- doc: doc,
595
- $res: $res,
596
- $req: $req,
597
- });
598
- }
599
- callback(err, doc);
600
- if (err) {
601
- ____0.call('security error', err);
602
- }
603
- });
604
- }
605
- });
606
- };
463
+ );
464
+ };
607
465
 
608
- security.logout = function (req, res, callback) {
609
- callback = callback || function () {};
466
+ security.login = function (user, callback) {
467
+ callback = callback || function () {};
468
+ let $req = user.$req;
469
+ let $res = user.$res;
610
470
 
611
- if (security.isUserLogin(req, res)) {
612
- let _user = req.session.user;
471
+ delete user.$req;
472
+ delete user.$res;
613
473
 
614
- ____0.call('user logout', {
615
- db: ____0.$users.db,
616
- collection: ____0.$users.collection,
617
- doc: _user,
618
- });
619
- }
474
+ if (user && user.email && user.password) {
475
+ user.email = user.email.trim().toLowerCase();
476
+ } else if (user && user.mobile && user.password) {
477
+ user.mobile = user.mobile.trim().toLowerCase();
478
+ } else if (user && user.username && user.password) {
479
+ user.username = user.username.trim().toLowerCase();
480
+ }
620
481
 
621
- req.session.user = null;
622
- req.session.user_id = null;
623
- req.session.$save();
482
+ for (var i = 0; i < security.users.length; i++) {
483
+ var _user = security.users[i];
484
+ if (
485
+ (!_user.key && user.email && _user.email === user.email && _user.password === user.password) ||
486
+ (!_user.key && user.mobile && _user.mobile === user.mobile && _user.password === user.password) ||
487
+ (!_user.key && user.username && _user.username === user.username && _user.password === user.password) ||
488
+ (_user.key && user.key && _user.key === user.key) ||
489
+ (_user.key && user.email && user.password && _user.key === ____0.x0md50x(user.email + user.password))
490
+ ) {
491
+ if ($req) {
492
+ $req.session.user = _user;
493
+ $req.session.user_id = _user.id;
494
+ $req.session.$save();
495
+ } else {
496
+ console.log('$req Not Exists in security.login');
497
+ }
498
+ callback(null, _user);
499
+ ____0.call('user login', {
500
+ db: ____0.$users.db,
501
+ collection: ____0.$users.collection,
502
+ doc: _user,
503
+ $res: $res,
504
+ $req: $req,
505
+ });
506
+
507
+ return;
508
+ }
509
+ }
624
510
 
625
- req.session.accessToken = req.host + new Date().getTime().toString() + '_' + Math.random();
626
- req.session.accessToken = ____0.x0md50x(req.session.accessToken);
627
- req.session.$save();
511
+ ____0.$users.findOne(
512
+ {
513
+ where: user,
514
+ },
515
+ function (err, doc) {
516
+ if (doc) {
517
+ doc = security.handleUser(doc);
518
+
519
+ security.users.push(doc);
520
+
521
+ if ($req) {
522
+ $req.session.user = doc;
523
+ $req.session.user_id = doc.id;
524
+ $req.session.$save();
525
+ }
526
+
527
+ callback(null, doc);
528
+
529
+ ____0.call('user login', {
530
+ db: ____0.$users.db,
531
+ collection: ____0.$users.collection,
532
+ doc: doc,
533
+ $res: $res,
534
+ $req: $req,
535
+ });
536
+ } else {
537
+ if (err) {
538
+ callback(err);
539
+ } else {
540
+ callback({
541
+ message: 'User Credential Not Correct ',
542
+ });
543
+ }
544
+
545
+ ____0.call('security error', {
546
+ message: 'User Credential Not Correct ',
547
+ });
548
+ }
549
+ }
550
+ );
551
+ };
628
552
 
629
- res.set('Access-Token', req.session.accessToken);
630
- res.cookie('access_token', req.session.accessToken);
553
+ security.register = function (user, callback) {
554
+ callback = callback || function () {};
555
+ let $req = user.$req;
556
+ let $res = user.$res;
631
557
 
632
- callback(null, !0);
633
- };
558
+ delete user.$req;
559
+ delete user.$res;
634
560
 
635
- security.addUser = function (user, callback) {
636
- callback = callback || function () {};
561
+ if (user && user.email && user.password) {
562
+ user.email = user.email.trim().toLowerCase();
563
+ } else if (user && user.mobile && user.password) {
564
+ user.mobile = user.mobile.trim().toLowerCase();
565
+ } else if (user && user.username && user.password) {
566
+ user.username = user.username.trim().toLowerCase();
567
+ }
637
568
 
638
- let $req = user.$req;
639
- let $res = user.$res;
569
+ security.isUserExists(user, function (err, u) {
570
+ if (u) {
571
+ callback({
572
+ message: 'Register Error , User Exists',
573
+ });
574
+ } else {
575
+ user.profile = user.profile || {
576
+ name: user.email,
577
+ };
578
+ user.permissions = user.permissions || [];
579
+ user.roles = user.roles || [];
580
+
581
+ ____0.$users.insertOne(user, function (err, doc) {
582
+ if (doc) {
583
+ doc = security.handleUser(doc);
584
+
585
+ security.users.push(doc);
586
+ if ($req) {
587
+ $req.session.user = doc;
588
+ $req.session.user_id = doc.id;
589
+ $req.session.$save();
590
+ }
591
+ ____0.call('user register', {
592
+ db: ____0.$users.db,
593
+ collection: ____0.$users.collection,
594
+ doc: doc,
595
+ $res: $res,
596
+ $req: $req,
597
+ });
598
+ }
599
+ callback(err, doc);
600
+ if (err) {
601
+ ____0.call('security error', err);
602
+ }
603
+ });
604
+ }
605
+ });
606
+ };
640
607
 
641
- delete user.$req;
642
- delete user.$res;
608
+ security.logout = function (req, res, callback) {
609
+ callback = callback || function () {};
643
610
 
644
- if (user && user.email && user.password) {
645
- user.email = user.email.trim().toLowerCase();
646
- } else if (user && user.mobile && user.password) {
647
- user.mobile = user.mobile.trim().toLowerCase();
648
- } else if (user && user.username && user.password) {
649
- user.username = user.username.trim().toLowerCase();
650
- }
611
+ if (security.isUserLogin(req, res)) {
612
+ let _user = req.session.user;
651
613
 
652
- if (!user.email) {
653
- user.email = user.username || user.mobile || 'Not Set';
654
- }
614
+ ____0.call('user logout', {
615
+ db: ____0.$users.db,
616
+ collection: ____0.$users.collection,
617
+ doc: _user,
618
+ });
619
+ }
655
620
 
656
- security.isUserExists(user, function (err, u) {
657
- if (u) {
658
- callback({
659
- message: 'Error , User Exists',
660
- });
621
+ req.session.user = null;
622
+ req.session.user_id = null;
623
+ req.session.$save();
661
624
 
662
- return;
663
- } else {
664
- user.profile = user.profile || {};
665
- user.permissions = user.permissions || [];
666
- user.roles = user.roles || [];
667
- user.added_user_info = security.getUserFinger({
668
- $req: $req,
669
- $res: $res,
670
- });
625
+ req.session.accessToken = req.host + new Date().getTime().toString() + '_' + Math.random();
626
+ req.session.accessToken = ____0.x0md50x(req.session.accessToken);
627
+ req.session.$save();
671
628
 
672
- ____0.$users.insertOne(user, function (err, doc) {
673
- if (doc) {
674
- doc = Object.assign(doc, security.handleUser(doc));
629
+ res.set('Access-Token', req.session.accessToken);
630
+ res.cookie('access_token', req.session.accessToken);
675
631
 
676
- security.users.push(doc);
632
+ callback(null, !0);
633
+ };
677
634
 
678
- ____0.call('user add', {
679
- db: ____0.$users.db,
680
- collection: ____0.$users.collection,
681
- doc: doc,
682
- $req: $req,
683
- $res: $res,
684
- });
685
- }
635
+ security.addUser = function (user, callback) {
636
+ callback = callback || function () {};
637
+
638
+ let $req = user.$req;
639
+ let $res = user.$res;
686
640
 
687
- callback(err, doc);
641
+ delete user.$req;
642
+ delete user.$res;
643
+
644
+ if (user && user.email && user.password) {
645
+ user.email = user.email.trim().toLowerCase();
646
+ } else if (user && user.mobile && user.password) {
647
+ user.mobile = user.mobile.trim().toLowerCase();
648
+ } else if (user && user.username && user.password) {
649
+ user.username = user.username.trim().toLowerCase();
650
+ }
651
+
652
+ if (!user.email) {
653
+ user.email = user.username || user.mobile || 'Not Set';
654
+ }
688
655
 
689
- if (err) {
690
- ____0.call('security error', err);
691
- }
656
+ security.isUserExists(user, function (err, u) {
657
+ if (u) {
658
+ callback({
659
+ message: 'Error , User Exists',
660
+ });
661
+
662
+ return;
663
+ } else {
664
+ user.profile = user.profile || {};
665
+ user.permissions = user.permissions || [];
666
+ user.roles = user.roles || [];
667
+ user.added_user_info = security.getUserFinger({
668
+ $req: $req,
669
+ $res: $res,
670
+ });
671
+
672
+ ____0.$users.insertOne(user, function (err, doc) {
673
+ if (doc) {
674
+ doc = Object.assign(doc, security.handleUser(doc));
675
+
676
+ security.users.push(doc);
677
+
678
+ ____0.call('user add', {
679
+ db: ____0.$users.db,
680
+ collection: ____0.$users.collection,
681
+ doc: doc,
682
+ $req: $req,
683
+ $res: $res,
684
+ });
685
+ }
686
+
687
+ callback(err, doc);
688
+
689
+ if (err) {
690
+ ____0.call('security error', err);
691
+ }
692
+ });
693
+ }
692
694
  });
693
- }
694
- });
695
- };
696
-
697
- security.updateUser = function (user, callback) {
698
- callback = callback || function () {};
699
- let $req = user.$req;
700
- let $res = user.$res;
701
-
702
- delete user.$req;
703
- delete user.$res;
704
-
705
- let where = {};
706
- if (user.id) {
707
- where.id = user.id;
708
- } else if (user.email) {
709
- where.email = user.email.trim().toLowerCase();
710
- } else if (user.mobile) {
711
- where.mobile = user.mobile.trim().toLowerCase();
712
- } else if (user.username) {
713
- where.username = user.username.trim().toLowerCase();
714
- }
715
- ____0.$users.update(
716
- {
717
- where: where,
718
- set: user,
719
- $req: $req,
720
- $res: $res,
721
- },
722
- function (err, result) {
723
- callback(err, result);
724
- if (!err && result && result.doc) {
725
- let index = security.users.findIndex((u) => u.id == result.doc.id);
726
- if (index >= 0) {
727
- security.users[index] = { ...security.users[index], ...result.doc };
728
- }
695
+ };
696
+
697
+ security.updateUser = function (user, callback) {
698
+ callback = callback || function () {};
699
+ let $req = user.$req;
700
+ let $res = user.$res;
701
+
702
+ delete user.$req;
703
+ delete user.$res;
704
+
705
+ let where = {};
706
+ if (user.id) {
707
+ where.id = user.id;
708
+ } else if (user.email) {
709
+ where.email = user.email.trim().toLowerCase();
710
+ } else if (user.mobile) {
711
+ where.mobile = user.mobile.trim().toLowerCase();
712
+ } else if (user.username) {
713
+ where.username = user.username.trim().toLowerCase();
729
714
  }
730
- }
731
- );
732
- };
733
- security.deleteUser = function (user, callback) {
734
- callback = callback || function () {};
735
- ____0.$users.deleteOne(
736
- {
737
- id: user.id,
738
- },
739
- function (err, result) {
740
- if (err) {
741
- callback(err, result);
742
- } else {
743
- for (let i = 0; i < security.users.length; i++) {
744
- let element = security.users[i];
745
- if (element.id == user.id) {
746
- security.users.splice(i, 1);
747
- break;
715
+ ____0.$users.update(
716
+ {
717
+ where: where,
718
+ set: user,
719
+ $req: $req,
720
+ $res: $res,
721
+ },
722
+ function (err, result) {
723
+ callback(err, result);
724
+ if (!err && result && result.doc) {
725
+ let index = security.users.findIndex((u) => u.id == result.doc.id);
726
+ if (index >= 0) {
727
+ security.users[index] = { ...security.users[index], ...result.doc };
728
+ }
729
+ }
748
730
  }
749
- }
750
- callback(err, result);
751
- if (!err && result) {
752
- ____0.call('user delete', result);
753
- }
731
+ );
732
+ };
733
+ security.deleteUser = function (user, callback) {
734
+ callback = callback || function () {};
735
+ ____0.$users.deleteOne(
736
+ {
737
+ id: user.id,
738
+ },
739
+ function (err, result) {
740
+ if (err) {
741
+ callback(err, result);
742
+ } else {
743
+ for (let i = 0; i < security.users.length; i++) {
744
+ let element = security.users[i];
745
+ if (element.id == user.id) {
746
+ security.users.splice(i, 1);
747
+ break;
748
+ }
749
+ }
750
+ callback(err, result);
751
+ if (!err && result) {
752
+ ____0.call('user delete', result);
753
+ }
754
+ }
755
+ }
756
+ );
757
+ };
758
+
759
+ security.isUserLogin = function (req, res) {
760
+ if (req.session.user) {
761
+ return !0;
754
762
  }
755
- }
756
- );
757
- };
763
+ return !1;
764
+ };
758
765
 
759
- security.isUserLogin = function (req, res) {
760
- if (req.session.user) {
761
- return !0;
762
- }
763
- return !1;
764
- };
766
+ security.isUserHasPermission = function (req, res, permission) {
767
+ let user = req.session.user;
765
768
 
766
- security.isUserHasPermission = function (req, res, permission) {
767
- let user = req.session.user;
769
+ if (typeof permission == 'string') {
770
+ let ok = !0;
768
771
 
769
- if (typeof permission == 'string') {
770
- let ok = !0;
772
+ if (permission == '*') {
773
+ return ok;
774
+ }
771
775
 
772
- if (permission == '*') {
773
- return ok;
774
- }
776
+ if (permission.startsWith('!')) {
777
+ permission = permission.substring(1);
778
+ ok = !1;
779
+ }
775
780
 
776
- if (permission.startsWith('!')) {
777
- permission = permission.substring(1);
778
- ok = !1;
779
- }
781
+ if (permission == 'login') {
782
+ if (user) {
783
+ return ok;
784
+ } else {
785
+ return !ok;
786
+ }
787
+ }
780
788
 
781
- if (permission == 'login') {
782
- if (security.isUserLogin(req, res)) {
783
- return ok;
784
- } else {
785
- return !ok;
786
- }
787
- }
788
-
789
- if (user && user.$permissions && user.$permissions.some((p) => p == '*')) {
790
- return ok;
791
- }
792
-
793
- if (user && user.$permissions) {
794
- for (var i = 0; i < user.$permissions.length; i++) {
795
- var p = user.$permissions[i];
796
- if (permission == p) {
797
- return ok;
798
- }
789
+ if (user && user.$permissions && user.$permissions.some((p) => p == '*')) {
790
+ return ok;
791
+ }
792
+
793
+ if (user && user.$permissions) {
794
+ for (var i = 0; i < user.$permissions.length; i++) {
795
+ var p = user.$permissions[i];
796
+ if (permission == p) {
797
+ return ok;
798
+ }
799
+ }
800
+ }
801
+
802
+ return !ok;
799
803
  }
800
- }
801
804
 
802
- return !ok;
803
- }
805
+ return !1;
806
+ };
804
807
 
805
- return !1;
806
- };
807
-
808
- security.isUserHasPermissions = function (req, res, permissions) {
809
- let user = req.session.user;
810
- let arr = [];
811
- let any = !0;
812
- if (typeof permissions === 'string') {
813
- if (permissions.like('*&&*')) {
814
- any = !1;
815
- }
816
- permissions = permissions.split('&&').join(',').split('||').join(',').split(',');
817
- }
808
+ security.isUserHasPermissions = function (req, res, permissions) {
809
+ let user = req.session.user;
810
+ let arr = [];
811
+ let any = !0;
812
+ if (typeof permissions === 'string') {
813
+ if (permissions.like('*&&*')) {
814
+ any = !1;
815
+ }
816
+ permissions = permissions.split('&&').join(',').split('||').join(',').split(',');
817
+ }
818
818
 
819
- permissions.forEach((p) => {
820
- if (p) {
821
- arr.push(security.isUserHasPermission(req, res, p.trim()));
822
- }
823
- });
819
+ permissions.forEach((p) => {
820
+ if (p) {
821
+ arr.push(security.isUserHasPermission(req, res, p.trim()));
822
+ }
823
+ });
824
824
 
825
- let out = !1;
825
+ let out = !1;
826
826
 
827
- if (any) {
828
- arr.forEach((p) => {
829
- if (p) {
830
- out = !0;
831
- }
832
- });
827
+ if (any) {
828
+ arr.forEach((p) => {
829
+ if (p) {
830
+ out = !0;
831
+ }
832
+ });
833
833
 
834
- return out || !1;
835
- } else {
836
- arr.forEach((p) => {
837
- if (!p) {
838
- out = !1;
834
+ return out || !1;
835
+ } else {
836
+ arr.forEach((p) => {
837
+ if (!p) {
838
+ out = !1;
839
+ }
840
+ });
841
+ return out && !0;
839
842
  }
840
- });
841
- return out && !0;
842
- }
843
843
 
844
- return !1;
845
- };
844
+ return !1;
845
+ };
846
846
 
847
- security.isUserHasRole = function (req, res, role) {
848
- let user = req.session.user;
847
+ security.isUserHasRole = function (req, res, role) {
848
+ let user = req.session.user;
849
849
 
850
- if (typeof role == 'string') {
851
- let ok = !0;
852
- if (role.startsWith('!')) {
853
- role = role.substring(1);
854
- ok = !1;
855
- }
850
+ if (typeof role == 'string') {
851
+ let ok = !0;
852
+ if (role.startsWith('!')) {
853
+ role = role.substring(1);
854
+ ok = !1;
855
+ }
856
856
 
857
- if (user && user.role) {
858
- if (role == user.role.name) {
859
- return ok;
860
- }
861
- if (user.role == '*') {
862
- return ok;
863
- }
864
- }
865
- if (user && user.roles) {
866
- for (var i = 0; i < user.roles.length; i++) {
867
- var p = user.roles[i];
868
- if (role == p.name) {
869
- return ok;
870
- }
871
- if (p == '*') {
872
- return ok;
873
- }
857
+ if (user && user.role) {
858
+ if (role == user.role.name) {
859
+ return ok;
860
+ }
861
+ if (user.role == '*') {
862
+ return ok;
863
+ }
864
+ }
865
+ if (user && user.roles) {
866
+ for (var i = 0; i < user.roles.length; i++) {
867
+ var p = user.roles[i];
868
+ if (role == p.name) {
869
+ return ok;
870
+ }
871
+ if (p == '*') {
872
+ return ok;
873
+ }
874
+ }
875
+ }
876
+ return !ok;
874
877
  }
875
- }
876
- return !ok;
877
- }
878
878
 
879
- return !1;
880
- };
879
+ return !1;
880
+ };
881
881
 
882
- security.isUserHasRoles = function (req, res, roles) {
883
- let user = req.session.user;
884
- let arr = [];
885
- let any = !0;
882
+ security.isUserHasRoles = function (req, res, roles) {
883
+ let user = req.session.user;
884
+ let arr = [];
885
+ let any = !0;
886
886
 
887
- if (typeof roles === 'string') {
888
- if (roles.like('*&&*')) {
889
- any = !1;
890
- }
891
- roles = roles.split('&&').join(',').split('||').join(',').split(',');
892
- }
887
+ if (typeof roles === 'string') {
888
+ if (roles.like('*&&*')) {
889
+ any = !1;
890
+ }
891
+ roles = roles.split('&&').join(',').split('||').join(',').split(',');
892
+ }
893
893
 
894
- roles.forEach((p) => {
895
- arr.push(security.isUserHasRole(req, res, p.trim()));
896
- });
894
+ roles.forEach((p) => {
895
+ arr.push(security.isUserHasRole(req, res, p.trim()));
896
+ });
897
897
 
898
- let out = !1;
898
+ let out = !1;
899
899
 
900
- if (any) {
901
- arr.forEach((p) => {
902
- if (p) {
903
- out = !0;
904
- }
905
- });
906
- return out || !1;
907
- } else {
908
- arr.forEach((p) => {
909
- if (!p) {
910
- out = !1;
900
+ if (any) {
901
+ arr.forEach((p) => {
902
+ if (p) {
903
+ out = !0;
904
+ }
905
+ });
906
+ return out || !1;
907
+ } else {
908
+ arr.forEach((p) => {
909
+ if (!p) {
910
+ out = !1;
911
+ }
912
+ });
913
+ return out && !0;
911
914
  }
912
- });
913
- return out && !0;
914
- }
915
915
 
916
- return !1;
917
- };
916
+ return !1;
917
+ };
918
918
 
919
- security.getUserPermissions = function (req, res) {
920
- let user = req.session.user;
921
- if (user && user.permissions) {
922
- return user.permissions;
923
- }
924
- return [];
925
- };
919
+ security.getUserPermissions = function (req, res) {
920
+ let user = req.session.user;
921
+ if (user && user.permissions) {
922
+ return user.permissions;
923
+ }
924
+ return [];
925
+ };
926
926
 
927
- security.getUserRoles = function (req, res) {
928
- let user = req.session.user;
929
- if (user && user.roles) {
930
- return user.roles;
931
- }
932
- return [];
933
- };
934
-
935
- security.addUserPermission = function (id, permission, callback) {
936
- callback = callback || function () {};
937
- let user = security.getUser(
938
- {
939
- id: id,
940
- },
941
- function (err, user) {
942
- if (user) {
943
- if (typeof permission == 'string') {
944
- permission = {
945
- name: permission,
946
- };
947
- }
948
- user.permissions.push(permission);
949
- ____0.$users.updateOne(
927
+ security.getUserRoles = function (req, res) {
928
+ let user = req.session.user;
929
+ if (user && user.roles) {
930
+ return user.roles;
931
+ }
932
+ return [];
933
+ };
934
+
935
+ security.addUserPermission = function (id, permission, callback) {
936
+ callback = callback || function () {};
937
+ let user = security.getUser(
950
938
  {
951
- where: {
952
939
  id: id,
953
- },
954
- set: {
955
- permissions: user.permissions,
956
- },
957
940
  },
958
- function (err, result) {
959
- if (err) {
960
- callback(err, result);
961
- } else {
962
- callback(err, result);
963
- }
941
+ function (err, user) {
942
+ if (user) {
943
+ if (typeof permission == 'string') {
944
+ permission = {
945
+ name: permission,
946
+ };
947
+ }
948
+ user.permissions.push(permission);
949
+ ____0.$users.updateOne(
950
+ {
951
+ where: {
952
+ id: id,
953
+ },
954
+ set: {
955
+ permissions: user.permissions,
956
+ },
957
+ },
958
+ function (err, result) {
959
+ if (err) {
960
+ callback(err, result);
961
+ } else {
962
+ callback(err, result);
963
+ }
964
+ }
965
+ );
966
+ } else {
967
+ callback(err, null);
968
+ }
964
969
  }
965
- );
966
- } else {
967
- callback(err, null);
968
- }
969
- }
970
- );
971
- };
972
-
973
- ____0.post('/x-security/api/user/login', function (req, res) {
974
- let response = {
975
- accessToken: req.session.accessToken,
970
+ );
976
971
  };
977
972
 
978
- if (req.body.$encript) {
979
- if (req.body.$encript === '64') {
980
- req.body.email = ____0.fromBase64(req.body.email);
981
- req.body.password = ____0.fromBase64(req.body.password);
982
- } else if (req.body.$encript === '123') {
983
- req.body.email = ____0.from123(req.body.email);
984
- req.body.password = ____0.from123(req.body.password);
985
- }
986
- }
987
-
988
- if (security.isUserLogin(req, res)) {
989
- response.error = 'Login Error , You Are Loged ';
990
- response.done = !0;
991
- res.json(response);
992
- return;
993
- }
973
+ ____0.post('/x-security/api/user/login', function (req, res) {
974
+ let response = {
975
+ accessToken: req.session.accessToken,
976
+ };
994
977
 
995
- security.login(
996
- {
997
- ...req.body,
998
- $req: req,
999
- $res: res,
1000
- },
1001
- function (err, user) {
1002
- if (!err) {
1003
- response.user = user;
1004
- response.done = !0;
1005
- } else {
1006
- response.error = err.message;
978
+ if (req.body.$encript) {
979
+ if (req.body.$encript === '64') {
980
+ req.body.email = ____0.fromBase64(req.body.email);
981
+ req.body.password = ____0.fromBase64(req.body.password);
982
+ } else if (req.body.$encript === '123') {
983
+ req.body.email = ____0.from123(req.body.email);
984
+ req.body.password = ____0.from123(req.body.password);
985
+ }
1007
986
  }
1008
987
 
1009
- res.json(response);
1010
- }
1011
- );
1012
- });
1013
-
1014
- ____0.post('/x-security/api/user/logout', function (req, res) {
1015
- let response = {};
988
+ if (security.isUserLogin(req, res)) {
989
+ response.error = 'Login Error , You Are Loged ';
990
+ response.done = !0;
991
+ res.json(response);
992
+ return;
993
+ }
1016
994
 
1017
- ____0.security.logout(req, res, () => {
1018
- response.done = !0;
1019
- response.accessToken = req.session.accessToken;
1020
- res.json(response);
995
+ security.login(
996
+ {
997
+ ...req.body,
998
+ $req: req,
999
+ $res: res,
1000
+ },
1001
+ function (err, user) {
1002
+ if (!err) {
1003
+ response.user = user;
1004
+ response.done = !0;
1005
+ } else {
1006
+ response.error = err.message;
1007
+ }
1008
+
1009
+ res.json(response);
1010
+ }
1011
+ );
1021
1012
  });
1022
- });
1023
1013
 
1024
- ____0.post('/x-security/api/user/register', function (req, res) {
1025
- let response = {
1026
- accessToken: req.session.accessToken,
1027
- };
1028
- if (req.body.$encript) {
1029
- if (req.body.$encript === '64') {
1030
- req.body.email = ____0.fromBase64(req.body.email);
1031
- req.body.password = ____0.fromBase64(req.body.password);
1032
- } else if (req.body.$encript === '123') {
1033
- req.body.email = ____0.from123(req.body.email);
1034
- req.body.password = ____0.from123(req.body.password);
1035
- }
1036
- }
1014
+ ____0.post('/x-security/api/user/logout', function (req, res) {
1015
+ let response = {};
1037
1016
 
1038
- if (security.isUserLogin(req, res)) {
1039
- response.error = 'Register Error , You Are Loged ';
1040
- res.json(response);
1041
- } else {
1042
- security.register(
1043
- {
1044
- permissions: [],
1045
- ...req.body,
1046
- ip: req.ip,
1047
- $req: req,
1048
- $res: res,
1049
- },
1050
- function (err, user) {
1051
- if (!err) {
1052
- response.user = user;
1017
+ ____0.security.logout(req, res, () => {
1053
1018
  response.done = !0;
1054
- } else {
1055
- response.error = err.message;
1056
- }
1057
- res.json(response);
1058
- }
1059
- );
1060
- }
1061
- });
1019
+ response.accessToken = req.session.accessToken;
1020
+ res.json(response);
1021
+ });
1022
+ });
1062
1023
 
1063
- ____0.post('/x-security/api/user/add', function (req, res) {
1064
- let response = {
1065
- accessToken: req.session.accessToken,
1066
- };
1067
- if (!security.isUserLogin(req, res)) {
1068
- response.error = 'Error , You Are Not Loged ';
1069
- res.json(response);
1070
- } else {
1071
- security.addUser(
1072
- {
1073
- permissions: [],
1074
- ...req.body,
1075
- ip: req.ip,
1076
- $req: req,
1077
- $res: res,
1078
- },
1079
- function (err, user) {
1080
- if (!err) {
1081
- response.user = user;
1082
- response.done = !0;
1083
- } else {
1084
- response.error = err.message;
1085
- }
1086
- res.json(response);
1024
+ ____0.post('/x-security/api/user/register', function (req, res) {
1025
+ let response = {
1026
+ accessToken: req.session.accessToken,
1027
+ };
1028
+ if (req.body.$encript) {
1029
+ if (req.body.$encript === '64') {
1030
+ req.body.email = ____0.fromBase64(req.body.email);
1031
+ req.body.password = ____0.fromBase64(req.body.password);
1032
+ } else if (req.body.$encript === '123') {
1033
+ req.body.email = ____0.from123(req.body.email);
1034
+ req.body.password = ____0.from123(req.body.password);
1035
+ }
1087
1036
  }
1088
- );
1089
- }
1090
- });
1091
1037
 
1092
- ____0.post('/x-security/api/user/get', function (req, res) {
1093
- let response = {
1094
- accessToken: req.session.accessToken,
1095
- };
1096
- security.getUser(req.body.id, function (err, user) {
1097
- if (err) {
1098
- response.error = err.message;
1099
- } else {
1100
- response.user = user;
1101
- }
1102
- res.json(response);
1038
+ if (security.isUserLogin(req, res)) {
1039
+ response.error = 'Register Error , You Are Loged ';
1040
+ res.json(response);
1041
+ } else {
1042
+ security.register(
1043
+ {
1044
+ permissions: [],
1045
+ ...req.body,
1046
+ ip: req.ip,
1047
+ $req: req,
1048
+ $res: res,
1049
+ },
1050
+ function (err, user) {
1051
+ if (!err) {
1052
+ response.user = user;
1053
+ response.done = !0;
1054
+ } else {
1055
+ response.error = err.message;
1056
+ }
1057
+ res.json(response);
1058
+ }
1059
+ );
1060
+ }
1103
1061
  });
1104
- });
1105
1062
 
1106
- ____0.post('/x-security/api/user/delete', function (req, res) {
1107
- let response = {
1108
- accessToken: req.session.accessToken,
1109
- };
1110
- security.deleteUser(
1111
- {
1112
- id: req.body.id,
1113
- },
1114
- function (err, result) {
1115
- if (err) {
1116
- response.error = err.message;
1063
+ ____0.post('/x-security/api/user/add', function (req, res) {
1064
+ let response = {
1065
+ accessToken: req.session.accessToken,
1066
+ };
1067
+ if (!security.isUserLogin(req, res)) {
1068
+ response.error = 'Error , You Are Not Loged ';
1069
+ res.json(response);
1117
1070
  } else {
1118
- if (result.count == 1) {
1119
- response.done = !0;
1120
- }
1071
+ security.addUser(
1072
+ {
1073
+ permissions: [],
1074
+ ...req.body,
1075
+ ip: req.ip,
1076
+ $req: req,
1077
+ $res: res,
1078
+ },
1079
+ function (err, user) {
1080
+ if (!err) {
1081
+ response.user = user;
1082
+ response.done = !0;
1083
+ } else {
1084
+ response.error = err.message;
1085
+ }
1086
+ res.json(response);
1087
+ }
1088
+ );
1121
1089
  }
1122
- res.json(response);
1123
- }
1124
- );
1125
- });
1090
+ });
1126
1091
 
1127
- ____0.post('/x-security/api/user/update', function (req, res) {
1128
- let response = {
1129
- accessToken: req.session.accessToken,
1130
- };
1131
- let user = {};
1132
- user.id = req.body.id;
1133
- if (req.body.email) {
1134
- user.email = req.body.email;
1135
- }
1136
- user.$req = req;
1137
- user.$res = res;
1138
- security.updateUser(user, function (err, result) {
1139
- if (err) {
1140
- response.error = err.message;
1141
- } else {
1142
- if (result.count == 1) {
1143
- response.done = !0;
1092
+ ____0.post('/x-security/api/user/get', function (req, res) {
1093
+ let response = {
1094
+ accessToken: req.session.accessToken,
1095
+ };
1096
+ security.getUser(req.body.id, function (err, user) {
1097
+ if (err) {
1098
+ response.error = err.message;
1099
+ } else {
1100
+ response.user = user;
1101
+ }
1102
+ res.json(response);
1103
+ });
1104
+ });
1105
+
1106
+ ____0.post('/x-security/api/user/delete', function (req, res) {
1107
+ let response = {
1108
+ accessToken: req.session.accessToken,
1109
+ };
1110
+ security.deleteUser(
1111
+ {
1112
+ id: req.body.id,
1113
+ },
1114
+ function (err, result) {
1115
+ if (err) {
1116
+ response.error = err.message;
1117
+ } else {
1118
+ if (result.count == 1) {
1119
+ response.done = !0;
1120
+ }
1121
+ }
1122
+ res.json(response);
1123
+ }
1124
+ );
1125
+ });
1126
+
1127
+ ____0.post('/x-security/api/user/update', function (req, res) {
1128
+ let response = {
1129
+ accessToken: req.session.accessToken,
1130
+ };
1131
+ let user = {};
1132
+ user.id = req.body.id;
1133
+ if (req.body.email) {
1134
+ user.email = req.body.email;
1144
1135
  }
1145
- }
1146
- res.json(response);
1136
+ user.$req = req;
1137
+ user.$res = res;
1138
+ security.updateUser(user, function (err, result) {
1139
+ if (err) {
1140
+ response.error = err.message;
1141
+ } else {
1142
+ if (result.count == 1) {
1143
+ response.done = !0;
1144
+ }
1145
+ }
1146
+ res.json(response);
1147
+ });
1147
1148
  });
1148
- });
1149
1149
 
1150
- ____0.post('/x-security/api/user/add/permission', function (req, res) {
1151
- let response = {
1152
- accessToken: req.session.accessToken,
1153
- };
1150
+ ____0.post('/x-security/api/user/add/permission', function (req, res) {
1151
+ let response = {
1152
+ accessToken: req.session.accessToken,
1153
+ };
1154
1154
 
1155
- if (req.body.id && req.body.permission) {
1156
- let user = {};
1157
- user.id = req.body.id;
1158
- user.permission = req.body.permission;
1159
- security.addUserPermission(user.id, user.permission, function (err, result) {
1160
- if (err) {
1161
- response.error = err.message;
1155
+ if (req.body.id && req.body.permission) {
1156
+ let user = {};
1157
+ user.id = req.body.id;
1158
+ user.permission = req.body.permission;
1159
+ security.addUserPermission(user.id, user.permission, function (err, result) {
1160
+ if (err) {
1161
+ response.error = err.message;
1162
+ } else {
1163
+ if (result.count == 1) {
1164
+ response.done = !0;
1165
+ }
1166
+ }
1167
+
1168
+ res.json(response);
1169
+ });
1162
1170
  } else {
1163
- if (result.count == 1) {
1164
- response.done = !0;
1165
- }
1171
+ response.error = 'id or permission not set';
1172
+ res.json(response);
1166
1173
  }
1174
+ });
1167
1175
 
1176
+ ____0.all('/x-security/api/user/info', function (req, res) {
1177
+ let response = {
1178
+ accessToken: req.session.accessToken,
1179
+ };
1180
+ response.user = req.session.user;
1168
1181
  res.json(response);
1169
- });
1170
- } else {
1171
- response.error = 'id or permission not set';
1172
- res.json(response);
1182
+ });
1183
+
1184
+ ____0.all('/x-security/api/users/info', function (req, res) {
1185
+ res.json(security.users);
1186
+ });
1187
+
1188
+ if (____0.isFileExistsSync(____0.dir + '/json/permissions.json')) {
1189
+ security.addPermissions(____0.dir + '/json/permissions.json');
1190
+ }
1191
+ if (____0.isFileExistsSync(____0.dir + '/json/roles.json')) {
1192
+ security.addRoles(____0.dir + '/json/roles.json');
1173
1193
  }
1174
- });
1175
1194
 
1176
- ____0.all('/x-security/api/user/info', function (req, res) {
1177
- let response = {
1178
- accessToken: req.session.accessToken,
1179
- };
1180
- response.user = req.session.user;
1181
- res.json(response);
1182
- });
1183
-
1184
- ____0.all('/x-security/api/users/info', function (req, res) {
1185
- res.json(security.users);
1186
- });
1187
-
1188
- if (____0.isFileExistsSync(____0.dir + '/json/permissions.json')) {
1189
- security.addPermissions(____0.dir + '/json/permissions.json');
1190
- }
1191
- if (____0.isFileExistsSync(____0.dir + '/json/roles.json')) {
1192
- security.addRoles(____0.dir + '/json/roles.json');
1193
- }
1194
-
1195
- security.loadAllRoles((err, docs) => {
1196
- docs.forEach((doc) => {
1197
- doc.module_name = 'custom';
1195
+ security.loadAllRoles((err, docs) => {
1196
+ docs.forEach((doc) => {
1197
+ doc.module_name = 'custom';
1198
+ });
1199
+ security.addRoles(docs);
1198
1200
  });
1199
- security.addRoles(docs);
1200
- });
1201
1201
 
1202
- return security;
1202
+ return security;
1203
1203
  };