isite 2022.8.4 → 2022.8.7

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