@resolveio/server-lib 9.2.18 → 9.2.19

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.
Files changed (221) hide show
  1. package/client-server-app.js +1 -55
  2. package/client-server-app.js.map +1 -1
  3. package/collections/app-status.collection.js +1 -40
  4. package/collections/app-status.collection.js.map +1 -1
  5. package/collections/app-version.collection.js +1 -40
  6. package/collections/app-version.collection.js.map +1 -1
  7. package/collections/counter.collection.js +1 -43
  8. package/collections/counter.collection.js.map +1 -1
  9. package/collections/cron-job-history.collection.js +1 -71
  10. package/collections/cron-job-history.collection.js.map +1 -1
  11. package/collections/cron-job.collection.js +1 -74
  12. package/collections/cron-job.collection.js.map +1 -1
  13. package/collections/email-history.collection.js +1 -55
  14. package/collections/email-history.collection.js.map +1 -1
  15. package/collections/email-verified.collection.js +1 -50
  16. package/collections/email-verified.collection.js.map +1 -1
  17. package/collections/file.collection.js +1 -62
  18. package/collections/file.collection.js.map +1 -1
  19. package/collections/flag.collection.js +1 -44
  20. package/collections/flag.collection.js.map +1 -1
  21. package/collections/log-method-latency.collection.js +1 -53
  22. package/collections/log-method-latency.collection.js.map +1 -1
  23. package/collections/log-subscription.collection.js +1 -57
  24. package/collections/log-subscription.collection.js.map +1 -1
  25. package/collections/log.collection.js +1 -72
  26. package/collections/log.collection.js.map +1 -1
  27. package/collections/logged-in-users.collection.js +1 -58
  28. package/collections/logged-in-users.collection.js.map +1 -1
  29. package/collections/method-call.collection.js +1 -51
  30. package/collections/method-call.collection.js.map +1 -1
  31. package/collections/method-response.collection.js +1 -55
  32. package/collections/method-response.collection.js.map +1 -1
  33. package/collections/monitor-cpu.collection.js +1 -57
  34. package/collections/monitor-cpu.collection.js.map +1 -1
  35. package/collections/monitor-https-inbound.collection.js +1 -66
  36. package/collections/monitor-https-inbound.collection.js.map +1 -1
  37. package/collections/monitor-https-outbound.collection.js +1 -74
  38. package/collections/monitor-https-outbound.collection.js.map +1 -1
  39. package/collections/monitor-memory.collection.js +1 -68
  40. package/collections/monitor-memory.collection.js.map +1 -1
  41. package/collections/monitor-mongo.collection.js +1 -62
  42. package/collections/monitor-mongo.collection.js.map +1 -1
  43. package/collections/notification.collection.js +1 -40
  44. package/collections/notification.collection.js.map +1 -1
  45. package/collections/report-builder-dashboard-builder.collection.js +1 -93
  46. package/collections/report-builder-dashboard-builder.collection.js.map +1 -1
  47. package/collections/report-builder-library.collection.js +1 -76
  48. package/collections/report-builder-library.collection.js.map +1 -1
  49. package/collections/report-builder-report.collection.js +1 -138
  50. package/collections/report-builder-report.collection.js.map +1 -1
  51. package/collections/user-group.collection.js +1 -79
  52. package/collections/user-group.collection.js.map +1 -1
  53. package/collections/user-guide.collection.js +1 -46
  54. package/collections/user-guide.collection.js.map +1 -1
  55. package/collections/user.collection.js +1 -248
  56. package/collections/user.collection.js.map +1 -1
  57. package/cron/cron.js +1 -161
  58. package/cron/cron.js.map +1 -1
  59. package/fixtures/cron-jobs.js +1 -72
  60. package/fixtures/cron-jobs.js.map +1 -1
  61. package/fixtures/init.js +1 -62
  62. package/fixtures/init.js.map +1 -1
  63. package/http/auth.js +1 -697
  64. package/http/auth.js.map +1 -1
  65. package/http/health.js +1 -10
  66. package/http/health.js.map +1 -1
  67. package/http/home.js +1 -64
  68. package/http/home.js.map +1 -1
  69. package/index.js +1 -123
  70. package/index.js.map +1 -1
  71. package/managers/cron.manager.js +1 -205
  72. package/managers/cron.manager.js.map +1 -1
  73. package/managers/method.manager.js +1 -599
  74. package/managers/method.manager.js.map +1 -1
  75. package/managers/mongo.manager.js +1 -1682
  76. package/managers/mongo.manager.js.map +1 -1
  77. package/managers/monitor.manager.js +1 -334
  78. package/managers/monitor.manager.js.map +1 -1
  79. package/managers/subscription.manager.js +1 -867
  80. package/managers/subscription.manager.js.map +1 -1
  81. package/managers/subscription.performance.js +1 -100
  82. package/managers/subscription.performance.js.map +1 -1
  83. package/methods/accounts.js +1 -224
  84. package/methods/accounts.js.map +1 -1
  85. package/methods/aws.js +1 -449
  86. package/methods/aws.js.map +1 -1
  87. package/methods/cloudconvert.js +1 -214
  88. package/methods/cloudconvert.js.map +1 -1
  89. package/methods/collections.js +1 -526
  90. package/methods/collections.js.map +1 -1
  91. package/methods/counters.js +1 -121
  92. package/methods/counters.js.map +1 -1
  93. package/methods/cron-jobs.js +1 -1284
  94. package/methods/cron-jobs.js.map +1 -1
  95. package/methods/flags.js +1 -8
  96. package/methods/flags.js.map +1 -1
  97. package/methods/logs.js +1 -370
  98. package/methods/logs.js.map +1 -1
  99. package/methods/monitor.js +1 -384
  100. package/methods/monitor.js.map +1 -1
  101. package/methods/pdf.js +1 -685
  102. package/methods/pdf.js.map +1 -1
  103. package/methods/report-builder.js +1 -826
  104. package/methods/report-builder.js.map +1 -1
  105. package/methods/support.js +1 -263
  106. package/methods/support.js.map +1 -1
  107. package/models/app-status.model.js +1 -3
  108. package/models/app-status.model.js.map +1 -1
  109. package/models/app-version.model.js +1 -3
  110. package/models/app-version.model.js.map +1 -1
  111. package/models/billing-logged-in-users.model.js +1 -3
  112. package/models/billing-logged-in-users.model.js.map +1 -1
  113. package/models/collection-document.model.js +1 -3
  114. package/models/collection-document.model.js.map +1 -1
  115. package/models/counter.model.js +1 -3
  116. package/models/counter.model.js.map +1 -1
  117. package/models/cron-job-history.model.js +1 -3
  118. package/models/cron-job-history.model.js.map +1 -1
  119. package/models/cron-job.model.js +1 -3
  120. package/models/cron-job.model.js.map +1 -1
  121. package/models/dialog.model.js +1 -3
  122. package/models/dialog.model.js.map +1 -1
  123. package/models/email-history.model.js +1 -3
  124. package/models/email-history.model.js.map +1 -1
  125. package/models/email-verified.model.js +1 -3
  126. package/models/email-verified.model.js.map +1 -1
  127. package/models/file.model.js +1 -3
  128. package/models/file.model.js.map +1 -1
  129. package/models/flag.model.js +1 -3
  130. package/models/flag.model.js.map +1 -1
  131. package/models/log-method-latency.model.js +1 -3
  132. package/models/log-method-latency.model.js.map +1 -1
  133. package/models/log-subscription.model.js +1 -3
  134. package/models/log-subscription.model.js.map +1 -1
  135. package/models/log.model.js +1 -3
  136. package/models/log.model.js.map +1 -1
  137. package/models/logged-in-users.model.js +1 -3
  138. package/models/logged-in-users.model.js.map +1 -1
  139. package/models/method-call.model.js +1 -3
  140. package/models/method-call.model.js.map +1 -1
  141. package/models/method-response.model.js +1 -3
  142. package/models/method-response.model.js.map +1 -1
  143. package/models/method.model.js +1 -3
  144. package/models/method.model.js.map +1 -1
  145. package/models/monitor-cpu.model.js +1 -3
  146. package/models/monitor-cpu.model.js.map +1 -1
  147. package/models/monitor-https-inbound.model.js +1 -3
  148. package/models/monitor-https-inbound.model.js.map +1 -1
  149. package/models/monitor-https-outbound.model.js +1 -3
  150. package/models/monitor-https-outbound.model.js.map +1 -1
  151. package/models/monitor-memory.model.js +1 -3
  152. package/models/monitor-memory.model.js.map +1 -1
  153. package/models/monitor-mongo.model.js +1 -3
  154. package/models/monitor-mongo.model.js.map +1 -1
  155. package/models/notification.model.js +1 -3
  156. package/models/notification.model.js.map +1 -1
  157. package/models/pagination.model.js +1 -23
  158. package/models/pagination.model.js.map +1 -1
  159. package/models/permission.model.js +1 -3
  160. package/models/permission.model.js.map +1 -1
  161. package/models/report-builder-dashboard-builder.model.js +1 -3
  162. package/models/report-builder-dashboard-builder.model.js.map +1 -1
  163. package/models/report-builder-library.model.js +1 -3
  164. package/models/report-builder-library.model.js.map +1 -1
  165. package/models/report-builder-report.model.js +1 -3
  166. package/models/report-builder-report.model.js.map +1 -1
  167. package/models/report-builder.model.js +1 -3
  168. package/models/report-builder.model.js.map +1 -1
  169. package/models/select-data-label.model.js +1 -3
  170. package/models/select-data-label.model.js.map +1 -1
  171. package/models/server-response.model.js +1 -3
  172. package/models/server-response.model.js.map +1 -1
  173. package/models/subscription.model.js +1 -3
  174. package/models/subscription.model.js.map +1 -1
  175. package/models/support-ticket.model.js +1 -3
  176. package/models/support-ticket.model.js.map +1 -1
  177. package/models/user-group.model.js +1 -3
  178. package/models/user-group.model.js.map +1 -1
  179. package/models/user-guide.model.js +1 -3
  180. package/models/user-guide.model.js.map +1 -1
  181. package/models/user.model.js +1 -3
  182. package/models/user.model.js.map +1 -1
  183. package/package.json +2 -1
  184. package/public_api.js +1 -78
  185. package/public_api.js.map +1 -1
  186. package/publications/app-status.js +1 -16
  187. package/publications/app-status.js.map +1 -1
  188. package/publications/app-version.js +1 -16
  189. package/publications/app-version.js.map +1 -1
  190. package/publications/cron-jobs.js +1 -32
  191. package/publications/cron-jobs.js.map +1 -1
  192. package/publications/files.js +1 -36
  193. package/publications/files.js.map +1 -1
  194. package/publications/flags.js +1 -22
  195. package/publications/flags.js.map +1 -1
  196. package/publications/logs.js +1 -90
  197. package/publications/logs.js.map +1 -1
  198. package/publications/method-calls.js +1 -16
  199. package/publications/method-calls.js.map +1 -1
  200. package/publications/method-responses.js +1 -16
  201. package/publications/method-responses.js.map +1 -1
  202. package/publications/notifications.js +1 -16
  203. package/publications/notifications.js.map +1 -1
  204. package/publications/report-builder-dashboard-builders.js +1 -42
  205. package/publications/report-builder-dashboard-builders.js.map +1 -1
  206. package/publications/report-builder-libraries.js +1 -89
  207. package/publications/report-builder-libraries.js.map +1 -1
  208. package/publications/report-builder-reports.js +1 -50
  209. package/publications/report-builder-reports.js.map +1 -1
  210. package/publications/super-admin.js +1 -16
  211. package/publications/super-admin.js.map +1 -1
  212. package/publications/user-groups.js +1 -16
  213. package/publications/user-groups.js.map +1 -1
  214. package/publications/user-guides.js +1 -16
  215. package/publications/user-guides.js.map +1 -1
  216. package/server-app.js +1 -682
  217. package/server-app.js.map +1 -1
  218. package/util/common.js +1 -498
  219. package/util/common.js.map +1 -1
  220. package/util/schema-report-builder.js +1 -452
  221. package/util/schema-report-builder.js.map +1 -1
package/http/auth.js CHANGED
@@ -1,698 +1,2 @@
1
- "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
- var __generator = (this && this.__generator) || function (thisArg, body) {
12
- var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
13
- return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
14
- function verb(n) { return function (v) { return step([n, v]); }; }
15
- function step(op) {
16
- if (f) throw new TypeError("Generator is already executing.");
17
- while (_) try {
18
- if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
19
- if (y = 0, t) op = [op[0] & 2, t.value];
20
- switch (op[0]) {
21
- case 0: case 1: t = op; break;
22
- case 4: _.label++; return { value: op[1], done: false };
23
- case 5: _.label++; y = op[1]; op = [0]; continue;
24
- case 7: op = _.ops.pop(); _.trys.pop(); continue;
25
- default:
26
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
27
- if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
28
- if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
29
- if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
30
- if (t[2]) _.ops.pop();
31
- _.trys.pop(); continue;
32
- }
33
- op = body.call(thisArg, _);
34
- } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
35
- if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
36
- }
37
- };
38
- Object.defineProperty(exports, "__esModule", { value: true });
39
- exports.setupAuthRoutes = void 0;
40
- var user_collection_1 = require("../collections/user.collection");
41
- var jwt = require("jsonwebtoken");
42
- var handlebars = require("handlebars");
43
- var __1 = require("..");
44
- var simpl_schema_1 = require("simpl-schema");
45
- function setupAuthRoutes(mainServer, app, serverConfig) {
46
- var _this = this;
47
- // Login via HTTP, return refresh token if authenticated
48
- app.post('/login', function (request, response) { return __awaiter(_this, void 0, void 0, function () {
49
- var body, schema, user_1, resAuth, emailData_1, emailData_2;
50
- return __generator(this, function (_a) {
51
- switch (_a.label) {
52
- case 0:
53
- if (!(request.headers.origin !== serverConfig['ROOT_URL'] && request.headers.origin !== serverConfig['SEC_ROOT_URL'])) return [3 /*break*/, 1];
54
- response.send(JSON.stringify({
55
- error: true,
56
- result: 'Invalid header'
57
- }));
58
- return [3 /*break*/, 8];
59
- case 1:
60
- body = request.body;
61
- schema = new simpl_schema_1.default({
62
- username: {
63
- type: String
64
- },
65
- password: {
66
- type: String
67
- }
68
- });
69
- try {
70
- schema.validate(body);
71
- }
72
- catch (errors) {
73
- if (errors) {
74
- console.error('Error in HTTP Check (/login)', errors);
75
- __1.ResolveIOServer.getMainServer().getMethodManager().sendEmail('dev@resolveio.com', __1.ResolveIOServer.getClientName() + 'HTTP - Error Detected', 'Match Error On HTTP ' + '/login' + '\n\nData Being Checked\n' + JSON.stringify(body, null, 2) + '\n\nErrors\n' + JSON.stringify(errors, null, 2));
76
- response.send(JSON.stringify({
77
- error: true,
78
- result: 'Invalid Parameters'
79
- }));
80
- return [2 /*return*/];
81
- }
82
- }
83
- return [4 /*yield*/, user_collection_1.Users.findOne({ username: body.username })];
84
- case 2:
85
- user_1 = _a.sent();
86
- if (!!user_1) return [3 /*break*/, 4];
87
- return [4 /*yield*/, user_collection_1.Users.findOne({ email: body.username })];
88
- case 3:
89
- user_1 = _a.sent();
90
- _a.label = 4;
91
- case 4:
92
- if (!user_1) {
93
- response.send(JSON.stringify({
94
- error: true,
95
- result: 'Invalid Username And Password'
96
- }));
97
- return [2 /*return*/];
98
- }
99
- return [4 /*yield*/, user_collection_1.Users.authenticate(user_1, body.password)];
100
- case 5:
101
- resAuth = _a.sent();
102
- if (!resAuth['error']) return [3 /*break*/, 6];
103
- if (resAuth['error'] === 'Too Many Attempts') {
104
- response.send(JSON.stringify({
105
- error: true,
106
- result: resAuth['error'] + '. A password reset link has been sent to your email, please reset your password.'
107
- }));
108
- user_1.services['forgot_password'] = jwt.sign({ id_user: user_1._id }, serverConfig['JWT_SECRET']);
109
- emailData_1 = {
110
- userToChangePassword: user_1.fullname,
111
- userWhoResetPassword: __1.ResolveIOServer.getClientName() + ' System',
112
- url: serverConfig['ROOT_URL'] + '/forgot-password?' + encodeURIComponent(serverConfig['SERVER_URL']) + '&' + user_1.services['forgot_password']
113
- };
114
- user_collection_1.Users.updateOne({ _id: user_1._id }, { $set: { services: user_1.services } }).then(function (resUp) {
115
- mainServer.getMethodManager().readFile('email-templates/forgot-password.html').then(function (html) {
116
- var template = handlebars.compile(html);
117
- handlebars.registerHelper('equals', function (a, b) {
118
- return a === b;
119
- });
120
- mainServer.getMethodManager().sendEmail(user_1.email, 'ResolveIO (' + __1.ResolveIOServer.getClientName() + ') - Forgot Password', '', template(emailData_1));
121
- }, function (errEmail) { return console.log(errEmail); });
122
- }, function (errUp) { });
123
- }
124
- else if (resAuth['error'] === 'No Salt Value Stored') {
125
- response.send(JSON.stringify({
126
- error: true,
127
- result: 'A password reset link has been sent to your email, please reset your password.'
128
- }));
129
- user_1.services['forgot_password'] = jwt.sign({ id_user: user_1._id }, serverConfig['JWT_SECRET']);
130
- emailData_2 = {
131
- userToChangePassword: user_1.fullname,
132
- userWhoResetPassword: __1.ResolveIOServer.getClientName() + ' System',
133
- url: serverConfig['ROOT_URL'] + '/forgot-password?' + encodeURIComponent(serverConfig['SERVER_URL']) + '&' + user_1.services['forgot_password']
134
- };
135
- user_collection_1.Users.updateOne({ _id: user_1._id }, { $set: { services: user_1.services } }).then(function (resUp) {
136
- mainServer.getMethodManager().readFile('email-templates/forgot-password.html').then(function (html) {
137
- var template = handlebars.compile(html);
138
- handlebars.registerHelper('equals', function (a, b) {
139
- return a === b;
140
- });
141
- mainServer.getMethodManager().sendEmail(user_1.email, 'ResolveIO (' + __1.ResolveIOServer.getClientName() + ') - Forgot Password', '', template(emailData_2));
142
- }, function (errEmail) { return console.log(errEmail); });
143
- }, function (err) { });
144
- }
145
- else {
146
- response.send(JSON.stringify({
147
- error: true,
148
- result: resAuth['error']
149
- }));
150
- }
151
- return [3 /*break*/, 8];
152
- case 6:
153
- if (!(resAuth && resAuth['data'] && resAuth['data'].active)) return [3 /*break*/, 8];
154
- return [4 /*yield*/, user_collection_1.Users.resetAttempts(resAuth['data'])];
155
- case 7:
156
- _a.sent();
157
- response.send(JSON.stringify({
158
- error: false,
159
- result: {
160
- token: jwt.sign({ id_user: resAuth['data']._id }, serverConfig['JWT_SECRET'], {
161
- expiresIn: 90 * 24 * 60 * 60 * 1000 // 90 days
162
- })
163
- }
164
- }));
165
- _a.label = 8;
166
- case 8: return [2 /*return*/];
167
- }
168
- });
169
- }); });
170
- app.post('/accessToken', function (request, response) {
171
- return __awaiter(this, void 0, void 0, function () {
172
- var body, schema;
173
- var _this = this;
174
- return __generator(this, function (_a) {
175
- if (request.headers.origin !== serverConfig['ROOT_URL'] && request.headers.origin !== serverConfig['SEC_ROOT_URL'] && request.headers.origin !== serverConfig['RESOLVEIO_URL'] && request.headers.origin !== serverConfig['RESOLVEIO_SECONDARY_URL']) {
176
- response.send(JSON.stringify({
177
- error: true,
178
- result: 'Invalid header'
179
- }));
180
- }
181
- else {
182
- body = request.body;
183
- schema = new simpl_schema_1.default({
184
- refreshToken: {
185
- type: String
186
- },
187
- appVersion: {
188
- type: Number
189
- }
190
- });
191
- try {
192
- schema.validate(body);
193
- }
194
- catch (errors) {
195
- if (errors) {
196
- console.error('Error in HTTP Check (/accessToken)', errors);
197
- __1.ResolveIOServer.getMainServer().getMethodManager().sendEmail('dev@resolveio.com', __1.ResolveIOServer.getClientName() + 'HTTP - Error Detected', 'Match Error On HTTP ' + '/accessToken' + '\n\nData Being Checked\n' + JSON.stringify(body, null, 2) + '\n\nErrors\n' + JSON.stringify(errors, null, 2));
198
- response.send(JSON.stringify({
199
- error: true,
200
- result: 'Invalid Parameters'
201
- }));
202
- return [2 /*return*/];
203
- }
204
- }
205
- if (serverConfig['ROOT_URL'] !== 'http://localhost:4200') {
206
- jwt.verify(body.refreshToken, serverConfig['JWT_SECRET'], function (err, decoded) {
207
- if (err) {
208
- response.send(JSON.stringify({
209
- error: true,
210
- result: 'Invalid Token'
211
- }));
212
- }
213
- else {
214
- user_collection_1.Users.findById(decoded['id_user']).then(function (user) { return __awaiter(_this, void 0, void 0, function () {
215
- return __generator(this, function (_a) {
216
- switch (_a.label) {
217
- case 0:
218
- if (!user) return [3 /*break*/, 4];
219
- if (!user.active) return [3 /*break*/, 2];
220
- return [4 /*yield*/, user_collection_1.Users.resetAttempts(user)];
221
- case 1:
222
- _a.sent();
223
- response.send(JSON.stringify({
224
- error: false,
225
- result: {
226
- token: jwt.sign({ id_user: user._id }, serverConfig['JWT_SECRET'], {
227
- expiresIn: 3 * 24 * 60 * 60 * 1000 // 3 days
228
- }),
229
- user: user
230
- }
231
- }));
232
- return [3 /*break*/, 3];
233
- case 2:
234
- response.send(JSON.stringify({
235
- error: true,
236
- result: 'Account is Disabled'
237
- }));
238
- _a.label = 3;
239
- case 3: return [3 /*break*/, 5];
240
- case 4:
241
- response.send(JSON.stringify({
242
- error: true,
243
- result: 'Invalid User'
244
- }));
245
- _a.label = 5;
246
- case 5: return [2 /*return*/];
247
- }
248
- });
249
- }); }, function (error) {
250
- response.send(JSON.stringify({
251
- error: true,
252
- result: 'Invalid Mongo Get User'
253
- }));
254
- });
255
- }
256
- });
257
- }
258
- else {
259
- jwt.verify(body.refreshToken, serverConfig['JWT_SECRET'], function (err, decoded) {
260
- if (err) {
261
- response.send(JSON.stringify({
262
- error: true,
263
- result: 'Invalid Token'
264
- }));
265
- }
266
- else {
267
- user_collection_1.Users.findById(decoded['id_user']).then(function (user) { return __awaiter(_this, void 0, void 0, function () {
268
- return __generator(this, function (_a) {
269
- switch (_a.label) {
270
- case 0:
271
- if (!user) return [3 /*break*/, 4];
272
- if (!user.active) return [3 /*break*/, 2];
273
- return [4 /*yield*/, user_collection_1.Users.resetAttempts(user)];
274
- case 1:
275
- _a.sent();
276
- response.send(JSON.stringify({
277
- error: false,
278
- result: {
279
- token: jwt.sign({ id_user: user._id }, serverConfig['JWT_SECRET'], {
280
- expiresIn: 3 * 24 * 60 * 60 * 1000 // 3 days
281
- }),
282
- user: user
283
- }
284
- }));
285
- return [3 /*break*/, 3];
286
- case 2:
287
- response.send(JSON.stringify({
288
- error: true,
289
- result: 'Account is Disabled'
290
- }));
291
- _a.label = 3;
292
- case 3: return [3 /*break*/, 5];
293
- case 4:
294
- response.send(JSON.stringify({
295
- error: true,
296
- result: 'Invalid User'
297
- }));
298
- _a.label = 5;
299
- case 5: return [2 /*return*/];
300
- }
301
- });
302
- }); }, function (error) {
303
- response.send(JSON.stringify({
304
- error: true,
305
- result: 'Invalid Mongo Get User'
306
- }));
307
- });
308
- }
309
- });
310
- }
311
- }
312
- return [2 /*return*/];
313
- });
314
- });
315
- });
316
- app.post('/userWithEnrollmentToken', function (request, response) {
317
- if (request.headers.origin !== serverConfig['ROOT_URL'] && request.headers.origin !== serverConfig['SEC_ROOT_URL'] && request.headers.origin !== serverConfig['RESOLVEIO_URL'] && request.headers.origin !== serverConfig['RESOLVEIO_SECONDARY_URL']) {
318
- response.send(JSON.stringify({
319
- error: true,
320
- result: 'Invalid header'
321
- }));
322
- }
323
- else {
324
- var body_1 = request.body;
325
- var schema = new simpl_schema_1.default({
326
- enrollmentToken: {
327
- type: String
328
- }
329
- });
330
- try {
331
- schema.validate(body_1);
332
- }
333
- catch (errors) {
334
- if (errors) {
335
- console.error('Error in HTTP Check (/userWithEnrollmentToken)', errors);
336
- __1.ResolveIOServer.getMainServer().getMethodManager().sendEmail('dev@resolveio.com', __1.ResolveIOServer.getClientName() + 'HTTP - Error Detected', 'Match Error On HTTP ' + '/userWithEnrollmentToken' + '\n\nData Being Checked\n' + JSON.stringify(body_1, null, 2) + '\n\nErrors\n' + JSON.stringify(errors, null, 2));
337
- response.send(JSON.stringify({
338
- error: true,
339
- result: 'Invalid Parameters'
340
- }));
341
- return;
342
- }
343
- }
344
- jwt.verify(body_1.enrollmentToken, serverConfig['JWT_SECRET'], function (err, decoded) {
345
- if (err) {
346
- response.send(JSON.stringify({
347
- error: true,
348
- result: 'Invalid Token'
349
- }));
350
- }
351
- else {
352
- user_collection_1.Users.findOne({
353
- $and: [
354
- { _id: decoded['id_user'] },
355
- { 'services.enrollment': body_1.enrollmentToken }
356
- ]
357
- }, { projection: { _id: 1, __v: 1, username: 1, active: 1 } }).then(function (user) {
358
- if (user) {
359
- if (user.active) {
360
- response.send(JSON.stringify({
361
- error: false,
362
- result: {
363
- user: user
364
- }
365
- }));
366
- }
367
- else {
368
- response.send(JSON.stringify({
369
- error: true,
370
- result: 'Account is Disabled'
371
- }));
372
- }
373
- }
374
- else {
375
- response.send(JSON.stringify({
376
- error: true,
377
- result: 'Invalid User'
378
- }));
379
- }
380
- }, function (error) {
381
- response.send(JSON.stringify({
382
- error: true,
383
- result: 'Invalid Mongo Get User'
384
- }));
385
- });
386
- }
387
- });
388
- }
389
- });
390
- app.post('/setUserWithEnrollmentToken', function (request, response) {
391
- var _this = this;
392
- if (request.headers.origin !== serverConfig['ROOT_URL'] && request.headers.origin !== serverConfig['SEC_ROOT_URL'] && request.headers.origin !== serverConfig['RESOLVEIO_URL'] && request.headers.origin !== serverConfig['RESOLVEIO_SECONDARY_URL']) {
393
- response.send(JSON.stringify({
394
- error: true,
395
- result: 'Invalid header'
396
- }));
397
- }
398
- else {
399
- var body_2 = request.body;
400
- var schema = new simpl_schema_1.default({
401
- enrollmentToken: {
402
- type: String
403
- },
404
- password: {
405
- type: String
406
- }
407
- });
408
- try {
409
- schema.validate(body_2);
410
- }
411
- catch (errors) {
412
- if (errors) {
413
- console.error('Error in HTTP Check (/setUserWithEnrollmentToken)', errors);
414
- __1.ResolveIOServer.getMainServer().getMethodManager().sendEmail('dev@resolveio.com', __1.ResolveIOServer.getClientName() + 'HTTP - Error Detected', 'Match Error On HTTP ' + '/setUserWithEnrollmentToken' + '\n\nData Being Checked\n' + JSON.stringify(body_2, null, 2) + '\n\nErrors\n' + JSON.stringify(errors, null, 2));
415
- response.send(JSON.stringify({
416
- error: true,
417
- result: 'Invalid Parameters'
418
- }));
419
- return;
420
- }
421
- }
422
- jwt.verify(body_2.enrollmentToken, serverConfig['JWT_SECRET'], function (err, decoded) { return __awaiter(_this, void 0, void 0, function () {
423
- var _this = this;
424
- return __generator(this, function (_a) {
425
- if (err) {
426
- response.send(JSON.stringify({
427
- error: true,
428
- result: 'Invalid Token'
429
- }));
430
- }
431
- else {
432
- user_collection_1.Users.findOne({
433
- $and: [
434
- { _id: decoded['id_user'] },
435
- { 'services.enrollment': body_2.enrollmentToken }
436
- ]
437
- }).then(function (user) { return __awaiter(_this, void 0, void 0, function () {
438
- return __generator(this, function (_a) {
439
- switch (_a.label) {
440
- case 0:
441
- if (!user) return [3 /*break*/, 4];
442
- if (!user.active) return [3 /*break*/, 2];
443
- return [4 /*yield*/, user_collection_1.Users.setPassword(user, body_2.password)];
444
- case 1:
445
- _a.sent();
446
- response.send(JSON.stringify({
447
- error: false,
448
- result: true
449
- }));
450
- return [3 /*break*/, 3];
451
- case 2:
452
- response.send(JSON.stringify({
453
- error: true,
454
- result: 'Account is Disabled'
455
- }));
456
- _a.label = 3;
457
- case 3: return [3 /*break*/, 5];
458
- case 4:
459
- response.send(JSON.stringify({
460
- error: true,
461
- result: 'Invalid User'
462
- }));
463
- _a.label = 5;
464
- case 5: return [2 /*return*/];
465
- }
466
- });
467
- }); }, function (error) {
468
- response.send(JSON.stringify({
469
- error: true,
470
- result: 'Invalid Mongo Get User'
471
- }));
472
- });
473
- }
474
- return [2 /*return*/];
475
- });
476
- }); });
477
- }
478
- });
479
- app.post('/userWithForgotPasswordToken', function (request, response) {
480
- if (request.headers.origin !== serverConfig['ROOT_URL'] && request.headers.origin !== serverConfig['SEC_ROOT_URL'] && request.headers.origin !== serverConfig['RESOLVEIO_URL'] && request.headers.origin !== serverConfig['RESOLVEIO_SECONDARY_URL']) {
481
- response.send(JSON.stringify({
482
- error: true,
483
- result: 'Invalid header'
484
- }));
485
- }
486
- else {
487
- var body_3 = request.body;
488
- var schema = new simpl_schema_1.default({
489
- forgotPasswordToken: {
490
- type: String
491
- }
492
- });
493
- try {
494
- schema.validate(body_3);
495
- }
496
- catch (errors) {
497
- if (errors) {
498
- console.error('Error in HTTP Check (/userWithForgotPasswordToken)', errors);
499
- __1.ResolveIOServer.getMainServer().getMethodManager().sendEmail('dev@resolveio.com', __1.ResolveIOServer.getClientName() + 'HTTP - Error Detected', 'Match Error On HTTP ' + '/userWithForgotPasswordToken' + '\n\nData Being Checked\n' + JSON.stringify(body_3, null, 2) + '\n\nErrors\n' + JSON.stringify(errors, null, 2));
500
- response.send(JSON.stringify({
501
- error: true,
502
- result: 'Invalid Parameters'
503
- }));
504
- return;
505
- }
506
- }
507
- jwt.verify(body_3.forgotPasswordToken, serverConfig['JWT_SECRET'], function (err, decoded) {
508
- if (err) {
509
- response.send(JSON.stringify({
510
- error: true,
511
- result: 'Invalid Token'
512
- }));
513
- }
514
- else {
515
- user_collection_1.Users.findOne({
516
- $and: [
517
- { _id: decoded['id_user'] },
518
- { 'services.forgot_password': body_3.forgotPasswordToken }
519
- ]
520
- }, { projection: { _id: 1, __v: 1, username: 1, active: 1 } }).then(function (user) {
521
- if (user) {
522
- if (user.active) {
523
- response.send(JSON.stringify({
524
- error: false,
525
- result: {
526
- user: user
527
- }
528
- }));
529
- }
530
- else {
531
- response.send(JSON.stringify({
532
- error: true,
533
- result: 'Account is Disabled'
534
- }));
535
- }
536
- }
537
- else {
538
- response.send(JSON.stringify({
539
- error: true,
540
- result: 'Invalid Token'
541
- }));
542
- }
543
- }, function (error) {
544
- response.send(JSON.stringify({
545
- error: true,
546
- result: 'Invalid Mongo Get User'
547
- }));
548
- });
549
- }
550
- });
551
- }
552
- });
553
- app.post('/setUserWithForgotPasswordToken', function (request, response) {
554
- var _this = this;
555
- if (request.headers.origin !== serverConfig['ROOT_URL'] && request.headers.origin !== serverConfig['SEC_ROOT_URL'] && request.headers.origin !== serverConfig['RESOLVEIO_URL'] && request.headers.origin !== serverConfig['RESOLVEIO_SECONDARY_URL']) {
556
- response.send(JSON.stringify({
557
- error: true,
558
- result: 'Invalid header'
559
- }));
560
- }
561
- else {
562
- var body_4 = request.body;
563
- var schema = new simpl_schema_1.default({
564
- forgotPasswordToken: {
565
- type: String
566
- },
567
- password: {
568
- type: String
569
- }
570
- });
571
- try {
572
- schema.validate(body_4);
573
- }
574
- catch (errors) {
575
- if (errors) {
576
- console.error('Error in HTTP Check (/setUserWithForgotPasswordToken)', errors);
577
- __1.ResolveIOServer.getMainServer().getMethodManager().sendEmail('dev@resolveio.com', __1.ResolveIOServer.getClientName() + 'HTTP - Error Detected', 'Match Error On HTTP ' + '/setUserWithForgotPasswordToken' + '\n\nData Being Checked\n' + JSON.stringify(body_4, null, 2) + '\n\nErrors\n' + JSON.stringify(errors, null, 2));
578
- response.send(JSON.stringify({
579
- error: true,
580
- result: 'Invalid Parameters'
581
- }));
582
- return;
583
- }
584
- }
585
- jwt.verify(body_4.forgotPasswordToken, serverConfig['JWT_SECRET'], function (err, decoded) { return __awaiter(_this, void 0, void 0, function () {
586
- var _this = this;
587
- return __generator(this, function (_a) {
588
- if (err) {
589
- response.send(JSON.stringify({
590
- error: true,
591
- result: 'Invalid Token'
592
- }));
593
- }
594
- else {
595
- user_collection_1.Users.findOne({
596
- $and: [
597
- { _id: decoded['id_user'] },
598
- { 'services.forgot_password': body_4.forgotPasswordToken }
599
- ]
600
- }).then(function (user) { return __awaiter(_this, void 0, void 0, function () {
601
- return __generator(this, function (_a) {
602
- switch (_a.label) {
603
- case 0:
604
- if (!user) return [3 /*break*/, 4];
605
- if (!user.active) return [3 /*break*/, 2];
606
- return [4 /*yield*/, user_collection_1.Users.setPassword(user, body_4.password)];
607
- case 1:
608
- _a.sent();
609
- response.send(JSON.stringify({
610
- error: false,
611
- result: true
612
- }));
613
- return [3 /*break*/, 3];
614
- case 2:
615
- response.send(JSON.stringify({
616
- error: true,
617
- result: 'Account is Disabled'
618
- }));
619
- _a.label = 3;
620
- case 3: return [3 /*break*/, 5];
621
- case 4:
622
- response.send(JSON.stringify({
623
- error: true,
624
- result: 'Invalid User'
625
- }));
626
- _a.label = 5;
627
- case 5: return [2 /*return*/];
628
- }
629
- });
630
- }); }, function (error) {
631
- response.send(JSON.stringify({
632
- error: true,
633
- result: 'Invalid Mongo Get User'
634
- }));
635
- });
636
- }
637
- return [2 /*return*/];
638
- });
639
- }); });
640
- }
641
- });
642
- app.post('/resetPassword', function (request, response) { return __awaiter(_this, void 0, void 0, function () {
643
- var body, schema, user;
644
- return __generator(this, function (_a) {
645
- switch (_a.label) {
646
- case 0:
647
- if (!(request.headers.origin !== serverConfig['ROOT_URL'] && request.headers.origin !== serverConfig['SEC_ROOT_URL'])) return [3 /*break*/, 1];
648
- response.send(JSON.stringify({
649
- error: true,
650
- result: 'Invalid header'
651
- }));
652
- return [3 /*break*/, 5];
653
- case 1:
654
- body = request.body;
655
- schema = new simpl_schema_1.default({
656
- username: {
657
- type: String
658
- }
659
- });
660
- try {
661
- schema.validate(body);
662
- }
663
- catch (errors) {
664
- if (errors) {
665
- console.error('Error in HTTP Check (/resetPassword)', errors);
666
- __1.ResolveIOServer.getMainServer().getMethodManager().sendEmail('dev@resolveio.com', __1.ResolveIOServer.getClientName() + 'HTTP - Error Detected', 'Match Error On HTTP ' + '/resetPassword' + '\n\nData Being Checked\n' + JSON.stringify(body, null, 2) + '\n\nErrors\n' + JSON.stringify(errors, null, 2));
667
- response.send(JSON.stringify({
668
- error: true,
669
- result: 'Invalid Parameters'
670
- }));
671
- return [2 /*return*/];
672
- }
673
- }
674
- return [4 /*yield*/, user_collection_1.Users.findOne({ username: body.username })];
675
- case 2:
676
- user = _a.sent();
677
- if (!!user) return [3 /*break*/, 4];
678
- return [4 /*yield*/, user_collection_1.Users.findOne({ email: body.username })];
679
- case 3:
680
- user = _a.sent();
681
- _a.label = 4;
682
- case 4:
683
- if (user) {
684
- mainServer.getMethodManager().callMethodInternal.call(mainServer.getMethodManager(), 'resetUserPassword', user._id);
685
- }
686
- response.send(JSON.stringify({
687
- error: false,
688
- result: ''
689
- }));
690
- _a.label = 5;
691
- case 5: return [2 /*return*/];
692
- }
693
- });
694
- }); });
695
- }
696
- exports.setupAuthRoutes = setupAuthRoutes;
697
-
1
+ "use strict";var __awaiter=this&&this.__awaiter||function(e,r,n,t){return new(n||(n=Promise))((function(s,o){function fulfilled(e){try{step(t.next(e))}catch(e){o(e)}}function rejected(e){try{step(t.throw(e))}catch(e){o(e)}}function step(e){e.done?s(e.value):function adopt(e){return e instanceof n?e:new n((function(r){r(e)}))}(e.value).then(fulfilled,rejected)}step((t=t.apply(e,r||[])).next())}))},__generator=this&&this.__generator||function(e,r){var n,t,s,o,i={label:0,sent:function(){if(1&s[0])throw s[1];return s[1]},trys:[],ops:[]};return o={next:verb(0),throw:verb(1),return:verb(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function verb(o){return function(a){return function step(o){if(n)throw new TypeError("Generator is already executing.");for(;i;)try{if(n=1,t&&(s=2&o[0]?t.return:o[0]?t.throw||((s=t.return)&&s.call(t),0):t.next)&&!(s=s.call(t,o[1])).done)return s;switch(t=0,s&&(o=[2&o[0],s.value]),o[0]){case 0:case 1:s=o;break;case 4:return i.label++,{value:o[1],done:!1};case 5:i.label++,t=o[1],o=[0];continue;case 7:o=i.ops.pop(),i.trys.pop();continue;default:if(!(s=i.trys,(s=s.length>0&&s[s.length-1])||6!==o[0]&&2!==o[0])){i=0;continue}if(3===o[0]&&(!s||o[1]>s[0]&&o[1]<s[3])){i.label=o[1];break}if(6===o[0]&&i.label<s[1]){i.label=s[1],s=o;break}if(s&&i.label<s[2]){i.label=s[2],i.ops.push(o);break}s[2]&&i.ops.pop(),i.trys.pop();continue}o=r.call(e,i)}catch(e){o=[6,e],t=0}finally{n=s=0}if(5&o[0])throw o[1];return{value:o[0]?o[1]:void 0,done:!0}}([o,a])}}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.setupAuthRoutes=void 0;var user_collection_1=require("../collections/user.collection"),jwt=require("jsonwebtoken"),handlebars=require("handlebars"),__1=require(".."),simpl_schema_1=require("simpl-schema");function setupAuthRoutes(e,r,n){var t=this;r.post("/login",(function(r,s){return __awaiter(t,void 0,void 0,(function(){var t,o,i,a,l,d;return __generator(this,(function(u){switch(u.label){case 0:return r.headers.origin===n.ROOT_URL||r.headers.origin===n.SEC_ROOT_URL?[3,1]:(s.send(JSON.stringify({error:!0,result:"Invalid header"})),[3,8]);case 1:t=r.body,o=new simpl_schema_1.default({username:{type:String},password:{type:String}});try{o.validate(t)}catch(e){if(e)return console.error("Error in HTTP Check (/login)",e),__1.ResolveIOServer.getMainServer().getMethodManager().sendEmail("dev@resolveio.com",__1.ResolveIOServer.getClientName()+"HTTP - Error Detected","Match Error On HTTP /login\n\nData Being Checked\n"+JSON.stringify(t,null,2)+"\n\nErrors\n"+JSON.stringify(e,null,2)),s.send(JSON.stringify({error:!0,result:"Invalid Parameters"})),[2]}return[4,user_collection_1.Users.findOne({username:t.username})];case 2:return(i=u.sent())?[3,4]:[4,user_collection_1.Users.findOne({email:t.username})];case 3:i=u.sent(),u.label=4;case 4:return i?[4,user_collection_1.Users.authenticate(i,t.password)]:(s.send(JSON.stringify({error:!0,result:"Invalid Username And Password"})),[2]);case 5:return(a=u.sent()).error?("Too Many Attempts"===a.error?(s.send(JSON.stringify({error:!0,result:a.error+". A password reset link has been sent to your email, please reset your password."})),i.services.forgot_password=jwt.sign({id_user:i._id},n.JWT_SECRET),l={userToChangePassword:i.fullname,userWhoResetPassword:__1.ResolveIOServer.getClientName()+" System",url:n.ROOT_URL+"/forgot-password?"+encodeURIComponent(n.SERVER_URL)+"&"+i.services.forgot_password},user_collection_1.Users.updateOne({_id:i._id},{$set:{services:i.services}}).then((function(r){e.getMethodManager().readFile("email-templates/forgot-password.html").then((function(r){var n=handlebars.compile(r);handlebars.registerHelper("equals",(function(e,r){return e===r})),e.getMethodManager().sendEmail(i.email,"ResolveIO ("+__1.ResolveIOServer.getClientName()+") - Forgot Password","",n(l))}),(function(e){return console.log(e)}))}),(function(e){}))):"No Salt Value Stored"===a.error?(s.send(JSON.stringify({error:!0,result:"A password reset link has been sent to your email, please reset your password."})),i.services.forgot_password=jwt.sign({id_user:i._id},n.JWT_SECRET),d={userToChangePassword:i.fullname,userWhoResetPassword:__1.ResolveIOServer.getClientName()+" System",url:n.ROOT_URL+"/forgot-password?"+encodeURIComponent(n.SERVER_URL)+"&"+i.services.forgot_password},user_collection_1.Users.updateOne({_id:i._id},{$set:{services:i.services}}).then((function(r){e.getMethodManager().readFile("email-templates/forgot-password.html").then((function(r){var n=handlebars.compile(r);handlebars.registerHelper("equals",(function(e,r){return e===r})),e.getMethodManager().sendEmail(i.email,"ResolveIO ("+__1.ResolveIOServer.getClientName()+") - Forgot Password","",n(d))}),(function(e){return console.log(e)}))}),(function(e){}))):s.send(JSON.stringify({error:!0,result:a.error})),[3,8]):[3,6];case 6:return a&&a.data&&a.data.active?[4,user_collection_1.Users.resetAttempts(a.data)]:[3,8];case 7:u.sent(),s.send(JSON.stringify({error:!1,result:{token:jwt.sign({id_user:a.data._id},n.JWT_SECRET,{expiresIn:7776e6})}})),u.label=8;case 8:return[2]}}))}))})),r.post("/accessToken",(function(e,r){return __awaiter(this,void 0,void 0,(function(){var t,s,o=this;return __generator(this,(function(i){if(e.headers.origin!==n.ROOT_URL&&e.headers.origin!==n.SEC_ROOT_URL&&e.headers.origin!==n.RESOLVEIO_URL&&e.headers.origin!==n.RESOLVEIO_SECONDARY_URL)r.send(JSON.stringify({error:!0,result:"Invalid header"}));else{t=e.body,s=new simpl_schema_1.default({refreshToken:{type:String},appVersion:{type:Number}});try{s.validate(t)}catch(e){if(e)return console.error("Error in HTTP Check (/accessToken)",e),__1.ResolveIOServer.getMainServer().getMethodManager().sendEmail("dev@resolveio.com",__1.ResolveIOServer.getClientName()+"HTTP - Error Detected","Match Error On HTTP /accessToken\n\nData Being Checked\n"+JSON.stringify(t,null,2)+"\n\nErrors\n"+JSON.stringify(e,null,2)),r.send(JSON.stringify({error:!0,result:"Invalid Parameters"})),[2]}n.ROOT_URL,jwt.verify(t.refreshToken,n.JWT_SECRET,(function(e,t){e?r.send(JSON.stringify({error:!0,result:"Invalid Token"})):user_collection_1.Users.findById(t.id_user).then((function(e){return __awaiter(o,void 0,void 0,(function(){return __generator(this,(function(t){switch(t.label){case 0:return e?e.active?[4,user_collection_1.Users.resetAttempts(e)]:[3,2]:[3,4];case 1:return t.sent(),r.send(JSON.stringify({error:!1,result:{token:jwt.sign({id_user:e._id},n.JWT_SECRET,{expiresIn:2592e5}),user:e}})),[3,3];case 2:r.send(JSON.stringify({error:!0,result:"Account is Disabled"})),t.label=3;case 3:return[3,5];case 4:r.send(JSON.stringify({error:!0,result:"Invalid User"})),t.label=5;case 5:return[2]}}))}))}),(function(e){r.send(JSON.stringify({error:!0,result:"Invalid Mongo Get User"}))}))}))}return[2]}))}))})),r.post("/userWithEnrollmentToken",(function(e,r){if(e.headers.origin!==n.ROOT_URL&&e.headers.origin!==n.SEC_ROOT_URL&&e.headers.origin!==n.RESOLVEIO_URL&&e.headers.origin!==n.RESOLVEIO_SECONDARY_URL)r.send(JSON.stringify({error:!0,result:"Invalid header"}));else{var t=e.body,s=new simpl_schema_1.default({enrollmentToken:{type:String}});try{s.validate(t)}catch(e){if(e)return console.error("Error in HTTP Check (/userWithEnrollmentToken)",e),__1.ResolveIOServer.getMainServer().getMethodManager().sendEmail("dev@resolveio.com",__1.ResolveIOServer.getClientName()+"HTTP - Error Detected","Match Error On HTTP /userWithEnrollmentToken\n\nData Being Checked\n"+JSON.stringify(t,null,2)+"\n\nErrors\n"+JSON.stringify(e,null,2)),void r.send(JSON.stringify({error:!0,result:"Invalid Parameters"}))}jwt.verify(t.enrollmentToken,n.JWT_SECRET,(function(e,n){e?r.send(JSON.stringify({error:!0,result:"Invalid Token"})):user_collection_1.Users.findOne({$and:[{_id:n.id_user},{"services.enrollment":t.enrollmentToken}]},{projection:{_id:1,__v:1,username:1,active:1}}).then((function(e){e?e.active?r.send(JSON.stringify({error:!1,result:{user:e}})):r.send(JSON.stringify({error:!0,result:"Account is Disabled"})):r.send(JSON.stringify({error:!0,result:"Invalid User"}))}),(function(e){r.send(JSON.stringify({error:!0,result:"Invalid Mongo Get User"}))}))}))}})),r.post("/setUserWithEnrollmentToken",(function(e,r){var t=this;if(e.headers.origin!==n.ROOT_URL&&e.headers.origin!==n.SEC_ROOT_URL&&e.headers.origin!==n.RESOLVEIO_URL&&e.headers.origin!==n.RESOLVEIO_SECONDARY_URL)r.send(JSON.stringify({error:!0,result:"Invalid header"}));else{var s=e.body,o=new simpl_schema_1.default({enrollmentToken:{type:String},password:{type:String}});try{o.validate(s)}catch(e){if(e)return console.error("Error in HTTP Check (/setUserWithEnrollmentToken)",e),__1.ResolveIOServer.getMainServer().getMethodManager().sendEmail("dev@resolveio.com",__1.ResolveIOServer.getClientName()+"HTTP - Error Detected","Match Error On HTTP /setUserWithEnrollmentToken\n\nData Being Checked\n"+JSON.stringify(s,null,2)+"\n\nErrors\n"+JSON.stringify(e,null,2)),void r.send(JSON.stringify({error:!0,result:"Invalid Parameters"}))}jwt.verify(s.enrollmentToken,n.JWT_SECRET,(function(e,n){return __awaiter(t,void 0,void 0,(function(){var t=this;return __generator(this,(function(o){return e?r.send(JSON.stringify({error:!0,result:"Invalid Token"})):user_collection_1.Users.findOne({$and:[{_id:n.id_user},{"services.enrollment":s.enrollmentToken}]}).then((function(e){return __awaiter(t,void 0,void 0,(function(){return __generator(this,(function(n){switch(n.label){case 0:return e?e.active?[4,user_collection_1.Users.setPassword(e,s.password)]:[3,2]:[3,4];case 1:return n.sent(),r.send(JSON.stringify({error:!1,result:!0})),[3,3];case 2:r.send(JSON.stringify({error:!0,result:"Account is Disabled"})),n.label=3;case 3:return[3,5];case 4:r.send(JSON.stringify({error:!0,result:"Invalid User"})),n.label=5;case 5:return[2]}}))}))}),(function(e){r.send(JSON.stringify({error:!0,result:"Invalid Mongo Get User"}))})),[2]}))}))}))}})),r.post("/userWithForgotPasswordToken",(function(e,r){if(e.headers.origin!==n.ROOT_URL&&e.headers.origin!==n.SEC_ROOT_URL&&e.headers.origin!==n.RESOLVEIO_URL&&e.headers.origin!==n.RESOLVEIO_SECONDARY_URL)r.send(JSON.stringify({error:!0,result:"Invalid header"}));else{var t=e.body,s=new simpl_schema_1.default({forgotPasswordToken:{type:String}});try{s.validate(t)}catch(e){if(e)return console.error("Error in HTTP Check (/userWithForgotPasswordToken)",e),__1.ResolveIOServer.getMainServer().getMethodManager().sendEmail("dev@resolveio.com",__1.ResolveIOServer.getClientName()+"HTTP - Error Detected","Match Error On HTTP /userWithForgotPasswordToken\n\nData Being Checked\n"+JSON.stringify(t,null,2)+"\n\nErrors\n"+JSON.stringify(e,null,2)),void r.send(JSON.stringify({error:!0,result:"Invalid Parameters"}))}jwt.verify(t.forgotPasswordToken,n.JWT_SECRET,(function(e,n){e?r.send(JSON.stringify({error:!0,result:"Invalid Token"})):user_collection_1.Users.findOne({$and:[{_id:n.id_user},{"services.forgot_password":t.forgotPasswordToken}]},{projection:{_id:1,__v:1,username:1,active:1}}).then((function(e){e?e.active?r.send(JSON.stringify({error:!1,result:{user:e}})):r.send(JSON.stringify({error:!0,result:"Account is Disabled"})):r.send(JSON.stringify({error:!0,result:"Invalid Token"}))}),(function(e){r.send(JSON.stringify({error:!0,result:"Invalid Mongo Get User"}))}))}))}})),r.post("/setUserWithForgotPasswordToken",(function(e,r){var t=this;if(e.headers.origin!==n.ROOT_URL&&e.headers.origin!==n.SEC_ROOT_URL&&e.headers.origin!==n.RESOLVEIO_URL&&e.headers.origin!==n.RESOLVEIO_SECONDARY_URL)r.send(JSON.stringify({error:!0,result:"Invalid header"}));else{var s=e.body,o=new simpl_schema_1.default({forgotPasswordToken:{type:String},password:{type:String}});try{o.validate(s)}catch(e){if(e)return console.error("Error in HTTP Check (/setUserWithForgotPasswordToken)",e),__1.ResolveIOServer.getMainServer().getMethodManager().sendEmail("dev@resolveio.com",__1.ResolveIOServer.getClientName()+"HTTP - Error Detected","Match Error On HTTP /setUserWithForgotPasswordToken\n\nData Being Checked\n"+JSON.stringify(s,null,2)+"\n\nErrors\n"+JSON.stringify(e,null,2)),void r.send(JSON.stringify({error:!0,result:"Invalid Parameters"}))}jwt.verify(s.forgotPasswordToken,n.JWT_SECRET,(function(e,n){return __awaiter(t,void 0,void 0,(function(){var t=this;return __generator(this,(function(o){return e?r.send(JSON.stringify({error:!0,result:"Invalid Token"})):user_collection_1.Users.findOne({$and:[{_id:n.id_user},{"services.forgot_password":s.forgotPasswordToken}]}).then((function(e){return __awaiter(t,void 0,void 0,(function(){return __generator(this,(function(n){switch(n.label){case 0:return e?e.active?[4,user_collection_1.Users.setPassword(e,s.password)]:[3,2]:[3,4];case 1:return n.sent(),r.send(JSON.stringify({error:!1,result:!0})),[3,3];case 2:r.send(JSON.stringify({error:!0,result:"Account is Disabled"})),n.label=3;case 3:return[3,5];case 4:r.send(JSON.stringify({error:!0,result:"Invalid User"})),n.label=5;case 5:return[2]}}))}))}),(function(e){r.send(JSON.stringify({error:!0,result:"Invalid Mongo Get User"}))})),[2]}))}))}))}})),r.post("/resetPassword",(function(r,s){return __awaiter(t,void 0,void 0,(function(){var t,o,i;return __generator(this,(function(a){switch(a.label){case 0:return r.headers.origin===n.ROOT_URL||r.headers.origin===n.SEC_ROOT_URL?[3,1]:(s.send(JSON.stringify({error:!0,result:"Invalid header"})),[3,5]);case 1:t=r.body,o=new simpl_schema_1.default({username:{type:String}});try{o.validate(t)}catch(e){if(e)return console.error("Error in HTTP Check (/resetPassword)",e),__1.ResolveIOServer.getMainServer().getMethodManager().sendEmail("dev@resolveio.com",__1.ResolveIOServer.getClientName()+"HTTP - Error Detected","Match Error On HTTP /resetPassword\n\nData Being Checked\n"+JSON.stringify(t,null,2)+"\n\nErrors\n"+JSON.stringify(e,null,2)),s.send(JSON.stringify({error:!0,result:"Invalid Parameters"})),[2]}return[4,user_collection_1.Users.findOne({username:t.username})];case 2:return(i=a.sent())?[3,4]:[4,user_collection_1.Users.findOne({email:t.username})];case 3:i=a.sent(),a.label=4;case 4:i&&e.getMethodManager().callMethodInternal.call(e.getMethodManager(),"resetUserPassword",i._id),s.send(JSON.stringify({error:!1,result:""})),a.label=5;case 5:return[2]}}))}))}))}exports.setupAuthRoutes=setupAuthRoutes;
698
2
  //# sourceMappingURL=auth.js.map