@resolveio/server-lib 22.2.57 → 22.3.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/http/auth.js CHANGED
@@ -851,7 +851,7 @@ function setupAuthRoutes(mainServer, app, serverConfig) {
851
851
  error: true,
852
852
  result: 'Invalid header'
853
853
  }));
854
- return [3 /*break*/, 10];
854
+ return [3 /*break*/, 12];
855
855
  case 1:
856
856
  body = request.body;
857
857
  schema = new simpl_schema_1.default({
@@ -886,15 +886,18 @@ function setupAuthRoutes(mainServer, app, serverConfig) {
886
886
  user = _a.sent();
887
887
  _a.label = 9;
888
888
  case 9:
889
- if (user) {
890
- mainServer.getMethodManager().callMethod.call(mainServer.getMethodManager(), 'resetUserPassword', user._id);
891
- }
889
+ if (!user) return [3 /*break*/, 11];
890
+ return [4 /*yield*/, mainServer.getMethodManager().callMethod.call(mainServer.getMethodManager(), 'resetUserPassword', user._id)];
891
+ case 10:
892
+ _a.sent();
893
+ _a.label = 11;
894
+ case 11:
892
895
  response.send(JSON.stringify({
893
896
  error: false,
894
897
  result: ''
895
898
  }));
896
- _a.label = 10;
897
- case 10: return [2 /*return*/];
899
+ _a.label = 12;
900
+ case 12: return [2 /*return*/];
898
901
  }
899
902
  });
900
903
  }); });
package/http/auth.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/http/auth.ts"],"names":[],"mappings":"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","file":"auth.js","sourcesContent":["import * as express from 'express';\nimport * as handlebars from 'handlebars';\nimport * as jwt from 'jsonwebtoken';\nimport { jwtDecode } from 'jwt-decode';\nimport SimpleSchema from 'simpl-schema';\nimport { Users } from '../collections/user.collection';\nimport { ResolveIOServer } from '../resolveio-server-app';\nimport { ResolveIOMainServer } from '../server-app';\nimport { isAllowedOrigin, objectIdHexString } from '../util/common';\nimport { ErrorReporter } from '../util/error-reporter';\n\nasync function reportHttpValidationError(route: string, body: any, errors: any) {\n\tconst correlationId = objectIdHexString();\n\tconst config = ResolveIOServer.getServerConfig();\n\tawait ErrorReporter.report({\n\t\tsourceApp: 'http-auth',\n\t\tmessage: 'HTTP Validation Error - ' + route,\n\t\tenvironment: config?.ROOT_URL,\n\t\tclientSlug: ResolveIOServer.getClientName(),\n\t\tclientName: config?.CLIENT_NAME,\n\t\tcontext: {\n\t\t\troute,\n\t\t\tbody,\n\t\t\terrors\n\t\t},\n\t\tmetadata: {\n\t\t\tcontext: 'http-validation',\n\t\t\troute,\n\t\t\tcorrelationId\n\t\t},\n\t\tcorrelationId\n\t});\n}\n\nexport function setupAuthRoutes(mainServer: ResolveIOMainServer, app, serverConfig) {\n\tapp.post('/login365', express.json(), async (request, response) => {\n\t\tif (!isAllowedOrigin(request.headers.origin, serverConfig)) {\n\t\t\tresponse.send(JSON.stringify({\n\t\t\t\terror: true,\n\t\t\t\tresult: 'Invalid header'\n\t\t\t}));\n\t\t}\n\t\telse {\n\t\t\tlet body = request.body;\n\n\t\t\tlet schema = new SimpleSchema({\n\t\t\t\tid_token: {\n\t\t\t\t\ttype: String\n\t\t\t\t}\n\t\t\t});\n\t\n\t\t\ttry {\n\t\t\t\tschema.validate(body);\n\t\t\t}\n\t\t\tcatch (errors) {\n\t\t\t\tif (errors) {\n\t\t\t\t\tconsole.error(new Date(), 'Error in HTTP Check (/login)', errors);\n\n\t\t\t\t\tawait reportHttpValidationError('/login365', body, errors);\n\n\t\t\t\t\tresponse.send(JSON.stringify({\n\t\t\t\t\t\terror: true,\n\t\t\t\t\t\tresult: 'Invalid Parameters'\n\t\t\t\t\t}));\n\t\t\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tlet tokenData = body.id_token.split('&');\n\t\t\tlet token = tokenData[0].split('=')[1];\n\t\t\tlet decodedJWT = jwtDecode(token);\n\n\t\t\tif (decodedJWT && decodedJWT['name'] && decodedJWT['preferred_username'] && decodedJWT['oid']) {\n\t\t\t\tlet user = await Users.findOne({'other.ms_oid': decodedJWT['oid']});\n\n\t\t\t\tif (!user) {\n\t\t\t\t\tuser = await Users.findOne({email: decodedJWT['preferred_username'].toLowerCase()});\n\n\t\t\t\t\tif (user) {\n\t\t\t\t\t\tawait Users.updateOne({_id: user._id}, {$set: {'other.ms_oid': decodedJWT['oid']}});\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tif (!user) {\n\t\t\t\t\tuser = {\n\t\t\t\t\t\t_id: objectIdHexString(),\n\t\t\t\t\t\t__v: 0,\n\t\t\t\t\t\troles: {\n\t\t\t\t\t\t\tsuper_admin: false,\n\t\t\t\t\t\t\tapprovals: [],\n\t\t\t\t\t\t\tgroups: [],\n\t\t\t\t\t\t\tnotifications: [],\n\t\t\t\t\t\t\tmiscs: []\n\t\t\t\t\t\t},\n\t\t\t\t\t\tusername: decodedJWT['preferred_username'].toLowerCase(),\n\t\t\t\t\t\temail: decodedJWT['preferred_username'].toLowerCase(),\n\t\t\t\t\t\tfullname: decodedJWT['name'],\n\t\t\t\t\t\tactive: true,\n\t\t\t\t\t\tphonenumber: '',\n\t\t\t\t\t\treadonly: false,\n\t\t\t\t\t\tother: {\n\t\t\t\t\t\t\tms_oid: decodedJWT['oid']\n\t\t\t\t\t\t},\n\t\t\t\t\t\tattempts: 0,\n\t\t\t\t\t\tsalt: jwt.sign({now: (Date.now() - 1000).toString()}, serverConfig['JWT_SECRET'], {\n\t\t\t\t\t\t\texpiresIn : 90 * 24 * 60 * 60 * 1000 // 90 days\n\t\t\t\t\t\t}),\n\t\t\t\t\t\thash: jwt.sign({now: (Date.now() + 1000).toString()}, serverConfig['JWT_SECRET'], {\n\t\t\t\t\t\t\texpiresIn : 90 * 24 * 60 * 60 * 1000 // 90 days\n\t\t\t\t\t\t}),\n\t\t\t\t\t\tlast: new Date(),\n\t\t\t\t\t\tsettings: null,\n\t\t\t\t\t\tservices: null,\n\t\t\t\t\t\tis_customer: false\n\t\t\t\t\t};\n\t\t\t\t\t\n\t\t\t\t\tawait Users.create(user);\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tlet update = false;\n\n\t\t\t\t\tif (user.email !== decodedJWT['preferred_username'].toLowerCase()) {\n\t\t\t\t\t\tuser.email = decodedJWT['preferred_username'].toLowerCase();\n\t\t\t\t\t\tupdate = true;\n\t\t\t\t\t}\n\n\t\t\t\t\tif (user.fullname !== decodedJWT['name']) {\n\t\t\t\t\t\tuser.fullname = decodedJWT['name'];\n\t\t\t\t\t\tupdate = true;\n\t\t\t\t\t}\n\n\t\t\t\t\tif (update) {\n\t\t\t\t\t\tawait Users.updateOne({_id: user._id}, {$set: {email: user.email, fullname: user.fullname}});\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tresponse.send(JSON.stringify({\n\t\t\t\t\terror: false,\n\t\t\t\t\tresult: {\n\t\t\t\t\t\ttoken: jwt.sign({id_user: user._id}, serverConfig['JWT_SECRET'], {\n\t\t\t\t\t\t\texpiresIn : 90 * 24 * 60 * 60 * 1000 // 90 days\n\t\t\t\t\t\t})\n\t\t\t\t\t}\n\t\t\t\t}));\n\t\t\t}\n\t\t\telse {\n\t\t\t\tconsole.log('ERROR - 1', tokenData, token, decodedJWT);\n\n\t\t\t\tresponse.send(JSON.stringify({\n\t\t\t\t\terror: true,\n\t\t\t\t\tresult: 'Invalid Azure Token'\n\t\t\t\t}));\n\t\t\t}\n\t\t}\n\t});\n\n\t// Login via HTTP, return refresh token if authenticated\n\tapp.post('/login', express.json(), async (request, response) => {\n\t\tif (!isAllowedOrigin(request.headers.origin, serverConfig)) {\n\t\t\tresponse.send(JSON.stringify({\n\t\t\t\terror: true,\n\t\t\t\tresult: 'Invalid header'\n\t\t\t}));\n\t\t}\n\t\telse {\n\n\t\t\tlet body = request.body;\n\n\t\t\tlet schema = new SimpleSchema({\n\t\t\t\tusername: {\n\t\t\t\t\ttype: String\n\t\t\t\t},\n\t\t\t\tpassword: {\n\t\t\t\t\ttype: String\n\t\t\t\t}\n\t\t\t});\n\t\n\t\t\ttry {\n\t\t\t\tschema.validate(body);\n\t\t\t}\n\t\t\tcatch (errors) {\n\t\t\t\tif (errors) {\n\t\t\t\t\tconsole.error(new Date(), 'Error in HTTP Check (/login)', errors);\n\n\t\t\t\t\tawait reportHttpValidationError('/login', body, errors);\n\t\n\t\t\t\t\tresponse.send(JSON.stringify({\n\t\t\t\t\t\terror: true,\n\t\t\t\t\t\tresult: 'Invalid Parameters'\n\t\t\t\t\t}));\n\t\t\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tlet user = await Users.findOne({active: true, username: body.username});\n\n\t\t\tif (!user) {\n\t\t\t\tuser = await Users.findOne({active: true, email: body.username});\n\t\t\t}\n\t\t\t\n\t\t\tif (!user) {\n\t\t\t\tresponse.send(JSON.stringify({\n\t\t\t\t\terror: true,\n\t\t\t\t\tresult: 'Invalid Username And Password'\n\t\t\t\t}));\n\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tlet resAuth = await Users.authenticate(user, body.password);\n\n\t\t\tif (resAuth['error']) {\n\t\t\t\tif (resAuth['error'] === 'Too Many Attempts') {\n\t\t\t\t\tresponse.send(JSON.stringify({\n\t\t\t\t\t\terror: true,\n\t\t\t\t\t\tresult: resAuth['error'] + '. A password reset link has been sent to your email, please reset your password.'\n\t\t\t\t\t}));\n\n\t\t\t\t\tif (!user.services) {\n\t\t\t\t\t\tuser.services = {};\n\t\t\t\t\t}\n\n\t\t\t\t\tuser.services['forgot_password'] = jwt.sign({id_user: user._id}, serverConfig['JWT_SECRET']);\n\n\t\t\t\t\tlet emailData = {\n\t\t\t\t\t\tuserToChangePassword: user.fullname,\n\t\t\t\t\t\tuserWhoResetPassword: ResolveIOServer.getClientName() + ' System',\n\t\t\t\t\t\turl: (serverConfig['ROOT_URL'] + '/forgot-password?' + encodeURIComponent(serverConfig['SERVER_URL']) + '&' + user.services['forgot_password'])\n\t\t\t\t\t};\n\n\t\t\t\t\tawait Users.updateOne({_id: user._id}, {$set: {services: user.services}});\n\t\t\t\t\tlet html = mainServer.getMethodManager().readFile('email-templates/forgot-password.html');\n\t\t\t\t\tlet template = handlebars.compile(html);\n\t\t\t\t\thandlebars.registerHelper('equals', (a, b) => {\n\t\t\t\t\t\treturn a === b;\n\t\t\t\t\t});\n\t\n\t\t\t\t\tawait mainServer.getMethodManager().sendEmail(user.email, 'ResolveIO (' + ResolveIOServer.getClientName() + ') - Forgot Password', '', template(emailData), null, null, '');\n\t\t\t\t}\n\t\t\t\telse if (resAuth['error'] === 'No Salt Value Stored') {\n\t\t\t\t\tresponse.send(JSON.stringify({\n\t\t\t\t\t\terror: true,\n\t\t\t\t\t\tresult: 'A password reset link has been sent to your email, please reset your password.'\n\t\t\t\t\t}));\n\n\t\t\t\t\tif (!user.services) {\n\t\t\t\t\t\tuser.services = {};\n\t\t\t\t\t}\n\n\t\t\t\t\tuser.services['forgot_password'] = jwt.sign({id_user: user._id}, serverConfig['JWT_SECRET']);\n\n\t\t\t\t\tlet emailData = {\n\t\t\t\t\t\tuserToChangePassword: user.fullname,\n\t\t\t\t\t\tuserWhoResetPassword: ResolveIOServer.getClientName() + ' System',\n\t\t\t\t\t\turl: (serverConfig['ROOT_URL'] + '/forgot-password?' + encodeURIComponent(serverConfig['SERVER_URL']) + '&' + user.services['forgot_password'])\n\t\t\t\t\t};\n\n\t\t\t\t\tawait Users.updateOne({_id: user._id}, {$set: {services: user.services}});\n\t\t\t\t\tlet html = mainServer.getMethodManager().readFile('email-templates/forgot-password.html');\n\t\t\t\t\tlet template = handlebars.compile(html);\n\t\t\t\t\thandlebars.registerHelper('equals', (a, b) => {\n\t\t\t\t\t\treturn a === b;\n\t\t\t\t\t});\n\n\t\t\t\t\tawait mainServer.getMethodManager().sendEmail(user.email, 'ResolveIO (' + ResolveIOServer.getClientName() + ') - Forgot Password', '', template(emailData), null, null, '');\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tresponse.send(JSON.stringify({\n\t\t\t\t\t\terror: true,\n\t\t\t\t\t\tresult: resAuth['error']\n\t\t\t\t\t}));\n\t\t\t\t}\n\t\t\t}\n\t\t\telse {\n\t\t\t\tif (resAuth && resAuth['data'] && resAuth['data'].active) {\n\t\t\t\t\tawait Users.resetAttempts(resAuth['data']);\n\t\t\t\t\tresponse.send(JSON.stringify({\n\t\t\t\t\t\terror: false,\n\t\t\t\t\t\tresult: {\n\t\t\t\t\t\t\ttoken: jwt.sign({id_user: resAuth['data']._id}, serverConfig['JWT_SECRET'], {\n\t\t\t\t\t\t\t\texpiresIn : 90 * 24 * 60 * 60 * 1000 // 90 days\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t} \n\t\t\t\t\t}));\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t});\n\n\tapp.post('/accessToken', express.json(), async (request, response) => {\n\t\tif (!isAllowedOrigin(request.headers.origin, serverConfig)) {\n\t\t\tresponse.send(JSON.stringify({\n\t\t\t\terror: true,\n\t\t\t\tresult: 'Invalid header'\n\t\t\t}));\n\t\t}\n\t\telse {\n\t\t\tlet body = request.body;\n\n\t\t\tlet schema = new SimpleSchema({\n\t\t\t\trefreshToken: {\n\t\t\t\t\ttype: String\n\t\t\t\t}\n\t\t\t});\n\t\n\t\t\ttry {\n\t\t\t\tschema.validate(body);\n\t\t\t}\n\t\t\tcatch (errors) {\n\t\t\t\tif (errors) {\n\t\t\t\t\tconsole.error(new Date(), 'Error in HTTP Check (/accessToken)', errors);\n\n\t\t\t\t\tawait reportHttpValidationError('/accessToken', body, errors);\n\t\n\t\t\t\t\tresponse.send(JSON.stringify({\n\t\t\t\t\t\terror: true,\n\t\t\t\t\t\tresult: 'Invalid Parameters'\n\t\t\t\t\t}));\n\t\t\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tjwt.verify(body.refreshToken, serverConfig['JWT_SECRET'], async (err, decoded) => {\n\t\t\t\tif (err) {\n\t\t\t\t\tresponse.send(JSON.stringify({\n\t\t\t\t\t\terror: true,\n\t\t\t\t\t\tresult: 'Invalid Token'\n\t\t\t\t\t}));\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\ttry {\n\t\t\t\t\t\tlet user = await Users.findById(decoded['id_user']);\n\t\t\t\t\t\tif (user) {\n\t\t\t\t\t\t\tif (user.active) {\n\t\t\t\t\t\t\t\tresponse.send(JSON.stringify({\n\t\t\t\t\t\t\t\t\terror: false,\n\t\t\t\t\t\t\t\t\tresult: {\n\t\t\t\t\t\t\t\t\t\ttoken: jwt.sign({id_user: user._id}, serverConfig['JWT_SECRET'], {\n\t\t\t\t\t\t\t\t\t\t\texpiresIn : 3 * 24 * 60 * 60 * 1000 // 3 days\n\t\t\t\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\t\t\t\tuser: user\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}));\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\tresponse.send(JSON.stringify({\n\t\t\t\t\t\t\t\t\terror: true,\n\t\t\t\t\t\t\t\t\tresult: 'Account is Disabled'\n\t\t\t\t\t\t\t\t}));\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse {\n\t\t\t\t\t\t\tresponse.send(JSON.stringify({\n\t\t\t\t\t\t\t\terror: true,\n\t\t\t\t\t\t\t\tresult: 'Invalid User'\n\t\t\t\t\t\t\t}));\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tcatch {\n\t\t\t\t\t\tresponse.send(JSON.stringify({\n\t\t\t\t\t\t\terror: true,\n\t\t\t\t\t\t\tresult: 'Invalid Mongo Get User'\n\t\t\t\t\t\t}));\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t});\n\n\tapp.post('/userWithEnrollmentToken', express.json(), async (request, response) => {\n\t\tif (!isAllowedOrigin(request.headers.origin, serverConfig)) {\n\t\t\tresponse.send(JSON.stringify({\n\t\t\t\terror: true,\n\t\t\t\tresult: 'Invalid header'\n\t\t\t}));\n\t\t}\n\t\telse {\n\t\t\tlet body = request.body;\n\n\t\t\tlet schema = new SimpleSchema({\n\t\t\t\tenrollmentToken: {\n\t\t\t\t\ttype: String\n\t\t\t\t}\n\t\t\t});\n\t\n\t\t\ttry {\n\t\t\t\tschema.validate(body);\n\t\t\t}\n\t\t\tcatch (errors) {\n\t\t\t\tif (errors) {\n\t\t\t\t\tconsole.error(new Date(), 'Error in HTTP Check (/userWithEnrollmentToken)', errors);\n\n\t\t\t\t\tawait reportHttpValidationError('/userWithEnrollmentToken', body, errors);\n\t\n\t\t\t\t\tresponse.send(JSON.stringify({\n\t\t\t\t\t\terror: true,\n\t\t\t\t\t\tresult: 'Invalid Parameters'\n\t\t\t\t\t}));\n\t\t\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tjwt.verify(body.enrollmentToken, serverConfig['JWT_SECRET'], async (err, decoded) => {\n\t\t\t\tif (err) {\n\t\t\t\t\tresponse.send(JSON.stringify({\n\t\t\t\t\t\terror: true,\n\t\t\t\t\t\tresult: 'Invalid Token'\n\t\t\t\t\t}));\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\ttry {\n\t\t\t\t\t\tlet user = await Users.findOne({\n\t\t\t\t\t\t\t$and: [\n\t\t\t\t\t\t\t\t{_id: decoded['id_user']},\n\t\t\t\t\t\t\t\t{'services.enrollment': body.enrollmentToken}\n\t\t\t\t\t\t\t]\n\t\t\t\t\t\t}, {projection: {_id: 1, __v: 1, username: 1, active: 1}});\n\t\t\t\t\t\tif (user) {\n\t\t\t\t\t\t\tif (user.active) {\n\n\t\t\t\t\t\t\t\tresponse.send(JSON.stringify({\n\t\t\t\t\t\t\t\t\terror: false,\n\t\t\t\t\t\t\t\t\tresult: {\n\t\t\t\t\t\t\t\t\t\tuser: user\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}));\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\tresponse.send(JSON.stringify({\n\t\t\t\t\t\t\t\t\terror: true,\n\t\t\t\t\t\t\t\t\tresult: 'Account is Disabled'\n\t\t\t\t\t\t\t\t}));\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse {\n\t\t\t\t\t\t\tresponse.send(JSON.stringify({\n\t\t\t\t\t\t\t\terror: true,\n\t\t\t\t\t\t\t\tresult: 'Invalid User'\n\t\t\t\t\t\t\t}));\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tcatch {\n\t\t\t\t\t\tresponse.send(JSON.stringify({\n\t\t\t\t\t\t\terror: true,\n\t\t\t\t\t\t\tresult: 'Invalid Mongo Get User'\n\t\t\t\t\t\t}));\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t});\n\n\tapp.post('/setUserWithEnrollmentToken', express.json(), async (request, response) => {\n\t\tif (!isAllowedOrigin(request.headers.origin, serverConfig)) {\n\t\t\tresponse.send(JSON.stringify({\n\t\t\t\terror: true,\n\t\t\t\tresult: 'Invalid header'\n\t\t\t}));\n\t\t}\n\t\telse {\n\t\t\tlet body = request.body;\n\n\t\t\tlet schema = new SimpleSchema({\n\t\t\t\tenrollmentToken: {\n\t\t\t\t\ttype: String\n\t\t\t\t},\n\t\t\t\tpassword: {\n\t\t\t\t\ttype: String\n\t\t\t\t}\n\t\t\t});\n\t\n\t\t\ttry {\n\t\t\t\tschema.validate(body);\n\t\t\t}\n\t\t\tcatch (errors) {\n\t\t\t\tif (errors) {\n\t\t\t\t\tconsole.error(new Date(), 'Error in HTTP Check (/setUserWithEnrollmentToken)', errors);\n\n\t\t\t\t\tawait reportHttpValidationError('/setUserWithEnrollmentToken', body, errors);\n\t\n\t\t\t\t\tresponse.send(JSON.stringify({\n\t\t\t\t\t\terror: true,\n\t\t\t\t\t\tresult: 'Invalid Parameters'\n\t\t\t\t\t}));\n\t\t\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tjwt.verify(body.enrollmentToken, serverConfig['JWT_SECRET'], async (err, decoded) => {\n\t\t\t\tif (err) {\n\t\t\t\t\tresponse.send(JSON.stringify({\n\t\t\t\t\t\terror: true,\n\t\t\t\t\t\tresult: 'Invalid Token'\n\t\t\t\t\t}));\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\ttry {\n\t\t\t\t\t\tlet user = await Users.findOne({\n\t\t\t\t\t\t\t$and: [\n\t\t\t\t\t\t\t\t{_id: decoded['id_user']},\n\t\t\t\t\t\t\t\t{'services.enrollment': body.enrollmentToken}\n\t\t\t\t\t\t\t]\n\t\t\t\t\t\t});\n\t\t\t\t\t\tif (user) {\n\t\t\t\t\t\t\tif (user.active) {\n\t\t\t\t\t\t\t\tawait Users.setPassword(user, body.password);\n\n\t\t\t\t\t\t\t\tresponse.send(JSON.stringify({\n\t\t\t\t\t\t\t\t\terror: false,\n\t\t\t\t\t\t\t\t\tresult: true\n\t\t\t\t\t\t\t\t}));\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\tresponse.send(JSON.stringify({\n\t\t\t\t\t\t\t\t\terror: true,\n\t\t\t\t\t\t\t\t\tresult: 'Account is Disabled'\n\t\t\t\t\t\t\t\t}));\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse {\n\t\t\t\t\t\t\tresponse.send(JSON.stringify({\n\t\t\t\t\t\t\t\terror: true,\n\t\t\t\t\t\t\t\tresult: 'Invalid User'\n\t\t\t\t\t\t\t}));\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tcatch {\n\t\t\t\t\t\tresponse.send(JSON.stringify({\n\t\t\t\t\t\t\terror: true,\n\t\t\t\t\t\t\tresult: 'Invalid Mongo Get User'\n\t\t\t\t\t\t}));\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t});\n\n\tapp.post('/userWithForgotPasswordToken', express.json(), async (request, response) => {\n\t\tif (!isAllowedOrigin(request.headers.origin, serverConfig)) {\n\t\t\tresponse.send(JSON.stringify({\n\t\t\t\terror: true,\n\t\t\t\tresult: 'Invalid header'\n\t\t\t}));\n\t\t}\n\t\telse {\n\t\t\tlet body = request.body;\n\n\t\t\tlet schema = new SimpleSchema({\n\t\t\t\tforgotPasswordToken: {\n\t\t\t\t\ttype: String\n\t\t\t\t}\n\t\t\t});\n\t\n\t\t\ttry {\n\t\t\t\tschema.validate(body);\n\t\t\t}\n\t\t\tcatch (errors) {\n\t\t\t\tif (errors) {\n\t\t\t\t\tconsole.error(new Date(), 'Error in HTTP Check (/userWithForgotPasswordToken)', errors);\n\n\t\t\t\t\tawait reportHttpValidationError('/userWithForgotPasswordToken', body, errors);\n\t\n\t\t\t\t\tresponse.send(JSON.stringify({\n\t\t\t\t\t\terror: true,\n\t\t\t\t\t\tresult: 'Invalid Parameters'\n\t\t\t\t\t}));\n\t\t\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tjwt.verify(body.forgotPasswordToken, serverConfig['JWT_SECRET'], async (err, decoded) => {\n\t\t\t\tif (err) {\n\t\t\t\t\tresponse.send(JSON.stringify({\n\t\t\t\t\t\terror: true,\n\t\t\t\t\t\tresult: 'Invalid Token'\n\t\t\t\t\t}));\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\ttry {\n\t\t\t\t\t\tlet user = await Users.findOne({\n\t\t\t\t\t\t\t$and: [\n\t\t\t\t\t\t\t\t{_id: decoded['id_user']},\n\t\t\t\t\t\t\t\t{'services.forgot_password': body.forgotPasswordToken}\n\t\t\t\t\t\t\t]\n\t\t\t\t\t\t}, {projection: {_id: 1, __v: 1, username: 1, active: 1}});\n\t\t\t\t\t\t\t\n\t\t\t\t\t\tif (user) {\n\t\t\t\t\t\t\tif (user.active) {\n\t\t\t\t\t\t\t\tresponse.send(JSON.stringify({\n\t\t\t\t\t\t\t\t\terror: false,\n\t\t\t\t\t\t\t\t\tresult: {\n\t\t\t\t\t\t\t\t\t\tuser: user\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}));\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\tresponse.send(JSON.stringify({\n\t\t\t\t\t\t\t\t\terror: true,\n\t\t\t\t\t\t\t\t\tresult: 'Account is Disabled'\n\t\t\t\t\t\t\t\t}));\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse {\n\t\t\t\t\t\t\tresponse.send(JSON.stringify({\n\t\t\t\t\t\t\t\terror: true,\n\t\t\t\t\t\t\t\tresult: 'Invalid Token'\n\t\t\t\t\t\t\t}));\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tcatch {\n\t\t\t\t\t\tresponse.send(JSON.stringify({\n\t\t\t\t\t\t\terror: true,\n\t\t\t\t\t\t\tresult: 'Invalid Mongo Get User'\n\t\t\t\t\t\t}));\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t});\n\n\tapp.post('/setUserWithForgotPasswordToken', express.json(), async (request, response) => {\n\t\tif (!isAllowedOrigin(request.headers.origin, serverConfig)) {\n\t\t\tresponse.send(JSON.stringify({\n\t\t\t\terror: true,\n\t\t\t\tresult: 'Invalid header'\n\t\t\t}));\n\t\t}\n\t\telse {\n\t\t\tlet body = request.body;\n\n\t\t\tlet schema = new SimpleSchema({\n\t\t\t\tforgotPasswordToken: {\n\t\t\t\t\ttype: String\n\t\t\t\t},\n\t\t\t\tpassword: {\n\t\t\t\t\ttype: String\n\t\t\t\t}\n\t\t\t});\n\t\n\t\t\ttry {\n\t\t\t\tschema.validate(body);\n\t\t\t}\n\t\t\tcatch (errors) {\n\t\t\t\tif (errors) {\n\t\t\t\t\tconsole.error(new Date(), 'Error in HTTP Check (/setUserWithForgotPasswordToken)', errors);\n\n\t\t\t\t\tawait reportHttpValidationError('/setUserWithForgotPasswordToken', body, errors);\n\t\n\t\t\t\t\tresponse.send(JSON.stringify({\n\t\t\t\t\t\terror: true,\n\t\t\t\t\t\tresult: 'Invalid Parameters'\n\t\t\t\t\t}));\n\t\t\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tjwt.verify(body.forgotPasswordToken, serverConfig['JWT_SECRET'], async (err, decoded) => {\n\t\t\t\tif (err) {\n\t\t\t\t\tresponse.send(JSON.stringify({\n\t\t\t\t\t\terror: true,\n\t\t\t\t\t\tresult: 'Invalid Token'\n\t\t\t\t\t}));\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\ttry {\n\t\t\t\t\t\tlet user = await Users.findOne({\n\t\t\t\t\t\t\t$and: [\n\t\t\t\t\t\t\t\t{_id: decoded['id_user']},\n\t\t\t\t\t\t\t\t{'services.forgot_password': body.forgotPasswordToken}\n\t\t\t\t\t\t\t]\n\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\n\t\t\t\t\t\tif (user) {\n\t\t\t\t\t\t\tif (user.active) {\n\t\t\t\t\t\t\t\tawait Users.setPassword(user, body.password);\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tresponse.send(JSON.stringify({\n\t\t\t\t\t\t\t\t\terror: false,\n\t\t\t\t\t\t\t\t\tresult: true\n\t\t\t\t\t\t\t\t}));\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\tresponse.send(JSON.stringify({\n\t\t\t\t\t\t\t\t\terror: true,\n\t\t\t\t\t\t\t\t\tresult: 'Account is Disabled'\n\t\t\t\t\t\t\t\t}));\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse {\n\t\t\t\t\t\t\tresponse.send(JSON.stringify({\n\t\t\t\t\t\t\t\terror: true,\n\t\t\t\t\t\t\t\tresult: 'Invalid User'\n\t\t\t\t\t\t\t}));\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tcatch {\n\t\t\t\t\t\tresponse.send(JSON.stringify({\n\t\t\t\t\t\t\terror: true,\n\t\t\t\t\t\t\tresult: 'Invalid Mongo Get User'\n\t\t\t\t\t\t}));\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t});\n\n\tapp.post('/resetPassword', express.json(), async (request, response) => {\n\t\tif (!isAllowedOrigin(request.headers.origin, serverConfig)) {\n\t\t\tresponse.send(JSON.stringify({\n\t\t\t\terror: true,\n\t\t\t\tresult: 'Invalid header'\n\t\t\t}));\n\t\t}\n\t\telse {\n\t\t\tlet body = request.body;\n\n\t\t\tlet schema = new SimpleSchema({\n\t\t\t\tusername: {\n\t\t\t\t\ttype: String\n\t\t\t\t}\n\t\t\t});\n\t\n\t\t\ttry {\n\t\t\t\tschema.validate(body);\n\t\t\t}\n\t\t\tcatch (errors) {\n\t\t\t\tif (errors) {\n\t\t\t\t\tconsole.error(new Date(), 'Error in HTTP Check (/resetPassword)', errors);\n\n\t\t\t\t\tawait reportHttpValidationError('/resetPassword', body, errors);\n\t\n\t\t\t\t\tresponse.send(JSON.stringify({\n\t\t\t\t\t\terror: true,\n\t\t\t\t\t\tresult: 'Invalid Parameters'\n\t\t\t\t\t}));\n\t\t\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tlet user = await Users.findOne({active: true, username: body.username});\n\n\t\t\tif (!user) {\n\t\t\t\tuser = await Users.findOne({active: true, email: body.username});\n\t\t\t}\n\t\t\t\n\t\t\tif (user) {\n\t\t\t\tmainServer.getMethodManager().callMethod.call(mainServer.getMethodManager(), 'resetUserPassword', user._id);\n\t\t\t}\n\n\t\t\tresponse.send(JSON.stringify({\n\t\t\t\terror: false,\n\t\t\t\tresult: ''\n\t\t\t}));\n\t\t}\n\t});\n}\n"]}
1
+ {"version":3,"sources":["../../src/http/auth.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAkCA,0CAytBC;AA3vBD,iCAAmC;AACnC,uCAAyC;AACzC,kCAAoC;AACpC,yCAAuC;AACvC,6CAAwC;AACxC,kEAAuD;AACvD,gEAA0D;AAE1D,yCAAoE;AACpE,yDAAuD;AAEvD,SAAe,yBAAyB,CAAC,KAAa,EAAE,IAAS,EAAE,MAAW;;;;;;oBACvE,aAAa,GAAG,IAAA,0BAAiB,GAAE,CAAC;oBACpC,MAAM,GAAG,sCAAe,CAAC,eAAe,EAAE,CAAC;oBACjD,qBAAM,8BAAa,CAAC,MAAM,CAAC;4BAC1B,SAAS,EAAE,WAAW;4BACtB,OAAO,EAAE,0BAA0B,GAAG,KAAK;4BAC3C,WAAW,EAAE,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,QAAQ;4BAC7B,UAAU,EAAE,sCAAe,CAAC,aAAa,EAAE;4BAC3C,UAAU,EAAE,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,WAAW;4BAC/B,OAAO,EAAE;gCACR,KAAK,OAAA;gCACL,IAAI,MAAA;gCACJ,MAAM,QAAA;6BACN;4BACD,QAAQ,EAAE;gCACT,OAAO,EAAE,iBAAiB;gCAC1B,KAAK,OAAA;gCACL,aAAa,eAAA;6BACb;4BACD,aAAa,eAAA;yBACb,CAAC,EAAA;;oBAjBF,SAiBE,CAAC;;;;;CACH;AAED,SAAgB,eAAe,CAAC,UAA+B,EAAE,GAAG,EAAE,YAAY;IAAlF,iBAytBC;IAxtBA,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,OAAO,CAAC,IAAI,EAAE,EAAE,UAAO,OAAO,EAAE,QAAQ;;;;;yBACzD,CAAC,IAAA,wBAAe,EAAC,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,YAAY,CAAC,EAAtD,wBAAsD;oBACzD,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC;wBAC5B,KAAK,EAAE,IAAI;wBACX,MAAM,EAAE,gBAAgB;qBACxB,CAAC,CAAC,CAAC;;;oBAGA,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;oBAEpB,MAAM,GAAG,IAAI,sBAAY,CAAC;wBAC7B,QAAQ,EAAE;4BACT,IAAI,EAAE,MAAM;yBACZ;qBACD,CAAC,CAAC;;;;oBAGF,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;;;;yBAGlB,QAAM,EAAN,wBAAM;oBACT,OAAO,CAAC,KAAK,CAAC,IAAI,IAAI,EAAE,EAAE,8BAA8B,EAAE,QAAM,CAAC,CAAC;oBAElE,qBAAM,yBAAyB,CAAC,WAAW,EAAE,IAAI,EAAE,QAAM,CAAC,EAAA;;oBAA1D,SAA0D,CAAC;oBAE3D,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC;wBAC5B,KAAK,EAAE,IAAI;wBACX,MAAM,EAAE,oBAAoB;qBAC5B,CAAC,CAAC,CAAC;oBAEJ,sBAAO;;;oBAIL,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;oBACrC,KAAK,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;oBACnC,UAAU,GAAG,IAAA,sBAAS,EAAC,KAAK,CAAC,CAAC;yBAE9B,CAAA,UAAU,IAAI,UAAU,CAAC,MAAM,CAAC,IAAI,UAAU,CAAC,oBAAoB,CAAC,IAAI,UAAU,CAAC,KAAK,CAAC,CAAA,EAAzF,yBAAyF;oBACjF,qBAAM,uBAAK,CAAC,OAAO,CAAC,EAAC,cAAc,EAAE,UAAU,CAAC,KAAK,CAAC,EAAC,CAAC,EAAA;;oBAA/D,IAAI,GAAG,SAAwD;yBAE/D,CAAC,IAAI,EAAL,yBAAK;oBACD,qBAAM,uBAAK,CAAC,OAAO,CAAC,EAAC,KAAK,EAAE,UAAU,CAAC,oBAAoB,CAAC,CAAC,WAAW,EAAE,EAAC,CAAC,EAAA;;oBAAnF,IAAI,GAAG,SAA4E,CAAC;yBAEhF,IAAI,EAAJ,yBAAI;oBACP,qBAAM,uBAAK,CAAC,SAAS,CAAC,EAAC,GAAG,EAAE,IAAI,CAAC,GAAG,EAAC,EAAE,EAAC,IAAI,EAAE,EAAC,cAAc,EAAE,UAAU,CAAC,KAAK,CAAC,EAAC,EAAC,CAAC,EAAA;;oBAAnF,SAAmF,CAAC;;;yBAIlF,CAAC,IAAI,EAAL,yBAAK;oBACR,IAAI,GAAG;wBACN,GAAG,EAAE,IAAA,0BAAiB,GAAE;wBACxB,GAAG,EAAE,CAAC;wBACN,KAAK,EAAE;4BACN,WAAW,EAAE,KAAK;4BAClB,SAAS,EAAE,EAAE;4BACb,MAAM,EAAE,EAAE;4BACV,aAAa,EAAE,EAAE;4BACjB,KAAK,EAAE,EAAE;yBACT;wBACD,QAAQ,EAAE,UAAU,CAAC,oBAAoB,CAAC,CAAC,WAAW,EAAE;wBACxD,KAAK,EAAE,UAAU,CAAC,oBAAoB,CAAC,CAAC,WAAW,EAAE;wBACrD,QAAQ,EAAE,UAAU,CAAC,MAAM,CAAC;wBAC5B,MAAM,EAAE,IAAI;wBACZ,WAAW,EAAE,EAAE;wBACf,QAAQ,EAAE,KAAK;wBACf,KAAK,EAAE;4BACN,MAAM,EAAE,UAAU,CAAC,KAAK,CAAC;yBACzB;wBACD,QAAQ,EAAE,CAAC;wBACX,IAAI,EAAE,GAAG,CAAC,IAAI,CAAC,EAAC,GAAG,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAC,EAAE,YAAY,CAAC,YAAY,CAAC,EAAE;4BACjF,SAAS,EAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,UAAU;yBAC/C,CAAC;wBACF,IAAI,EAAE,GAAG,CAAC,IAAI,CAAC,EAAC,GAAG,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAC,EAAE,YAAY,CAAC,YAAY,CAAC,EAAE;4BACjF,SAAS,EAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,UAAU;yBAC/C,CAAC;wBACF,IAAI,EAAG,IAAI,IAAI,EAAE;wBACjB,QAAQ,EAAE,IAAI;wBACd,QAAQ,EAAE,IAAI;wBACd,WAAW,EAAE,KAAK;qBAClB,CAAC;oBAEF,qBAAM,uBAAK,CAAC,MAAM,CAAC,IAAI,CAAC,EAAA;;oBAAxB,SAAwB,CAAC;;;oBAGrB,MAAM,GAAG,KAAK,CAAC;oBAEnB,IAAI,IAAI,CAAC,KAAK,KAAK,UAAU,CAAC,oBAAoB,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC;wBACnE,IAAI,CAAC,KAAK,GAAG,UAAU,CAAC,oBAAoB,CAAC,CAAC,WAAW,EAAE,CAAC;wBAC5D,MAAM,GAAG,IAAI,CAAC;oBACf,CAAC;oBAED,IAAI,IAAI,CAAC,QAAQ,KAAK,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;wBAC1C,IAAI,CAAC,QAAQ,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC;wBACnC,MAAM,GAAG,IAAI,CAAC;oBACf,CAAC;yBAEG,MAAM,EAAN,yBAAM;oBACT,qBAAM,uBAAK,CAAC,SAAS,CAAC,EAAC,GAAG,EAAE,IAAI,CAAC,GAAG,EAAC,EAAE,EAAC,IAAI,EAAE,EAAC,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAC,EAAC,CAAC,EAAA;;oBAA5F,SAA4F,CAAC;;;oBAI/F,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC;wBAC5B,KAAK,EAAE,KAAK;wBACZ,MAAM,EAAE;4BACP,KAAK,EAAE,GAAG,CAAC,IAAI,CAAC,EAAC,OAAO,EAAE,IAAI,CAAC,GAAG,EAAC,EAAE,YAAY,CAAC,YAAY,CAAC,EAAE;gCAChE,SAAS,EAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,UAAU;6BAC/C,CAAC;yBACF;qBACD,CAAC,CAAC,CAAC;;;oBAGJ,OAAO,CAAC,GAAG,CAAC,WAAW,EAAE,SAAS,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC;oBAEvD,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC;wBAC5B,KAAK,EAAE,IAAI;wBACX,MAAM,EAAE,qBAAqB;qBAC7B,CAAC,CAAC,CAAC;;;;;SAGN,CAAC,CAAC;IAEH,wDAAwD;IACxD,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,IAAI,EAAE,EAAE,UAAO,OAAO,EAAE,QAAQ;;;;;yBACtD,CAAC,IAAA,wBAAe,EAAC,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,YAAY,CAAC,EAAtD,wBAAsD;oBACzD,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC;wBAC5B,KAAK,EAAE,IAAI;wBACX,MAAM,EAAE,gBAAgB;qBACxB,CAAC,CAAC,CAAC;;;oBAIA,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;oBAEpB,MAAM,GAAG,IAAI,sBAAY,CAAC;wBAC7B,QAAQ,EAAE;4BACT,IAAI,EAAE,MAAM;yBACZ;wBACD,QAAQ,EAAE;4BACT,IAAI,EAAE,MAAM;yBACZ;qBACD,CAAC,CAAC;;;;oBAGF,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;;;;yBAGlB,QAAM,EAAN,wBAAM;oBACT,OAAO,CAAC,KAAK,CAAC,IAAI,IAAI,EAAE,EAAE,8BAA8B,EAAE,QAAM,CAAC,CAAC;oBAElE,qBAAM,yBAAyB,CAAC,QAAQ,EAAE,IAAI,EAAE,QAAM,CAAC,EAAA;;oBAAvD,SAAuD,CAAC;oBAExD,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC;wBAC5B,KAAK,EAAE,IAAI;wBACX,MAAM,EAAE,oBAAoB;qBAC5B,CAAC,CAAC,CAAC;oBAEJ,sBAAO;;wBAIE,qBAAM,uBAAK,CAAC,OAAO,CAAC,EAAC,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAC,CAAC,EAAA;;oBAAnE,IAAI,GAAG,SAA4D;yBAEnE,CAAC,IAAI,EAAL,wBAAK;oBACD,qBAAM,uBAAK,CAAC,OAAO,CAAC,EAAC,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,QAAQ,EAAC,CAAC,EAAA;;oBAAhE,IAAI,GAAG,SAAyD,CAAC;;;oBAGlE,IAAI,CAAC,IAAI,EAAE,CAAC;wBACX,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC;4BAC5B,KAAK,EAAE,IAAI;4BACX,MAAM,EAAE,+BAA+B;yBACvC,CAAC,CAAC,CAAC;wBAEJ,sBAAO;oBACR,CAAC;oBAEa,qBAAM,uBAAK,CAAC,YAAY,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAA;;oBAAvD,OAAO,GAAG,SAA6C;yBAEvD,OAAO,CAAC,OAAO,CAAC,EAAhB,yBAAgB;yBACf,CAAA,OAAO,CAAC,OAAO,CAAC,KAAK,mBAAmB,CAAA,EAAxC,yBAAwC;oBAC3C,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC;wBAC5B,KAAK,EAAE,IAAI;wBACX,MAAM,EAAE,OAAO,CAAC,OAAO,CAAC,GAAG,mFAAmF;qBAC9G,CAAC,CAAC,CAAC;oBAEJ,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;wBACpB,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;oBACpB,CAAC;oBAED,IAAI,CAAC,QAAQ,CAAC,iBAAiB,CAAC,GAAG,GAAG,CAAC,IAAI,CAAC,EAAC,OAAO,EAAE,IAAI,CAAC,GAAG,EAAC,EAAE,YAAY,CAAC,YAAY,CAAC,CAAC,CAAC;oBAEzF,SAAS,GAAG;wBACf,oBAAoB,EAAE,IAAI,CAAC,QAAQ;wBACnC,oBAAoB,EAAE,sCAAe,CAAC,aAAa,EAAE,GAAG,SAAS;wBACjE,GAAG,EAAE,CAAC,YAAY,CAAC,UAAU,CAAC,GAAG,mBAAmB,GAAG,kBAAkB,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC,GAAG,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC;qBAC/I,CAAC;oBAEF,qBAAM,uBAAK,CAAC,SAAS,CAAC,EAAC,GAAG,EAAE,IAAI,CAAC,GAAG,EAAC,EAAE,EAAC,IAAI,EAAE,EAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAC,EAAC,CAAC,EAAA;;oBAAzE,SAAyE,CAAC;oBACtE,IAAI,GAAG,UAAU,CAAC,gBAAgB,EAAE,CAAC,QAAQ,CAAC,sCAAsC,CAAC,CAAC;oBACtF,QAAQ,GAAG,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;oBACxC,UAAU,CAAC,cAAc,CAAC,QAAQ,EAAE,UAAC,CAAC,EAAE,CAAC;wBACxC,OAAO,CAAC,KAAK,CAAC,CAAC;oBAChB,CAAC,CAAC,CAAC;oBAEH,qBAAM,UAAU,CAAC,gBAAgB,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,EAAE,aAAa,GAAG,sCAAe,CAAC,aAAa,EAAE,GAAG,qBAAqB,EAAE,EAAE,EAAE,QAAQ,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,CAAC,EAAA;;oBAA3K,SAA2K,CAAC;;;yBAEpK,CAAA,OAAO,CAAC,OAAO,CAAC,KAAK,sBAAsB,CAAA,EAA3C,yBAA2C;oBACnD,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC;wBAC5B,KAAK,EAAE,IAAI;wBACX,MAAM,EAAE,gFAAgF;qBACxF,CAAC,CAAC,CAAC;oBAEJ,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;wBACpB,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;oBACpB,CAAC;oBAED,IAAI,CAAC,QAAQ,CAAC,iBAAiB,CAAC,GAAG,GAAG,CAAC,IAAI,CAAC,EAAC,OAAO,EAAE,IAAI,CAAC,GAAG,EAAC,EAAE,YAAY,CAAC,YAAY,CAAC,CAAC,CAAC;oBAEzF,SAAS,GAAG;wBACf,oBAAoB,EAAE,IAAI,CAAC,QAAQ;wBACnC,oBAAoB,EAAE,sCAAe,CAAC,aAAa,EAAE,GAAG,SAAS;wBACjE,GAAG,EAAE,CAAC,YAAY,CAAC,UAAU,CAAC,GAAG,mBAAmB,GAAG,kBAAkB,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC,GAAG,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC;qBAC/I,CAAC;oBAEF,qBAAM,uBAAK,CAAC,SAAS,CAAC,EAAC,GAAG,EAAE,IAAI,CAAC,GAAG,EAAC,EAAE,EAAC,IAAI,EAAE,EAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAC,EAAC,CAAC,EAAA;;oBAAzE,SAAyE,CAAC;oBACtE,IAAI,GAAG,UAAU,CAAC,gBAAgB,EAAE,CAAC,QAAQ,CAAC,sCAAsC,CAAC,CAAC;oBACtF,QAAQ,GAAG,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;oBACxC,UAAU,CAAC,cAAc,CAAC,QAAQ,EAAE,UAAC,CAAC,EAAE,CAAC;wBACxC,OAAO,CAAC,KAAK,CAAC,CAAC;oBAChB,CAAC,CAAC,CAAC;oBAEH,qBAAM,UAAU,CAAC,gBAAgB,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,EAAE,aAAa,GAAG,sCAAe,CAAC,aAAa,EAAE,GAAG,qBAAqB,EAAE,EAAE,EAAE,QAAQ,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,CAAC,EAAA;;oBAA3K,SAA2K,CAAC;;;oBAG5K,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC;wBAC5B,KAAK,EAAE,IAAI;wBACX,MAAM,EAAE,OAAO,CAAC,OAAO,CAAC;qBACxB,CAAC,CAAC,CAAC;;;;yBAID,CAAA,OAAO,IAAI,OAAO,CAAC,MAAM,CAAC,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,CAAA,EAApD,yBAAoD;oBACvD,qBAAM,uBAAK,CAAC,aAAa,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,EAAA;;oBAA1C,SAA0C,CAAC;oBAC3C,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC;wBAC5B,KAAK,EAAE,KAAK;wBACZ,MAAM,EAAE;4BACP,KAAK,EAAE,GAAG,CAAC,IAAI,CAAC,EAAC,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,EAAC,EAAE,YAAY,CAAC,YAAY,CAAC,EAAE;gCAC3E,SAAS,EAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,UAAU;6BAC/C,CAAC;yBACF;qBACD,CAAC,CAAC,CAAC;;;;;SAIP,CAAC,CAAC;IAEH,GAAG,CAAC,IAAI,CAAC,cAAc,EAAE,OAAO,CAAC,IAAI,EAAE,EAAE,UAAO,OAAO,EAAE,QAAQ;;;;;;yBAC5D,CAAC,IAAA,wBAAe,EAAC,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,YAAY,CAAC,EAAtD,wBAAsD;oBACzD,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC;wBAC5B,KAAK,EAAE,IAAI;wBACX,MAAM,EAAE,gBAAgB;qBACxB,CAAC,CAAC,CAAC;;;oBAGA,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;oBAEpB,MAAM,GAAG,IAAI,sBAAY,CAAC;wBAC7B,YAAY,EAAE;4BACb,IAAI,EAAE,MAAM;yBACZ;qBACD,CAAC,CAAC;;;;oBAGF,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;;;;yBAGlB,QAAM,EAAN,wBAAM;oBACT,OAAO,CAAC,KAAK,CAAC,IAAI,IAAI,EAAE,EAAE,oCAAoC,EAAE,QAAM,CAAC,CAAC;oBAExE,qBAAM,yBAAyB,CAAC,cAAc,EAAE,IAAI,EAAE,QAAM,CAAC,EAAA;;oBAA7D,SAA6D,CAAC;oBAE9D,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC;wBAC5B,KAAK,EAAE,IAAI;wBACX,MAAM,EAAE,oBAAoB;qBAC5B,CAAC,CAAC,CAAC;oBAEJ,sBAAO;;;oBAIT,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,EAAE,YAAY,CAAC,YAAY,CAAC,EAAE,UAAO,GAAG,EAAE,OAAO;;;;;yCACxE,GAAG,EAAH,wBAAG;oCACN,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC;wCAC5B,KAAK,EAAE,IAAI;wCACX,MAAM,EAAE,eAAe;qCACvB,CAAC,CAAC,CAAC;;;;oCAIQ,qBAAM,uBAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,EAAA;;oCAA/C,IAAI,GAAG,SAAwC;oCACnD,IAAI,IAAI,EAAE,CAAC;wCACV,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;4CACjB,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC;gDAC5B,KAAK,EAAE,KAAK;gDACZ,MAAM,EAAE;oDACP,KAAK,EAAE,GAAG,CAAC,IAAI,CAAC,EAAC,OAAO,EAAE,IAAI,CAAC,GAAG,EAAC,EAAE,YAAY,CAAC,YAAY,CAAC,EAAE;wDAChE,SAAS,EAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,SAAS;qDAC7C,CAAC;oDACF,IAAI,EAAE,IAAI;iDACV;6CACD,CAAC,CAAC,CAAC;wCACL,CAAC;6CACI,CAAC;4CACL,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC;gDAC5B,KAAK,EAAE,IAAI;gDACX,MAAM,EAAE,qBAAqB;6CAC7B,CAAC,CAAC,CAAC;wCACL,CAAC;oCACF,CAAC;yCACI,CAAC;wCACL,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC;4CAC5B,KAAK,EAAE,IAAI;4CACX,MAAM,EAAE,cAAc;yCACtB,CAAC,CAAC,CAAC;oCACL,CAAC;;;;oCAGD,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC;wCAC5B,KAAK,EAAE,IAAI;wCACX,MAAM,EAAE,wBAAwB;qCAChC,CAAC,CAAC,CAAC;;;;;yBAGN,CAAC,CAAC;;;;;SAEJ,CAAC,CAAC;IAEH,GAAG,CAAC,IAAI,CAAC,0BAA0B,EAAE,OAAO,CAAC,IAAI,EAAE,EAAE,UAAO,OAAO,EAAE,QAAQ;;;;;;yBACxE,CAAC,IAAA,wBAAe,EAAC,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,YAAY,CAAC,EAAtD,wBAAsD;oBACzD,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC;wBAC5B,KAAK,EAAE,IAAI;wBACX,MAAM,EAAE,gBAAgB;qBACxB,CAAC,CAAC,CAAC;;;oBAGA,SAAO,OAAO,CAAC,IAAI,CAAC;oBAEpB,MAAM,GAAG,IAAI,sBAAY,CAAC;wBAC7B,eAAe,EAAE;4BAChB,IAAI,EAAE,MAAM;yBACZ;qBACD,CAAC,CAAC;;;;oBAGF,MAAM,CAAC,QAAQ,CAAC,MAAI,CAAC,CAAC;;;;yBAGlB,QAAM,EAAN,wBAAM;oBACT,OAAO,CAAC,KAAK,CAAC,IAAI,IAAI,EAAE,EAAE,gDAAgD,EAAE,QAAM,CAAC,CAAC;oBAEpF,qBAAM,yBAAyB,CAAC,0BAA0B,EAAE,MAAI,EAAE,QAAM,CAAC,EAAA;;oBAAzE,SAAyE,CAAC;oBAE1E,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC;wBAC5B,KAAK,EAAE,IAAI;wBACX,MAAM,EAAE,oBAAoB;qBAC5B,CAAC,CAAC,CAAC;oBAEJ,sBAAO;;;oBAIT,GAAG,CAAC,MAAM,CAAC,MAAI,CAAC,eAAe,EAAE,YAAY,CAAC,YAAY,CAAC,EAAE,UAAO,GAAG,EAAE,OAAO;;;;;yCAC3E,GAAG,EAAH,wBAAG;oCACN,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC;wCAC5B,KAAK,EAAE,IAAI;wCACX,MAAM,EAAE,eAAe;qCACvB,CAAC,CAAC,CAAC;;;;oCAIQ,qBAAM,uBAAK,CAAC,OAAO,CAAC;4CAC9B,IAAI,EAAE;gDACL,EAAC,GAAG,EAAE,OAAO,CAAC,SAAS,CAAC,EAAC;gDACzB,EAAC,qBAAqB,EAAE,MAAI,CAAC,eAAe,EAAC;6CAC7C;yCACD,EAAE,EAAC,UAAU,EAAE,EAAC,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAC,EAAC,CAAC,EAAA;;oCALtD,IAAI,GAAG,SAK+C;oCAC1D,IAAI,IAAI,EAAE,CAAC;wCACV,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;4CAEjB,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC;gDAC5B,KAAK,EAAE,KAAK;gDACZ,MAAM,EAAE;oDACP,IAAI,EAAE,IAAI;iDACV;6CACD,CAAC,CAAC,CAAC;wCACL,CAAC;6CACI,CAAC;4CACL,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC;gDAC5B,KAAK,EAAE,IAAI;gDACX,MAAM,EAAE,qBAAqB;6CAC7B,CAAC,CAAC,CAAC;wCACL,CAAC;oCACF,CAAC;yCACI,CAAC;wCACL,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC;4CAC5B,KAAK,EAAE,IAAI;4CACX,MAAM,EAAE,cAAc;yCACtB,CAAC,CAAC,CAAC;oCACL,CAAC;;;;oCAGD,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC;wCAC5B,KAAK,EAAE,IAAI;wCACX,MAAM,EAAE,wBAAwB;qCAChC,CAAC,CAAC,CAAC;;;;;yBAGN,CAAC,CAAC;;;;;SAEJ,CAAC,CAAC;IAEH,GAAG,CAAC,IAAI,CAAC,6BAA6B,EAAE,OAAO,CAAC,IAAI,EAAE,EAAE,UAAO,OAAO,EAAE,QAAQ;;;;;;yBAC3E,CAAC,IAAA,wBAAe,EAAC,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,YAAY,CAAC,EAAtD,wBAAsD;oBACzD,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC;wBAC5B,KAAK,EAAE,IAAI;wBACX,MAAM,EAAE,gBAAgB;qBACxB,CAAC,CAAC,CAAC;;;oBAGA,SAAO,OAAO,CAAC,IAAI,CAAC;oBAEpB,MAAM,GAAG,IAAI,sBAAY,CAAC;wBAC7B,eAAe,EAAE;4BAChB,IAAI,EAAE,MAAM;yBACZ;wBACD,QAAQ,EAAE;4BACT,IAAI,EAAE,MAAM;yBACZ;qBACD,CAAC,CAAC;;;;oBAGF,MAAM,CAAC,QAAQ,CAAC,MAAI,CAAC,CAAC;;;;yBAGlB,QAAM,EAAN,wBAAM;oBACT,OAAO,CAAC,KAAK,CAAC,IAAI,IAAI,EAAE,EAAE,mDAAmD,EAAE,QAAM,CAAC,CAAC;oBAEvF,qBAAM,yBAAyB,CAAC,6BAA6B,EAAE,MAAI,EAAE,QAAM,CAAC,EAAA;;oBAA5E,SAA4E,CAAC;oBAE7E,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC;wBAC5B,KAAK,EAAE,IAAI;wBACX,MAAM,EAAE,oBAAoB;qBAC5B,CAAC,CAAC,CAAC;oBAEJ,sBAAO;;;oBAIT,GAAG,CAAC,MAAM,CAAC,MAAI,CAAC,eAAe,EAAE,YAAY,CAAC,YAAY,CAAC,EAAE,UAAO,GAAG,EAAE,OAAO;;;;;yCAC3E,GAAG,EAAH,wBAAG;oCACN,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC;wCAC5B,KAAK,EAAE,IAAI;wCACX,MAAM,EAAE,eAAe;qCACvB,CAAC,CAAC,CAAC;;;;oCAIQ,qBAAM,uBAAK,CAAC,OAAO,CAAC;4CAC9B,IAAI,EAAE;gDACL,EAAC,GAAG,EAAE,OAAO,CAAC,SAAS,CAAC,EAAC;gDACzB,EAAC,qBAAqB,EAAE,MAAI,CAAC,eAAe,EAAC;6CAC7C;yCACD,CAAC,EAAA;;oCALE,IAAI,GAAG,SAKT;yCACE,IAAI,EAAJ,wBAAI;yCACH,IAAI,CAAC,MAAM,EAAX,wBAAW;oCACd,qBAAM,uBAAK,CAAC,WAAW,CAAC,IAAI,EAAE,MAAI,CAAC,QAAQ,CAAC,EAAA;;oCAA5C,SAA4C,CAAC;oCAE7C,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC;wCAC5B,KAAK,EAAE,KAAK;wCACZ,MAAM,EAAE,IAAI;qCACZ,CAAC,CAAC,CAAC;;;oCAGJ,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC;wCAC5B,KAAK,EAAE,IAAI;wCACX,MAAM,EAAE,qBAAqB;qCAC7B,CAAC,CAAC,CAAC;;;;oCAIL,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC;wCAC5B,KAAK,EAAE,IAAI;wCACX,MAAM,EAAE,cAAc;qCACtB,CAAC,CAAC,CAAC;;;;;oCAIL,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC;wCAC5B,KAAK,EAAE,IAAI;wCACX,MAAM,EAAE,wBAAwB;qCAChC,CAAC,CAAC,CAAC;;;;;yBAGN,CAAC,CAAC;;;;;SAEJ,CAAC,CAAC;IAEH,GAAG,CAAC,IAAI,CAAC,8BAA8B,EAAE,OAAO,CAAC,IAAI,EAAE,EAAE,UAAO,OAAO,EAAE,QAAQ;;;;;;yBAC5E,CAAC,IAAA,wBAAe,EAAC,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,YAAY,CAAC,EAAtD,wBAAsD;oBACzD,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC;wBAC5B,KAAK,EAAE,IAAI;wBACX,MAAM,EAAE,gBAAgB;qBACxB,CAAC,CAAC,CAAC;;;oBAGA,SAAO,OAAO,CAAC,IAAI,CAAC;oBAEpB,MAAM,GAAG,IAAI,sBAAY,CAAC;wBAC7B,mBAAmB,EAAE;4BACpB,IAAI,EAAE,MAAM;yBACZ;qBACD,CAAC,CAAC;;;;oBAGF,MAAM,CAAC,QAAQ,CAAC,MAAI,CAAC,CAAC;;;;yBAGlB,QAAM,EAAN,wBAAM;oBACT,OAAO,CAAC,KAAK,CAAC,IAAI,IAAI,EAAE,EAAE,oDAAoD,EAAE,QAAM,CAAC,CAAC;oBAExF,qBAAM,yBAAyB,CAAC,8BAA8B,EAAE,MAAI,EAAE,QAAM,CAAC,EAAA;;oBAA7E,SAA6E,CAAC;oBAE9E,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC;wBAC5B,KAAK,EAAE,IAAI;wBACX,MAAM,EAAE,oBAAoB;qBAC5B,CAAC,CAAC,CAAC;oBAEJ,sBAAO;;;oBAIT,GAAG,CAAC,MAAM,CAAC,MAAI,CAAC,mBAAmB,EAAE,YAAY,CAAC,YAAY,CAAC,EAAE,UAAO,GAAG,EAAE,OAAO;;;;;yCAC/E,GAAG,EAAH,wBAAG;oCACN,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC;wCAC5B,KAAK,EAAE,IAAI;wCACX,MAAM,EAAE,eAAe;qCACvB,CAAC,CAAC,CAAC;;;;oCAIQ,qBAAM,uBAAK,CAAC,OAAO,CAAC;4CAC9B,IAAI,EAAE;gDACL,EAAC,GAAG,EAAE,OAAO,CAAC,SAAS,CAAC,EAAC;gDACzB,EAAC,0BAA0B,EAAE,MAAI,CAAC,mBAAmB,EAAC;6CACtD;yCACD,EAAE,EAAC,UAAU,EAAE,EAAC,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAC,EAAC,CAAC,EAAA;;oCALtD,IAAI,GAAG,SAK+C;oCAE1D,IAAI,IAAI,EAAE,CAAC;wCACV,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;4CACjB,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC;gDAC5B,KAAK,EAAE,KAAK;gDACZ,MAAM,EAAE;oDACP,IAAI,EAAE,IAAI;iDACV;6CACD,CAAC,CAAC,CAAC;wCACL,CAAC;6CACI,CAAC;4CACL,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC;gDAC5B,KAAK,EAAE,IAAI;gDACX,MAAM,EAAE,qBAAqB;6CAC7B,CAAC,CAAC,CAAC;wCACL,CAAC;oCACF,CAAC;yCACI,CAAC;wCACL,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC;4CAC5B,KAAK,EAAE,IAAI;4CACX,MAAM,EAAE,eAAe;yCACvB,CAAC,CAAC,CAAC;oCACL,CAAC;;;;oCAGD,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC;wCAC5B,KAAK,EAAE,IAAI;wCACX,MAAM,EAAE,wBAAwB;qCAChC,CAAC,CAAC,CAAC;;;;;yBAGN,CAAC,CAAC;;;;;SAEJ,CAAC,CAAC;IAEH,GAAG,CAAC,IAAI,CAAC,iCAAiC,EAAE,OAAO,CAAC,IAAI,EAAE,EAAE,UAAO,OAAO,EAAE,QAAQ;;;;;;yBAC/E,CAAC,IAAA,wBAAe,EAAC,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,YAAY,CAAC,EAAtD,wBAAsD;oBACzD,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC;wBAC5B,KAAK,EAAE,IAAI;wBACX,MAAM,EAAE,gBAAgB;qBACxB,CAAC,CAAC,CAAC;;;oBAGA,SAAO,OAAO,CAAC,IAAI,CAAC;oBAEpB,MAAM,GAAG,IAAI,sBAAY,CAAC;wBAC7B,mBAAmB,EAAE;4BACpB,IAAI,EAAE,MAAM;yBACZ;wBACD,QAAQ,EAAE;4BACT,IAAI,EAAE,MAAM;yBACZ;qBACD,CAAC,CAAC;;;;oBAGF,MAAM,CAAC,QAAQ,CAAC,MAAI,CAAC,CAAC;;;;yBAGlB,QAAM,EAAN,wBAAM;oBACT,OAAO,CAAC,KAAK,CAAC,IAAI,IAAI,EAAE,EAAE,uDAAuD,EAAE,QAAM,CAAC,CAAC;oBAE3F,qBAAM,yBAAyB,CAAC,iCAAiC,EAAE,MAAI,EAAE,QAAM,CAAC,EAAA;;oBAAhF,SAAgF,CAAC;oBAEjF,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC;wBAC5B,KAAK,EAAE,IAAI;wBACX,MAAM,EAAE,oBAAoB;qBAC5B,CAAC,CAAC,CAAC;oBAEJ,sBAAO;;;oBAIT,GAAG,CAAC,MAAM,CAAC,MAAI,CAAC,mBAAmB,EAAE,YAAY,CAAC,YAAY,CAAC,EAAE,UAAO,GAAG,EAAE,OAAO;;;;;yCAC/E,GAAG,EAAH,wBAAG;oCACN,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC;wCAC5B,KAAK,EAAE,IAAI;wCACX,MAAM,EAAE,eAAe;qCACvB,CAAC,CAAC,CAAC;;;;oCAIQ,qBAAM,uBAAK,CAAC,OAAO,CAAC;4CAC9B,IAAI,EAAE;gDACL,EAAC,GAAG,EAAE,OAAO,CAAC,SAAS,CAAC,EAAC;gDACzB,EAAC,0BAA0B,EAAE,MAAI,CAAC,mBAAmB,EAAC;6CACtD;yCACD,CAAC,EAAA;;oCALE,IAAI,GAAG,SAKT;yCAEE,IAAI,EAAJ,wBAAI;yCACH,IAAI,CAAC,MAAM,EAAX,wBAAW;oCACd,qBAAM,uBAAK,CAAC,WAAW,CAAC,IAAI,EAAE,MAAI,CAAC,QAAQ,CAAC,EAAA;;oCAA5C,SAA4C,CAAC;oCAE7C,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC;wCAC5B,KAAK,EAAE,KAAK;wCACZ,MAAM,EAAE,IAAI;qCACZ,CAAC,CAAC,CAAC;;;oCAGJ,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC;wCAC5B,KAAK,EAAE,IAAI;wCACX,MAAM,EAAE,qBAAqB;qCAC7B,CAAC,CAAC,CAAC;;;;oCAIL,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC;wCAC5B,KAAK,EAAE,IAAI;wCACX,MAAM,EAAE,cAAc;qCACtB,CAAC,CAAC,CAAC;;;;;oCAIL,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC;wCAC5B,KAAK,EAAE,IAAI;wCACX,MAAM,EAAE,wBAAwB;qCAChC,CAAC,CAAC,CAAC;;;;;yBAGN,CAAC,CAAC;;;;;SAEJ,CAAC,CAAC;IAEH,GAAG,CAAC,IAAI,CAAC,gBAAgB,EAAE,OAAO,CAAC,IAAI,EAAE,EAAE,UAAO,OAAO,EAAE,QAAQ;;;;;yBAC9D,CAAC,IAAA,wBAAe,EAAC,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,YAAY,CAAC,EAAtD,wBAAsD;oBACzD,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC;wBAC5B,KAAK,EAAE,IAAI;wBACX,MAAM,EAAE,gBAAgB;qBACxB,CAAC,CAAC,CAAC;;;oBAGA,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;oBAEpB,MAAM,GAAG,IAAI,sBAAY,CAAC;wBAC7B,QAAQ,EAAE;4BACT,IAAI,EAAE,MAAM;yBACZ;qBACD,CAAC,CAAC;;;;oBAGF,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;;;;yBAGlB,QAAM,EAAN,wBAAM;oBACT,OAAO,CAAC,KAAK,CAAC,IAAI,IAAI,EAAE,EAAE,sCAAsC,EAAE,QAAM,CAAC,CAAC;oBAE1E,qBAAM,yBAAyB,CAAC,gBAAgB,EAAE,IAAI,EAAE,QAAM,CAAC,EAAA;;oBAA/D,SAA+D,CAAC;oBAEhE,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC;wBAC5B,KAAK,EAAE,IAAI;wBACX,MAAM,EAAE,oBAAoB;qBAC5B,CAAC,CAAC,CAAC;oBAEJ,sBAAO;;wBAIE,qBAAM,uBAAK,CAAC,OAAO,CAAC,EAAC,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAC,CAAC,EAAA;;oBAAnE,IAAI,GAAG,SAA4D;yBAEnE,CAAC,IAAI,EAAL,wBAAK;oBACD,qBAAM,uBAAK,CAAC,OAAO,CAAC,EAAC,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,QAAQ,EAAC,CAAC,EAAA;;oBAAhE,IAAI,GAAG,SAAyD,CAAC;;;yBAG9D,IAAI,EAAJ,yBAAI;oBACP,qBAAM,UAAU,CAAC,gBAAgB,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,gBAAgB,EAAE,EAAE,mBAAmB,EAAE,IAAI,CAAC,GAAG,CAAC,EAAA;;oBAAjH,SAAiH,CAAC;;;oBAGnH,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC;wBAC5B,KAAK,EAAE,KAAK;wBACZ,MAAM,EAAE,EAAE;qBACV,CAAC,CAAC,CAAC;;;;;SAEL,CAAC,CAAC;AACJ,CAAC","file":"auth.js","sourcesContent":["import * as express from 'express';\nimport * as handlebars from 'handlebars';\nimport * as jwt from 'jsonwebtoken';\nimport { jwtDecode } from 'jwt-decode';\nimport SimpleSchema from 'simpl-schema';\nimport { Users } from '../collections/user.collection';\nimport { ResolveIOServer } from '../resolveio-server-app';\nimport { ResolveIOMainServer } from '../server-app';\nimport { isAllowedOrigin, objectIdHexString } from '../util/common';\nimport { ErrorReporter } from '../util/error-reporter';\n\nasync function reportHttpValidationError(route: string, body: any, errors: any) {\n\tconst correlationId = objectIdHexString();\n\tconst config = ResolveIOServer.getServerConfig();\n\tawait ErrorReporter.report({\n\t\tsourceApp: 'http-auth',\n\t\tmessage: 'HTTP Validation Error - ' + route,\n\t\tenvironment: config?.ROOT_URL,\n\t\tclientSlug: ResolveIOServer.getClientName(),\n\t\tclientName: config?.CLIENT_NAME,\n\t\tcontext: {\n\t\t\troute,\n\t\t\tbody,\n\t\t\terrors\n\t\t},\n\t\tmetadata: {\n\t\t\tcontext: 'http-validation',\n\t\t\troute,\n\t\t\tcorrelationId\n\t\t},\n\t\tcorrelationId\n\t});\n}\n\nexport function setupAuthRoutes(mainServer: ResolveIOMainServer, app, serverConfig) {\n\tapp.post('/login365', express.json(), async (request, response) => {\n\t\tif (!isAllowedOrigin(request.headers.origin, serverConfig)) {\n\t\t\tresponse.send(JSON.stringify({\n\t\t\t\terror: true,\n\t\t\t\tresult: 'Invalid header'\n\t\t\t}));\n\t\t}\n\t\telse {\n\t\t\tlet body = request.body;\n\n\t\t\tlet schema = new SimpleSchema({\n\t\t\t\tid_token: {\n\t\t\t\t\ttype: String\n\t\t\t\t}\n\t\t\t});\n\t\n\t\t\ttry {\n\t\t\t\tschema.validate(body);\n\t\t\t}\n\t\t\tcatch (errors) {\n\t\t\t\tif (errors) {\n\t\t\t\t\tconsole.error(new Date(), 'Error in HTTP Check (/login)', errors);\n\n\t\t\t\t\tawait reportHttpValidationError('/login365', body, errors);\n\n\t\t\t\t\tresponse.send(JSON.stringify({\n\t\t\t\t\t\terror: true,\n\t\t\t\t\t\tresult: 'Invalid Parameters'\n\t\t\t\t\t}));\n\t\t\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tlet tokenData = body.id_token.split('&');\n\t\t\tlet token = tokenData[0].split('=')[1];\n\t\t\tlet decodedJWT = jwtDecode(token);\n\n\t\t\tif (decodedJWT && decodedJWT['name'] && decodedJWT['preferred_username'] && decodedJWT['oid']) {\n\t\t\t\tlet user = await Users.findOne({'other.ms_oid': decodedJWT['oid']});\n\n\t\t\t\tif (!user) {\n\t\t\t\t\tuser = await Users.findOne({email: decodedJWT['preferred_username'].toLowerCase()});\n\n\t\t\t\t\tif (user) {\n\t\t\t\t\t\tawait Users.updateOne({_id: user._id}, {$set: {'other.ms_oid': decodedJWT['oid']}});\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tif (!user) {\n\t\t\t\t\tuser = {\n\t\t\t\t\t\t_id: objectIdHexString(),\n\t\t\t\t\t\t__v: 0,\n\t\t\t\t\t\troles: {\n\t\t\t\t\t\t\tsuper_admin: false,\n\t\t\t\t\t\t\tapprovals: [],\n\t\t\t\t\t\t\tgroups: [],\n\t\t\t\t\t\t\tnotifications: [],\n\t\t\t\t\t\t\tmiscs: []\n\t\t\t\t\t\t},\n\t\t\t\t\t\tusername: decodedJWT['preferred_username'].toLowerCase(),\n\t\t\t\t\t\temail: decodedJWT['preferred_username'].toLowerCase(),\n\t\t\t\t\t\tfullname: decodedJWT['name'],\n\t\t\t\t\t\tactive: true,\n\t\t\t\t\t\tphonenumber: '',\n\t\t\t\t\t\treadonly: false,\n\t\t\t\t\t\tother: {\n\t\t\t\t\t\t\tms_oid: decodedJWT['oid']\n\t\t\t\t\t\t},\n\t\t\t\t\t\tattempts: 0,\n\t\t\t\t\t\tsalt: jwt.sign({now: (Date.now() - 1000).toString()}, serverConfig['JWT_SECRET'], {\n\t\t\t\t\t\t\texpiresIn : 90 * 24 * 60 * 60 * 1000 // 90 days\n\t\t\t\t\t\t}),\n\t\t\t\t\t\thash: jwt.sign({now: (Date.now() + 1000).toString()}, serverConfig['JWT_SECRET'], {\n\t\t\t\t\t\t\texpiresIn : 90 * 24 * 60 * 60 * 1000 // 90 days\n\t\t\t\t\t\t}),\n\t\t\t\t\t\tlast: new Date(),\n\t\t\t\t\t\tsettings: null,\n\t\t\t\t\t\tservices: null,\n\t\t\t\t\t\tis_customer: false\n\t\t\t\t\t};\n\t\t\t\t\t\n\t\t\t\t\tawait Users.create(user);\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tlet update = false;\n\n\t\t\t\t\tif (user.email !== decodedJWT['preferred_username'].toLowerCase()) {\n\t\t\t\t\t\tuser.email = decodedJWT['preferred_username'].toLowerCase();\n\t\t\t\t\t\tupdate = true;\n\t\t\t\t\t}\n\n\t\t\t\t\tif (user.fullname !== decodedJWT['name']) {\n\t\t\t\t\t\tuser.fullname = decodedJWT['name'];\n\t\t\t\t\t\tupdate = true;\n\t\t\t\t\t}\n\n\t\t\t\t\tif (update) {\n\t\t\t\t\t\tawait Users.updateOne({_id: user._id}, {$set: {email: user.email, fullname: user.fullname}});\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tresponse.send(JSON.stringify({\n\t\t\t\t\terror: false,\n\t\t\t\t\tresult: {\n\t\t\t\t\t\ttoken: jwt.sign({id_user: user._id}, serverConfig['JWT_SECRET'], {\n\t\t\t\t\t\t\texpiresIn : 90 * 24 * 60 * 60 * 1000 // 90 days\n\t\t\t\t\t\t})\n\t\t\t\t\t}\n\t\t\t\t}));\n\t\t\t}\n\t\t\telse {\n\t\t\t\tconsole.log('ERROR - 1', tokenData, token, decodedJWT);\n\n\t\t\t\tresponse.send(JSON.stringify({\n\t\t\t\t\terror: true,\n\t\t\t\t\tresult: 'Invalid Azure Token'\n\t\t\t\t}));\n\t\t\t}\n\t\t}\n\t});\n\n\t// Login via HTTP, return refresh token if authenticated\n\tapp.post('/login', express.json(), async (request, response) => {\n\t\tif (!isAllowedOrigin(request.headers.origin, serverConfig)) {\n\t\t\tresponse.send(JSON.stringify({\n\t\t\t\terror: true,\n\t\t\t\tresult: 'Invalid header'\n\t\t\t}));\n\t\t}\n\t\telse {\n\n\t\t\tlet body = request.body;\n\n\t\t\tlet schema = new SimpleSchema({\n\t\t\t\tusername: {\n\t\t\t\t\ttype: String\n\t\t\t\t},\n\t\t\t\tpassword: {\n\t\t\t\t\ttype: String\n\t\t\t\t}\n\t\t\t});\n\t\n\t\t\ttry {\n\t\t\t\tschema.validate(body);\n\t\t\t}\n\t\t\tcatch (errors) {\n\t\t\t\tif (errors) {\n\t\t\t\t\tconsole.error(new Date(), 'Error in HTTP Check (/login)', errors);\n\n\t\t\t\t\tawait reportHttpValidationError('/login', body, errors);\n\t\n\t\t\t\t\tresponse.send(JSON.stringify({\n\t\t\t\t\t\terror: true,\n\t\t\t\t\t\tresult: 'Invalid Parameters'\n\t\t\t\t\t}));\n\t\t\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tlet user = await Users.findOne({active: true, username: body.username});\n\n\t\t\tif (!user) {\n\t\t\t\tuser = await Users.findOne({active: true, email: body.username});\n\t\t\t}\n\t\t\t\n\t\t\tif (!user) {\n\t\t\t\tresponse.send(JSON.stringify({\n\t\t\t\t\terror: true,\n\t\t\t\t\tresult: 'Invalid Username And Password'\n\t\t\t\t}));\n\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tlet resAuth = await Users.authenticate(user, body.password);\n\n\t\t\tif (resAuth['error']) {\n\t\t\t\tif (resAuth['error'] === 'Too Many Attempts') {\n\t\t\t\t\tresponse.send(JSON.stringify({\n\t\t\t\t\t\terror: true,\n\t\t\t\t\t\tresult: resAuth['error'] + '. A password reset link has been sent to your email, please reset your password.'\n\t\t\t\t\t}));\n\n\t\t\t\t\tif (!user.services) {\n\t\t\t\t\t\tuser.services = {};\n\t\t\t\t\t}\n\n\t\t\t\t\tuser.services['forgot_password'] = jwt.sign({id_user: user._id}, serverConfig['JWT_SECRET']);\n\n\t\t\t\t\tlet emailData = {\n\t\t\t\t\t\tuserToChangePassword: user.fullname,\n\t\t\t\t\t\tuserWhoResetPassword: ResolveIOServer.getClientName() + ' System',\n\t\t\t\t\t\turl: (serverConfig['ROOT_URL'] + '/forgot-password?' + encodeURIComponent(serverConfig['SERVER_URL']) + '&' + user.services['forgot_password'])\n\t\t\t\t\t};\n\n\t\t\t\t\tawait Users.updateOne({_id: user._id}, {$set: {services: user.services}});\n\t\t\t\t\tlet html = mainServer.getMethodManager().readFile('email-templates/forgot-password.html');\n\t\t\t\t\tlet template = handlebars.compile(html);\n\t\t\t\t\thandlebars.registerHelper('equals', (a, b) => {\n\t\t\t\t\t\treturn a === b;\n\t\t\t\t\t});\n\t\n\t\t\t\t\tawait mainServer.getMethodManager().sendEmail(user.email, 'ResolveIO (' + ResolveIOServer.getClientName() + ') - Forgot Password', '', template(emailData), null, null, '');\n\t\t\t\t}\n\t\t\t\telse if (resAuth['error'] === 'No Salt Value Stored') {\n\t\t\t\t\tresponse.send(JSON.stringify({\n\t\t\t\t\t\terror: true,\n\t\t\t\t\t\tresult: 'A password reset link has been sent to your email, please reset your password.'\n\t\t\t\t\t}));\n\n\t\t\t\t\tif (!user.services) {\n\t\t\t\t\t\tuser.services = {};\n\t\t\t\t\t}\n\n\t\t\t\t\tuser.services['forgot_password'] = jwt.sign({id_user: user._id}, serverConfig['JWT_SECRET']);\n\n\t\t\t\t\tlet emailData = {\n\t\t\t\t\t\tuserToChangePassword: user.fullname,\n\t\t\t\t\t\tuserWhoResetPassword: ResolveIOServer.getClientName() + ' System',\n\t\t\t\t\t\turl: (serverConfig['ROOT_URL'] + '/forgot-password?' + encodeURIComponent(serverConfig['SERVER_URL']) + '&' + user.services['forgot_password'])\n\t\t\t\t\t};\n\n\t\t\t\t\tawait Users.updateOne({_id: user._id}, {$set: {services: user.services}});\n\t\t\t\t\tlet html = mainServer.getMethodManager().readFile('email-templates/forgot-password.html');\n\t\t\t\t\tlet template = handlebars.compile(html);\n\t\t\t\t\thandlebars.registerHelper('equals', (a, b) => {\n\t\t\t\t\t\treturn a === b;\n\t\t\t\t\t});\n\n\t\t\t\t\tawait mainServer.getMethodManager().sendEmail(user.email, 'ResolveIO (' + ResolveIOServer.getClientName() + ') - Forgot Password', '', template(emailData), null, null, '');\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tresponse.send(JSON.stringify({\n\t\t\t\t\t\terror: true,\n\t\t\t\t\t\tresult: resAuth['error']\n\t\t\t\t\t}));\n\t\t\t\t}\n\t\t\t}\n\t\t\telse {\n\t\t\t\tif (resAuth && resAuth['data'] && resAuth['data'].active) {\n\t\t\t\t\tawait Users.resetAttempts(resAuth['data']);\n\t\t\t\t\tresponse.send(JSON.stringify({\n\t\t\t\t\t\terror: false,\n\t\t\t\t\t\tresult: {\n\t\t\t\t\t\t\ttoken: jwt.sign({id_user: resAuth['data']._id}, serverConfig['JWT_SECRET'], {\n\t\t\t\t\t\t\t\texpiresIn : 90 * 24 * 60 * 60 * 1000 // 90 days\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t} \n\t\t\t\t\t}));\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t});\n\n\tapp.post('/accessToken', express.json(), async (request, response) => {\n\t\tif (!isAllowedOrigin(request.headers.origin, serverConfig)) {\n\t\t\tresponse.send(JSON.stringify({\n\t\t\t\terror: true,\n\t\t\t\tresult: 'Invalid header'\n\t\t\t}));\n\t\t}\n\t\telse {\n\t\t\tlet body = request.body;\n\n\t\t\tlet schema = new SimpleSchema({\n\t\t\t\trefreshToken: {\n\t\t\t\t\ttype: String\n\t\t\t\t}\n\t\t\t});\n\t\n\t\t\ttry {\n\t\t\t\tschema.validate(body);\n\t\t\t}\n\t\t\tcatch (errors) {\n\t\t\t\tif (errors) {\n\t\t\t\t\tconsole.error(new Date(), 'Error in HTTP Check (/accessToken)', errors);\n\n\t\t\t\t\tawait reportHttpValidationError('/accessToken', body, errors);\n\t\n\t\t\t\t\tresponse.send(JSON.stringify({\n\t\t\t\t\t\terror: true,\n\t\t\t\t\t\tresult: 'Invalid Parameters'\n\t\t\t\t\t}));\n\t\t\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tjwt.verify(body.refreshToken, serverConfig['JWT_SECRET'], async (err, decoded) => {\n\t\t\t\tif (err) {\n\t\t\t\t\tresponse.send(JSON.stringify({\n\t\t\t\t\t\terror: true,\n\t\t\t\t\t\tresult: 'Invalid Token'\n\t\t\t\t\t}));\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\ttry {\n\t\t\t\t\t\tlet user = await Users.findById(decoded['id_user']);\n\t\t\t\t\t\tif (user) {\n\t\t\t\t\t\t\tif (user.active) {\n\t\t\t\t\t\t\t\tresponse.send(JSON.stringify({\n\t\t\t\t\t\t\t\t\terror: false,\n\t\t\t\t\t\t\t\t\tresult: {\n\t\t\t\t\t\t\t\t\t\ttoken: jwt.sign({id_user: user._id}, serverConfig['JWT_SECRET'], {\n\t\t\t\t\t\t\t\t\t\t\texpiresIn : 3 * 24 * 60 * 60 * 1000 // 3 days\n\t\t\t\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\t\t\t\tuser: user\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}));\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\tresponse.send(JSON.stringify({\n\t\t\t\t\t\t\t\t\terror: true,\n\t\t\t\t\t\t\t\t\tresult: 'Account is Disabled'\n\t\t\t\t\t\t\t\t}));\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse {\n\t\t\t\t\t\t\tresponse.send(JSON.stringify({\n\t\t\t\t\t\t\t\terror: true,\n\t\t\t\t\t\t\t\tresult: 'Invalid User'\n\t\t\t\t\t\t\t}));\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tcatch {\n\t\t\t\t\t\tresponse.send(JSON.stringify({\n\t\t\t\t\t\t\terror: true,\n\t\t\t\t\t\t\tresult: 'Invalid Mongo Get User'\n\t\t\t\t\t\t}));\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t});\n\n\tapp.post('/userWithEnrollmentToken', express.json(), async (request, response) => {\n\t\tif (!isAllowedOrigin(request.headers.origin, serverConfig)) {\n\t\t\tresponse.send(JSON.stringify({\n\t\t\t\terror: true,\n\t\t\t\tresult: 'Invalid header'\n\t\t\t}));\n\t\t}\n\t\telse {\n\t\t\tlet body = request.body;\n\n\t\t\tlet schema = new SimpleSchema({\n\t\t\t\tenrollmentToken: {\n\t\t\t\t\ttype: String\n\t\t\t\t}\n\t\t\t});\n\t\n\t\t\ttry {\n\t\t\t\tschema.validate(body);\n\t\t\t}\n\t\t\tcatch (errors) {\n\t\t\t\tif (errors) {\n\t\t\t\t\tconsole.error(new Date(), 'Error in HTTP Check (/userWithEnrollmentToken)', errors);\n\n\t\t\t\t\tawait reportHttpValidationError('/userWithEnrollmentToken', body, errors);\n\t\n\t\t\t\t\tresponse.send(JSON.stringify({\n\t\t\t\t\t\terror: true,\n\t\t\t\t\t\tresult: 'Invalid Parameters'\n\t\t\t\t\t}));\n\t\t\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tjwt.verify(body.enrollmentToken, serverConfig['JWT_SECRET'], async (err, decoded) => {\n\t\t\t\tif (err) {\n\t\t\t\t\tresponse.send(JSON.stringify({\n\t\t\t\t\t\terror: true,\n\t\t\t\t\t\tresult: 'Invalid Token'\n\t\t\t\t\t}));\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\ttry {\n\t\t\t\t\t\tlet user = await Users.findOne({\n\t\t\t\t\t\t\t$and: [\n\t\t\t\t\t\t\t\t{_id: decoded['id_user']},\n\t\t\t\t\t\t\t\t{'services.enrollment': body.enrollmentToken}\n\t\t\t\t\t\t\t]\n\t\t\t\t\t\t}, {projection: {_id: 1, __v: 1, username: 1, active: 1}});\n\t\t\t\t\t\tif (user) {\n\t\t\t\t\t\t\tif (user.active) {\n\n\t\t\t\t\t\t\t\tresponse.send(JSON.stringify({\n\t\t\t\t\t\t\t\t\terror: false,\n\t\t\t\t\t\t\t\t\tresult: {\n\t\t\t\t\t\t\t\t\t\tuser: user\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}));\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\tresponse.send(JSON.stringify({\n\t\t\t\t\t\t\t\t\terror: true,\n\t\t\t\t\t\t\t\t\tresult: 'Account is Disabled'\n\t\t\t\t\t\t\t\t}));\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse {\n\t\t\t\t\t\t\tresponse.send(JSON.stringify({\n\t\t\t\t\t\t\t\terror: true,\n\t\t\t\t\t\t\t\tresult: 'Invalid User'\n\t\t\t\t\t\t\t}));\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tcatch {\n\t\t\t\t\t\tresponse.send(JSON.stringify({\n\t\t\t\t\t\t\terror: true,\n\t\t\t\t\t\t\tresult: 'Invalid Mongo Get User'\n\t\t\t\t\t\t}));\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t});\n\n\tapp.post('/setUserWithEnrollmentToken', express.json(), async (request, response) => {\n\t\tif (!isAllowedOrigin(request.headers.origin, serverConfig)) {\n\t\t\tresponse.send(JSON.stringify({\n\t\t\t\terror: true,\n\t\t\t\tresult: 'Invalid header'\n\t\t\t}));\n\t\t}\n\t\telse {\n\t\t\tlet body = request.body;\n\n\t\t\tlet schema = new SimpleSchema({\n\t\t\t\tenrollmentToken: {\n\t\t\t\t\ttype: String\n\t\t\t\t},\n\t\t\t\tpassword: {\n\t\t\t\t\ttype: String\n\t\t\t\t}\n\t\t\t});\n\t\n\t\t\ttry {\n\t\t\t\tschema.validate(body);\n\t\t\t}\n\t\t\tcatch (errors) {\n\t\t\t\tif (errors) {\n\t\t\t\t\tconsole.error(new Date(), 'Error in HTTP Check (/setUserWithEnrollmentToken)', errors);\n\n\t\t\t\t\tawait reportHttpValidationError('/setUserWithEnrollmentToken', body, errors);\n\t\n\t\t\t\t\tresponse.send(JSON.stringify({\n\t\t\t\t\t\terror: true,\n\t\t\t\t\t\tresult: 'Invalid Parameters'\n\t\t\t\t\t}));\n\t\t\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tjwt.verify(body.enrollmentToken, serverConfig['JWT_SECRET'], async (err, decoded) => {\n\t\t\t\tif (err) {\n\t\t\t\t\tresponse.send(JSON.stringify({\n\t\t\t\t\t\terror: true,\n\t\t\t\t\t\tresult: 'Invalid Token'\n\t\t\t\t\t}));\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\ttry {\n\t\t\t\t\t\tlet user = await Users.findOne({\n\t\t\t\t\t\t\t$and: [\n\t\t\t\t\t\t\t\t{_id: decoded['id_user']},\n\t\t\t\t\t\t\t\t{'services.enrollment': body.enrollmentToken}\n\t\t\t\t\t\t\t]\n\t\t\t\t\t\t});\n\t\t\t\t\t\tif (user) {\n\t\t\t\t\t\t\tif (user.active) {\n\t\t\t\t\t\t\t\tawait Users.setPassword(user, body.password);\n\n\t\t\t\t\t\t\t\tresponse.send(JSON.stringify({\n\t\t\t\t\t\t\t\t\terror: false,\n\t\t\t\t\t\t\t\t\tresult: true\n\t\t\t\t\t\t\t\t}));\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\tresponse.send(JSON.stringify({\n\t\t\t\t\t\t\t\t\terror: true,\n\t\t\t\t\t\t\t\t\tresult: 'Account is Disabled'\n\t\t\t\t\t\t\t\t}));\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse {\n\t\t\t\t\t\t\tresponse.send(JSON.stringify({\n\t\t\t\t\t\t\t\terror: true,\n\t\t\t\t\t\t\t\tresult: 'Invalid User'\n\t\t\t\t\t\t\t}));\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tcatch {\n\t\t\t\t\t\tresponse.send(JSON.stringify({\n\t\t\t\t\t\t\terror: true,\n\t\t\t\t\t\t\tresult: 'Invalid Mongo Get User'\n\t\t\t\t\t\t}));\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t});\n\n\tapp.post('/userWithForgotPasswordToken', express.json(), async (request, response) => {\n\t\tif (!isAllowedOrigin(request.headers.origin, serverConfig)) {\n\t\t\tresponse.send(JSON.stringify({\n\t\t\t\terror: true,\n\t\t\t\tresult: 'Invalid header'\n\t\t\t}));\n\t\t}\n\t\telse {\n\t\t\tlet body = request.body;\n\n\t\t\tlet schema = new SimpleSchema({\n\t\t\t\tforgotPasswordToken: {\n\t\t\t\t\ttype: String\n\t\t\t\t}\n\t\t\t});\n\t\n\t\t\ttry {\n\t\t\t\tschema.validate(body);\n\t\t\t}\n\t\t\tcatch (errors) {\n\t\t\t\tif (errors) {\n\t\t\t\t\tconsole.error(new Date(), 'Error in HTTP Check (/userWithForgotPasswordToken)', errors);\n\n\t\t\t\t\tawait reportHttpValidationError('/userWithForgotPasswordToken', body, errors);\n\t\n\t\t\t\t\tresponse.send(JSON.stringify({\n\t\t\t\t\t\terror: true,\n\t\t\t\t\t\tresult: 'Invalid Parameters'\n\t\t\t\t\t}));\n\t\t\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tjwt.verify(body.forgotPasswordToken, serverConfig['JWT_SECRET'], async (err, decoded) => {\n\t\t\t\tif (err) {\n\t\t\t\t\tresponse.send(JSON.stringify({\n\t\t\t\t\t\terror: true,\n\t\t\t\t\t\tresult: 'Invalid Token'\n\t\t\t\t\t}));\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\ttry {\n\t\t\t\t\t\tlet user = await Users.findOne({\n\t\t\t\t\t\t\t$and: [\n\t\t\t\t\t\t\t\t{_id: decoded['id_user']},\n\t\t\t\t\t\t\t\t{'services.forgot_password': body.forgotPasswordToken}\n\t\t\t\t\t\t\t]\n\t\t\t\t\t\t}, {projection: {_id: 1, __v: 1, username: 1, active: 1}});\n\t\t\t\t\t\t\t\n\t\t\t\t\t\tif (user) {\n\t\t\t\t\t\t\tif (user.active) {\n\t\t\t\t\t\t\t\tresponse.send(JSON.stringify({\n\t\t\t\t\t\t\t\t\terror: false,\n\t\t\t\t\t\t\t\t\tresult: {\n\t\t\t\t\t\t\t\t\t\tuser: user\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}));\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\tresponse.send(JSON.stringify({\n\t\t\t\t\t\t\t\t\terror: true,\n\t\t\t\t\t\t\t\t\tresult: 'Account is Disabled'\n\t\t\t\t\t\t\t\t}));\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse {\n\t\t\t\t\t\t\tresponse.send(JSON.stringify({\n\t\t\t\t\t\t\t\terror: true,\n\t\t\t\t\t\t\t\tresult: 'Invalid Token'\n\t\t\t\t\t\t\t}));\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tcatch {\n\t\t\t\t\t\tresponse.send(JSON.stringify({\n\t\t\t\t\t\t\terror: true,\n\t\t\t\t\t\t\tresult: 'Invalid Mongo Get User'\n\t\t\t\t\t\t}));\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t});\n\n\tapp.post('/setUserWithForgotPasswordToken', express.json(), async (request, response) => {\n\t\tif (!isAllowedOrigin(request.headers.origin, serverConfig)) {\n\t\t\tresponse.send(JSON.stringify({\n\t\t\t\terror: true,\n\t\t\t\tresult: 'Invalid header'\n\t\t\t}));\n\t\t}\n\t\telse {\n\t\t\tlet body = request.body;\n\n\t\t\tlet schema = new SimpleSchema({\n\t\t\t\tforgotPasswordToken: {\n\t\t\t\t\ttype: String\n\t\t\t\t},\n\t\t\t\tpassword: {\n\t\t\t\t\ttype: String\n\t\t\t\t}\n\t\t\t});\n\t\n\t\t\ttry {\n\t\t\t\tschema.validate(body);\n\t\t\t}\n\t\t\tcatch (errors) {\n\t\t\t\tif (errors) {\n\t\t\t\t\tconsole.error(new Date(), 'Error in HTTP Check (/setUserWithForgotPasswordToken)', errors);\n\n\t\t\t\t\tawait reportHttpValidationError('/setUserWithForgotPasswordToken', body, errors);\n\t\n\t\t\t\t\tresponse.send(JSON.stringify({\n\t\t\t\t\t\terror: true,\n\t\t\t\t\t\tresult: 'Invalid Parameters'\n\t\t\t\t\t}));\n\t\t\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tjwt.verify(body.forgotPasswordToken, serverConfig['JWT_SECRET'], async (err, decoded) => {\n\t\t\t\tif (err) {\n\t\t\t\t\tresponse.send(JSON.stringify({\n\t\t\t\t\t\terror: true,\n\t\t\t\t\t\tresult: 'Invalid Token'\n\t\t\t\t\t}));\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\ttry {\n\t\t\t\t\t\tlet user = await Users.findOne({\n\t\t\t\t\t\t\t$and: [\n\t\t\t\t\t\t\t\t{_id: decoded['id_user']},\n\t\t\t\t\t\t\t\t{'services.forgot_password': body.forgotPasswordToken}\n\t\t\t\t\t\t\t]\n\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\n\t\t\t\t\t\tif (user) {\n\t\t\t\t\t\t\tif (user.active) {\n\t\t\t\t\t\t\t\tawait Users.setPassword(user, body.password);\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tresponse.send(JSON.stringify({\n\t\t\t\t\t\t\t\t\terror: false,\n\t\t\t\t\t\t\t\t\tresult: true\n\t\t\t\t\t\t\t\t}));\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\tresponse.send(JSON.stringify({\n\t\t\t\t\t\t\t\t\terror: true,\n\t\t\t\t\t\t\t\t\tresult: 'Account is Disabled'\n\t\t\t\t\t\t\t\t}));\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse {\n\t\t\t\t\t\t\tresponse.send(JSON.stringify({\n\t\t\t\t\t\t\t\terror: true,\n\t\t\t\t\t\t\t\tresult: 'Invalid User'\n\t\t\t\t\t\t\t}));\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tcatch {\n\t\t\t\t\t\tresponse.send(JSON.stringify({\n\t\t\t\t\t\t\terror: true,\n\t\t\t\t\t\t\tresult: 'Invalid Mongo Get User'\n\t\t\t\t\t\t}));\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t});\n\n\tapp.post('/resetPassword', express.json(), async (request, response) => {\n\t\tif (!isAllowedOrigin(request.headers.origin, serverConfig)) {\n\t\t\tresponse.send(JSON.stringify({\n\t\t\t\terror: true,\n\t\t\t\tresult: 'Invalid header'\n\t\t\t}));\n\t\t}\n\t\telse {\n\t\t\tlet body = request.body;\n\n\t\t\tlet schema = new SimpleSchema({\n\t\t\t\tusername: {\n\t\t\t\t\ttype: String\n\t\t\t\t}\n\t\t\t});\n\t\n\t\t\ttry {\n\t\t\t\tschema.validate(body);\n\t\t\t}\n\t\t\tcatch (errors) {\n\t\t\t\tif (errors) {\n\t\t\t\t\tconsole.error(new Date(), 'Error in HTTP Check (/resetPassword)', errors);\n\n\t\t\t\t\tawait reportHttpValidationError('/resetPassword', body, errors);\n\t\n\t\t\t\t\tresponse.send(JSON.stringify({\n\t\t\t\t\t\terror: true,\n\t\t\t\t\t\tresult: 'Invalid Parameters'\n\t\t\t\t\t}));\n\t\t\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tlet user = await Users.findOne({active: true, username: body.username});\n\n\t\t\tif (!user) {\n\t\t\t\tuser = await Users.findOne({active: true, email: body.username});\n\t\t\t}\n\t\t\t\n\t\t\tif (user) {\n\t\t\t\tawait mainServer.getMethodManager().callMethod.call(mainServer.getMethodManager(), 'resetUserPassword', user._id);\n\t\t\t}\n\n\t\t\tresponse.send(JSON.stringify({\n\t\t\t\terror: false,\n\t\t\t\tresult: ''\n\t\t\t}));\n\t\t}\n\t});\n}\n"]}
@@ -1,7 +1,8 @@
1
- import { AggregateOptions, AggregationCursor, BulkWriteOptions, BulkWriteResult, ChangeStream, ChangeStreamOptions, Collection, CollectionInfo, CommandOperationOptions, CountDocumentsOptions, CreateCollectionOptions, CreateIndexesOptions, CursorStreamOptions, DeleteOptions, DeleteResult, FindCursor, FindOneAndDeleteOptions, FindOneAndReplaceOptions, FindOneAndUpdateOptions, FindOptions, IndexDescription, IndexDescriptionCompact, IndexInformationOptions, InsertOneOptions, ListIndexesCursor, ListIndexesOptions, RenameOptions, ReplaceOptions, UpdateOptions, UpdateResult } from 'mongodb';
1
+ import { AggregateOptions, AggregationCursor, BulkWriteOptions, BulkWriteResult, ChangeStream, ChangeStreamOptions, Collection, CollectionInfo, CommandOperationOptions, CountDocumentsOptions, CreateCollectionOptions, CreateIndexesOptions, DeleteOptions, DeleteResult, FindCursor, FindOneAndDeleteOptions, FindOneAndReplaceOptions, FindOneAndUpdateOptions, FindOptions, IndexDescription, IndexDescriptionCompact, IndexInformationOptions, InsertOneOptions, ListIndexesCursor, ListIndexesOptions, RenameOptions, ReplaceOptions, UpdateOptions, UpdateResult } from 'mongodb';
2
2
  import { CollectionDocument, Document } from '../models/collection-document.model';
3
3
  import { LookupTables } from '../models/report-builder.model';
4
4
  import { UserModel } from '../models/user.model';
5
+ type MongoManagerFindOptions = FindOptions;
5
6
  export declare interface MongoManagerFilterParamaterOperators<P> {
6
7
  $eq?: P;
7
8
  $gt?: P;
@@ -109,9 +110,9 @@ export declare class MongoManager {
109
110
  private shouldRetryWaitQueueTimeout;
110
111
  private shouldRetryConnectionError;
111
112
  private retryRead;
112
- find<T extends CollectionDocument>(collectionName: string, filter?: MongoManagerFilter<T> & MongoManagerFilterOperators<T>, options?: FindOptions<T>): Promise<T[]>;
113
+ find<T extends CollectionDocument>(collectionName: string, filter?: MongoManagerFilter<T> & MongoManagerFilterOperators<T>, options?: MongoManagerFindOptions): Promise<T[]>;
113
114
  private executeFind;
114
- findOne<T extends CollectionDocument>(collectionName: string, filter?: MongoManagerFilter<T> | MongoManagerFilterOperators<T>, options?: FindOptions<T>): Promise<T>;
115
+ findOne<T extends CollectionDocument>(collectionName: string, filter?: MongoManagerFilter<T> | MongoManagerFilterOperators<T>, options?: MongoManagerFindOptions): Promise<T>;
115
116
  private executeFindOne;
116
117
  aggregate<T extends CollectionDocument>(collectionName: string, pipeline: any[], options?: AggregateOptions): Promise<any[]>;
117
118
  private executeAggregate;
@@ -175,7 +176,7 @@ export declare class MongoManagerCollection<T extends CollectionDocument> {
175
176
  aggregate(pipeline: object[], options?: AggregateOptions, skipCache?: boolean, bypassSession?: boolean): Promise<any[]>;
176
177
  aggregateCount(pipeline: object[], options?: AggregateOptions, bypassSession?: boolean): Promise<number>;
177
178
  aggregateCursor(pipeline: object[], options?: AggregateOptions, bypassSession?: boolean): AggregationCursor;
178
- aggregateStream(pipeline: object[], options?: AggregateOptions, streamOptions?: CursorStreamOptions, bypassSession?: boolean): import("stream").Readable & AsyncIterable<import("bson").Document>;
179
+ aggregateStream(pipeline: object[], options?: AggregateOptions, streamOptions?: any, bypassSession?: boolean): import("stream").Readable & AsyncIterable<import("bson").Document>;
179
180
  bulkWrite(operations: any[], options?: BulkWriteOptions, bypassCheckSchema?: boolean, bypassLogs?: boolean, bypassVersions?: boolean, bypassSession?: boolean): Promise<BulkWriteResult>;
180
181
  countDocuments(filter?: MongoManagerFilter<T> & MongoManagerFilterOperators<T>, options?: CountDocumentsOptions, skipCache?: boolean): Promise<number>;
181
182
  create(f_docs: T | T[], options?: InsertOneOptions | BulkWriteOptions): Promise<T | T[]>;
@@ -187,12 +188,12 @@ export declare class MongoManagerCollection<T extends CollectionDocument> {
187
188
  drop(options?: CommandOperationOptions, bypassSession?: boolean): Promise<boolean>;
188
189
  dropIndex(indexName: string, options?: CommandOperationOptions, bypassSession?: boolean): Promise<Document>;
189
190
  dropIndexes(options?: CommandOperationOptions, bypassSession?: boolean): Promise<boolean>;
190
- find(filter?: MongoManagerFilter<T> & MongoManagerFilterOperators<T>, options?: FindOptions<T>, skipCache?: boolean, bypassSession?: boolean): Promise<T[]>;
191
- findById(id: string, options?: FindOptions<T>, skipCache?: boolean, bypassSession?: boolean): Promise<T>;
192
- findCount(filter?: MongoManagerFilter<T> & MongoManagerFilterOperators<T>, options?: FindOptions<T>, bypassSession?: boolean): Promise<Number>;
193
- findCursor(filter?: MongoManagerFilter<T> & MongoManagerFilterOperators<T>, options?: FindOptions<T>, bypassSession?: boolean): FindCursor;
194
- findStream(filter?: MongoManagerFilter<T> & MongoManagerFilterOperators<T>, options?: FindOptions<T>, streamOptions?: CursorStreamOptions, bypassSession?: boolean): import("stream").Readable & AsyncIterable<import("mongodb").WithId<T>>;
195
- findOne(filter?: MongoManagerFilter<T> | MongoManagerFilterOperators<T>, options?: FindOptions<T>, skipCache?: boolean, bypassSession?: boolean): Promise<T>;
191
+ find(filter?: MongoManagerFilter<T> & MongoManagerFilterOperators<T>, options?: MongoManagerFindOptions, skipCache?: boolean, bypassSession?: boolean): Promise<T[]>;
192
+ findById(id: string, options?: MongoManagerFindOptions, skipCache?: boolean, bypassSession?: boolean): Promise<T>;
193
+ findCount(filter?: MongoManagerFilter<T> & MongoManagerFilterOperators<T>, options?: MongoManagerFindOptions, bypassSession?: boolean): Promise<Number>;
194
+ findCursor(filter?: MongoManagerFilter<T> & MongoManagerFilterOperators<T>, options?: MongoManagerFindOptions, bypassSession?: boolean): FindCursor;
195
+ findStream(filter?: MongoManagerFilter<T> & MongoManagerFilterOperators<T>, options?: MongoManagerFindOptions, streamOptions?: any, bypassSession?: boolean): import("stream").Readable & AsyncIterable<import("mongodb").WithId<T>>;
196
+ findOne(filter?: MongoManagerFilter<T> | MongoManagerFilterOperators<T>, options?: MongoManagerFindOptions, skipCache?: boolean, bypassSession?: boolean): Promise<T>;
196
197
  findOneAndDelete(filter?: MongoManagerFilter<T> & MongoManagerFilterOperators<T>, options?: FindOneAndDeleteOptions, bypassLogs?: boolean, bypassSession?: boolean): Promise<T>;
197
198
  findOneAndReplace(filter: MongoManagerFilter<T> & MongoManagerFilterOperators<T>, replacement: T, options?: FindOneAndReplaceOptions, bypassLogs?: boolean, bypassCheckSchema?: boolean, bypassSession?: boolean): Promise<T>;
198
199
  findOneAndUpdate(filter: MongoManagerFilter<T> & MongoManagerFilterOperators<T>, update: MongoManagerUpdateFilter<T>, options?: FindOneAndUpdateOptions, bypassLogs?: boolean, bypassCheckSchema?: boolean, bypassSession?: boolean): Promise<T>;
@@ -220,3 +221,4 @@ export declare class MongoManagerUserCollection<T extends CollectionDocument> ex
220
221
  register(user: any, password: any): Promise<any>;
221
222
  resetAttempts(user: UserModel): Promise<UpdateResult<import("bson").Document>>;
222
223
  }
224
+ export {};
@@ -1693,7 +1693,7 @@ var MongoManagerCollection = /** @class */ (function () {
1693
1693
  // eslint-disable-next-line no-unused-vars
1694
1694
  var _a = options || {}, session = _a.session, safeOptions = __rest(_a, ["session"]);
1695
1695
  var monitor = monitor_manager_1.MonitorMongo.create('aggregateStream', this.collectionName, JSON.stringify([pipeline, safeOptions, streamOptions]));
1696
- var stream = resolveio_server_app_1.ResolveIOServer.getMainDB().collection(this.collectionName, this.collectionOptions).aggregate(pipeline, options).stream(streamOptions).on('close', function (ev) { return __awaiter(_this, void 0, void 0, function () {
1696
+ var stream = resolveio_server_app_1.ResolveIOServer.getMainDB().collection(this.collectionName, this.collectionOptions).aggregate(pipeline, options).stream().on('close', function (ev) { return __awaiter(_this, void 0, void 0, function () {
1697
1697
  return __generator(this, function (_a) {
1698
1698
  switch (_a.label) {
1699
1699
  case 0: return [4 /*yield*/, monitor.finish()];
@@ -2820,7 +2820,7 @@ var MongoManagerCollection = /** @class */ (function () {
2820
2820
  // eslint-disable-next-line no-unused-vars
2821
2821
  var _a = options || {}, session = _a.session, safeOptions = __rest(_a, ["session"]);
2822
2822
  var monitor = monitor_manager_1.MonitorMongo.create('findStream', this.collectionName, JSON.stringify([filter, safeOptions, streamOptions]));
2823
- var stream = resolveio_server_app_1.ResolveIOServer.getMainDB().collection(this.collectionName, this.collectionOptions).find(filter, options).stream(streamOptions).on('close', function (ev) { return __awaiter(_this, void 0, void 0, function () {
2823
+ var stream = resolveio_server_app_1.ResolveIOServer.getMainDB().collection(this.collectionName, this.collectionOptions).find(filter, options).stream().on('close', function (ev) { return __awaiter(_this, void 0, void 0, function () {
2824
2824
  return __generator(this, function (_a) {
2825
2825
  switch (_a.label) {
2826
2826
  case 0: return [4 /*yield*/, monitor.finish()];