webfast 0.1.69 → 0.1.71
Sign up to get free protection for your applications and to get access to all the features.
- package/app/content/js/webfast.js +34 -27
- package/example.js +68 -0
- package/modules/data/mongo/findOrCreate.js +3 -3
- package/modules/data/mongo/updateOrCreate.js +2 -2
- package/modules/express/init.js +1 -1
- package/modules/request/functions/get.js +4 -2
- package/modules/request/functions/post.js +7 -5
- package/package.json +1 -1
@@ -125,34 +125,13 @@ web.fast.connectWebSocket = function(socketURL,maxRetries = 40, retries = 0) {
|
|
125
125
|
console.log('WebSocket connected');
|
126
126
|
// Start other things (e.g., send initial data)
|
127
127
|
web.fast.que.state = true;
|
128
|
-
|
129
128
|
//alert(web.fast.tools.isMobile);
|
130
|
-
function
|
129
|
+
function arraySendFunction() {
|
131
130
|
try {
|
132
|
-
if (web.fast.
|
131
|
+
if (web.fast.que.state == false || window.Telegram.WebApp.initData == ``) {
|
133
132
|
let arraySend = [];
|
134
|
-
|
135
|
-
|
136
|
-
let id = jQuery(this).attr(`id`);
|
137
|
-
if (id == undefined) {
|
138
|
-
var generateRandomId = async function(length) {
|
139
|
-
var result = '';
|
140
|
-
var characters = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';
|
141
|
-
var charactersLength = characters.length;
|
142
|
-
for (var i = 0; i < length; i++) {
|
143
|
-
result += characters.charAt(Math.floor(Math.random() * charactersLength));
|
144
|
-
}
|
145
|
-
return result;
|
146
|
-
};
|
147
|
-
id = await generateRandomId(8); // Generate a random ID of length 8
|
148
|
-
}
|
149
|
-
arraySend.push({
|
150
|
-
id : id,
|
151
|
-
type : type
|
152
|
-
})
|
153
|
-
})
|
154
|
-
console.log(`Send Array`,arraySend);
|
155
|
-
web.fast.tools.on.connect(arraySend);
|
133
|
+
//alert(`Connected`);
|
134
|
+
|
156
135
|
} else {
|
157
136
|
if (countedError < 3) {
|
158
137
|
console.error(`Tried 10 times`);
|
@@ -163,13 +142,14 @@ web.fast.connectWebSocket = function(socketURL,maxRetries = 40, retries = 0) {
|
|
163
142
|
|
164
143
|
}
|
165
144
|
} catch (err) {
|
145
|
+
alert(`err`);
|
166
146
|
setTimeout(function(){
|
167
|
-
|
147
|
+
arraySendFunction();
|
168
148
|
},200);
|
169
149
|
}
|
170
150
|
}
|
171
151
|
// send array
|
172
|
-
|
152
|
+
arraySendFunction();
|
173
153
|
|
174
154
|
};
|
175
155
|
|
@@ -183,6 +163,7 @@ web.fast.connectWebSocket = function(socketURL,maxRetries = 40, retries = 0) {
|
|
183
163
|
// We have user data
|
184
164
|
console.log(`Set User Data`);
|
185
165
|
web.fast.user = json;
|
166
|
+
|
186
167
|
// Now go Through to set all data
|
187
168
|
// Get all webfast client
|
188
169
|
jQuery(`[webfast-client]`).each(function(){
|
@@ -224,6 +205,32 @@ web.fast.connectWebSocket = function(socketURL,maxRetries = 40, retries = 0) {
|
|
224
205
|
|
225
206
|
web.fast.que.state = Date.now();
|
226
207
|
web.fast.receive(`socket`,event.data); // Placeholder for processing response
|
208
|
+
|
209
|
+
let arraySend = [];
|
210
|
+
jQuery(`[webfast-get]`).each(async function(){
|
211
|
+
const type = jQuery(this).attr(`webfast-get`);
|
212
|
+
let id = jQuery(this).attr(`id`);
|
213
|
+
if (id == undefined) {
|
214
|
+
var generateRandomId = async function(length) {
|
215
|
+
var result = '';
|
216
|
+
var characters = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';
|
217
|
+
var charactersLength = characters.length;
|
218
|
+
for (var i = 0; i < length; i++) {
|
219
|
+
result += characters.charAt(Math.floor(Math.random() * charactersLength));
|
220
|
+
}
|
221
|
+
return result;
|
222
|
+
};
|
223
|
+
id = await generateRandomId(8); // Generate a random ID of length 8
|
224
|
+
}
|
225
|
+
arraySend.push({
|
226
|
+
id : id,
|
227
|
+
type : type
|
228
|
+
})
|
229
|
+
})
|
230
|
+
console.log(`Send Array`,arraySend);
|
231
|
+
web.fast.tools.on.connect(arraySend);
|
232
|
+
web.fast.que.state = true;
|
233
|
+
|
227
234
|
} catch (err) {
|
228
235
|
console.error(`Error Receiving`);
|
229
236
|
console.error(event);
|
package/example.js
ADDED
@@ -0,0 +1,68 @@
|
|
1
|
+
const path = require(`path`);
|
2
|
+
const contentPath = path.join(__dirname,`example`,`content`)
|
3
|
+
let setArray = {
|
4
|
+
wget : '/usr/local/bin/wget',
|
5
|
+
process : {
|
6
|
+
ts : Date.now(),
|
7
|
+
socket : {
|
8
|
+
api : {
|
9
|
+
list : function(program,ws,json,data,path) {
|
10
|
+
// Example to create process for websocket path action and process data
|
11
|
+
console.log(`Example of list process`);
|
12
|
+
|
13
|
+
function generateRandomText(length) {
|
14
|
+
const characters = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';
|
15
|
+
let result = '';
|
16
|
+
|
17
|
+
for (let i = 0; i < length; i++) {
|
18
|
+
result += characters.charAt(Math.floor(Math.random() * characters.length));
|
19
|
+
}
|
20
|
+
|
21
|
+
return result;
|
22
|
+
}
|
23
|
+
|
24
|
+
|
25
|
+
// Loop for example through
|
26
|
+
let exampleData = {
|
27
|
+
list : [],
|
28
|
+
ell : data.ell,
|
29
|
+
action : data.action
|
30
|
+
}
|
31
|
+
|
32
|
+
const pushData = {};
|
33
|
+
for (let i in data.other.items) {
|
34
|
+
const item = data.other.items[i];
|
35
|
+
// We have itme
|
36
|
+
const id = item.id;
|
37
|
+
const key = item.name;
|
38
|
+
|
39
|
+
pushData[key] = {
|
40
|
+
id : id,
|
41
|
+
text : generateRandomText(10)
|
42
|
+
}
|
43
|
+
}
|
44
|
+
|
45
|
+
pushData.uuid = program.uuid.v4();
|
46
|
+
exampleData.list.push(pushData);
|
47
|
+
|
48
|
+
// Send websocket message create standard
|
49
|
+
const sendObject = {
|
50
|
+
func : data.function,
|
51
|
+
data : exampleData,
|
52
|
+
js : `console.log("RUN FROM BACKEND")`
|
53
|
+
}
|
54
|
+
|
55
|
+
// Sedn back to front-end
|
56
|
+
//ws.send();
|
57
|
+
|
58
|
+
return sendObject;
|
59
|
+
}
|
60
|
+
}
|
61
|
+
}
|
62
|
+
},
|
63
|
+
contentPath : contentPath
|
64
|
+
};
|
65
|
+
|
66
|
+
|
67
|
+
let program = require(path.join(__dirname,`index.js`))(setArray);
|
68
|
+
console.log(`Required`);
|
@@ -1,6 +1,6 @@
|
|
1
1
|
const { MongoClient } = require('mongodb');
|
2
2
|
|
3
|
-
module.exports = async function(db, collection, condition, dataToCreate) {
|
3
|
+
module.exports = async function(db, collection, condition, dataToCreate,options = {}) {
|
4
4
|
// Ensure the MongoDB connection string is provided
|
5
5
|
if (!process.env.mongo) {
|
6
6
|
console.error('MongoDB connection string not provided. Set process.env.mongo.');
|
@@ -30,7 +30,7 @@ module.exports = async function(db, collection, condition, dataToCreate) {
|
|
30
30
|
const collection = database.collection(collectionName);
|
31
31
|
|
32
32
|
// Check if a document exists based on the condition
|
33
|
-
const existingDocument = await collection.findOne(condition);
|
33
|
+
const existingDocument = await collection.findOne(condition,options);
|
34
34
|
|
35
35
|
if (existingDocument) {
|
36
36
|
// If a document exists, return it
|
@@ -43,7 +43,7 @@ module.exports = async function(db, collection, condition, dataToCreate) {
|
|
43
43
|
|
44
44
|
if (result.acknowledged === true) {
|
45
45
|
console.log('New document created:', result.insertedId);
|
46
|
-
const existingDocument = await collection.findOne(condition);
|
46
|
+
const existingDocument = await collection.findOne(condition,options);
|
47
47
|
return dataToCreate;
|
48
48
|
} else {
|
49
49
|
console.error('Failed to create a new document.');
|
@@ -1,6 +1,6 @@
|
|
1
1
|
const { MongoClient } = require('mongodb');
|
2
2
|
|
3
|
-
module.exports = async function (db, collection, condition, dataToUpdate) {
|
3
|
+
module.exports = async function (db, collection, condition, dataToUpdate,options = { upsert: true }) {
|
4
4
|
// Ensure the MongoDB connection string is provided
|
5
5
|
if (!process.env.mongo) {
|
6
6
|
console.error('MongoDB connection string not provided. Set process.env.mongo.');
|
@@ -30,7 +30,7 @@ module.exports = async function (db, collection, condition, dataToUpdate) {
|
|
30
30
|
const collection = database.collection(collectionName);
|
31
31
|
|
32
32
|
// Perform the update or create operation
|
33
|
-
const result = await collection.updateOne(condition, { $set: dataToUpdate },
|
33
|
+
const result = await collection.updateOne(condition, { $set: dataToUpdate }, options);
|
34
34
|
|
35
35
|
// If a document was upserted, retrieve the upserted document
|
36
36
|
const upsertedDocument = result.upsertedId
|
package/modules/express/init.js
CHANGED
@@ -176,7 +176,7 @@ module.exports = async function (program) {
|
|
176
176
|
// Now read the dir
|
177
177
|
// Create app.get
|
178
178
|
try {
|
179
|
-
const theRoute =
|
179
|
+
const theRoute = `git pu${dirItem}/*`;
|
180
180
|
app.get(theRoute, async (req, res) => {
|
181
181
|
const params = req.params;
|
182
182
|
|
@@ -1,10 +1,12 @@
|
|
1
|
-
module.exports = async function(program, url, body) {
|
1
|
+
module.exports = async function(program, url, body,headers) {
|
2
2
|
console.log(`Fetch Post`);
|
3
3
|
// Register websocket url
|
4
4
|
try {
|
5
|
-
|
5
|
+
if (headers == undefined) {
|
6
|
+
headers = {
|
6
7
|
accept: 'application/json',
|
7
8
|
'content-type': 'application/json'
|
9
|
+
}
|
8
10
|
};
|
9
11
|
|
10
12
|
let theOptions = {
|
@@ -1,11 +1,13 @@
|
|
1
|
-
module.exports = async function(program, url, body) {
|
1
|
+
module.exports = async function(program, url, body,headers) {
|
2
2
|
console.log(`Fetch Post`);
|
3
3
|
// Register websocket url
|
4
4
|
try {
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
5
|
+
if (headers == undefined) {
|
6
|
+
headers = {
|
7
|
+
accept: 'application/json',
|
8
|
+
'content-type': 'application/json'
|
9
|
+
};
|
10
|
+
}
|
9
11
|
|
10
12
|
let theOptions = {
|
11
13
|
method: 'POST',
|