@xmobitea/gn-server 2.4.16 → 2.5.1
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/dist/GN-app-api/handler/controller/handler/characterPlayer/GetCreateLeaderboardRequestHandler.d.ts +0 -1
- package/dist/GN-app-api/handler/controller/handler/characterPlayer/GetCurrencyLeaderboardRequestHandler.d.ts +0 -1
- package/dist/GN-app-api/handler/controller/handler/characterPlayer/GetCurrencyLogRequestHandler.d.ts +0 -1
- package/dist/GN-app-api/handler/controller/handler/characterPlayer/GetLastLoginLeaderboardRequestHandler.d.ts +22 -0
- package/dist/GN-app-api/handler/controller/handler/characterPlayer/GetStatisticsLeaderboardRequestHandler.d.ts +0 -1
- package/dist/GN-app-api/handler/controller/handler/characterPlayer/GetStatisticsLogRequestHandler.d.ts +0 -1
- package/dist/GN-app-api/handler/controller/handler/characterPlayer/SetDisplayNameRequestHandler.d.ts +1 -0
- package/dist/GN-app-api/handler/controller/handler/content/SetContentDataRequestHandler.d.ts +2 -0
- package/dist/GN-app-api/handler/controller/handler/dashboard/DeleteInDatabaseRequestHandler.d.ts +1 -0
- package/dist/GN-app-api/handler/controller/handler/dashboard/GrantGameRequestHandler.d.ts +2 -0
- package/dist/GN-app-api/handler/controller/handler/dashboard/SetMasterGameSettingsRequestHandler.d.ts +2 -0
- package/dist/GN-app-api/handler/controller/handler/dashboard/model/CharacterPlayerPermissionRulesParam.d.ts +1 -0
- package/dist/GN-app-api/handler/controller/handler/dashboard/model/StoreInventoryPermissionRulesParam.d.ts +2 -0
- package/dist/GN-app-api/handler/controller/handler/gamePlayer/GetCurrencyLogRequestHandler.d.ts +0 -1
- package/dist/GN-app-api/handler/controller/handler/gamePlayer/GetStatisticsLogRequestHandler.d.ts +0 -1
- package/dist/GN-app-api/handler/controller/handler/gamePlayer/GrantPlayerCharacterRequestHandler.d.ts +1 -0
- package/dist/GN-app-api/handler/controller/handler/group/GetCurrencyLogRequestHandler.d.ts +0 -1
- package/dist/GN-app-api/handler/controller/handler/group/GetStatisticsLogRequestHandler.d.ts +0 -1
- package/dist/GN-app-api/handler/controller/handler/inventory/GetStatisticsLogRequestHandler.d.ts +0 -1
- package/dist/GN-app-api/handler/controller/handler/masterPlayer/GetCurrencyLogRequestHandler.d.ts +0 -1
- package/dist/GN-app-api/handler/controller/handler/masterPlayer/GetStatisticsLogRequestHandler.d.ts +0 -1
- package/dist/GN-app-api/handler/controller/handler/storeInventory/GetStoreUsedRequestHandler.d.ts +17 -0
- package/dist/GN-app-api/handler/controller/handler/storeInventory/RemoveStoreUsedRequestHandler.d.ts +18 -0
- package/dist/GN-app-api/handler/controller/handler/storeInventory/SetStoreItemInformationRequestHandler.d.ts +1 -0
- package/dist/GN-app-api/handler/controller/handler/storeInventory/StoreItemBaseRequestHandler.d.ts +1 -0
- package/dist/GN-app-api/handler/controller/handler/storeInventory/model/InfoRequestParam.d.ts +1 -0
- package/dist/GN-app-api/service/CacheService.d.ts +36 -0
- package/dist/GN-app-api/service/CloudScriptService.d.ts +2 -0
- package/dist/GN-app-api/service/ConfigService.d.ts +14 -0
- package/dist/{GN-library/xmail/lib/xMail.d.ts → GN-app-api/service/EmailService.d.ts} +3 -10
- package/dist/GN-app-api/service/EventCallbackService.d.ts +1 -0
- package/dist/GN-app-api/service/ICacheService.d.ts +15 -0
- package/dist/GN-app-api/service/IConfigService.d.ts +15 -0
- package/dist/GN-app-api/service/IEmailService.d.ts +10 -0
- package/dist/GN-app-api/service/IPushNotificationService.d.ts +17 -2
- package/dist/{GN-library/xnotification/lib/xPushNotification.d.ts → GN-app-api/service/PushNotificationService.d.ts} +8 -13
- package/dist/GN-common/constant/OperationCode.d.ts +2 -0
- package/dist/GN-common/constant/enumType/OwnerType.d.ts +2 -1
- package/dist/GN-common/constant/enumType/StoreItemType.d.ts +4 -0
- package/dist/GN-common/constant/errorCode/GNErrorCode.d.ts +2 -0
- package/dist/GN-common/constant/parameterCode/GNParameterCode.d.ts +4 -0
- package/dist/GN-common/entity/SecretInfo.d.ts +3 -0
- package/dist/GN-library/xdatabase/lib/entity/pro/StoreInventory.d.ts +4 -0
- package/dist/GN-library/xdatabase/lib/entity/pro/UploadFileInfo.d.ts +4 -2
- package/dist/GN-library/xdatabase/lib/entity/pro/findOptions/FileUploadInfoFindOptions.d.ts +9 -0
- package/dist/GN-library/xdatabase/lib/entity/pro/findOptions/StoreInventoryFindOptions.d.ts +1 -0
- package/dist/GN-library/xdatabase/lib/xDatabase.d.ts +15 -1
- package/dist/GN-startup/DefaultApplicationStartup.d.ts +2 -1
- package/dist/GN-startup/HttpApp.d.ts +6 -0
- package/dist/GN-startup/ServerApplication.d.ts +4 -0
- package/dist/GN-startup/cloudScript/eventCallbackCloudScriptData.json +20 -5
- package/dist/GN-startup/cloudScript/templateCloudScript.ts +203 -165
- package/dist/GN-startup/cloudScript/templateEventCallback.ts +263 -225
- package/dist/GN-startup/routes/ClusterHandler.d.ts +34 -0
- package/dist/GN-startup/routes/UploadFileHandler.d.ts +1 -0
- package/dist/GN-startup/settings/ApplicationSettings.d.ts +3 -0
- package/dist/GN-startup/settings/ClusterSettings.d.ts +29 -0
- package/dist/GNServer.d.ts +16 -13
- package/dist/index.d.ts +20 -14
- package/dist/index.js +74426 -82363
- package/gn.sh +19 -7
- package/package.json +4 -7
- package/dist/GN-library/xcachedata/lib/xCacheData.d.ts +0 -10
- package/dist/GN-library/xcachedata/lib/xCacheItem.d.ts +0 -8
- package/dist/GN-library/xconfig/lib/entity/xConfigItem.d.ts +0 -9
- package/dist/GN-library/xconfig/lib/xConfig.d.ts +0 -15
|
@@ -1,5 +1,3 @@
|
|
|
1
|
-
import { parentPort, workerData } from "worker_threads";
|
|
2
|
-
|
|
3
1
|
import {
|
|
4
2
|
GNNetwork,
|
|
5
3
|
Action0,
|
|
@@ -62,9 +60,14 @@ import {
|
|
|
62
60
|
GroupStatus,
|
|
63
61
|
GNDebug,
|
|
64
62
|
ItemType,
|
|
63
|
+
StoreItemType,
|
|
65
64
|
LogType,
|
|
66
65
|
GNSupport,
|
|
67
66
|
PostType,
|
|
67
|
+
GetAuthInfoResponse,
|
|
68
|
+
PushPlatformType,
|
|
69
|
+
StoreReceiveType,
|
|
70
|
+
GNUtils,
|
|
68
71
|
} from "@xmobitea/gn-typescript-client";
|
|
69
72
|
|
|
70
73
|
import * as mongodb from "mongodb";
|
|
@@ -268,103 +271,141 @@ class CloudScriptSocket {
|
|
|
268
271
|
}
|
|
269
272
|
|
|
270
273
|
private async sendEvent(event: CloudScriptEvent) {
|
|
271
|
-
|
|
274
|
+
if (process?.send)
|
|
275
|
+
process.send(event);
|
|
272
276
|
}
|
|
273
277
|
}
|
|
274
278
|
|
|
275
279
|
class CloudScriptMail {
|
|
276
280
|
public async send(email: string, subject: string, contentHtml: string) {
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
281
|
+
if (process?.send)
|
|
282
|
+
process.send({
|
|
283
|
+
eventType: 20,
|
|
284
|
+
receiver: null,
|
|
285
|
+
operationEvent: {
|
|
286
|
+
eventCode: 0,
|
|
287
|
+
encrypted: false,
|
|
288
|
+
parameters: {
|
|
289
|
+
email: email,
|
|
290
|
+
subject: subject,
|
|
291
|
+
contentHtml: contentHtml,
|
|
292
|
+
},
|
|
293
|
+
},
|
|
294
|
+
});
|
|
290
295
|
}
|
|
291
296
|
|
|
292
297
|
public async sendToMore(emails: string[], subject: string, contentHtml: string) {
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
298
|
+
if (process?.send)
|
|
299
|
+
process.send({
|
|
300
|
+
eventType: 21,
|
|
301
|
+
receiver: null,
|
|
302
|
+
operationEvent: {
|
|
303
|
+
eventCode: 0,
|
|
304
|
+
encrypted: false,
|
|
305
|
+
parameters: {
|
|
306
|
+
emails: emails,
|
|
307
|
+
subject: subject,
|
|
308
|
+
contentHtml: contentHtml,
|
|
309
|
+
},
|
|
310
|
+
},
|
|
311
|
+
});
|
|
306
312
|
}
|
|
307
313
|
}
|
|
308
314
|
|
|
309
315
|
class CloudScriptPushNotification {
|
|
310
316
|
public async send(token: string, title: string, body: string, badge?: number, sound?: string, icon?: string, data?: { [k: string]: any }) {
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
317
|
+
if (process?.send)
|
|
318
|
+
process.send({
|
|
319
|
+
eventType: 30,
|
|
320
|
+
receiver: null,
|
|
321
|
+
operationEvent: {
|
|
322
|
+
eventCode: 0,
|
|
323
|
+
encrypted: false,
|
|
324
|
+
parameters: {
|
|
325
|
+
token: token,
|
|
326
|
+
title: title,
|
|
327
|
+
body: body,
|
|
328
|
+
badge: badge,
|
|
329
|
+
sound: sound,
|
|
330
|
+
icon: icon,
|
|
331
|
+
data: data,
|
|
332
|
+
},
|
|
333
|
+
},
|
|
334
|
+
});
|
|
328
335
|
}
|
|
329
336
|
|
|
330
337
|
public async sendToMore(tokens: string[], title: string, body: string, badge?: number, sound?: string, icon?: string, data?: { [k: string]: any }) {
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
338
|
+
if (process?.send)
|
|
339
|
+
process.send({
|
|
340
|
+
eventType: 31,
|
|
341
|
+
receiver: null,
|
|
342
|
+
operationEvent: {
|
|
343
|
+
eventCode: 0,
|
|
344
|
+
encrypted: false,
|
|
345
|
+
parameters: {
|
|
346
|
+
tokens: tokens,
|
|
347
|
+
title: title,
|
|
348
|
+
body: body,
|
|
349
|
+
badge: badge,
|
|
350
|
+
sound: sound,
|
|
351
|
+
icon: icon,
|
|
352
|
+
data: data,
|
|
353
|
+
},
|
|
354
|
+
},
|
|
355
|
+
});
|
|
348
356
|
}
|
|
349
357
|
|
|
350
358
|
public async sendToTopic(topic: string, title: string, body: string, badge?: number, sound?: string, icon?: string, data?: { [k: string]: any }) {
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
359
|
+
if (process?.send)
|
|
360
|
+
process.send({
|
|
361
|
+
eventType: 32,
|
|
362
|
+
receiver: null,
|
|
363
|
+
operationEvent: {
|
|
364
|
+
eventCode: 0,
|
|
365
|
+
encrypted: false,
|
|
366
|
+
parameters: {
|
|
367
|
+
topic: topic,
|
|
368
|
+
title: title,
|
|
369
|
+
body: body,
|
|
370
|
+
badge: badge,
|
|
371
|
+
sound: sound,
|
|
372
|
+
icon: icon,
|
|
373
|
+
data: data,
|
|
374
|
+
},
|
|
375
|
+
},
|
|
376
|
+
});
|
|
377
|
+
}
|
|
378
|
+
|
|
379
|
+
public async subscribeToTopic(tokens: string[], topic: string) {
|
|
380
|
+
if (process?.send)
|
|
381
|
+
process.send({
|
|
382
|
+
eventType: 33,
|
|
383
|
+
receiver: null,
|
|
384
|
+
operationEvent: {
|
|
385
|
+
eventCode: 0,
|
|
386
|
+
encrypted: false,
|
|
387
|
+
parameters: {
|
|
388
|
+
tokens: tokens,
|
|
389
|
+
topic: topic,
|
|
390
|
+
},
|
|
391
|
+
},
|
|
392
|
+
});
|
|
393
|
+
}
|
|
394
|
+
|
|
395
|
+
public async unsubscribeFromTopic(tokens: string[], topic: string) {
|
|
396
|
+
if (process?.send)
|
|
397
|
+
process.send({
|
|
398
|
+
eventType: 34,
|
|
399
|
+
receiver: null,
|
|
400
|
+
operationEvent: {
|
|
401
|
+
eventCode: 0,
|
|
402
|
+
encrypted: false,
|
|
403
|
+
parameters: {
|
|
404
|
+
tokens: tokens,
|
|
405
|
+
topic: topic,
|
|
406
|
+
},
|
|
407
|
+
},
|
|
408
|
+
});
|
|
368
409
|
}
|
|
369
410
|
}
|
|
370
411
|
|
|
@@ -459,85 +500,84 @@ const ConvertArray = (results: any[]) => {
|
|
|
459
500
|
return answer;
|
|
460
501
|
}
|
|
461
502
|
|
|
462
|
-
|
|
463
|
-
|
|
464
|
-
|
|
465
|
-
|
|
466
|
-
|
|
467
|
-
|
|
468
|
-
|
|
469
|
-
|
|
470
|
-
|
|
471
|
-
|
|
472
|
-
|
|
473
|
-
|
|
474
|
-
|
|
475
|
-
|
|
476
|
-
|
|
477
|
-
};
|
|
478
|
-
|
|
479
|
-
let handleResponse = await ___handleFunction(functionRequest);
|
|
480
|
-
|
|
481
|
-
if (handleResponse.result) {
|
|
482
|
-
if (handleResponse.result instanceof GNHashtable) {
|
|
483
|
-
handleResponse.result = (<GNHashtable>handleResponse.result).toData();
|
|
484
|
-
}
|
|
485
|
-
else if (handleResponse.result instanceof GNArray) {
|
|
486
|
-
handleResponse.result = (<GNArray>handleResponse.result).toData();
|
|
487
|
-
}
|
|
488
|
-
else {
|
|
489
|
-
let typeofResult = typeof (handleResponse.result);
|
|
490
|
-
|
|
491
|
-
if (typeofResult == "boolean") {
|
|
492
|
-
|
|
493
|
-
}
|
|
494
|
-
else if (typeofResult == "number") {
|
|
495
|
-
|
|
496
|
-
}
|
|
497
|
-
else if (typeofResult == "object") {
|
|
498
|
-
if (Array.isArray(handleResponse.result)) {
|
|
499
|
-
|
|
500
|
-
handleResponse.result = ConvertArray(handleResponse.result as any[]);
|
|
501
|
-
//answer.push(this.deserializeArray(gnArray.getGNArray(i), cls));
|
|
502
|
-
}
|
|
503
|
-
else {
|
|
504
|
-
handleResponse.result = ConvertObject(handleResponse.result);
|
|
505
|
-
}
|
|
506
|
-
}
|
|
507
|
-
else if (typeofResult == "string") {
|
|
508
|
-
|
|
509
|
-
}
|
|
510
|
-
else {
|
|
511
|
-
handleResponse.result = null;
|
|
512
|
-
|
|
513
|
-
handleResponse.errorMessage = "CloudScript must return void, number, string, boolean, null, json dictionary, json array, GNHashtable or GNArray";
|
|
514
|
-
handleResponse.status = ExecuteResponseStatus.Exception;
|
|
515
|
-
}
|
|
516
|
-
}
|
|
517
|
-
}
|
|
518
|
-
|
|
519
|
-
let endTime = performance.now();
|
|
520
|
-
let endMemoryUsage = process.memoryUsage();
|
|
521
|
-
|
|
522
|
-
let memoryUsedInBytes = endMemoryUsage.heapUsed - startMemoryUsage.heapUsed;
|
|
523
|
-
if (memoryUsedInBytes <= 0) memoryUsedInBytes = 8192;
|
|
524
|
-
let executeTimeInMs = endTime - startTime;
|
|
525
|
-
|
|
526
|
-
//let cost = (memoryUsedInGb * executeTime) / 1000 * 0.022;
|
|
503
|
+
process?.on("message", async (request: CloudScriptRequest) => {
|
|
504
|
+
let startTime = performance.now();
|
|
505
|
+
let startMemoryUsage = process.memoryUsage();
|
|
506
|
+
|
|
507
|
+
let logs: string[] = [];
|
|
508
|
+
let functionRequest: FunctionRequest = {
|
|
509
|
+
userId: request.userId,
|
|
510
|
+
name: request.name,
|
|
511
|
+
parameters: request.parameters,
|
|
512
|
+
context: {},
|
|
513
|
+
customTags: request.customTags,
|
|
514
|
+
log(log: any) {
|
|
515
|
+
logs.push(JSON.stringify(log));
|
|
516
|
+
},
|
|
517
|
+
};
|
|
527
518
|
|
|
528
|
-
|
|
529
|
-
|
|
530
|
-
|
|
531
|
-
|
|
532
|
-
|
|
533
|
-
|
|
534
|
-
|
|
535
|
-
|
|
536
|
-
|
|
519
|
+
let handleResponse = await ___handleFunction(functionRequest);
|
|
520
|
+
|
|
521
|
+
if (handleResponse.result) {
|
|
522
|
+
if (handleResponse.result instanceof GNHashtable) {
|
|
523
|
+
handleResponse.result = (<GNHashtable>handleResponse.result).toData();
|
|
524
|
+
}
|
|
525
|
+
else if (handleResponse.result instanceof GNArray) {
|
|
526
|
+
handleResponse.result = (<GNArray>handleResponse.result).toData();
|
|
527
|
+
}
|
|
528
|
+
else {
|
|
529
|
+
let typeofResult = typeof (handleResponse.result);
|
|
530
|
+
|
|
531
|
+
if (typeofResult == "boolean") {
|
|
532
|
+
|
|
533
|
+
}
|
|
534
|
+
else if (typeofResult == "number") {
|
|
535
|
+
|
|
536
|
+
}
|
|
537
|
+
else if (typeofResult == "object") {
|
|
538
|
+
if (Array.isArray(handleResponse.result)) {
|
|
539
|
+
|
|
540
|
+
handleResponse.result = ConvertArray(handleResponse.result as any[]);
|
|
541
|
+
//answer.push(this.deserializeArray(gnArray.getGNArray(i), cls));
|
|
542
|
+
}
|
|
543
|
+
else {
|
|
544
|
+
handleResponse.result = ConvertObject(handleResponse.result);
|
|
545
|
+
}
|
|
546
|
+
}
|
|
547
|
+
else if (typeofResult == "string") {
|
|
548
|
+
|
|
549
|
+
}
|
|
550
|
+
else {
|
|
551
|
+
handleResponse.result = null;
|
|
552
|
+
|
|
553
|
+
handleResponse.errorMessage = "CloudScript must return void, number, string, boolean, null, json dictionary, json array, GNHashtable or GNArray";
|
|
554
|
+
handleResponse.status = ExecuteResponseStatus.Exception;
|
|
555
|
+
}
|
|
556
|
+
}
|
|
557
|
+
}
|
|
558
|
+
|
|
559
|
+
let endTime = performance.now();
|
|
560
|
+
let endMemoryUsage = process.memoryUsage();
|
|
561
|
+
|
|
562
|
+
let memoryUsedInBytes = endMemoryUsage.heapUsed - startMemoryUsage.heapUsed;
|
|
563
|
+
if (memoryUsedInBytes <= 0) memoryUsedInBytes = 8192;
|
|
564
|
+
let executeTimeInMs = endTime - startTime;
|
|
565
|
+
|
|
566
|
+
//let cost = (memoryUsedInGb * executeTime) / 1000 * 0.022;
|
|
567
|
+
|
|
568
|
+
let response: CloudScriptResponse = {
|
|
569
|
+
responseId: request.requestId,
|
|
570
|
+
response: handleResponse,
|
|
571
|
+
stats: {
|
|
572
|
+
executeTimeInMs: executeTimeInMs,
|
|
573
|
+
memoryUsedInBytes: memoryUsedInBytes,
|
|
574
|
+
},
|
|
575
|
+
logs: logs,
|
|
576
|
+
};
|
|
537
577
|
|
|
538
|
-
|
|
539
|
-
|
|
540
|
-
}
|
|
578
|
+
if (process?.send)
|
|
579
|
+
process.send(response);
|
|
580
|
+
});
|
|
541
581
|
|
|
542
582
|
async function ___handleFunction(request: FunctionRequest): Promise<FunctionResponse> {
|
|
543
583
|
let handler = handlers[request.name];
|
|
@@ -566,20 +606,18 @@ async function ___handleFunction(request: FunctionRequest): Promise<FunctionResp
|
|
|
566
606
|
return answer;
|
|
567
607
|
}
|
|
568
608
|
|
|
609
|
+
const gameId: string = process.env.gameId ?? "";
|
|
610
|
+
|
|
569
611
|
{
|
|
570
|
-
let gnServerSettingsOptions: GNServerSettingsOptions =
|
|
612
|
+
let gnServerSettingsOptions: GNServerSettingsOptions = JSON.parse(process.env.gnServerSettingsOptions ?? "");
|
|
571
613
|
|
|
572
614
|
let gnServerSettings = new GNServerSettings();
|
|
573
615
|
gnServerSettings.config(gnServerSettingsOptions);
|
|
574
616
|
|
|
575
617
|
GNNetwork.init(gnServerSettings);
|
|
576
|
-
|
|
577
|
-
let gameId = workerData.gameId;
|
|
578
618
|
GNNetwork.setGameId(gameId);
|
|
579
619
|
}
|
|
580
620
|
|
|
581
|
-
const gameId: string = workerData.gameId;
|
|
582
|
-
|
|
583
621
|
const admin = new CloudScriptAdmin();
|
|
584
622
|
const database = new CloudScriptDatabase();
|
|
585
623
|
const http = new CloudScriptHttp();
|
|
@@ -588,12 +626,12 @@ const mail = new CloudScriptMail();
|
|
|
588
626
|
const pushNotification = new CloudScriptPushNotification();
|
|
589
627
|
|
|
590
628
|
{
|
|
591
|
-
let dbConnection =
|
|
629
|
+
let dbConnection = JSON.parse(process.env.dbConnection ?? "");
|
|
592
630
|
database.init(dbConnection.url, dbConnection.dbName, dbConnection.options);
|
|
593
631
|
}
|
|
594
632
|
|
|
595
|
-
|
|
596
|
-
|
|
633
|
+
process.env.dbConnection = "";
|
|
634
|
+
process.env.gnServerSettingsOptions = "";
|
|
597
635
|
|
|
598
636
|
const handlers: Record<string, (args: any, context: { userId: string; customTags: { [k: string]: any } }, log: (log: any) => void) => any> = {};
|
|
599
637
|
|