@resolveio/server-lib 20.7.131 → 20.7.132
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/package.json
CHANGED
package/resolveio-server-app.js
CHANGED
|
@@ -187,6 +187,7 @@ var ResolveIOServer = /** @class */ (function () {
|
|
|
187
187
|
case 8:
|
|
188
188
|
err_2 = _a.sent();
|
|
189
189
|
err_2.message = 'Error in ResolveIOServer (initialize): Mongo Client Connect And Run ResolveIO Server App Library - ' + err_2.message;
|
|
190
|
+
console.error(err_2.message);
|
|
190
191
|
process.exit(1);
|
|
191
192
|
return [3 /*break*/, 9];
|
|
192
193
|
case 9: return [2 /*return*/];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/resolveio-server-app.ts"],"names":[],"mappings":"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","file":"resolveio-server-app.js","sourcesContent":["import { Db, MongoClient } from 'mongodb';\nimport { LocalLogManager } from './managers/local-log.manager';\nimport { MongoManager } from './managers/mongo.manager';\nimport { ResolveIOMainServer } from './server-app';\n\nexport class ResolveIOServer {\n\tprivate static _serverConfig = null;\n\tprivate static _clientRoutes = [];\n\tprivate static _mongoConnection: MongoClient = null;\n\tprivate static _mainDB: Db = null;\n\tprivate static _mainServer = null;\n\tprivate static _localLogManager = null;\n\tprivate static _mongoManager = null;\n\tprivate static _client = '';\n\tprivate static _clientDir = '';\n\tprivate static _sesMail = true;\n\tprivate static _standardProgram = false;\n\n\tprivate static _reconnecting = false;\n\n\tprivate static async connectMongo(): Promise<MongoClient> {\n\t\tconst client = await MongoClient.connect(ResolveIOServer.getServerConfig()['MONGO_URL']);\n\t\tclient.on('close', ResolveIOServer.handleMongoDisconnect);\n\t\tclient.on('error', ResolveIOServer.handleMongoDisconnect);\n\t\tclient.on('connectionPoolCleared', ResolveIOServer.handleMongoDisconnect);\n\t\treturn client;\n\t}\n\n\tprivate static async handleMongoDisconnect(err): Promise<void> {\n\t\tconsole.error(new Date(), 'Mongo connection lost', err);\n\t\tif (ResolveIOServer._reconnecting) {\n\t\t\treturn;\n\t\t}\n\n\t\tResolveIOServer._reconnecting = true;\n\n\t\ttry {\n\t\t\tawait ResolveIOServer.reconnectMongo();\n\t\t}\n\t\tfinally {\n\t\t\tResolveIOServer._reconnecting = false;\n\t\t}\n\t}\n\n\tprivate static async reconnectMongo(): Promise<void> {\n\t\tlet attempt = 0;\n\n\t\twhile (true) {\n\t\t\ttry {\n\t\t\t\tconst client = await ResolveIOServer.connectMongo();\n\t\t\t\tResolveIOServer.setMongoConnection(client);\n\t\t\t\tResolveIOServer.setMainDB(client.db(ResolveIOServer.getServerConfig()['DATABASE']));\n\t\t\t\tconsole.log(new Date(), 'Mongo reconnected');\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tcatch (err) {\n\t\t\t\tattempt++;\n\t\t\t\tconsole.error(new Date(), 'Mongo reconnect failed', err);\n\t\t\t\tawait ResolveIOServer.delay(Math.min(attempt * 1000, 10000));\n\t\t\t}\n\t\t}\n\t}\n\n\tprivate static async delay(ms: number) {\n\t\t// eslint-disable-next-line no-restricted-syntax\n\t\treturn new Promise(resolve => setTimeout(resolve, ms));\n\t}\n\n\tconstructor() {}\n\t\n\tpublic static async create(serverConfig, clientRoutes: string[], client: string, clientDir, sesMail = true, standardProgram = false) {\n\t\tconst resolveioServer = new ResolveIOServer();\n\t\tawait resolveioServer.initialize(serverConfig, clientRoutes, client, clientDir, sesMail, standardProgram);\n\t\treturn resolveioServer;\n\t}\n\n\tprivate async initialize(serverConfig, clientRoutes: string[], client: string, clientDir, sesMail = true, standardProgram = false) {\n\t\tResolveIOServer._serverConfig = serverConfig;\n\t\tResolveIOServer._clientRoutes = clientRoutes;\n\t\tResolveIOServer._client = client;\n\t\tResolveIOServer._clientDir = clientDir;\n\t\tResolveIOServer._sesMail = sesMail;\n\t\tResolveIOServer._standardProgram = standardProgram;\n\t\t\n\t\ttry {\n\t\t\tlet dbConnection = await ResolveIOServer.connectMongo();\n\t\t\tprocess.removeAllListeners('unhandledRejection');\n\n\t\t\tResolveIOServer.setMongoConnection(dbConnection);\n\t\t\tResolveIOServer.setMainDB(dbConnection.db(ResolveIOServer.getServerConfig()['DATABASE']));\n\n\t\t\t// dbConnection\n\t\t\t// .on('error', error => {\n\t\t\t// \tif (typeof error.message === 'string' && error.message.includes('ns does not exist')) {\n\t\t\t// \t\treturn;\n\t\t\t// \t}\n\t\t\t\t\t\n\t\t\t// \t// Otherwise log normally\n\t\t\t// \tthrow error;\n\t\t\t// })\n\t\t\t// .on('close', () => process.exit(1));\n\t\n\t\t\tlet LocalLogManager = (await import('./managers/local-log.manager')).LocalLogManager;\n\t\t\tlet localLogManager = LocalLogManager.create();\n\t\t\tResolveIOServer.setLocalLogManager(localLogManager);\n\n\t\t\tlet MongoManager = (await import('./managers/mongo.manager')).MongoManager;\n\t\t\tlet mongoManager = await MongoManager.create();\n\t\t\tResolveIOServer.setMongoManager(mongoManager);\n\t\t\t\n\t\t\tlet serverApp = (await import('./server-app')).ResolveIOMainServer;\n\t\t\tlet app = await serverApp.create();\n\t\t\tResolveIOServer.setMainServer(app);\n\t\t\t\n\t\t\treturn true;\n\t\t}\n\t\tcatch (err) {\n\t\t\terr.message = 'Error in ResolveIOServer (initialize): Mongo Client Connect And Run ResolveIO Server App Library - ' + err.message;\n\t\t\tprocess.exit(1);\n\t\t}\n\t}\n\n\tpublic static getClientName() {\n\t\treturn this._client;\n\t}\n\n\tpublic static getMainServer(): ResolveIOMainServer {\n\t\treturn ResolveIOServer._mainServer;\n\t}\n\n\tpublic static setMainServer(mainServer: ResolveIOMainServer) {\n\t\tResolveIOServer._mainServer = mainServer;\n\t}\n\n\tpublic static setMongoConnection(mongoConnection: MongoClient) {\n\t\tResolveIOServer._mongoConnection = mongoConnection;\n\t}\n\n\tpublic static getMongoConnection(): MongoClient {\n\t\treturn ResolveIOServer._mongoConnection;\n\t}\n\n\tpublic static getMainDB(): Db {\n\t\treturn ResolveIOServer._mainDB;\n\t}\n\n\tpublic static setMainDB(mainDB: Db) {\n\t\tResolveIOServer._mainDB = mainDB\n\t}\n\n\tpublic static getMongoManager(): MongoManager {\n\t\treturn ResolveIOServer._mongoManager;\n\t}\n\n\tpublic static setMongoManager(mongoManager: MongoManager) {\n\t\tResolveIOServer._mongoManager = mongoManager;\n\t}\n\n\tpublic static getLocalLogManager(): LocalLogManager {\n\t\treturn ResolveIOServer._localLogManager;\n\t}\n\n\tpublic static setLocalLogManager(localLogManager: LocalLogManager) {\n\t\tResolveIOServer._localLogManager = localLogManager;\n\t}\n\n\tpublic static getServerConfig() {\n\t\treturn ResolveIOServer._serverConfig;\n\t}\n\n\tpublic static getClientRoutes() {\n\t\treturn ResolveIOServer._clientRoutes;\n\t}\n\n\tpublic static getClientDir(): string {\n\t\treturn ResolveIOServer._clientDir;\n\t}\n\n\tpublic static getSESMail(): boolean {\n\t\treturn ResolveIOServer._sesMail;\n\t}\n\n\tpublic static getStandardProgram(): boolean {\n\t\treturn ResolveIOServer._standardProgram;\n\t}\n}"]}
|
|
1
|
+
{"version":3,"sources":["../../src/resolveio-server-app.ts"],"names":[],"mappings":"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","file":"resolveio-server-app.js","sourcesContent":["import { Db, MongoClient } from 'mongodb';\nimport { LocalLogManager } from './managers/local-log.manager';\nimport { MongoManager } from './managers/mongo.manager';\nimport { ResolveIOMainServer } from './server-app';\n\nexport class ResolveIOServer {\n\tprivate static _serverConfig = null;\n\tprivate static _clientRoutes = [];\n\tprivate static _mongoConnection: MongoClient = null;\n\tprivate static _mainDB: Db = null;\n\tprivate static _mainServer = null;\n\tprivate static _localLogManager = null;\n\tprivate static _mongoManager = null;\n\tprivate static _client = '';\n\tprivate static _clientDir = '';\n\tprivate static _sesMail = true;\n\tprivate static _standardProgram = false;\n\n\tprivate static _reconnecting = false;\n\n\tprivate static async connectMongo(): Promise<MongoClient> {\n\t\tconst client = await MongoClient.connect(ResolveIOServer.getServerConfig()['MONGO_URL']);\n\t\tclient.on('close', ResolveIOServer.handleMongoDisconnect);\n\t\tclient.on('error', ResolveIOServer.handleMongoDisconnect);\n\t\tclient.on('connectionPoolCleared', ResolveIOServer.handleMongoDisconnect);\n\t\treturn client;\n\t}\n\n\tprivate static async handleMongoDisconnect(err): Promise<void> {\n\t\tconsole.error(new Date(), 'Mongo connection lost', err);\n\t\tif (ResolveIOServer._reconnecting) {\n\t\t\treturn;\n\t\t}\n\n\t\tResolveIOServer._reconnecting = true;\n\n\t\ttry {\n\t\t\tawait ResolveIOServer.reconnectMongo();\n\t\t}\n\t\tfinally {\n\t\t\tResolveIOServer._reconnecting = false;\n\t\t}\n\t}\n\n\tprivate static async reconnectMongo(): Promise<void> {\n\t\tlet attempt = 0;\n\n\t\twhile (true) {\n\t\t\ttry {\n\t\t\t\tconst client = await ResolveIOServer.connectMongo();\n\t\t\t\tResolveIOServer.setMongoConnection(client);\n\t\t\t\tResolveIOServer.setMainDB(client.db(ResolveIOServer.getServerConfig()['DATABASE']));\n\t\t\t\tconsole.log(new Date(), 'Mongo reconnected');\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tcatch (err) {\n\t\t\t\tattempt++;\n\t\t\t\tconsole.error(new Date(), 'Mongo reconnect failed', err);\n\t\t\t\tawait ResolveIOServer.delay(Math.min(attempt * 1000, 10000));\n\t\t\t}\n\t\t}\n\t}\n\n\tprivate static async delay(ms: number) {\n\t\t// eslint-disable-next-line no-restricted-syntax\n\t\treturn new Promise(resolve => setTimeout(resolve, ms));\n\t}\n\n\tconstructor() {}\n\t\n\tpublic static async create(serverConfig, clientRoutes: string[], client: string, clientDir, sesMail = true, standardProgram = false) {\n\t\tconst resolveioServer = new ResolveIOServer();\n\t\tawait resolveioServer.initialize(serverConfig, clientRoutes, client, clientDir, sesMail, standardProgram);\n\t\treturn resolveioServer;\n\t}\n\n\tprivate async initialize(serverConfig, clientRoutes: string[], client: string, clientDir, sesMail = true, standardProgram = false) {\n\t\tResolveIOServer._serverConfig = serverConfig;\n\t\tResolveIOServer._clientRoutes = clientRoutes;\n\t\tResolveIOServer._client = client;\n\t\tResolveIOServer._clientDir = clientDir;\n\t\tResolveIOServer._sesMail = sesMail;\n\t\tResolveIOServer._standardProgram = standardProgram;\n\t\t\n\t\ttry {\n\t\t\tlet dbConnection = await ResolveIOServer.connectMongo();\n\t\t\tprocess.removeAllListeners('unhandledRejection');\n\n\t\t\tResolveIOServer.setMongoConnection(dbConnection);\n\t\t\tResolveIOServer.setMainDB(dbConnection.db(ResolveIOServer.getServerConfig()['DATABASE']));\n\n\t\t\t// dbConnection\n\t\t\t// .on('error', error => {\n\t\t\t// \tif (typeof error.message === 'string' && error.message.includes('ns does not exist')) {\n\t\t\t// \t\treturn;\n\t\t\t// \t}\n\t\t\t\t\t\n\t\t\t// \t// Otherwise log normally\n\t\t\t// \tthrow error;\n\t\t\t// })\n\t\t\t// .on('close', () => process.exit(1));\n\t\n\t\t\tlet LocalLogManager = (await import('./managers/local-log.manager')).LocalLogManager;\n\t\t\tlet localLogManager = LocalLogManager.create();\n\t\t\tResolveIOServer.setLocalLogManager(localLogManager);\n\n\t\t\tlet MongoManager = (await import('./managers/mongo.manager')).MongoManager;\n\t\t\tlet mongoManager = await MongoManager.create();\n\t\t\tResolveIOServer.setMongoManager(mongoManager);\n\t\t\t\n\t\t\tlet serverApp = (await import('./server-app')).ResolveIOMainServer;\n\t\t\tlet app = await serverApp.create();\n\t\t\tResolveIOServer.setMainServer(app);\n\t\t\t\n\t\t\treturn true;\n\t\t}\n\t\tcatch (err) {\n\t\t\terr.message = 'Error in ResolveIOServer (initialize): Mongo Client Connect And Run ResolveIO Server App Library - ' + err.message;\n\t\t\tconsole.error(err.message);\n\t\t\tprocess.exit(1);\n\t\t}\n\t}\n\n\tpublic static getClientName() {\n\t\treturn this._client;\n\t}\n\n\tpublic static getMainServer(): ResolveIOMainServer {\n\t\treturn ResolveIOServer._mainServer;\n\t}\n\n\tpublic static setMainServer(mainServer: ResolveIOMainServer) {\n\t\tResolveIOServer._mainServer = mainServer;\n\t}\n\n\tpublic static setMongoConnection(mongoConnection: MongoClient) {\n\t\tResolveIOServer._mongoConnection = mongoConnection;\n\t}\n\n\tpublic static getMongoConnection(): MongoClient {\n\t\treturn ResolveIOServer._mongoConnection;\n\t}\n\n\tpublic static getMainDB(): Db {\n\t\treturn ResolveIOServer._mainDB;\n\t}\n\n\tpublic static setMainDB(mainDB: Db) {\n\t\tResolveIOServer._mainDB = mainDB\n\t}\n\n\tpublic static getMongoManager(): MongoManager {\n\t\treturn ResolveIOServer._mongoManager;\n\t}\n\n\tpublic static setMongoManager(mongoManager: MongoManager) {\n\t\tResolveIOServer._mongoManager = mongoManager;\n\t}\n\n\tpublic static getLocalLogManager(): LocalLogManager {\n\t\treturn ResolveIOServer._localLogManager;\n\t}\n\n\tpublic static setLocalLogManager(localLogManager: LocalLogManager) {\n\t\tResolveIOServer._localLogManager = localLogManager;\n\t}\n\n\tpublic static getServerConfig() {\n\t\treturn ResolveIOServer._serverConfig;\n\t}\n\n\tpublic static getClientRoutes() {\n\t\treturn ResolveIOServer._clientRoutes;\n\t}\n\n\tpublic static getClientDir(): string {\n\t\treturn ResolveIOServer._clientDir;\n\t}\n\n\tpublic static getSESMail(): boolean {\n\t\treturn ResolveIOServer._sesMail;\n\t}\n\n\tpublic static getStandardProgram(): boolean {\n\t\treturn ResolveIOServer._standardProgram;\n\t}\n}"]}
|