webfast 0.1.69 → 0.1.71
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/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',
|