isite 2022.9.17 → 2022.9.19

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/sessions.js CHANGED
@@ -48,20 +48,42 @@ module.exports = function init(____0) {
48
48
  return;
49
49
  }
50
50
 
51
- sessions.list.forEach((s, i) => {
52
- let online = new Date().getTime() - s.createdTime;
53
- let timeout = 1000 * 60 * ____0.options.session.timeout;
54
- if (online > timeout) {
55
- sessions.list.splice(i, 1);
56
- }
57
- });
58
51
  if (____0.options.session.storage === 'mongodb') {
59
- sessions.$collection.deleteAll({}, (err, docs) => {
60
- sessions.$collection.insertAll(sessions.list, (err, docs) => {
61
- callback(err, docs);
62
- });
52
+ sessions.list.forEach((s, i) => {
53
+ if (!s) {
54
+ return false;
55
+ }
56
+ if (new Date().getTime() - s.createdTime > 1000 * 60 * ____0.options.session.timeout) {
57
+ sessions.list.splice(i, 1);
58
+ sessions.$collection.delete(s);
59
+ } else {
60
+ if (s.id) {
61
+ sessions.$collection.update(s, (err, result) => {
62
+ if (!err && result) {
63
+ sessions.list[i] = result.doc;
64
+ }
65
+ });
66
+ } else {
67
+ sessions.$collection.insert(s, (err, doc) => {
68
+ if (!err && doc) {
69
+ sessions.list[i] = doc;
70
+ }
71
+ });
72
+ }
73
+ }
63
74
  });
64
75
  } else {
76
+ sessions.list.forEach((s, i) => {
77
+ if (!s) {
78
+ return false;
79
+ }
80
+ let online = new Date().getTime() - s.createdTime;
81
+ let timeout = 1000 * 60 * ____0.options.session.timeout;
82
+ if (online > timeout) {
83
+ sessions.list.splice(i, 1);
84
+ }
85
+ });
86
+
65
87
  ____0.writeFile(sessions.path, JSON.stringify(sessions.list), () => {
66
88
  callback(null, sessions.list);
67
89
  console.log(' ... sessions Saved to ...' + sessions.path);
@@ -71,35 +93,68 @@ module.exports = function init(____0) {
71
93
  return;
72
94
  };
73
95
 
74
- sessions.loadAll();
75
-
76
96
  ____0.getSession = sessions.attach = function (session, callback) {
77
97
  callback = callback || function () {};
78
98
  session.$exists = !1;
79
99
 
80
100
  if (session.accessToken) {
81
101
  sessions.list.forEach((s, i) => {
82
- if (s.accessToken && s.accessToken == session.accessToken) {
102
+ if (s && s.accessToken && s.accessToken == session.accessToken) {
83
103
  session.$exists = !0;
84
104
  session.$index = i;
105
+ sessions.list[session.$index].requestesCount++;
85
106
  }
86
107
  });
87
- }
88
-
89
- if (!session.$exists) {
108
+ if (!session.$exists) {
109
+ if (____0.options.session.storage === 'mongodb') {
110
+ sessions.$collection.find({ accessToken: session.accessToken }, (err, doc) => {
111
+ if (!err && doc) {
112
+ session.$exists = !0;
113
+ session = { ...session, ...doc };
114
+ session.requestesCount++;
115
+ session.$index = sessions.list.length;
116
+ sessions.list.push(session);
117
+ callback(sessions.list[session.$index]);
118
+ } else {
119
+ session.$new = !0;
120
+ session.lang = ____0.options.lang;
121
+ session.theme = ____0.options.theme;
122
+ session.data = [];
123
+ session.ip_list = [];
124
+ session.requestesCount = 1;
125
+ session.createdTime = new Date().getTime();
126
+ session.$index = sessions.list.length;
127
+ sessions.list.push(session);
128
+ callback(sessions.list[session.$index]);
129
+ }
130
+ });
131
+ } else {
132
+ session.$new = !0;
133
+ session.lang = ____0.options.lang;
134
+ session.theme = ____0.options.theme;
135
+ session.data = [];
136
+ session.ip_list = session.ip_list || [];
137
+ session.requestesCount = 1;
138
+ session.createdTime = new Date().getTime();
139
+ session.$index = sessions.list.length;
140
+ sessions.list.push(session);
141
+ callback(sessions.list[session.$index]);
142
+ }
143
+ } else {
144
+ callback(sessions.list[session.$index]);
145
+ }
146
+ } else {
90
147
  session.$new = !0;
91
148
  session.lang = ____0.options.lang;
92
149
  session.theme = ____0.options.theme;
93
150
  session.data = [];
94
- session.ip_info = session.ip_info || {};
151
+ session.ip_list = session.ip_list || [];
95
152
  session.requestesCount = 1;
96
153
  session.createdTime = new Date().getTime();
97
154
  session.$index = sessions.list.length;
98
155
  sessions.list.push(session);
156
+ callback(sessions.list[session.$index]);
99
157
  }
100
-
101
- callback(sessions.list[session.$index]);
102
- return sessions.list[session.$index];
103
158
  };
104
159
 
105
160
  ____0.saveSession = sessions.save = function (session, callback) {
@@ -115,7 +170,7 @@ module.exports = function init(____0) {
115
170
  if (session.$exists) {
116
171
  return;
117
172
  }
118
- if (s.accessToken == session.accessToken) {
173
+ if (s && s.accessToken == session.accessToken) {
119
174
  sessions.list[i] = { ...sessions.list[i], ...session };
120
175
  session.$exists = !0;
121
176
  session.$index = i;
@@ -153,15 +208,15 @@ module.exports = function init(____0) {
153
208
  });
154
209
  ____0.on('[session][delete]', (session) => {
155
210
  sessions.list.forEach((s, i) => {
156
- if (s.accessToken == session.accessToken) {
211
+ if (s && s.accessToken == session.accessToken) {
157
212
  sessions.list.splice(i, 1);
158
213
  }
159
214
  });
160
215
  });
161
216
  ____0.on('[session][user][update]', (user) => {
162
- sessions.list.forEach((s) => {
163
- if (s.user && s.user.id == user.id) {
164
- s.user = user;
217
+ sessions.list.forEach((s, i) => {
218
+ if (s && s.user && s.user.id == user.id) {
219
+ sessions.list[i].user = user;
165
220
  }
166
221
  });
167
222
  });
@@ -210,5 +265,8 @@ module.exports = function init(____0) {
210
265
  });
211
266
  });
212
267
 
268
+ if (!____0.options.session.storage === 'mongodb') {
269
+ sessions.loadAll();
270
+ }
213
271
  return sessions;
214
272
  };
package/lib/storage.js CHANGED
@@ -1,118 +1,111 @@
1
1
  module.exports = function init(____0) {
2
- const storage = {};
3
- storage.list = [];
4
- storage.busy = true;
5
- storage.$collectoin = ____0.connectCollection('app_options');
6
- storage.$collectoin.findAll({ app_name: 'storage' }, (err, docs) => {
7
- if (!err && docs && docs.length > 0) {
8
- storage.list = docs;
2
+ const storage = {};
3
+ storage.list = [];
4
+ storage.busy = true;
5
+ storage.$collectoin = ____0.connectCollection('app_options');
6
+ storage.$collectoin.findAll({ app_name: 'storage' }, (err, docs) => {
7
+ if (!err && docs && docs.length > 0) {
8
+ docs.forEach((doc) => {
9
+ if (!storage.list.some((s) => s.key === doc.key)) {
10
+ storage.list.push(doc);
9
11
  }
10
- storage.busy = false;
11
- });
12
+ });
13
+ }
14
+ storage.busy = false;
15
+ });
12
16
 
13
- storage.needSave = false;
14
- storage.save = function () {
15
- if (storage.busy) {
16
- storage.needSave = true;
17
- return;
18
- }
19
- storage.busy = true;
20
- storage.list.forEach((doc, i) => {
21
- doc.app_name = 'storage';
22
- if (doc.id) {
23
- storage.$collectoin.update(doc);
24
- } else {
25
- storage.$collectoin.add(doc, (err, newDoc, oldDoc) => {
26
- if (!err && newDoc) {
27
- storage.list[i] = newDoc;
28
- } else if (err) {
29
- console.log(err.message, oldDoc);
30
- }
31
- });
32
- }
33
- });
34
- setTimeout(() => {
35
- storage.busy = false;
36
- if (storage.needSave) {
37
- storage.needSave = false;
38
- storage.save();
39
- }
40
- }, 1000 * 60);
41
- };
17
+ storage.save = function () {
18
+ if (storage.busy) {
19
+ setTimeout(() => {
20
+ storage.save();
21
+ }, 1000 * 10);
22
+ return;
23
+ }
42
24
 
43
- storage.fn = function (key, value) {
44
- if (key && value !== undefined) {
45
- if (storage.busy) {
46
- setTimeout(() => {
47
- storage.fn(key, value);
48
- }, 500);
49
- return;
50
- }
51
- value = value;
52
- let exists = false;
53
- for (let i = 0; i < storage.list.length; i++) {
54
- if (key === storage.list[i].key) {
55
- exists = true;
56
- storage.list[i].value = value;
57
- storage.save();
58
- }
59
- }
60
- if (!exists) {
61
- storage.list.push({
62
- key: key,
63
- value: value,
64
- });
65
- storage.save();
66
- }
67
- } else if (key && value === undefined) {
68
- for (let i = 0; i < storage.list.length; i++) {
69
- if (key === storage.list[i].key) {
70
- return storage.list[i].value;
71
- }
25
+ storage.busy = true;
26
+ storage.list.forEach((doc, i) => {
27
+ doc.app_name = 'storage';
28
+ if (doc.$update) {
29
+ delete doc.$update;
30
+ storage.$collectoin.update(doc);
31
+ } else if (doc.$add) {
32
+ delete doc.$add;
33
+ storage.$collectoin.add(doc, (err, newDoc, oldDoc) => {
34
+ if (!err && newDoc) {
35
+ let index = storage.list.findIndex((s) => s.key === newDoc.key);
36
+ if (index >= 0) {
37
+ storage.list[index] = newDoc;
72
38
  }
73
- } else {
74
- return null;
75
- }
76
- };
77
-
78
- ____0.on(____0.strings[9], () => {
79
- ____0.onGET('/x-api/events_list', (req, res) => {
80
- res.json(____0.events_list);
39
+ } else if (err) {
40
+ console.log(err.message, oldDoc);
41
+ }
81
42
  });
82
- ____0.onGET('/x-api/quee_list', (req, res) => {
83
- res.json(____0.quee_list);
43
+ }
44
+ });
45
+ setTimeout(() => {
46
+ storage.busy = false;
47
+ }, 1000 * 5);
48
+ };
49
+
50
+ storage.fn = function (key, value) {
51
+ if (key && value !== undefined) {
52
+ let index = storage.list.findIndex((s) => s.key === key);
53
+ if (index >= 0) {
54
+ storage.list[index].value = value;
55
+ storage.list[index].$update = true;
56
+ } else {
57
+ storage.list.push({
58
+ key: key,
59
+ value: value,
60
+ $add: true,
84
61
  });
62
+ }
63
+ storage.save();
64
+ } else if (key && value === undefined) {
65
+ return storage.list.find((s) => s.key === key)?.value;
66
+ } else {
67
+ return null;
68
+ }
69
+ };
85
70
 
86
- ____0.onGET('/x-api/storage/:key/:value', (req, res) => {
87
- if (req.params.value == 'true') {
88
- req.params.value = !0;
89
- } else if (req.params.value == 'false') {
90
- req.params.value = false;
91
- }
71
+ ____0.on(____0.strings[9], () => {
72
+ ____0.onGET('/x-api/events_list', (req, res) => {
73
+ res.json(____0.events_list);
74
+ });
75
+ ____0.onGET('/x-api/quee_list', (req, res) => {
76
+ res.json(____0.quee_list);
77
+ });
92
78
 
93
- if (req.params.key == '_0_ar_0_') {
94
- ____0._0_ar_0_ = req.params.value;
95
- }
79
+ ____0.onGET('/x-api/storage/:key/:value', (req, res) => {
80
+ if (req.params.value == 'true') {
81
+ req.params.value = !0;
82
+ } else if (req.params.value == 'false') {
83
+ req.params.value = false;
84
+ }
96
85
 
97
- storage.fn(req.params.key, req.params.value);
98
- res.json(storage.list);
99
- });
86
+ if (req.params.key == '_0_ar_0_') {
87
+ ____0._0_ar_0_ = req.params.value;
88
+ }
100
89
 
101
- ____0.onGET('/x-api/storage/:key', (req, res) => {
102
- res.json({
103
- value: storage.fn(req.params.key),
104
- });
105
- });
106
- ____0.onGET('/x-api/storage', (req, res) => {
107
- res.json(storage.list);
108
- });
109
- ____0.onGET('/x-api/storage-clear', (req, res) => {
110
- storage.$collectoin.deleteAll({ app_name: 'storage' });
111
- storage.list = [];
112
- res.json(storage.list);
113
- });
90
+ storage.fn(req.params.key, req.params.value);
91
+ res.json(storage.list);
92
+ });
93
+
94
+ ____0.onGET('/x-api/storage/:key', (req, res) => {
95
+ res.json({
96
+ value: storage.fn(req.params.key),
97
+ });
98
+ });
99
+ ____0.onGET('/x-api/storage', (req, res) => {
100
+ res.json(storage.list);
101
+ });
102
+ ____0.onGET('/x-api/storage-clear', (req, res) => {
103
+ storage.$collectoin.deleteAll({ app_name: 'storage' });
104
+ storage.list = [];
105
+ res.json(storage.list);
114
106
  });
107
+ });
115
108
 
116
- ____0.lib.storage = storage;
117
- return storage;
109
+ ____0.lib.storage = storage;
110
+ return storage;
118
111
  };