@resolveio/server-lib 7.0.0 → 7.0.2-newrole

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.
@@ -22,13 +22,6 @@ var schema = {
22
22
  type: Date,
23
23
  optional: true
24
24
  },
25
- readonly: {
26
- type: Boolean,
27
- optional: true
28
- },
29
- active: {
30
- type: Boolean
31
- },
32
25
  attempts: {
33
26
  type: Number,
34
27
  optional: true
@@ -65,53 +58,67 @@ var schema = {
65
58
  type: String
66
59
  },
67
60
  roles: {
61
+ type: Object
62
+ },
63
+ 'roles.super_admin': {
64
+ type: Boolean
65
+ },
66
+ 'roles.approvals': {
68
67
  type: Array
69
68
  },
70
- 'roles.$': {
69
+ 'roles.approvals.$': {
70
+ type: Object
71
+ },
72
+ 'roles.approvals.$.name': {
71
73
  type: String
72
74
  },
73
- phonenumber: {
74
- type: String,
75
- optional: true
75
+ 'roles.approvals.$.type': {
76
+ type: String
76
77
  },
77
- other: {
78
- type: Object,
79
- blackbox: true,
80
- optional: true
78
+ 'roles.approvals.$.accounting_code': {
79
+ type: String
81
80
  },
82
- assets: {
83
- type: Array,
84
- optional: true
81
+ 'roles.groups': {
82
+ type: Array
85
83
  },
86
- 'assets.$': {
84
+ 'roles.groups.$': {
87
85
  type: Object
88
86
  },
89
- 'assets.$.type': {
87
+ 'roles.groups.$.name': {
90
88
  type: String
91
89
  },
92
- 'assets.$.id_asset': {
93
- type: String
90
+ 'roles.groups.$.views': {
91
+ type: Array
94
92
  },
95
- 'assets.$.asset_number': {
93
+ 'roles.groups.$.views.$': {
96
94
  type: String
97
95
  },
98
- 'assets.$.ownership': {
99
- type: String
96
+ 'roles.groups.$.yard': {
97
+ type: String,
98
+ optional: true
99
+ },
100
+ 'roles.notifications': {
101
+ type: Array
100
102
  },
101
- 'assets.$.ownership_driver': {
103
+ 'roles.notifications.$': {
102
104
  type: String
103
105
  },
104
- 'assets.$.date_start': {
105
- type: Date
106
+ 'roles.miscs': {
107
+ type: Array
106
108
  },
107
- 'assets.$.date_end': {
108
- type: Date,
109
- optional: true
109
+ 'roles.miscs.$': {
110
+ type: String
110
111
  },
111
- id_function: {
112
+ active: Boolean,
113
+ phonenumber: {
112
114
  type: String,
113
115
  optional: true
114
116
  },
117
+ other: {
118
+ type: Object,
119
+ optional: true,
120
+ blackbox: true
121
+ },
115
122
  customers: {
116
123
  type: Array,
117
124
  optional: true,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/collections/user.collection.ts"],"names":[],"mappings":"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","file":"user.collection.js","sourcesContent":["import { Schema, Model, PassportLocalDocument, PassportLocalModel, PassportLocalSchema} from 'mongoose';\nimport * as passportLocalMongoose from 'passport-local-mongoose';\nimport SimpleSchema from 'simpl-schema';\nimport { ResolveIOServer } from '../index';\nimport { UserModel } from '../models/user.model';\nimport { LookupTables } from '../models/report-builder.model';\nimport { buildRbSchema, buildRbLookups } from '../util/schema-report-builder';\n\nlet schema: any = {\n\t_id: {\n\t\ttype: String,\n\t\toptional: true\n\t},\n\t__v: {\n\t\ttype: Number,\n\t\toptional: true\n\t},\n\tupdatedAt: {\n\t\ttype: Date,\n\t\toptional: true\n\t},\n\tcreatedAt: {\n\t\ttype: Date,\n\t\toptional: true\n\t},\n\treadonly: {\n\t\ttype: Boolean,\n\t\toptional: true\n\t},\n\tactive: {\n\t\ttype: Boolean\n\t},\n\tattempts: {\n\t\ttype: Number,\n\t\toptional: true\n\t},\n\tlast: {\n\t\ttype: Date,\n\t\toptional: true\n\t},\n\tservices: {\n\t\ttype: Object,\n\t\toptional: true\n\t},\n\t'services.enrollment': {\n\t\ttype: String,\n\t\toptional: true\n\t},\n\t'services.forgot_password': {\n\t\ttype: String,\n\t\toptional: true\n\t},\n\t'services.reset_password': {\n\t\ttype: String,\n\t\toptional: true\n\t},\n\tusername: {\n\t\ttype: String,\n\t\toptional: true\n\t},\n\temail: {\n\t\ttype: String,\n\t\toptional: true\n\t},\n\tfullname: {\n\t\ttype: String\n\t},\n\troles: {\n\t\ttype: Array\n\t},\n\t'roles.$': {\n\t\ttype: String\n\t},\n\tphonenumber: {\n\t\ttype: String,\n\t\toptional: true\n\t},\n\tother: {\n\t\ttype: Object,\n\t\tblackbox: true,\n\t\toptional: true\n\t},\n\tassets: {\n\t\ttype: Array,\n\t\toptional: true\n\t},\n\t'assets.$': {\n\t\ttype: Object\n\t},\n\t'assets.$.type': {\n\t\ttype: String\n\t},\n\t'assets.$.id_asset': {\n\t\ttype: String\n\t},\n\t'assets.$.asset_number': {\n\t\ttype: String\n\t},\n\t'assets.$.ownership': {\n\t\ttype: String\n\t},\n\t'assets.$.ownership_driver': {\n\t\ttype: String\n\t},\n\t'assets.$.date_start': {\n\t\ttype: Date\n\t},\n\t'assets.$.date_end': {\n\t\ttype: Date,\n\t\toptional: true\n\t},\n\tid_function: {\n\t\ttype: String,\n\t\toptional: true\n\t},\n\tcustomers: {\n\t\ttype: Array,\n\t\toptional: true,\n\t},\n\t'customers.$': {\n\t\ttype: Object\n\t},\n\t'customers.$.id_customer': {\n\t\ttype: String\n\t},\n\t'customers.$.customer': {\n\t\ttype: String\n\t},\n\tid_customer: {\n\t\ttype: String,\n\t\toptional: true\n\t},\n\tcustomer: {\n\t\ttype: String,\n\t\toptional: true\n\t},\n\tcustomer_type: {\n\t\ttype: String,\n\t\toptional: true\n\t},\n\tdepartments: {\n\t\ttype: Array,\n\t\toptional: true\n\t},\n\t'departments.$': {\n\t\ttype: Object\n\t},\n\t'departments.$.id_department': {\n\t\ttype: String\n\t},\n\t'departments.$.department': {\n\t\ttype: String\n\t}\n};\n\nconst DefaultSchema = <PassportLocalSchema>new Schema(schema, {\n\tskipVersioning: true,\n\tversionKey: false,\n\ttimestamps: true\n});\n\nDefaultSchema.plugin(passportLocalMongoose, {\n\tusernameUnique: true,\n\tlimitAttempts: true,\n\tmaxAttempts: 5,\n\tfindByUsername: (mongooseModel, queryParameters) => {\n\t\t// Add additional query parameter - AND condition - active: true\n\t\tqueryParameters.active = true;\n\t\treturn mongooseModel.findOne(queryParameters);\n\t}\n});\n\ninterface ResolveIOModel extends UserModel, PassportLocalDocument {}\nexport const Users: PassportLocalModel<ResolveIOModel> = (<any>ResolveIOServer.getMainDB()).model('users', DefaultSchema);\n\nUsers['simplschema'] = new SimpleSchema(schema);\n\nschema._id = {\n\ttype: Schema.Types.Mixed\n};\n\nlet VersionSchema = new Schema(schema, {\n\tskipVersioning: true,\n\tversionKey: false,\n\ttimestamps: true\n});\n\nVersionSchema.index({'_id.__v': 1, '_id._id': 1});\n\nUsers['versionCollection'] = 'users.versions';\n\nexport const UserVersions: Model<ResolveIOModel> = ResolveIOServer.getMainDB().model(Users['versionCollection'], VersionSchema);\n\n//------------- Report Builder Schema\nlet rbLookups: LookupTables[] = [];\n\nlet rbSchema = Object.assign(schema, buildRbLookups(rbLookups, DefaultSchema, []));\nUsers['rbSchema'] = buildRbSchema(rbSchema);"]}
1
+ {"version":3,"sources":["../../src/collections/user.collection.ts"],"names":[],"mappings":"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","file":"user.collection.js","sourcesContent":["import { Schema, Model, PassportLocalDocument, PassportLocalModel, PassportLocalSchema} from 'mongoose';\nimport * as passportLocalMongoose from 'passport-local-mongoose';\nimport SimpleSchema from 'simpl-schema';\nimport { ResolveIOServer } from '../index';\nimport { UserModel } from '../models/user.model';\nimport { LookupTables } from '../models/report-builder.model';\nimport { buildRbSchema, buildRbLookups } from '../util/schema-report-builder';\n\nlet schema: any = {\n\t_id: {\n\t\ttype: String,\n\t\toptional: true\n\t},\n\t__v: {\n\t\ttype: Number,\n\t\toptional: true\n\t},\n\tupdatedAt: {\n\t\ttype: Date,\n\t\toptional: true\n\t},\n\tcreatedAt: {\n\t\ttype: Date,\n\t\toptional: true\n\t},\n\tattempts: {\n\t\ttype: Number,\n\t\toptional: true\n\t},\n\tlast: {\n\t\ttype: Date,\n\t\toptional: true\n\t},\n\tservices: {\n\t\ttype: Object,\n\t\toptional: true\n\t},\n\t'services.enrollment': {\n\t\ttype: String,\n\t\toptional: true\n\t},\n\t'services.forgot_password': {\n\t\ttype: String,\n\t\toptional: true\n\t},\n\t'services.reset_password': {\n\t\ttype: String,\n\t\toptional: true\n\t},\n\tusername: {\n\t\ttype: String,\n\t\toptional: true\n\t},\n\temail: {\n\t\ttype: String,\n\t\toptional: true\n\t},\n\tfullname: {\n\t\ttype: String\n\t},\n\troles: {\n\t\ttype: Object\n\t},\n\t'roles.super_admin': {\n\t\ttype: Boolean\n\t},\n\t'roles.approvals': {\n\t\ttype: Array\n\t},\n\t'roles.approvals.$': {\n\t\ttype: Object\n\t},\n\t'roles.approvals.$.name': {\n\t\ttype: String\n\t},\n\t'roles.approvals.$.type': {\n\t\ttype: String\n\t},\n\t'roles.approvals.$.accounting_code': {\n\t\ttype: String\n\t},\n\t'roles.groups': {\n\t\ttype: Array\n\t},\n\t'roles.groups.$': {\n\t\ttype: Object\n\t},\n\t'roles.groups.$.name': {\n\t\ttype: String\n\t},\n\t'roles.groups.$.views': {\n\t\ttype: Array\n\t},\n\t'roles.groups.$.views.$': {\n\t\ttype: String\n\t},\n\t'roles.groups.$.yard': {\n\t\ttype: String,\n\t\toptional: true\n\t},\n\t'roles.notifications': {\n\t\ttype: Array\n\t},\n\t'roles.notifications.$': {\n\t\ttype: String\n\t},\n\t'roles.miscs': {\n\t\ttype: Array\n\t},\n\t'roles.miscs.$': {\n\t\ttype: String\n\t},\n\tactive: Boolean,\n\tphonenumber: {\n\t\ttype: String,\n\t\toptional: true\n\t},\n\tother: {\n\t\ttype: Object,\n\t\toptional: true,\n\t\tblackbox: true\n\t},\n\tcustomers: {\n\t\ttype: Array,\n\t\toptional: true,\n\t},\n\t'customers.$': {\n\t\ttype: Object\n\t},\n\t'customers.$.id_customer': {\n\t\ttype: String\n\t},\n\t'customers.$.customer': {\n\t\ttype: String\n\t},\n\tid_customer: {\n\t\ttype: String,\n\t\toptional: true\n\t},\n\tcustomer: {\n\t\ttype: String,\n\t\toptional: true\n\t},\n\tcustomer_type: {\n\t\ttype: String,\n\t\toptional: true\n\t},\n\tdepartments: {\n\t\ttype: Array,\n\t\toptional: true\n\t},\n\t'departments.$': {\n\t\ttype: Object\n\t},\n\t'departments.$.id_department': {\n\t\ttype: String\n\t},\n\t'departments.$.department': {\n\t\ttype: String\n\t}\n};\n\nconst DefaultSchema = <PassportLocalSchema>new Schema(schema, {\n\tskipVersioning: true,\n\tversionKey: false,\n\ttimestamps: true\n});\n\nDefaultSchema.plugin(passportLocalMongoose, {\n\tusernameUnique: true,\n\tlimitAttempts: true,\n\tmaxAttempts: 5,\n\tfindByUsername: (mongooseModel, queryParameters) => {\n\t\t// Add additional query parameter - AND condition - active: true\n\t\tqueryParameters.active = true;\n\t\treturn mongooseModel.findOne(queryParameters);\n\t}\n});\n\ninterface ResolveIOModel extends UserModel, PassportLocalDocument {}\nexport const Users: PassportLocalModel<ResolveIOModel> = (<any>ResolveIOServer.getMainDB()).model('users', DefaultSchema);\n\nUsers['simplschema'] = new SimpleSchema(schema);\n\nschema._id = {\n\ttype: Schema.Types.Mixed\n};\n\nlet VersionSchema = new Schema(schema, {\n\tskipVersioning: true,\n\tversionKey: false,\n\ttimestamps: true\n});\n\nVersionSchema.index({'_id.__v': 1, '_id._id': 1});\n\nUsers['versionCollection'] = 'users.versions';\n\nexport const UserVersions: Model<ResolveIOModel> = ResolveIOServer.getMainDB().model(Users['versionCollection'], VersionSchema);\n\n//------------- Report Builder Schema\nlet rbLookups: LookupTables[] = [];\n\nlet rbSchema = Object.assign(schema, buildRbLookups(rbLookups, DefaultSchema, []));\nUsers['rbSchema'] = buildRbSchema(rbSchema);"]}
package/http/auth.js CHANGED
@@ -176,6 +176,9 @@ function setupAuthRoutes(mainServer, app, serverConfig) {
176
176
  schema = new simpl_schema_1.default({
177
177
  refreshToken: {
178
178
  type: String
179
+ },
180
+ appVersion: {
181
+ type: Number
179
182
  }
180
183
  });
181
184
  try {
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 { Users } from '../collections/user.collection';\nimport * as jwt from 'jsonwebtoken';\nimport * as handlebars from 'handlebars';\nimport ResolveIOMainServer from '../server-app';\nimport { ResolveIOServer } from '..';\nimport SimpleSchema from 'simpl-schema';\n\nexport function setupAuthRoutes(mainServer: ResolveIOMainServer, app, serverConfig) {\n\t// Login via HTTP, return refresh token if authenticated\n\tapp.post('/login', async (request, response) => {\n\t\tif (request.headers.origin !== serverConfig['ROOT_URL'] && request.headers.origin !== serverConfig['SEC_ROOT_URL']) {\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('Error in HTTP Check (/login)', errors);\n\t\n\t\t\t\t\tResolveIOServer.getMainServer().getMethodManager().sendEmail('dev@resolveio.com', 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));\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({username: body.username}).exec();\n\n\t\t\tif (!user) {\n\t\t\t\tuser = await Users.findOne({email: body.username}).exec();\n\t\t\t}\n\t\t\t\n\t\t\tlet username = user ? user.username : body.username;\n\n\t\t\tlet resAuth = await Users.authenticate()(username, body.password);\n\n\t\t\tif (resAuth.error) {\n\t\t\t\tif (resAuth.error.name === 'TooManyAttemptsError') {\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.message + '. 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\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\tUsers.updateOne({_id: user._id}, {$set: {services: user.services}}).exec((errUp, resUp) => {\n\t\t\t\t\t\tmainServer.getMethodManager().readFile('email-templates/forgot-password.html').then(html => {\n\t\t\t\t\t\t\tlet template = handlebars.compile(html);\n\t\t\t\t\t\t\thandlebars.registerHelper('equals', (a, b) => {\n\t\t\t\t\t\t\t\treturn a === b;\n\t\t\t\t\t\t\t});\n\t\t\n\t\t\t\t\t\t\tmainServer.getMethodManager().sendEmail(user.email, 'ResolveIO (' + ResolveIOServer.getClientName() + ') - Forgot Password', '', template(emailData));\n\t\t\t\t\t\t}, errEmail => console.log(errEmail));\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t\telse if (resAuth.error.name === 'NoSaltValueStoredError') {\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\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\tUsers.updateOne({_id: user._id}, {$set: {services: user.services}}).exec((errUp, resUp) => {\n\t\t\t\t\t\tmainServer.getMethodManager().readFile('email-templates/forgot-password.html').then(html => {\n\t\t\t\t\t\t\tlet template = handlebars.compile(html);\n\t\t\t\t\t\t\thandlebars.registerHelper('equals', (a, b) => {\n\t\t\t\t\t\t\t\treturn a === b;\n\t\t\t\t\t\t\t});\n\t\t\n\t\t\t\t\t\t\tmainServer.getMethodManager().sendEmail(user.email, 'ResolveIO (' + ResolveIOServer.getClientName() + ') - Forgot Password', '', template(emailData));\n\t\t\t\t\t\t}, errEmail => console.log(errEmail));\n\t\t\t\t\t});\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.message\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.user && resAuth.user.active) {\n\t\t\t\t\tresAuth.user.resetAttempts((errAt, resAt) => {\n\t\t\t\t\t\tresponse.send(JSON.stringify({\n\t\t\t\t\t\t\terror: false,\n\t\t\t\t\t\t\tresult: {\n\t\t\t\t\t\t\t\ttoken: jwt.sign({id_user: resAuth.user._id}, serverConfig['JWT_SECRET'], {\n\t\t\t\t\t\t\t\t\texpiresIn : 90 * 24 * 60 * 60 * 1000 // 90 days\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});\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t});\n\n\tapp.post('/accessToken', async function (request, response) {\n\t\tif (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']) {\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('Error in HTTP Check (/accessToken)', errors);\n\t\n\t\t\t\t\tResolveIOServer.getMainServer().getMethodManager().sendEmail('dev@resolveio.com', 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));\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\tif (serverConfig['ROOT_URL'] !== 'http://localhost:4200') {\n\t\t\t\tjwt.verify(body.refreshToken, serverConfig['JWT_SECRET'], (err, decoded) => {\n\t\t\t\t\tif (err) {\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 Token'\n\t\t\t\t\t\t}));\n\t\t\t\t\t}\n\t\t\t\t\telse {\n\t\t\t\t\t\tUsers.findById(decoded['id_user']).exec().then((user) => {\n\t\t\t\t\t\t\tif (user) {\n\t\t\t\t\t\t\t\tif (user.active) {\n\t\t\t\t\t\t\t\t\tuser.resetAttempts((err, res) => {\n\t\t\t\t\t\t\t\t\t\tresponse.send(JSON.stringify({\n\t\t\t\t\t\t\t\t\t\t\terror: false,\n\t\t\t\t\t\t\t\t\t\t\tresult: {\n\t\t\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\t\t\texpiresIn : 3 * 24 * 60 * 60 * 1000 // 3 days\n\t\t\t\t\t\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\t\t\t\t\t\tuser: user\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t}));\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\telse {\n\t\t\t\t\t\t\t\t\tresponse.send(JSON.stringify({\n\t\t\t\t\t\t\t\t\t\terror: true,\n\t\t\t\t\t\t\t\t\t\tresult: 'Account is Disabled'\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: 'Invalid User'\n\t\t\t\t\t\t\t\t}));\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}, error => {\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 Mongoose Get 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});\n\t\t\t}\t\n\t\t\telse {\n\t\t\t\tjwt.verify(body.refreshToken, serverConfig['JWT_SECRET'], (err, decoded) => {\n\t\t\t\t\tif (err) {\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 Token'\n\t\t\t\t\t\t}));\n\t\t\t\t\t}\n\t\t\t\t\telse {\n\t\t\t\t\t\tUsers.findById(decoded['id_user']).exec().then((user) => {\n\t\t\t\t\t\t\tif (user) {\n\t\t\t\t\t\t\t\tif (user.active) {\n\t\t\t\t\t\t\t\t\tuser.resetAttempts((err, res) => {\n\t\t\t\t\t\t\t\t\t\tresponse.send(JSON.stringify({\n\t\t\t\t\t\t\t\t\t\t\terror: false,\n\t\t\t\t\t\t\t\t\t\t\tresult: {\n\t\t\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\t\t\texpiresIn : 3 * 24 * 60 * 60 * 1000 // 3 days\n\t\t\t\t\t\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\t\t\t\t\t\tuser: user\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t}));\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\telse {\n\t\t\t\t\t\t\t\t\tresponse.send(JSON.stringify({\n\t\t\t\t\t\t\t\t\t\terror: true,\n\t\t\t\t\t\t\t\t\t\tresult: 'Account is Disabled'\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: 'Invalid User'\n\t\t\t\t\t\t\t\t}));\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}, error => {\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 Mongoose Get 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});\n\t\t\t}\n\t\t}\n\t});\n\n\tapp.post('/userWithEnrollmentToken', function (request, response) {\n\t\tif (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']) {\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('Error in HTTP Check (/userWithEnrollmentToken)', errors);\n\t\n\t\t\t\t\tResolveIOServer.getMainServer().getMethodManager().sendEmail('dev@resolveio.com', ResolveIOServer.getClientName() + 'HTTP - Error Detected', 'Match Error On HTTP ' + '/userWithEnrollmentToken' + '\\n\\nData Being Checked\\n' + JSON.stringify(body, null, 2) + '\\n\\nErrors\\n' + JSON.stringify(errors, null, 2));\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'], (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\tUsers.findOne({\n\t\t\t\t\t\t$and: [\n\t\t\t\t\t\t\t{_id: decoded['id_user']},\n\t\t\t\t\t\t\t{'services.enrollment': body.enrollmentToken}\n\t\t\t\t\t\t]\n\t\t\t\t\t}).select('_id __v username active').exec().then((user) => {\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}, error => {\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 Mongoose 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', function (request, response) {\n\t\tif (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']) {\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('Error in HTTP Check (/setUserWithEnrollmentToken)', errors);\n\t\n\t\t\t\t\tResolveIOServer.getMainServer().getMethodManager().sendEmail('dev@resolveio.com', ResolveIOServer.getClientName() + 'HTTP - Error Detected', 'Match Error On HTTP ' + '/setUserWithEnrollmentToken' + '\\n\\nData Being Checked\\n' + JSON.stringify(body, null, 2) + '\\n\\nErrors\\n' + JSON.stringify(errors, null, 2));\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\tUsers.findOne({\n\t\t\t\t\t\t$and: [\n\t\t\t\t\t\t\t{_id: decoded['id_user']},\n\t\t\t\t\t\t\t{'services.enrollment': body.enrollmentToken}\n\t\t\t\t\t\t]\n\t\t\t\t\t}).exec().then((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\tuser.setPassword(body.password, (errSet, resSet) => {\n\t\t\t\t\t\t\t\t\tif (resSet) {\n\n\t\t\t\t\t\t\t\t\t\tuser.services.enrollment = '';\n\n\t\t\t\t\t\t\t\t\t\tuser.resetAttempts();\n\n\t\t\t\t\t\t\t\t\t\tresponse.send(JSON.stringify({\n\t\t\t\t\t\t\t\t\t\t\terror: false,\n\t\t\t\t\t\t\t\t\t\t\tresult: true\n\t\t\t\t\t\t\t\t\t\t}));\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\t\t\tresponse.send(JSON.stringify({\n\t\t\t\t\t\t\t\t\t\t\terror: true,\n\t\t\t\t\t\t\t\t\t\t\tresult: errSet\n\t\t\t\t\t\t\t\t\t\t}));\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}, error => {\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 Mongoose 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', function (request, response) {\n\t\tif (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']) {\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('Error in HTTP Check (/userWithForgotPasswordToken)', errors);\n\t\n\t\t\t\t\tResolveIOServer.getMainServer().getMethodManager().sendEmail('dev@resolveio.com', ResolveIOServer.getClientName() + 'HTTP - Error Detected', 'Match Error On HTTP ' + '/userWithForgotPasswordToken' + '\\n\\nData Being Checked\\n' + JSON.stringify(body, null, 2) + '\\n\\nErrors\\n' + JSON.stringify(errors, null, 2));\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'], (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\tUsers.findOne({\n\t\t\t\t\t\t$and: [\n\t\t\t\t\t\t\t{_id: decoded['id_user']},\n\t\t\t\t\t\t\t{'services.forgot_password': body.forgotPasswordToken}\n\t\t\t\t\t\t]\n\t\t\t\t\t}).select('_id __v username active').exec().then((user) => {\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}, error => {\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 Mongoose 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', function (request, response) {\n\t\tif (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']) {\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('Error in HTTP Check (/setUserWithForgotPasswordToken)', errors);\n\t\n\t\t\t\t\tResolveIOServer.getMainServer().getMethodManager().sendEmail('dev@resolveio.com', ResolveIOServer.getClientName() + 'HTTP - Error Detected', 'Match Error On HTTP ' + '/setUserWithForgotPasswordToken' + '\\n\\nData Being Checked\\n' + JSON.stringify(body, null, 2) + '\\n\\nErrors\\n' + JSON.stringify(errors, null, 2));\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\tUsers.findOne({\n\t\t\t\t\t\t$and: [\n\t\t\t\t\t\t\t{_id: decoded['id_user']},\n\t\t\t\t\t\t\t{'services.forgot_password': body.forgotPasswordToken}\n\t\t\t\t\t\t]\n\t\t\t\t\t}).exec().then((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\tuser.setPassword(body.password, (errSet, resSet) => {\n\t\t\t\t\t\t\t\t\tif (resSet) {\n\n\t\t\t\t\t\t\t\t\t\tuser.services.forgot_password = '';\n\n\t\t\t\t\t\t\t\t\t\tuser.resetAttempts();\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\tresponse.send(JSON.stringify({\n\t\t\t\t\t\t\t\t\t\t\terror: false,\n\t\t\t\t\t\t\t\t\t\t\tresult: true\n\t\t\t\t\t\t\t\t\t\t}));\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\t\t\tresponse.send(JSON.stringify({\n\t\t\t\t\t\t\t\t\t\t\terror: true,\n\t\t\t\t\t\t\t\t\t\t\tresult: errSet\n\t\t\t\t\t\t\t\t\t\t}));\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}, error => {\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 Mongoose 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', async (request, response) => {\n\t\tif (request.headers.origin !== serverConfig['ROOT_URL'] && request.headers.origin !== serverConfig['SEC_ROOT_URL']) {\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('Error in HTTP Check (/resetPassword)', errors);\n\t\n\t\t\t\t\tResolveIOServer.getMainServer().getMethodManager().sendEmail('dev@resolveio.com', 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));\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({username: body.username}).exec();\n\n\t\t\tif (!user) {\n\t\t\t\tuser = await Users.findOne({email: body.username}).exec();\n\t\t\t}\n\t\t\t\n\t\t\tif (user) {\n\t\t\t\tmainServer.getMethodManager().callMethodInternal.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}"]}
1
+ {"version":3,"sources":["../../src/http/auth.ts"],"names":[],"mappings":"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","file":"auth.js","sourcesContent":["import { Users } from '../collections/user.collection';\nimport * as jwt from 'jsonwebtoken';\nimport * as handlebars from 'handlebars';\nimport ResolveIOMainServer from '../server-app';\nimport { ResolveIOServer } from '..';\nimport SimpleSchema from 'simpl-schema';\n\nexport function setupAuthRoutes(mainServer: ResolveIOMainServer, app, serverConfig) {\n\t// Login via HTTP, return refresh token if authenticated\n\tapp.post('/login', async (request, response) => {\n\t\tif (request.headers.origin !== serverConfig['ROOT_URL'] && request.headers.origin !== serverConfig['SEC_ROOT_URL']) {\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('Error in HTTP Check (/login)', errors);\n\t\n\t\t\t\t\tResolveIOServer.getMainServer().getMethodManager().sendEmail('dev@resolveio.com', 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));\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({username: body.username}).exec();\n\n\t\t\tif (!user) {\n\t\t\t\tuser = await Users.findOne({email: body.username}).exec();\n\t\t\t}\n\t\t\t\n\t\t\tlet username = user ? user.username : body.username;\n\n\t\t\tlet resAuth = await Users.authenticate()(username, body.password);\n\n\t\t\tif (resAuth.error) {\n\t\t\t\tif (resAuth.error.name === 'TooManyAttemptsError') {\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.message + '. 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\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\tUsers.updateOne({_id: user._id}, {$set: {services: user.services}}).exec((errUp, resUp) => {\n\t\t\t\t\t\tmainServer.getMethodManager().readFile('email-templates/forgot-password.html').then(html => {\n\t\t\t\t\t\t\tlet template = handlebars.compile(html);\n\t\t\t\t\t\t\thandlebars.registerHelper('equals', (a, b) => {\n\t\t\t\t\t\t\t\treturn a === b;\n\t\t\t\t\t\t\t});\n\t\t\n\t\t\t\t\t\t\tmainServer.getMethodManager().sendEmail(user.email, 'ResolveIO (' + ResolveIOServer.getClientName() + ') - Forgot Password', '', template(emailData));\n\t\t\t\t\t\t}, errEmail => console.log(errEmail));\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t\telse if (resAuth.error.name === 'NoSaltValueStoredError') {\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\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\tUsers.updateOne({_id: user._id}, {$set: {services: user.services}}).exec((errUp, resUp) => {\n\t\t\t\t\t\tmainServer.getMethodManager().readFile('email-templates/forgot-password.html').then(html => {\n\t\t\t\t\t\t\tlet template = handlebars.compile(html);\n\t\t\t\t\t\t\thandlebars.registerHelper('equals', (a, b) => {\n\t\t\t\t\t\t\t\treturn a === b;\n\t\t\t\t\t\t\t});\n\t\t\n\t\t\t\t\t\t\tmainServer.getMethodManager().sendEmail(user.email, 'ResolveIO (' + ResolveIOServer.getClientName() + ') - Forgot Password', '', template(emailData));\n\t\t\t\t\t\t}, errEmail => console.log(errEmail));\n\t\t\t\t\t});\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.message\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.user && resAuth.user.active) {\n\t\t\t\t\tresAuth.user.resetAttempts((errAt, resAt) => {\n\t\t\t\t\t\tresponse.send(JSON.stringify({\n\t\t\t\t\t\t\terror: false,\n\t\t\t\t\t\t\tresult: {\n\t\t\t\t\t\t\t\ttoken: jwt.sign({id_user: resAuth.user._id}, serverConfig['JWT_SECRET'], {\n\t\t\t\t\t\t\t\t\texpiresIn : 90 * 24 * 60 * 60 * 1000 // 90 days\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});\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t});\n\n\tapp.post('/accessToken', async function (request, response) {\n\t\tif (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']) {\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\tappVersion: {\n\t\t\t\t\ttype: Number\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('Error in HTTP Check (/accessToken)', errors);\n\t\n\t\t\t\t\tResolveIOServer.getMainServer().getMethodManager().sendEmail('dev@resolveio.com', 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));\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\tif (serverConfig['ROOT_URL'] !== 'http://localhost:4200') {\n\t\t\t\tjwt.verify(body.refreshToken, serverConfig['JWT_SECRET'], (err, decoded) => {\n\t\t\t\t\tif (err) {\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 Token'\n\t\t\t\t\t\t}));\n\t\t\t\t\t}\n\t\t\t\t\telse {\n\t\t\t\t\t\tUsers.findById(decoded['id_user']).exec().then((user) => {\n\t\t\t\t\t\t\tif (user) {\n\t\t\t\t\t\t\t\tif (user.active) {\n\t\t\t\t\t\t\t\t\tuser.resetAttempts((err, res) => {\n\t\t\t\t\t\t\t\t\t\tresponse.send(JSON.stringify({\n\t\t\t\t\t\t\t\t\t\t\terror: false,\n\t\t\t\t\t\t\t\t\t\t\tresult: {\n\t\t\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\t\t\texpiresIn : 3 * 24 * 60 * 60 * 1000 // 3 days\n\t\t\t\t\t\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\t\t\t\t\t\tuser: user\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t}));\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\telse {\n\t\t\t\t\t\t\t\t\tresponse.send(JSON.stringify({\n\t\t\t\t\t\t\t\t\t\terror: true,\n\t\t\t\t\t\t\t\t\t\tresult: 'Account is Disabled'\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: 'Invalid User'\n\t\t\t\t\t\t\t\t}));\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}, error => {\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 Mongoose Get 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});\n\t\t\t}\t\n\t\t\telse {\n\t\t\t\tjwt.verify(body.refreshToken, serverConfig['JWT_SECRET'], (err, decoded) => {\n\t\t\t\t\tif (err) {\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 Token'\n\t\t\t\t\t\t}));\n\t\t\t\t\t}\n\t\t\t\t\telse {\n\t\t\t\t\t\tUsers.findById(decoded['id_user']).exec().then((user) => {\n\t\t\t\t\t\t\tif (user) {\n\t\t\t\t\t\t\t\tif (user.active) {\n\t\t\t\t\t\t\t\t\tuser.resetAttempts((err, res) => {\n\t\t\t\t\t\t\t\t\t\tresponse.send(JSON.stringify({\n\t\t\t\t\t\t\t\t\t\t\terror: false,\n\t\t\t\t\t\t\t\t\t\t\tresult: {\n\t\t\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\t\t\texpiresIn : 3 * 24 * 60 * 60 * 1000 // 3 days\n\t\t\t\t\t\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\t\t\t\t\t\tuser: user\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t}));\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\telse {\n\t\t\t\t\t\t\t\t\tresponse.send(JSON.stringify({\n\t\t\t\t\t\t\t\t\t\terror: true,\n\t\t\t\t\t\t\t\t\t\tresult: 'Account is Disabled'\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: 'Invalid User'\n\t\t\t\t\t\t\t\t}));\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}, error => {\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 Mongoose Get 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});\n\t\t\t}\n\t\t}\n\t});\n\n\tapp.post('/userWithEnrollmentToken', function (request, response) {\n\t\tif (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']) {\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('Error in HTTP Check (/userWithEnrollmentToken)', errors);\n\t\n\t\t\t\t\tResolveIOServer.getMainServer().getMethodManager().sendEmail('dev@resolveio.com', ResolveIOServer.getClientName() + 'HTTP - Error Detected', 'Match Error On HTTP ' + '/userWithEnrollmentToken' + '\\n\\nData Being Checked\\n' + JSON.stringify(body, null, 2) + '\\n\\nErrors\\n' + JSON.stringify(errors, null, 2));\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'], (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\tUsers.findOne({\n\t\t\t\t\t\t$and: [\n\t\t\t\t\t\t\t{_id: decoded['id_user']},\n\t\t\t\t\t\t\t{'services.enrollment': body.enrollmentToken}\n\t\t\t\t\t\t]\n\t\t\t\t\t}).select('_id __v username active').exec().then((user) => {\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}, error => {\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 Mongoose 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', function (request, response) {\n\t\tif (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']) {\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('Error in HTTP Check (/setUserWithEnrollmentToken)', errors);\n\t\n\t\t\t\t\tResolveIOServer.getMainServer().getMethodManager().sendEmail('dev@resolveio.com', ResolveIOServer.getClientName() + 'HTTP - Error Detected', 'Match Error On HTTP ' + '/setUserWithEnrollmentToken' + '\\n\\nData Being Checked\\n' + JSON.stringify(body, null, 2) + '\\n\\nErrors\\n' + JSON.stringify(errors, null, 2));\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\tUsers.findOne({\n\t\t\t\t\t\t$and: [\n\t\t\t\t\t\t\t{_id: decoded['id_user']},\n\t\t\t\t\t\t\t{'services.enrollment': body.enrollmentToken}\n\t\t\t\t\t\t]\n\t\t\t\t\t}).exec().then((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\tuser.setPassword(body.password, (errSet, resSet) => {\n\t\t\t\t\t\t\t\t\tif (resSet) {\n\n\t\t\t\t\t\t\t\t\t\tuser.services.enrollment = '';\n\n\t\t\t\t\t\t\t\t\t\tuser.resetAttempts();\n\n\t\t\t\t\t\t\t\t\t\tresponse.send(JSON.stringify({\n\t\t\t\t\t\t\t\t\t\t\terror: false,\n\t\t\t\t\t\t\t\t\t\t\tresult: true\n\t\t\t\t\t\t\t\t\t\t}));\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\t\t\tresponse.send(JSON.stringify({\n\t\t\t\t\t\t\t\t\t\t\terror: true,\n\t\t\t\t\t\t\t\t\t\t\tresult: errSet\n\t\t\t\t\t\t\t\t\t\t}));\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}, error => {\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 Mongoose 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', function (request, response) {\n\t\tif (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']) {\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('Error in HTTP Check (/userWithForgotPasswordToken)', errors);\n\t\n\t\t\t\t\tResolveIOServer.getMainServer().getMethodManager().sendEmail('dev@resolveio.com', ResolveIOServer.getClientName() + 'HTTP - Error Detected', 'Match Error On HTTP ' + '/userWithForgotPasswordToken' + '\\n\\nData Being Checked\\n' + JSON.stringify(body, null, 2) + '\\n\\nErrors\\n' + JSON.stringify(errors, null, 2));\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'], (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\tUsers.findOne({\n\t\t\t\t\t\t$and: [\n\t\t\t\t\t\t\t{_id: decoded['id_user']},\n\t\t\t\t\t\t\t{'services.forgot_password': body.forgotPasswordToken}\n\t\t\t\t\t\t]\n\t\t\t\t\t}).select('_id __v username active').exec().then((user) => {\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}, error => {\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 Mongoose 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', function (request, response) {\n\t\tif (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']) {\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('Error in HTTP Check (/setUserWithForgotPasswordToken)', errors);\n\t\n\t\t\t\t\tResolveIOServer.getMainServer().getMethodManager().sendEmail('dev@resolveio.com', ResolveIOServer.getClientName() + 'HTTP - Error Detected', 'Match Error On HTTP ' + '/setUserWithForgotPasswordToken' + '\\n\\nData Being Checked\\n' + JSON.stringify(body, null, 2) + '\\n\\nErrors\\n' + JSON.stringify(errors, null, 2));\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\tUsers.findOne({\n\t\t\t\t\t\t$and: [\n\t\t\t\t\t\t\t{_id: decoded['id_user']},\n\t\t\t\t\t\t\t{'services.forgot_password': body.forgotPasswordToken}\n\t\t\t\t\t\t]\n\t\t\t\t\t}).exec().then((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\tuser.setPassword(body.password, (errSet, resSet) => {\n\t\t\t\t\t\t\t\t\tif (resSet) {\n\n\t\t\t\t\t\t\t\t\t\tuser.services.forgot_password = '';\n\n\t\t\t\t\t\t\t\t\t\tuser.resetAttempts();\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\tresponse.send(JSON.stringify({\n\t\t\t\t\t\t\t\t\t\t\terror: false,\n\t\t\t\t\t\t\t\t\t\t\tresult: true\n\t\t\t\t\t\t\t\t\t\t}));\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\t\t\tresponse.send(JSON.stringify({\n\t\t\t\t\t\t\t\t\t\t\terror: true,\n\t\t\t\t\t\t\t\t\t\t\tresult: errSet\n\t\t\t\t\t\t\t\t\t\t}));\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}, error => {\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 Mongoose 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', async (request, response) => {\n\t\tif (request.headers.origin !== serverConfig['ROOT_URL'] && request.headers.origin !== serverConfig['SEC_ROOT_URL']) {\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('Error in HTTP Check (/resetPassword)', errors);\n\t\n\t\t\t\t\tResolveIOServer.getMainServer().getMethodManager().sendEmail('dev@resolveio.com', 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));\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({username: body.username}).exec();\n\n\t\t\tif (!user) {\n\t\t\t\tuser = await Users.findOne({email: body.username}).exec();\n\t\t\t}\n\t\t\t\n\t\t\tif (user) {\n\t\t\t\tmainServer.getMethodManager().callMethodInternal.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}"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/methods/accounts.ts"],"names":[],"mappings":"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","file":"accounts.js","sourcesContent":["import SimpleSchema from 'simpl-schema';\nimport { Types } from 'mongoose';\nimport { Users } from '../collections/user.collection';\nimport * as handlebars from 'handlebars';\nimport * as jwt from 'jsonwebtoken';\nimport { LoggedInUsers } from '../collections/logged-in-users.collection';\nimport { QueueResponses } from '../collections/queue-response.collection';\nimport { MethodManager } from '../managers/method.manager';\nimport { ResolveIOServer } from '../index';\nimport { UserModel } from '../models/user.model';\n\nexport function loadAccountMethods(methodManager: MethodManager) {\n\tmethodManager.methods({\n\t\tsetWSAppVersion: {\n\t\t\tskipQueue: true,\n\t\t\tcheck: new SimpleSchema({\n\t\t\t\tversion: Number\n\t\t\t}),\n\t\t\tfunction: function(version) {\n\t\t\t\treturn LoggedInUsers.updateOne({id_ws: this.id_ws}, {$set: {app_version: version}}).exec();\n\t\t\t}\n\t\t},\n\t\treloadWS: {\n\t\t\tskipQueue: true,\n\t\t\tcheck: new SimpleSchema({\n\t\t\t\tid_ws: String\n\t\t\t}),\n\t\t\tfunction: function(id_ws) {\n\t\t\t\treturn new Promise(async (resolve, reject) => {\n\t\t\t\t\tQueueResponses.create({\n\t\t\t\t\t\t_id: Types.ObjectId().toHexString(),\n\t\t\t\t\t\t__v: 0,\n\t\t\t\t\t\tmethod: 'reloadWSCommand',\n\t\t\t\t\t\tmethod_data: [],\n\t\t\t\t\t\tid_ws: id_ws,\n\t\t\t\t\t\tmessageId: 0,\n\t\t\t\t\t\tid_user: this.id_user,\n\t\t\t\t\t\tuser: this.user,\n\t\t\t\t\t\tresponse: {\n\t\t\t\t\t\t\tmessageId: 0,\n\t\t\t\t\t\t\thasError: false,\n\t\t\t\t\t\t\tdata: 'reloadWSCommand'\n\t\t\t\t\t\t}\n\t\t\t\t\t}).then(val => {\n\t\t\t\t\t\t// console.log(val);\n\t\t\t\t\t}, err => {\n\t\t\t\t\t\tconsole.log(err);\n\t\t\t\t\t});\n\n\t\t\t\t\tresolve();\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\treconnectWS: {\n\t\t\tskipQueue: true,\n\t\t\tcheck: new SimpleSchema({\n\t\t\t\tid_ws: String\n\t\t\t}),\n\t\t\tfunction: function(id_ws) {\n\t\t\t\treturn new Promise(async (resolve, reject) => {\n\t\t\t\t\tQueueResponses.create({\n\t\t\t\t\t\t_id: Types.ObjectId().toHexString(),\n\t\t\t\t\t\t__v: 0,\n\t\t\t\t\t\tmethod: 'reconnectWSCommand',\n\t\t\t\t\t\tmethod_data: [],\n\t\t\t\t\t\tid_ws: id_ws,\n\t\t\t\t\t\tmessageId: 0,\n\t\t\t\t\t\tid_user: this.id_user,\n\t\t\t\t\t\tuser: this.user,\n\t\t\t\t\t\tresponse: {\n\t\t\t\t\t\t\tmessageId: 0,\n\t\t\t\t\t\t\thasError: false,\n\t\t\t\t\t\t\tdata: 'reconnectWSCommand'\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\n\t\t\t\t\tresolve();\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\tdisconnectWS: {\n\t\t\tskipQueue: true,\n\t\t\tcheck: new SimpleSchema({\n\t\t\t\tid_ws: String\n\t\t\t}),\n\t\t\tfunction: function(id_ws) {\n\t\t\t\treturn new Promise(async (resolve, reject) => {\n\t\t\t\t\tQueueResponses.create({\n\t\t\t\t\t\t_id: Types.ObjectId().toHexString(),\n\t\t\t\t\t\t__v: 0,\n\t\t\t\t\t\tmethod: 'disconnectWSCommand',\n\t\t\t\t\t\tmethod_data: [],\n\t\t\t\t\t\tid_ws: id_ws,\n\t\t\t\t\t\tmessageId: 0,\n\t\t\t\t\t\tid_user: this.id_user,\n\t\t\t\t\t\tuser: this.user,\n\t\t\t\t\t\tresponse: {\n\t\t\t\t\t\t\tmessageId: 0,\n\t\t\t\t\t\t\thasError: false,\n\t\t\t\t\t\t\tdata: 'disconnectWSCommand'\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\n\t\t\t\t\tresolve();\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\tcreateUserAndEmailEnrollment: {\n\t\t\tcheck: new SimpleSchema({\n\t\t\t\tdata: {\n\t\t\t\t\ttype: Users['simplschema']\n\t\t\t\t}\n\t\t\t}),\n\t\t\tfunction: function(data) {\n\t\t\t\treturn new Promise(async (resolve, reject) => {\n\t\t\t\t\tlet userId = Types.ObjectId().toHexString();\n\n\t\t\t\t\tlet newUser = {\n\t\t\t\t\t\t_id: userId,\n\t\t\t\t\t\t__v: 0,\n\t\t\t\t\t\tusername: data.username, \n\t\t\t\t\t\temail: data.email,\n\t\t\t\t\t\tfullname: data.fullname,\n\t\t\t\t\t\troles: data.roles,\n\t\t\t\t\t\tactive: true,\n\t\t\t\t\t\treadonly: false,\n\t\t\t\t\t\tservices: {\n\t\t\t\t\t\t\tenrollment: jwt.sign({id_user: userId}, this.serverConfig['JWT_SECRET'], {\n\t\t\t\t\t\t\t\texpiresIn : 3 * 24 * 60 * 60 * 1000 // 3 days\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t},\n\t\t\t\t\t\tphonenumber: data.phonenumber,\n\t\t\t\t\t\tother: {}\n\t\t\t\t\t}\n\n\t\t\t\t\tif (data['departments']) {\n\t\t\t\t\t\tnewUser['departments'] = data['departments'];\n\t\t\t\t\t}\n\n\t\t\t\t\tif (data['other']) {\n\t\t\t\t\t\tnewUser['other'] = data['other'];\n\t\t\t\t\t}\n\n\t\t\t\t\tlet user = await Users.create(newUser);\n\n\t\t\t\t\tuser.setPassword(randomString(20, '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'), ((err, res) => {\n\t\t\t\t\t\tuser.resetAttempts();\n\n\t\t\t\t\t\tlet emailData = {\n\t\t\t\t\t\t\tfullname: user.fullname,\n\t\t\t\t\t\t\tuser: this.user,\n\t\t\t\t\t\t\turl: this.serverConfig['ROOT_URL'] + '/enroll-account?' + encodeURIComponent(this.serverConfig['SERVER_URL']) + '&' + user.services.enrollment\n\t\t\t\t\t\t};\n\n\t\t\t\t\t\tthis.readFile('email-templates/enrollment.html').then(html => {\n\t\t\t\t\t\t\tlet template = handlebars.compile(html);\n\t\t\t\t\t\t\thandlebars.registerHelper('equals', (a, b) => {\n\t\t\t\t\t\t\t\treturn a === b;\n\t\t\t\t\t\t\t});\n\t\t\n\t\t\t\t\t\t\tthis.sendEmail(user.email, 'ResolveIO (' + ResolveIOServer.getClientName() + ') - Enrollment Email', '', template(emailData));\n\t\t\n\t\t\t\t\t\t\tresolve(user);\n\t\t\t\t\t\t}, errEmail => reject(errEmail));\n\t\t\t\t\t}));\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\tresetUserPassword: {\n\t\t\tcheck: new SimpleSchema({\n\t\t\t\tuserId: {\n\t\t\t\t\ttype: String\n\t\t\t\t}\n\t\t\t}),\n\t\t\tfunction: function(userId: string) {\n\t\t\t\treturn new Promise(async (resolve, reject) => {\t\t\t\t\n\t\t\t\t\tlet user = await Users.findOne({_id: userId});\n\t\t\n\t\t\t\t\tif (user) {\n\n\t\t\t\t\t\tuser.services.forgot_password = jwt.sign({id_user: userId}, this.serverConfig['JWT_SECRET']);\n\n\t\t\t\t\t\tlet emailData = {\n\t\t\t\t\t\t\tuserToChangePassword: user.fullname,\n\t\t\t\t\t\t\tuserWhoResetPassword: this.user,\n\t\t\t\t\t\t\turl: this.serverConfig['ROOT_URL'] + '/forgot-password?' + encodeURIComponent(this.serverConfig['SERVER_URL']) + '&' + user.services.forgot_password\n\t\t\t\t\t\t};\n\n\t\t\t\t\t\tUsers.updateOne({_id: user._id}, {$set: {services: user.services}}).exec((err, res) => {\n\t\t\t\t\t\t\tthis.readFile('email-templates/forgot-password.html').then(html => {\n\t\t\t\t\t\t\t\tlet template = handlebars.compile(html);\n\t\t\t\t\t\t\t\thandlebars.registerHelper('equals', (a, b) => {\n\t\t\t\t\t\t\t\t\treturn a === b;\n\t\t\t\t\t\t\t\t});\n\t\t\t\n\t\t\t\t\t\t\t\tthis.sendEmail(user.email, 'ResolveIO (' + ResolveIOServer.getClientName() + ') - Forgot Password', '', template(emailData));\n\t\t\t\n\t\t\t\t\t\t\t\tresolve(true);\n\t\t\t\t\t\t\t}, errEmail => reject(errEmail));\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\nfunction randomString(length, chars) {\n\tlet result = '';\n\tfor (let i = length; i > 0; --i) { result += chars[Math.floor(Math.random() * chars.length)]; }\n\treturn result;\n}"]}
1
+ {"version":3,"sources":["../../src/methods/accounts.ts"],"names":[],"mappings":"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","file":"accounts.js","sourcesContent":["import SimpleSchema from 'simpl-schema';\nimport { Types } from 'mongoose';\nimport { Users } from '../collections/user.collection';\nimport * as handlebars from 'handlebars';\nimport * as jwt from 'jsonwebtoken';\nimport { LoggedInUsers } from '../collections/logged-in-users.collection';\nimport { QueueResponses } from '../collections/queue-response.collection';\nimport { MethodManager } from '../managers/method.manager';\nimport { ResolveIOServer } from '../index';\nimport { UserModel } from '../models/user.model';\n\nexport function loadAccountMethods(methodManager: MethodManager) {\n\tmethodManager.methods({\n\t\tsetWSAppVersion: {\n\t\t\tskipQueue: true,\n\t\t\tcheck: new SimpleSchema({\n\t\t\t\tversion: Number\n\t\t\t}),\n\t\t\tfunction: function(version) {\n\t\t\t\treturn LoggedInUsers.updateOne({id_ws: this.id_ws}, {$set: {app_version: version}}).exec();\n\t\t\t}\n\t\t},\n\t\treloadWS: {\n\t\t\tskipQueue: true,\n\t\t\tcheck: new SimpleSchema({\n\t\t\t\tid_ws: String\n\t\t\t}),\n\t\t\tfunction: function(id_ws) {\n\t\t\t\treturn new Promise(async (resolve, reject) => {\n\t\t\t\t\tQueueResponses.create({\n\t\t\t\t\t\t_id: Types.ObjectId().toHexString(),\n\t\t\t\t\t\t__v: 0,\n\t\t\t\t\t\tmethod: 'reloadWSCommand',\n\t\t\t\t\t\tmethod_data: [],\n\t\t\t\t\t\tid_ws: id_ws,\n\t\t\t\t\t\tmessageId: 0,\n\t\t\t\t\t\tid_user: this.id_user,\n\t\t\t\t\t\tuser: this.user,\n\t\t\t\t\t\tresponse: {\n\t\t\t\t\t\t\tmessageId: 0,\n\t\t\t\t\t\t\thasError: false,\n\t\t\t\t\t\t\tdata: 'reloadWSCommand'\n\t\t\t\t\t\t}\n\t\t\t\t\t}).then(val => {\n\t\t\t\t\t\t// console.log(val);\n\t\t\t\t\t}, err => {\n\t\t\t\t\t\tconsole.log(err);\n\t\t\t\t\t});\n\n\t\t\t\t\tresolve();\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\treconnectWS: {\n\t\t\tskipQueue: true,\n\t\t\tcheck: new SimpleSchema({\n\t\t\t\tid_ws: String\n\t\t\t}),\n\t\t\tfunction: function(id_ws) {\n\t\t\t\treturn new Promise(async (resolve, reject) => {\n\t\t\t\t\tQueueResponses.create({\n\t\t\t\t\t\t_id: Types.ObjectId().toHexString(),\n\t\t\t\t\t\t__v: 0,\n\t\t\t\t\t\tmethod: 'reconnectWSCommand',\n\t\t\t\t\t\tmethod_data: [],\n\t\t\t\t\t\tid_ws: id_ws,\n\t\t\t\t\t\tmessageId: 0,\n\t\t\t\t\t\tid_user: this.id_user,\n\t\t\t\t\t\tuser: this.user,\n\t\t\t\t\t\tresponse: {\n\t\t\t\t\t\t\tmessageId: 0,\n\t\t\t\t\t\t\thasError: false,\n\t\t\t\t\t\t\tdata: 'reconnectWSCommand'\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\n\t\t\t\t\tresolve();\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\tdisconnectWS: {\n\t\t\tskipQueue: true,\n\t\t\tcheck: new SimpleSchema({\n\t\t\t\tid_ws: String\n\t\t\t}),\n\t\t\tfunction: function(id_ws) {\n\t\t\t\treturn new Promise(async (resolve, reject) => {\n\t\t\t\t\tQueueResponses.create({\n\t\t\t\t\t\t_id: Types.ObjectId().toHexString(),\n\t\t\t\t\t\t__v: 0,\n\t\t\t\t\t\tmethod: 'disconnectWSCommand',\n\t\t\t\t\t\tmethod_data: [],\n\t\t\t\t\t\tid_ws: id_ws,\n\t\t\t\t\t\tmessageId: 0,\n\t\t\t\t\t\tid_user: this.id_user,\n\t\t\t\t\t\tuser: this.user,\n\t\t\t\t\t\tresponse: {\n\t\t\t\t\t\t\tmessageId: 0,\n\t\t\t\t\t\t\thasError: false,\n\t\t\t\t\t\t\tdata: 'disconnectWSCommand'\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\n\t\t\t\t\tresolve();\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\tcreateUserAndEmailEnrollment: {\n\t\t\tcheck: new SimpleSchema({\n\t\t\t\tdata: {\n\t\t\t\t\ttype: Users['simplschema']\n\t\t\t\t}\n\t\t\t}),\n\t\t\tfunction: function(data) {\n\t\t\t\treturn new Promise(async (resolve, reject) => {\n\t\t\t\t\tlet userId = Types.ObjectId().toHexString();\n\n\t\t\t\t\tlet newUser = {\n\t\t\t\t\t\t_id: userId,\n\t\t\t\t\t\t__v: 0,\n\t\t\t\t\t\tusername: data.username, \n\t\t\t\t\t\temail: data.email,\n\t\t\t\t\t\tfullname: data.fullname,\n\t\t\t\t\t\troles: data.roles,\n\t\t\t\t\t\tactive: true,\n\t\t\t\t\t\treadonly: false,\n\t\t\t\t\t\tservices: {\n\t\t\t\t\t\t\tenrollment: jwt.sign({id_user: userId}, this.serverConfig['JWT_SECRET'], {\n\t\t\t\t\t\t\t\texpiresIn : 3 * 24 * 60 * 60 * 1000 // 3 days\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t},\n\t\t\t\t\t\tphonenumber: data.phonenumber,\n\t\t\t\t\t\tother: {}\n\t\t\t\t\t};\n\n\t\t\t\t\tif (data['departments']) {\n\t\t\t\t\t\tnewUser['departments'] = data['departments'];\n\t\t\t\t\t}\n\n\t\t\t\t\tif (data['other']) {\n\t\t\t\t\t\tnewUser['other'] = data['other'];\n\t\t\t\t\t}\n\n\t\t\t\t\tlet user = await Users.create(newUser);\n\n\t\t\t\t\tuser.setPassword(randomString(20, '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'), ((err, res) => {\n\t\t\t\t\t\tuser.resetAttempts();\n\n\t\t\t\t\t\tlet emailData = {\n\t\t\t\t\t\t\tfullname: user.fullname,\n\t\t\t\t\t\t\tuser: this.user,\n\t\t\t\t\t\t\turl: this.serverConfig['ROOT_URL'] + '/enroll-account?' + encodeURIComponent(this.serverConfig['SERVER_URL']) + '&' + user.services.enrollment\n\t\t\t\t\t\t};\n\n\t\t\t\t\t\tthis.readFile('email-templates/enrollment.html').then(html => {\n\t\t\t\t\t\t\tlet template = handlebars.compile(html);\n\t\t\t\t\t\t\thandlebars.registerHelper('equals', (a, b) => {\n\t\t\t\t\t\t\t\treturn a === b;\n\t\t\t\t\t\t\t});\n\t\t\n\t\t\t\t\t\t\tthis.sendEmail(user.email, 'ResolveIO (' + ResolveIOServer.getClientName() + ') - Enrollment Email', '', template(emailData));\n\t\t\n\t\t\t\t\t\t\tresolve(user);\n\t\t\t\t\t\t}, errEmail => reject(errEmail));\n\t\t\t\t\t}));\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\tresetUserPassword: {\n\t\t\tcheck: new SimpleSchema({\n\t\t\t\tuserId: {\n\t\t\t\t\ttype: String\n\t\t\t\t}\n\t\t\t}),\n\t\t\tfunction: function(userId: string) {\n\t\t\t\treturn new Promise(async (resolve, reject) => {\t\t\t\t\n\t\t\t\t\tlet user = await Users.findOne({_id: userId});\n\t\t\n\t\t\t\t\tif (user) {\n\n\t\t\t\t\t\tuser.services.forgot_password = jwt.sign({id_user: userId}, this.serverConfig['JWT_SECRET']);\n\n\t\t\t\t\t\tlet emailData = {\n\t\t\t\t\t\t\tuserToChangePassword: user.fullname,\n\t\t\t\t\t\t\tuserWhoResetPassword: this.user,\n\t\t\t\t\t\t\turl: this.serverConfig['ROOT_URL'] + '/forgot-password?' + encodeURIComponent(this.serverConfig['SERVER_URL']) + '&' + user.services.forgot_password\n\t\t\t\t\t\t};\n\n\t\t\t\t\t\tUsers.updateOne({_id: user._id}, {$set: {services: user.services}}).exec((err, res) => {\n\t\t\t\t\t\t\tthis.readFile('email-templates/forgot-password.html').then(html => {\n\t\t\t\t\t\t\t\tlet template = handlebars.compile(html);\n\t\t\t\t\t\t\t\thandlebars.registerHelper('equals', (a, b) => {\n\t\t\t\t\t\t\t\t\treturn a === b;\n\t\t\t\t\t\t\t\t});\n\t\t\t\n\t\t\t\t\t\t\t\tthis.sendEmail(user.email, 'ResolveIO (' + ResolveIOServer.getClientName() + ') - Forgot Password', '', template(emailData));\n\t\t\t\n\t\t\t\t\t\t\t\tresolve(true);\n\t\t\t\t\t\t\t}, errEmail => reject(errEmail));\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\nfunction randomString(length, chars) {\n\tlet result = '';\n\tfor (let i = length; i > 0; --i) { result += chars[Math.floor(Math.random() * chars.length)]; }\n\treturn result;\n}"]}
@@ -15,7 +15,7 @@ function loadSupportMethods(methodManager) {
15
15
  return new Promise(function (resolve, reject) {
16
16
  request({
17
17
  method: 'POST',
18
- url: 'https://resolveio.com/api/support/billing-user',
18
+ url: 'https://backend.resolveio.com/api/support/billing-user',
19
19
  headers: {
20
20
  'Content-Type': 'application/json; charset=UTF-8'
21
21
  },
@@ -37,15 +37,15 @@ function loadSupportMethods(methodManager) {
37
37
  type: String
38
38
  }
39
39
  }),
40
- function: function (user) {
40
+ function: function (id_support_ticket) {
41
41
  return new Promise(function (resolve, reject) {
42
42
  request({
43
43
  method: 'POST',
44
- url: 'https://resolveio.com/api/support/supportTicketWithId',
44
+ url: 'https://backend.resolveio.com/api/support/supportTicketWithId',
45
45
  headers: {
46
46
  'Content-Type': 'application/json; charset=UTF-8'
47
47
  },
48
- json: user
48
+ json: { id_support_ticket: id_support_ticket }
49
49
  }, (function (error, response, body) {
50
50
  if (!error && body && !body.error) {
51
51
  resolve(body.result);
@@ -63,7 +63,7 @@ function loadSupportMethods(methodManager) {
63
63
  return new Promise(function (resolve, reject) {
64
64
  request({
65
65
  method: 'POST',
66
- url: 'https://resolveio.com/api/support/supportInsertTicket',
66
+ url: 'https://backend.resolveio.com/api/support/supportInsertTicket',
67
67
  headers: {
68
68
  'Content-Type': 'application/json; charset=UTF-8'
69
69
  },
@@ -85,29 +85,7 @@ function loadSupportMethods(methodManager) {
85
85
  return new Promise(function (resolve, reject) {
86
86
  request({
87
87
  method: 'POST',
88
- url: 'https://resolveio.com/api/support/supportUpdateTicket',
89
- headers: {
90
- 'Content-Type': 'application/json; charset=UTF-8'
91
- },
92
- json: supportTicket
93
- }, (function (error, response, body) {
94
- if (!error && body && !body.error) {
95
- resolve(body.result);
96
- }
97
- else {
98
- reject(error || body.result);
99
- }
100
- }));
101
- });
102
- }
103
- },
104
- supportDeleteSupportTicket: {
105
- skipValidation: true,
106
- function: function (supportTicket) {
107
- return new Promise(function (resolve, reject) {
108
- request({
109
- method: 'POST',
110
- url: 'https://resolveio.com/api/support/supportUpdateTicket',
88
+ url: 'https://backend.resolveio.com/api/support/supportUpdateTicket',
111
89
  headers: {
112
90
  'Content-Type': 'application/json; charset=UTF-8'
113
91
  },
@@ -157,7 +135,7 @@ function loadSupportMethods(methodManager) {
157
135
  return new Promise(function (resolve, reject) {
158
136
  request({
159
137
  method: 'POST',
160
- url: 'https://resolveio.com/api/support/supportticketsWithOptions',
138
+ url: 'https://backend.resolveio.com/api/support/supportticketsWithOptions',
161
139
  headers: {
162
140
  'Content-Type': 'application/json; charset=UTF-8'
163
141
  },
@@ -190,7 +168,7 @@ function loadSupportMethods(methodManager) {
190
168
  return new Promise(function (resolve, reject) {
191
169
  request({
192
170
  method: 'POST',
193
- url: 'https://resolveio.com/api/support/supportCountTickets',
171
+ url: 'https://backend.resolveio.com/api/support/supportCountTickets',
194
172
  headers: {
195
173
  'Content-Type': 'application/json; charset=UTF-8'
196
174
  },
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/methods/support.ts"],"names":[],"mappings":"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","file":"support.js","sourcesContent":["import SimpleSchema from 'simpl-schema';\nimport * as handlebars from 'handlebars';\nimport { MethodManager } from '../managers/method.manager';\nimport * as request from 'request';\n\nexport function loadSupportMethods(methodManager: MethodManager) {\n\tmethodManager.methods({\n supportCreateBillingUser: {\n \tcheck: new SimpleSchema({\n\t\t\t\tuser: {\n\t\t\t\t\ttype: Object,\n\t\t\t\t\tblackbox: true\n\t\t\t\t}\n }),\n function: function(user) {\n return new Promise((resolve, reject) => {\n request({\n method: 'POST',\n url: 'https://resolveio.com/api/support/billing-user',\n headers: {\n 'Content-Type': 'application/json; charset=UTF-8'\n },\n json: user\n }, ((error, response, body) => {\n if (!error && body && !body.error) {\n resolve(body.result);\n }\n else {\n reject(error || body.result);\n }\n\t\t\t\t\t}));\n });\n }\n\t\t},\n\t\tsupportGetSupportTicketWithId: {\n \tcheck: new SimpleSchema({\n\t\t\t\tid_support_ticket: {\n\t\t\t\t\ttype: String\n\t\t\t\t}\n }),\n function: function(user) {\n return new Promise((resolve, reject) => {\n request({\n method: 'POST',\n url: 'https://resolveio.com/api/support/supportTicketWithId',\n headers: {\n 'Content-Type': 'application/json; charset=UTF-8'\n },\n json: user\n }, ((error, response, body) => {\n if (!error && body && !body.error) {\n resolve(body.result);\n }\n else {\n reject(error || body.result);\n }\n\t\t\t\t\t}));\n });\n }\n\t\t},\n\t\tsupportInsertSupportTicket: {\n \tskipValidation: true,\n function: function(supportTicket) {\n return new Promise((resolve, reject) => {\n request({\n method: 'POST',\n url: 'https://resolveio.com/api/support/supportInsertTicket',\n headers: {\n 'Content-Type': 'application/json; charset=UTF-8'\n },\n json: supportTicket\n }, ((error, response, body) => {\n if (!error && body && !body.error) {\n resolve(body.result);\n }\n else {\n reject(error || body.result);\n }\n\t\t\t\t\t}));\n });\n }\n\t\t},\n\t\tsupportUpdateSupportTicket: {\n\t\t\tskipValidation: true,\n function: function(supportTicket) {\n return new Promise((resolve, reject) => {\n request({\n method: 'POST',\n url: 'https://resolveio.com/api/support/supportUpdateTicket',\n headers: {\n 'Content-Type': 'application/json; charset=UTF-8'\n },\n json: supportTicket\n }, ((error, response, body) => {\n if (!error && body && !body.error) {\n resolve(body.result);\n }\n else {\n reject(error || body.result);\n }\n\t\t\t\t\t}));\n });\n }\n\t\t},\n\t\tsupportDeleteSupportTicket: {\n\t\t\tskipValidation: true,\n function: function(supportTicket) {\n return new Promise((resolve, reject) => {\n request({\n method: 'POST',\n url: 'https://resolveio.com/api/support/supportUpdateTicket',\n headers: {\n 'Content-Type': 'application/json; charset=UTF-8'\n },\n json: supportTicket\n }, ((error, response, body) => {\n if (!error && body && !body.error) {\n resolve(body.result);\n }\n else {\n reject(error || body.result);\n }\n\t\t\t\t\t}));\n });\n }\n\t\t},\n\t\tsupportticketsWithOptions: {\n\t\t\tcheck: new SimpleSchema({\n\t\t\t\toptions: {\n\t\t\t\t\ttype: Object\n\t\t\t\t},\n\t\t\t\t'options.limit': {\n\t\t\t\t\ttype: Number\n\t\t\t\t},\n\t\t\t\t'options.skip': {\n\t\t\t\t\ttype: Number\n\t\t\t\t},\n\t\t\t\t'options.sort': {\n\t\t\t\t\ttype: Object,\n\t\t\t\t\tblackbox: true\n\t\t\t\t},\n\t\t\t\t'options.fields': {\n\t\t\t\t\ttype: Object,\n\t\t\t\t\tblackbox: true\n\t\t\t\t},\n\t\t\t\tsearchString: {\n\t\t\t\t\ttype: String\n\t\t\t\t},\n\t\t\t\tfilters: {\n\t\t\t\t\ttype: Array\n\t\t\t\t},\n\t\t\t\t'filters.$': {\n\t\t\t\t\ttype: Object,\n\t\t\t\t\tblackbox: true\n\t\t\t\t}\n }),\n function: function(options, searchString, filters) {\n return new Promise((resolve, reject) => {\n request({\n method: 'POST',\n url: 'https://resolveio.com/api/support/supportticketsWithOptions',\n headers: {\n 'Content-Type': 'application/json; charset=UTF-8'\n },\n json: [options, searchString, filters]\n }, ((error, response, body) => {\n if (!error && body && !body.error) {\n resolve(body.result);\n }\n else {\n reject(error || body.result);\n }\n\t\t\t\t\t}));\n });\n }\n\t\t},\n\t\tsupportticketCount: {\n\t\t\tcheck: new SimpleSchema({\n\t\t\t\tsearchString: {\n\t\t\t\t\ttype: String\n\t\t\t\t},\n\t\t\t\tfilters: {\n\t\t\t\t\ttype: Array\n\t\t\t\t},\n\t\t\t\t'filters.$': {\n\t\t\t\t\ttype: Object,\n\t\t\t\t\tblackbox: true\n\t\t\t\t}\n }),\n function: function(searchString, filters) {\n return new Promise((resolve, reject) => {\n request({\n method: 'POST',\n url: 'https://resolveio.com/api/support/supportCountTickets',\n headers: {\n 'Content-Type': 'application/json; charset=UTF-8'\n },\n json: [searchString, filters]\n }, ((error, response, body) => {\n if (!error && body && !body.error) {\n resolve(body.result);\n }\n else {\n reject(error || body.result);\n }\n\t\t\t\t\t}));\n });\n }\n\t\t}\n\t\t// sendSupportTicketEmail: {\n\t\t// \tcheck: new SimpleSchema({\n\t\t// \t\tsupportTicket: {\n\t\t// \t\t\ttype: Object,\n\t\t// \t\t\tblackbox: true\n\t\t// \t\t},\n\t\t// \t\tid_files: {\n\t\t// \t\t\ttype: Array,\n\t\t// \t\t\toptional: true\t\t\t\n\t\t// \t\t},\n\t\t// \t\t'id_files.$': {\n\t\t// \t\t\ttype: String\n\t\t// \t\t}\n\t\t// \t}),\n\t\t// \tfunction: function(supportTicket: SupportTicketModel, id_files?: string[]) {\n\t\t// \t\treturn new Promise(async (resolve, reject) => {\t\t\t\t\t\n\t\t// \t\t\tif (id_files && id_files.length) {\n\t\t// \t\t\t\tlet files = await Files.find({\n\t\t// \t\t\t\t\t_id: {$in: id_files}\n\t\t// \t\t\t\t});\n\n\t\t// \t\t\t\tthis.callMethodInternal.call(this, 'getSignedUrls', files.map(a => a.key), 900, (err, res) => {\n\t\t// \t\t\t\t\tif (res) {\n\t\t// \t\t\t\t\t\tthis.readFile('email-templates/support-ticket.html').then(async html => {\n\t\t// \t\t\t\t\t\t\tlet template = handlebars.compile(html);\n\t\n\t\t// \t\t\t\t\t\t\thandlebars.registerHelper('greaterThan', (a, b) => {\n\t\t// \t\t\t\t\t\t\t\treturn a > b;\n\t\t// \t\t\t\t\t\t\t});\n\t\n\t\t// \t\t\t\t\t\t\thandlebars.registerHelper('equals', (a, b) => {\n\t\t// \t\t\t\t\t\t\t\treturn a === b;\n\t\t// \t\t\t\t\t\t\t});\n\t\n\t\t// \t\t\t\t\t\t\tlet filesAttached = [];\n\t\n\t\t// \t\t\t\t\t\t\tlet fileCnt = 0;\n\t\t// \t\t\t\t\t\t\tres.forEach(url => {\n\t\t// \t\t\t\t\t\t\t\tfilesAttached.push({filename: files[fileCnt].name, path: url});\n\t\t// \t\t\t\t\t\t\t\tfileCnt++;\n\t\t// \t\t\t\t\t\t\t});\n\t\n\t\t// \t\t\t\t\t\t\tthis.readImage('images/ResolveIO.png').then(logoData => {\n\t\t// \t\t\t\t\t\t\t\tsupportTicket['logo'] = 'data:image/png;base64,' + logoData;\n\t\t\t\t\t\t\t\t\t\t\n\t\t// \t\t\t\t\t\t\t\tif (supportTicket.client_user && supportTicket.client_user.email) {\n\t\n\t\t// \t\t\t\t\t\t\t\t\tsupportTicket['user'] = supportTicket.client_user.user;\n\t\t// \t\t\t\t\t\t\t\t\tsupportTicket['fileAttached'] = filesAttached;\n\t\n\t\t// \t\t\t\t\t\t\t\t\tthis.sendEmail(\n\t\t// \t\t\t\t\t\t\t\t\t\tsupportTicket.client_user.email, \n\t\t// \t\t\t\t\t\t\t\t\t\t'ResolveIO - ' + supportTicket.support_ticket_number_string + ' Priority: ' + supportTicket.priority, \n\t\t// \t\t\t\t\t\t\t\t\t\t'', \n\t\t// \t\t\t\t\t\t\t\t\t\ttemplate(supportTicket),\n\t\t// \t\t\t\t\t\t\t\t\t\tfilesAttached\n\t\t// \t\t\t\t\t\t\t\t\t);\n\t\t// \t\t\t\t\t\t\t\t}\n\t\t// \t\t\t\t\t\t\t}, err => {\n\t\t// \t\t\t\t\t\t\t\tconsole.log(err);\n\t\t// \t\t\t\t\t\t\t});\n\t\n\t\t// \t\t\t\t\t\t\tresolve(true);\n\t\t// \t\t\t\t\t\t}, err => {\n\t\t// \t\t\t\t\t\t\tconsole.log(err);\n\t\t// \t\t\t\t\t\t});\n\t\n\t\t// \t\t\t\t\t\tresolve(true);\n\t\t// \t\t\t\t\t}\n\t\t// \t\t\t\t\telse {\n\t\t// \t\t\t\t\t\tthis.callMethodInternal.call(this, 'insertErrorLog', 'supportTicketsmethod - getsignedurl', [\n\t\t// \t\t\t\t\t\t\tfiles.map(a => a.key), err\n\t\t// \t\t\t\t\t\t]);\n\t\t// \t\t\t\t\t\treject(err);\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\telse {\n\t\t// \t\t\t\tthis.readFile('email-templates/support-ticket.html').then(async html => {\n\t\t// \t\t\t\t\tlet template = handlebars.compile(html);\n\n\t\t// \t\t\t\t\thandlebars.registerHelper('greaterThan', (a, b) => {\n\t\t// \t\t\t\t\t\treturn a > b;\n\t\t// \t\t\t\t\t});\n\n\t\t// \t\t\t\t\thandlebars.registerHelper('equals', (a, b) => {\n\t\t// \t\t\t\t\t\treturn a === b;\n\t\t// \t\t\t\t\t});\n\n\t\t// \t\t\t\t\tthis.readImage('images/ResolveIO.png').then(logoData => {\n\t\t// \t\t\t\t\t\tsupportTicket['logo'] = 'data:image/png;base64,' + logoData;\n\t\t\t\t\t\t\t\t\n\t\t// \t\t\t\t\t\tif (supportTicket.client_user && supportTicket.client_user.email) {\n\n\t\t// \t\t\t\t\t\t\tsupportTicket['user'] = supportTicket.client_user.user;\n\n\t\t// \t\t\t\t\t\t\tthis.sendEmail(\n\t\t// \t\t\t\t\t\t\t\tsupportTicket.client_user.email, \n\t\t// \t\t\t\t\t\t\t\t'ResolveIO - ' + supportTicket.support_ticket_number_string + ' Priority: ' + supportTicket.priority, \n\t\t// \t\t\t\t\t\t\t\t'', \n\t\t// \t\t\t\t\t\t\t\ttemplate(supportTicket),\n\t\t// \t\t\t\t\t\t\t\tnull\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}, err => {\n\t\t// \t\t\t\t\t\tconsole.log(err);\n\t\t// \t\t\t\t\t});\n\n\t\t// \t\t\t\t\tresolve(true);\n\t\t// \t\t\t\t}, err => {\n\t\t// \t\t\t\t\tconsole.log(err);\n\t\t// \t\t\t\t});\n\n\t\t// \t\t\t\tresolve(true);\n\t\t// \t\t\t}\n\t\t// \t\t});\n\t\t// \t}\n\t\t// },\n\t\t// sendSupportTicketModifiedEmail: {\n\t\t// \tcheck: new SimpleSchema({\n\t\t// \t\tsupportTicket: {\n\t\t// \t\t\ttype: Object,\n\t\t// \t\t\tblackbox: true\n\t\t// \t\t},\n\t\t// \t\tid_files: {\n\t\t// \t\t\ttype: Array\t\t\t\t\t\n\t\t// \t\t},\n\t\t// \t\t'id_files.$': {\n\t\t// \t\t\ttype: String\n\t\t// \t\t}\n\t\t// \t}),\n\t\t// \tfunction: function(supportTicket: SupportTicketModel, id_files: string[]) {\n\t\t// \t\treturn new Promise(async (resolve, reject) => {\n\n\t\t// \t\t\tlet files = await Files.find({\n\t\t// \t\t\t\t_id: {$in: id_files}\n\t\t// \t\t\t});\n\n\t\t// \t\t\tthis.callMethodInternal.call(this, 'getSignedUrls', files.map(a => a.key), 900, (err, res) => {\n\t\t// \t\t\t\tif (res) {\n\t\t// \t\t\t\t\tthis.readFile('email-templates/support-ticket-modified.html').then(async html => {\n\t\t// \t\t\t\t\t\tlet template = handlebars.compile(html);\n\n\t\t// \t\t\t\t\t\thandlebars.registerHelper('greaterThan', (a, b) => {\n\t\t// \t\t\t\t\t\t\treturn a > b;\n\t\t// \t\t\t\t\t\t});\n\n\t\t// \t\t\t\t\t\thandlebars.registerHelper('equals', (a, b) => {\n\t\t// \t\t\t\t\t\t\treturn a === b;\n\t\t// \t\t\t\t\t\t});\n\n\t\t// \t\t\t\t\t\tlet filesAttached = [];\n\n\t\t// \t\t\t\t\t\tlet fileCnt = 0;\n\t\t// \t\t\t\t\t\tres.forEach(url => {\n\t\t// \t\t\t\t\t\t\tfilesAttached.push({filename: files[fileCnt].name, path: url});\n\t\t// \t\t\t\t\t\t\tfileCnt++;\n\t\t// \t\t\t\t\t\t});\n\n\t\t// \t\t\t\t\t\tthis.readImage('images/ResolveIO.png').then(logoData => {\n\t\t// \t\t\t\t\t\t\tsupportTicket['logo'] = 'data:image/png;base64,' + logoData;\n\t\t\t\t\t\t\t\t\n\t\t// \t\t\t\t\t\t\tsupportTicket.current_watchers.forEach(user => {\n\t\t\t\t\t\n\t\t// \t\t\t\t\t\t\t\tsupportTicket['user'] = user.user;\n\t\t// \t\t\t\t\t\t\t\tsupportTicket['fileAttached'] = filesAttached;\n\n\t\t// \t\t\t\t\t\t\t\tthis.sendEmail(\n\t\t// \t\t\t\t\t\t\t\t\tuser.email, \n\t\t// \t\t\t\t\t\t\t\t\t'ResolveIO - a ticket has been modified: ' + supportTicket.support_ticket_number_string + ' Priority: ' + supportTicket.priority, \n\t\t// \t\t\t\t\t\t\t\t\t'', \n\t\t// \t\t\t\t\t\t\t\t\ttemplate(supportTicket),\n\t\t// \t\t\t\t\t\t\t\t\tfilesAttached\n\t\t// \t\t\t\t\t\t\t\t);\n\t\t// \t\t\t\t\t\t\t});\n\n\t\t// \t\t\t\t\t\t\tif (supportTicket.client_user && supportTicket.client_user.email) {\n\n\t\t// \t\t\t\t\t\t\t\tsupportTicket['user'] = supportTicket.client_user.user;\n\t\t// \t\t\t\t\t\t\t\tsupportTicket['fileAttached'] = filesAttached;\n\n\t\t// \t\t\t\t\t\t\t\tthis.sendEmail(\n\t\t// \t\t\t\t\t\t\t\t\tsupportTicket.client_user.email, \n\t\t// \t\t\t\t\t\t\t\t\t'ResolveIO - ' + supportTicket.support_ticket_number_string + ' Priority: ' + supportTicket.priority, \n\t\t// \t\t\t\t\t\t\t\t\t'', \n\t\t// \t\t\t\t\t\t\t\t\ttemplate(supportTicket),\n\t\t// \t\t\t\t\t\t\t\t\tfilesAttached\n\t\t// \t\t\t\t\t\t\t\t);\n\t\t// \t\t\t\t\t\t\t}\n\t\t// \t\t\t\t\t\t}, err => {\n\t\t// \t\t\t\t\t\t\tconsole.log(err);\n\t\t// \t\t\t\t\t\t});\n\t\t\n\t\t// \t\t\t\t\t\tresolve(true);\n\t\t\t\t\t\t\t\t\n\t\t// \t\t\t\t\t}, err => {\n\t\t// \t\t\t\t\t\tconsole.log(err);\n\t\t// \t\t\t\t\t});\n\n\t\t// \t\t\t\t\tresolve(true);\n\t\t// \t\t\t\t}\n\t\t// \t\t\t\telse {\n\t\t// \t\t\t\t\tthis.callMethodInternal.call(this, 'insertErrorLog', 'supportTicketsmethod - getsignedurl', [\n\t\t// \t\t\t\t\t\tfiles.map(a => a.key), err\n\t\t// \t\t\t\t\t]);\n\t\t// \t\t\t\t\treject(err);\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\t// sendSupportTicketDeletedEmail: {\n\t\t// \tcheck: new SimpleSchema({\n\t\t// \t\tsupportTicket: {\n\t\t// \t\t\ttype: Object,\n\t\t// \t\t\tblackbox: true\n\t\t// \t\t}\n\t\t// \t}),\n\t\t// \tfunction: function(supportTicket: SupportTicketModel) {\n\t\t// \t\treturn new Promise(async (resolve, reject) => {\n\t\t// \t\t\tthis.callMethodInternal.call(this, 'getSignedUrls', [], 900, (err, res) => {\n\t\t// \t\t\t\tif (res) {\n\t\t// \t\t\t\t\tthis.readFile('email-templates/support-ticket-deleted.html').then(async html => {\n\t\t// \t\t\t\t\t\tlet template = handlebars.compile(html);\n\n\t\t// \t\t\t\t\t\thandlebars.registerHelper('greaterThan', (a, b) => {\n\t\t// \t\t\t\t\t\t\treturn a > b;\n\t\t// \t\t\t\t\t\t});\n\n\t\t// \t\t\t\t\t\thandlebars.registerHelper('equals', (a, b) => {\n\t\t// \t\t\t\t\t\t\treturn a === b;\n\t\t// \t\t\t\t\t\t});\n\n\t\t// \t\t\t\t\t\tif (supportTicket.client_user && supportTicket.client_user.email) {\n\t\t// \t\t\t\t\t\t\tthis.sendEmail(\n\t\t// \t\t\t\t\t\t\t\tsupportTicket.client_user.email, \n\t\t// \t\t\t\t\t\t\t\t'ResolveIO - ' + supportTicket.support_ticket_number_string + ' Priority: ' + supportTicket.priority, \n\t\t// \t\t\t\t\t\t\t\t'', \n\t\t// \t\t\t\t\t\t\t\ttemplate(supportTicket),\n\t\t// \t\t\t\t\t\t\t\t[]\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}, err => {\n\t\t// \t\t\t\t\t\tconsole.log(err);\n\t\t// \t\t\t\t\t});\n\n\t\t// \t\t\t\t\tresolve(true);\n\t\t// \t\t\t\t}\n\t\t// \t\t\t\telse {\n\t\t// \t\t\t\t\tthis.callMethodInternal.call(this, 'insertErrorLog', 'supportTicketsmethod - getsignedurl', [\n\t\t// \t\t\t\t\t\t[], err\n\t\t// \t\t\t\t\t]);\n\t\t// \t\t\t\t\treject(err);\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\nfunction randomString(length, chars) {\n\tlet result = '';\n\tfor (let i = length; i > 0; --i) { result += chars[Math.floor(Math.random() * chars.length)]; }\n\treturn result;\n}"]}
1
+ {"version":3,"sources":["../../src/methods/support.ts"],"names":[],"mappings":"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","file":"support.js","sourcesContent":["import SimpleSchema from 'simpl-schema';\nimport * as handlebars from 'handlebars';\nimport { MethodManager } from '../managers/method.manager';\nimport * as request from 'request';\n\nexport function loadSupportMethods(methodManager: MethodManager) {\n\tmethodManager.methods({\n supportCreateBillingUser: {\n \tcheck: new SimpleSchema({\n\t\t\t\tuser: {\n\t\t\t\t\ttype: Object,\n\t\t\t\t\tblackbox: true\n\t\t\t\t}\n }),\n function: function(user) {\n return new Promise((resolve, reject) => {\n request({\n method: 'POST',\n url: 'https://backend.resolveio.com/api/support/billing-user',\n headers: {\n 'Content-Type': 'application/json; charset=UTF-8'\n },\n json: user\n }, ((error, response, body) => {\n if (!error && body && !body.error) {\n resolve(body.result);\n }\n else {\n reject(error || body.result);\n }\n\t\t\t\t\t}));\n });\n }\n\t\t},\n\t\tsupportGetSupportTicketWithId: {\n \tcheck: new SimpleSchema({\n\t\t\t\tid_support_ticket: {\n\t\t\t\t\ttype: String\n\t\t\t\t}\n }),\n function: function(id_support_ticket) {\n return new Promise((resolve, reject) => {\n request({\n method: 'POST',\n url: 'https://backend.resolveio.com/api/support/supportTicketWithId',\n headers: {\n 'Content-Type': 'application/json; charset=UTF-8'\n },\n json: {id_support_ticket: id_support_ticket}\n }, ((error, response, body) => {\n if (!error && body && !body.error) {\n resolve(body.result);\n }\n else {\n reject(error || body.result);\n }\n\t\t\t\t\t}));\n });\n }\n\t\t},\n\t\tsupportInsertSupportTicket: {\n \tskipValidation: true,\n function: function(supportTicket) {\n return new Promise((resolve, reject) => {\n request({\n method: 'POST',\n url: 'https://backend.resolveio.com/api/support/supportInsertTicket',\n headers: {\n 'Content-Type': 'application/json; charset=UTF-8'\n },\n json: supportTicket\n }, ((error, response, body) => {\n if (!error && body && !body.error) {\n resolve(body.result);\n }\n else {\n reject(error || body.result);\n }\n\t\t\t\t\t}));\n });\n }\n\t\t},\n\t\tsupportUpdateSupportTicket: {\n\t\t\tskipValidation: true,\n function: function(supportTicket) {\n return new Promise((resolve, reject) => {\n request({\n method: 'POST',\n url: 'https://backend.resolveio.com/api/support/supportUpdateTicket',\n headers: {\n 'Content-Type': 'application/json; charset=UTF-8'\n },\n json: supportTicket\n }, ((error, response, body) => {\n if (!error && body && !body.error) {\n resolve(body.result);\n }\n else {\n reject(error || body.result);\n }\n\t\t\t\t\t}));\n });\n }\n\t\t},\n\t\tsupportticketsWithOptions: {\n\t\t\tcheck: new SimpleSchema({\n\t\t\t\toptions: {\n\t\t\t\t\ttype: Object\n\t\t\t\t},\n\t\t\t\t'options.limit': {\n\t\t\t\t\ttype: Number\n\t\t\t\t},\n\t\t\t\t'options.skip': {\n\t\t\t\t\ttype: Number\n\t\t\t\t},\n\t\t\t\t'options.sort': {\n\t\t\t\t\ttype: Object,\n\t\t\t\t\tblackbox: true\n\t\t\t\t},\n\t\t\t\t'options.fields': {\n\t\t\t\t\ttype: Object,\n\t\t\t\t\tblackbox: true\n\t\t\t\t},\n\t\t\t\tsearchString: {\n\t\t\t\t\ttype: String\n\t\t\t\t},\n\t\t\t\tfilters: {\n\t\t\t\t\ttype: Array\n\t\t\t\t},\n\t\t\t\t'filters.$': {\n\t\t\t\t\ttype: Object,\n\t\t\t\t\tblackbox: true\n\t\t\t\t}\n }),\n function: function(options, searchString, filters) {\n return new Promise((resolve, reject) => {\n request({\n method: 'POST',\n url: 'https://backend.resolveio.com/api/support/supportticketsWithOptions',\n headers: {\n 'Content-Type': 'application/json; charset=UTF-8'\n },\n json: [options, searchString, filters]\n }, ((error, response, body) => {\n if (!error && body && !body.error) {\n resolve(body.result);\n }\n else {\n reject(error || body.result);\n }\n\t\t\t\t\t}));\n });\n }\n\t\t},\n\t\tsupportticketCount: {\n\t\t\tcheck: new SimpleSchema({\n\t\t\t\tsearchString: {\n\t\t\t\t\ttype: String\n\t\t\t\t},\n\t\t\t\tfilters: {\n\t\t\t\t\ttype: Array\n\t\t\t\t},\n\t\t\t\t'filters.$': {\n\t\t\t\t\ttype: Object,\n\t\t\t\t\tblackbox: true\n\t\t\t\t}\n }),\n function: function(searchString, filters) {\n return new Promise((resolve, reject) => {\n request({\n method: 'POST',\n url: 'https://backend.resolveio.com/api/support/supportCountTickets',\n headers: {\n 'Content-Type': 'application/json; charset=UTF-8'\n },\n json: [searchString, filters]\n }, ((error, response, body) => {\n if (!error && body && !body.error) {\n resolve(body.result);\n }\n else {\n reject(error || body.result);\n }\n\t\t\t\t\t}));\n });\n }\n\t\t}\n\t\t// sendSupportTicketEmail: {\n\t\t// \tcheck: new SimpleSchema({\n\t\t// \t\tsupportTicket: {\n\t\t// \t\t\ttype: Object,\n\t\t// \t\t\tblackbox: true\n\t\t// \t\t},\n\t\t// \t\tid_files: {\n\t\t// \t\t\ttype: Array,\n\t\t// \t\t\toptional: true\t\t\t\n\t\t// \t\t},\n\t\t// \t\t'id_files.$': {\n\t\t// \t\t\ttype: String\n\t\t// \t\t}\n\t\t// \t}),\n\t\t// \tfunction: function(supportTicket: SupportTicketModel, id_files?: string[]) {\n\t\t// \t\treturn new Promise(async (resolve, reject) => {\t\t\t\t\t\n\t\t// \t\t\tif (id_files && id_files.length) {\n\t\t// \t\t\t\tlet files = await Files.find({\n\t\t// \t\t\t\t\t_id: {$in: id_files}\n\t\t// \t\t\t\t});\n\n\t\t// \t\t\t\tthis.callMethodInternal.call(this, 'getSignedUrls', files.map(a => a.key), 900, (err, res) => {\n\t\t// \t\t\t\t\tif (res) {\n\t\t// \t\t\t\t\t\tthis.readFile('email-templates/support-ticket.html').then(async html => {\n\t\t// \t\t\t\t\t\t\tlet template = handlebars.compile(html);\n\t\n\t\t// \t\t\t\t\t\t\thandlebars.registerHelper('greaterThan', (a, b) => {\n\t\t// \t\t\t\t\t\t\t\treturn a > b;\n\t\t// \t\t\t\t\t\t\t});\n\t\n\t\t// \t\t\t\t\t\t\thandlebars.registerHelper('equals', (a, b) => {\n\t\t// \t\t\t\t\t\t\t\treturn a === b;\n\t\t// \t\t\t\t\t\t\t});\n\t\n\t\t// \t\t\t\t\t\t\tlet filesAttached = [];\n\t\n\t\t// \t\t\t\t\t\t\tlet fileCnt = 0;\n\t\t// \t\t\t\t\t\t\tres.forEach(url => {\n\t\t// \t\t\t\t\t\t\t\tfilesAttached.push({filename: files[fileCnt].name, path: url});\n\t\t// \t\t\t\t\t\t\t\tfileCnt++;\n\t\t// \t\t\t\t\t\t\t});\n\t\n\t\t// \t\t\t\t\t\t\tthis.readImage('images/ResolveIO.png').then(logoData => {\n\t\t// \t\t\t\t\t\t\t\tsupportTicket['logo'] = 'data:image/png;base64,' + logoData;\n\t\t\t\t\t\t\t\t\t\t\n\t\t// \t\t\t\t\t\t\t\tif (supportTicket.client_user && supportTicket.client_user.email) {\n\t\n\t\t// \t\t\t\t\t\t\t\t\tsupportTicket['user'] = supportTicket.client_user.user;\n\t\t// \t\t\t\t\t\t\t\t\tsupportTicket['fileAttached'] = filesAttached;\n\t\n\t\t// \t\t\t\t\t\t\t\t\tthis.sendEmail(\n\t\t// \t\t\t\t\t\t\t\t\t\tsupportTicket.client_user.email, \n\t\t// \t\t\t\t\t\t\t\t\t\t'ResolveIO - ' + supportTicket.support_ticket_number_string + ' Priority: ' + supportTicket.priority, \n\t\t// \t\t\t\t\t\t\t\t\t\t'', \n\t\t// \t\t\t\t\t\t\t\t\t\ttemplate(supportTicket),\n\t\t// \t\t\t\t\t\t\t\t\t\tfilesAttached\n\t\t// \t\t\t\t\t\t\t\t\t);\n\t\t// \t\t\t\t\t\t\t\t}\n\t\t// \t\t\t\t\t\t\t}, err => {\n\t\t// \t\t\t\t\t\t\t\tconsole.log(err);\n\t\t// \t\t\t\t\t\t\t});\n\t\n\t\t// \t\t\t\t\t\t\tresolve(true);\n\t\t// \t\t\t\t\t\t}, err => {\n\t\t// \t\t\t\t\t\t\tconsole.log(err);\n\t\t// \t\t\t\t\t\t});\n\t\n\t\t// \t\t\t\t\t\tresolve(true);\n\t\t// \t\t\t\t\t}\n\t\t// \t\t\t\t\telse {\n\t\t// \t\t\t\t\t\tthis.callMethodInternal.call(this, 'insertErrorLog', 'supportTicketsmethod - getsignedurl', [\n\t\t// \t\t\t\t\t\t\tfiles.map(a => a.key), err\n\t\t// \t\t\t\t\t\t]);\n\t\t// \t\t\t\t\t\treject(err);\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\telse {\n\t\t// \t\t\t\tthis.readFile('email-templates/support-ticket.html').then(async html => {\n\t\t// \t\t\t\t\tlet template = handlebars.compile(html);\n\n\t\t// \t\t\t\t\thandlebars.registerHelper('greaterThan', (a, b) => {\n\t\t// \t\t\t\t\t\treturn a > b;\n\t\t// \t\t\t\t\t});\n\n\t\t// \t\t\t\t\thandlebars.registerHelper('equals', (a, b) => {\n\t\t// \t\t\t\t\t\treturn a === b;\n\t\t// \t\t\t\t\t});\n\n\t\t// \t\t\t\t\tthis.readImage('images/ResolveIO.png').then(logoData => {\n\t\t// \t\t\t\t\t\tsupportTicket['logo'] = 'data:image/png;base64,' + logoData;\n\t\t\t\t\t\t\t\t\n\t\t// \t\t\t\t\t\tif (supportTicket.client_user && supportTicket.client_user.email) {\n\n\t\t// \t\t\t\t\t\t\tsupportTicket['user'] = supportTicket.client_user.user;\n\n\t\t// \t\t\t\t\t\t\tthis.sendEmail(\n\t\t// \t\t\t\t\t\t\t\tsupportTicket.client_user.email, \n\t\t// \t\t\t\t\t\t\t\t'ResolveIO - ' + supportTicket.support_ticket_number_string + ' Priority: ' + supportTicket.priority, \n\t\t// \t\t\t\t\t\t\t\t'', \n\t\t// \t\t\t\t\t\t\t\ttemplate(supportTicket),\n\t\t// \t\t\t\t\t\t\t\tnull\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}, err => {\n\t\t// \t\t\t\t\t\tconsole.log(err);\n\t\t// \t\t\t\t\t});\n\n\t\t// \t\t\t\t\tresolve(true);\n\t\t// \t\t\t\t}, err => {\n\t\t// \t\t\t\t\tconsole.log(err);\n\t\t// \t\t\t\t});\n\n\t\t// \t\t\t\tresolve(true);\n\t\t// \t\t\t}\n\t\t// \t\t});\n\t\t// \t}\n\t\t// },\n\t\t// sendSupportTicketModifiedEmail: {\n\t\t// \tcheck: new SimpleSchema({\n\t\t// \t\tsupportTicket: {\n\t\t// \t\t\ttype: Object,\n\t\t// \t\t\tblackbox: true\n\t\t// \t\t},\n\t\t// \t\tid_files: {\n\t\t// \t\t\ttype: Array\t\t\t\t\t\n\t\t// \t\t},\n\t\t// \t\t'id_files.$': {\n\t\t// \t\t\ttype: String\n\t\t// \t\t}\n\t\t// \t}),\n\t\t// \tfunction: function(supportTicket: SupportTicketModel, id_files: string[]) {\n\t\t// \t\treturn new Promise(async (resolve, reject) => {\n\n\t\t// \t\t\tlet files = await Files.find({\n\t\t// \t\t\t\t_id: {$in: id_files}\n\t\t// \t\t\t});\n\n\t\t// \t\t\tthis.callMethodInternal.call(this, 'getSignedUrls', files.map(a => a.key), 900, (err, res) => {\n\t\t// \t\t\t\tif (res) {\n\t\t// \t\t\t\t\tthis.readFile('email-templates/support-ticket-modified.html').then(async html => {\n\t\t// \t\t\t\t\t\tlet template = handlebars.compile(html);\n\n\t\t// \t\t\t\t\t\thandlebars.registerHelper('greaterThan', (a, b) => {\n\t\t// \t\t\t\t\t\t\treturn a > b;\n\t\t// \t\t\t\t\t\t});\n\n\t\t// \t\t\t\t\t\thandlebars.registerHelper('equals', (a, b) => {\n\t\t// \t\t\t\t\t\t\treturn a === b;\n\t\t// \t\t\t\t\t\t});\n\n\t\t// \t\t\t\t\t\tlet filesAttached = [];\n\n\t\t// \t\t\t\t\t\tlet fileCnt = 0;\n\t\t// \t\t\t\t\t\tres.forEach(url => {\n\t\t// \t\t\t\t\t\t\tfilesAttached.push({filename: files[fileCnt].name, path: url});\n\t\t// \t\t\t\t\t\t\tfileCnt++;\n\t\t// \t\t\t\t\t\t});\n\n\t\t// \t\t\t\t\t\tthis.readImage('images/ResolveIO.png').then(logoData => {\n\t\t// \t\t\t\t\t\t\tsupportTicket['logo'] = 'data:image/png;base64,' + logoData;\n\t\t\t\t\t\t\t\t\n\t\t// \t\t\t\t\t\t\tsupportTicket.current_watchers.forEach(user => {\n\t\t\t\t\t\n\t\t// \t\t\t\t\t\t\t\tsupportTicket['user'] = user.user;\n\t\t// \t\t\t\t\t\t\t\tsupportTicket['fileAttached'] = filesAttached;\n\n\t\t// \t\t\t\t\t\t\t\tthis.sendEmail(\n\t\t// \t\t\t\t\t\t\t\t\tuser.email, \n\t\t// \t\t\t\t\t\t\t\t\t'ResolveIO - a ticket has been modified: ' + supportTicket.support_ticket_number_string + ' Priority: ' + supportTicket.priority, \n\t\t// \t\t\t\t\t\t\t\t\t'', \n\t\t// \t\t\t\t\t\t\t\t\ttemplate(supportTicket),\n\t\t// \t\t\t\t\t\t\t\t\tfilesAttached\n\t\t// \t\t\t\t\t\t\t\t);\n\t\t// \t\t\t\t\t\t\t});\n\n\t\t// \t\t\t\t\t\t\tif (supportTicket.client_user && supportTicket.client_user.email) {\n\n\t\t// \t\t\t\t\t\t\t\tsupportTicket['user'] = supportTicket.client_user.user;\n\t\t// \t\t\t\t\t\t\t\tsupportTicket['fileAttached'] = filesAttached;\n\n\t\t// \t\t\t\t\t\t\t\tthis.sendEmail(\n\t\t// \t\t\t\t\t\t\t\t\tsupportTicket.client_user.email, \n\t\t// \t\t\t\t\t\t\t\t\t'ResolveIO - ' + supportTicket.support_ticket_number_string + ' Priority: ' + supportTicket.priority, \n\t\t// \t\t\t\t\t\t\t\t\t'', \n\t\t// \t\t\t\t\t\t\t\t\ttemplate(supportTicket),\n\t\t// \t\t\t\t\t\t\t\t\tfilesAttached\n\t\t// \t\t\t\t\t\t\t\t);\n\t\t// \t\t\t\t\t\t\t}\n\t\t// \t\t\t\t\t\t}, err => {\n\t\t// \t\t\t\t\t\t\tconsole.log(err);\n\t\t// \t\t\t\t\t\t});\n\t\t\n\t\t// \t\t\t\t\t\tresolve(true);\n\t\t\t\t\t\t\t\t\n\t\t// \t\t\t\t\t}, err => {\n\t\t// \t\t\t\t\t\tconsole.log(err);\n\t\t// \t\t\t\t\t});\n\n\t\t// \t\t\t\t\tresolve(true);\n\t\t// \t\t\t\t}\n\t\t// \t\t\t\telse {\n\t\t// \t\t\t\t\tthis.callMethodInternal.call(this, 'insertErrorLog', 'supportTicketsmethod - getsignedurl', [\n\t\t// \t\t\t\t\t\tfiles.map(a => a.key), err\n\t\t// \t\t\t\t\t]);\n\t\t// \t\t\t\t\treject(err);\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\t// sendSupportTicketDeletedEmail: {\n\t\t// \tcheck: new SimpleSchema({\n\t\t// \t\tsupportTicket: {\n\t\t// \t\t\ttype: Object,\n\t\t// \t\t\tblackbox: true\n\t\t// \t\t}\n\t\t// \t}),\n\t\t// \tfunction: function(supportTicket: SupportTicketModel) {\n\t\t// \t\treturn new Promise(async (resolve, reject) => {\n\t\t// \t\t\tthis.callMethodInternal.call(this, 'getSignedUrls', [], 900, (err, res) => {\n\t\t// \t\t\t\tif (res) {\n\t\t// \t\t\t\t\tthis.readFile('email-templates/support-ticket-deleted.html').then(async html => {\n\t\t// \t\t\t\t\t\tlet template = handlebars.compile(html);\n\n\t\t// \t\t\t\t\t\thandlebars.registerHelper('greaterThan', (a, b) => {\n\t\t// \t\t\t\t\t\t\treturn a > b;\n\t\t// \t\t\t\t\t\t});\n\n\t\t// \t\t\t\t\t\thandlebars.registerHelper('equals', (a, b) => {\n\t\t// \t\t\t\t\t\t\treturn a === b;\n\t\t// \t\t\t\t\t\t});\n\n\t\t// \t\t\t\t\t\tif (supportTicket.client_user && supportTicket.client_user.email) {\n\t\t// \t\t\t\t\t\t\tthis.sendEmail(\n\t\t// \t\t\t\t\t\t\t\tsupportTicket.client_user.email, \n\t\t// \t\t\t\t\t\t\t\t'ResolveIO - ' + supportTicket.support_ticket_number_string + ' Priority: ' + supportTicket.priority, \n\t\t// \t\t\t\t\t\t\t\t'', \n\t\t// \t\t\t\t\t\t\t\ttemplate(supportTicket),\n\t\t// \t\t\t\t\t\t\t\t[]\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}, err => {\n\t\t// \t\t\t\t\t\tconsole.log(err);\n\t\t// \t\t\t\t\t});\n\n\t\t// \t\t\t\t\tresolve(true);\n\t\t// \t\t\t\t}\n\t\t// \t\t\t\telse {\n\t\t// \t\t\t\t\tthis.callMethodInternal.call(this, 'insertErrorLog', 'supportTicketsmethod - getsignedurl', [\n\t\t// \t\t\t\t\t\t[], err\n\t\t// \t\t\t\t\t]);\n\t\t// \t\t\t\t\treject(err);\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\nfunction randomString(length, chars) {\n\tlet result = '';\n\tfor (let i = length; i > 0; --i) { result += chars[Math.floor(Math.random() * chars.length)]; }\n\treturn result;\n}"]}
@@ -1,29 +1,27 @@
1
1
  import { CollectionDocument } from './collection-document.model';
2
2
  export interface UserModel extends CollectionDocument {
3
- attempts: number;
4
- last: Date;
3
+ roles: UserRoleModel;
4
+ attempts?: number;
5
+ last?: Date;
6
+ services?: any;
5
7
  fullname: string;
6
- roles: string[];
7
- readonly?: boolean;
8
8
  username?: string;
9
9
  email?: string;
10
10
  active?: boolean;
11
- services?: any;
12
- phonenumber?: string;
13
- other?: UserObject;
14
11
  id_customer?: string;
15
12
  customer?: string;
16
13
  customer_type?: string;
17
- customers?: UserCustomersModel[];
14
+ customers?: UserCustomerModel[];
15
+ phonenumber?: string;
16
+ other?: UserObject;
17
+ assets?: UserAssetModel[];
18
+ id_function?: string;
19
+ readonly?: boolean;
18
20
  departments?: UserDepartmentModel[];
19
21
  }
20
22
  export interface UserObject {
21
23
  [key: string]: any;
22
24
  }
23
- export interface UserDepartmentModel {
24
- id_department: string;
25
- department: string;
26
- }
27
25
  export interface UserRoleModel {
28
26
  super_admin: boolean;
29
27
  approvals: UserRoleApprovalModel[];
@@ -41,7 +39,20 @@ export interface UserRoleGroupModel {
41
39
  views: string[];
42
40
  yard?: string;
43
41
  }
44
- export interface UserCustomersModel {
45
- id_customer: string;
42
+ export interface UserAssetModel {
43
+ type: any;
44
+ id_asset: string;
45
+ asset_number: string;
46
+ ownership: string;
47
+ ownership_driver: string;
48
+ date_start: Date;
49
+ date_end?: Date;
50
+ }
51
+ export interface UserCustomerModel {
46
52
  customer: string;
53
+ id_customer: string;
54
+ }
55
+ export interface UserDepartmentModel {
56
+ id_department: string;
57
+ department: string;
47
58
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/models/user.model.ts"],"names":[],"mappings":"","file":"user.model.js","sourcesContent":["import { CollectionDocument } from './collection-document.model';\n\nexport interface UserModel extends CollectionDocument {\n\tattempts: number;\n\tlast: Date;\n\tfullname: string;\n\troles: string[];\n\treadonly?: boolean;\n\tusername?: string;\n\temail?: string;\n\tactive?: boolean;\n\tservices?: any;\n\tphonenumber?: string;\n\tother?: UserObject;\n\tid_customer?: string;\n\tcustomer?: string;\n\tcustomer_type?: string;\n\tcustomers?: UserCustomersModel[];\n\tdepartments?: UserDepartmentModel[];\n}\n\nexport interface UserObject {\n [key: string]: any;\n}\n\nexport interface UserDepartmentModel {\n\tid_department: string;\n\tdepartment: string;\n}\n\nexport interface UserRoleModel {\n\tsuper_admin: boolean;\n\tapprovals: UserRoleApprovalModel[];\n\tgroups: UserRoleGroupModel[];\n\tnotifications: string[];\n\tmiscs: string[];\n}\n\nexport interface UserRoleApprovalModel {\n\taccounting_code: string;\n\ttype: string;\n\tname: string;\n}\n\nexport interface UserRoleGroupModel {\n\tname: string;\n\tviews: string[];\n\tyard?: string;\n}\n\nexport interface UserCustomersModel {\n\tid_customer: string;\n\tcustomer: string;\n}"]}
1
+ {"version":3,"sources":["../../src/models/user.model.ts"],"names":[],"mappings":"","file":"user.model.js","sourcesContent":["import { CollectionDocument } from './collection-document.model';\n\nexport interface UserModel extends CollectionDocument {\n\troles: UserRoleModel;\n\tattempts?: number;\n\tlast?: Date;\n\tservices?: any;\n\tfullname: string;\n\tusername?: string;\n\temail?: string;\n\tactive?: boolean;\n\tid_customer?: string;\n\tcustomer?: string;\n\tcustomer_type?: string;\n\tcustomers?: UserCustomerModel[];\n\tphonenumber?: string;\n\tother?: UserObject;\n\tassets?: UserAssetModel[];\n\tid_function?: string;\n\treadonly?: boolean;\n\tdepartments?: UserDepartmentModel[];\n}\n\nexport interface UserObject {\n [key: string]: any;\n}\n\nexport interface UserRoleModel {\n\tsuper_admin: boolean;\n\tapprovals: UserRoleApprovalModel[];\n\tgroups: UserRoleGroupModel[];\n\tnotifications: string[];\n\tmiscs: string[];\n}\n\nexport interface UserRoleApprovalModel {\n\taccounting_code: string;\n\ttype: string;\n\tname: string;\n}\n\nexport interface UserRoleGroupModel {\n\tname: string;\n\tviews: string[];\n\tyard?: string;\n}\n\nexport interface UserAssetModel {\n\ttype: any;\n\tid_asset: string;\n\tasset_number: string;\n\townership: string;\n\townership_driver: string;\n\tdate_start: Date;\n\tdate_end?: Date;\n}\n\nexport interface UserCustomerModel {\n\tcustomer: string;\n\tid_customer: string;\n}\n\nexport interface UserDepartmentModel {\n\tid_department: string;\n\tdepartment: string;\n}"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@resolveio/server-lib",
3
- "version": "7.0.0",
3
+ "version": "7.0.2-newrole",
4
4
  "description": "",
5
5
  "main": "index.ts",
6
6
  "scripts": {
@@ -67,14 +67,13 @@ function loadReportBuilderLibraryPublications(subscriptionManager) {
67
67
  }
68
68
  }),
69
69
  function: function (id_user) { return __awaiter(_this, void 0, void 0, function () {
70
- var user, userGroupNames, userGroups;
70
+ var user, userGroups;
71
71
  return __generator(this, function (_a) {
72
72
  switch (_a.label) {
73
73
  case 0: return [4 /*yield*/, user_collection_1.Users.findById(id_user)];
74
74
  case 1:
75
75
  user = _a.sent();
76
- userGroupNames = user.roles.filter(function (a) { return a.startsWith('group-'); }).map(function (a) { return a.replace('group-', ''); });
77
- return [4 /*yield*/, user_group_collection_1.UserGroups.find({ name: { $in: userGroupNames } })];
76
+ return [4 /*yield*/, user_group_collection_1.UserGroups.find({ name: { $in: user.roles.groups.map(function (a) { return a.name; }) } })];
78
77
  case 2:
79
78
  userGroups = _a.sent();
80
79
  return [2 /*return*/, report_builder_library_collection_1.ReportBuilderLibraries.find({ 'user_groups.id_user_group': { $in: userGroups.map(function (a) { return a._id; }) } }).sort({ name: 1 }).exec()];
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/publications/report-builder-libraries.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,6CAAwC;AAGxC,sGAA0F;AAC1F,kEAAuD;AACvD,8EAAkE;AAElE,SAAgB,oCAAoC,CAAC,mBAAwC;IAA7F,iBAoCC;IAnCA,mBAAmB,CAAC,YAAY,CAAC;QAChC,sBAAsB,EAAE;YACvB,QAAQ,EAAE;gBACT,OAAO,0DAAsB,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,EAAC,IAAI,EAAE,CAAC,EAAC,CAAC,CAAC,IAAI,EAAE,CAAC;YAC7D,CAAC;YACD,WAAW,EAAE,CAAC,0BAA0B,CAAC;SACzC;QACD,gCAAgC,EAAE;YACjC,KAAK,EAAE,IAAI,sBAAY,CAAC;gBACvB,OAAO,EAAE;oBACR,IAAI,EAAE,MAAM;iBACZ;aACD,CAAC;YACF,QAAQ,EAAE,UAAC,OAAe;gBACzB,OAAO,0DAAsB,CAAC,IAAI,CAAC,EAAC,cAAc,EAAE,OAAO,EAAC,CAAC,CAAC,IAAI,CAAC,EAAC,IAAI,EAAE,CAAC,EAAC,CAAC,CAAC,IAAI,EAAE,CAAC;YACtF,CAAC;YACD,WAAW,EAAE,CAAC,OAAO,EAAE,0BAA0B,CAAC;SAClD;QACD,6BAA6B,EAAE;YAC9B,KAAK,EAAE,IAAI,sBAAY,CAAC;gBACvB,OAAO,EAAE;oBACR,IAAI,EAAE,MAAM;iBACZ;aACD,CAAC;YACF,QAAQ,EAAE,UAAO,OAAe;;;;gCACpB,qBAAM,uBAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAA;;4BAApC,IAAI,GAAG,SAA6B;4BAEpC,cAAc,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,UAAA,CAAC,IAAI,OAAA,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAtB,CAAsB,CAAC,CAAC,GAAG,CAAC,UAAA,CAAC,IAAI,OAAA,CAAC,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,EAAvB,CAAuB,CAAC,CAAC;4BACrF,qBAAM,kCAAU,CAAC,IAAI,CAAC,EAAC,IAAI,EAAE,EAAC,GAAG,EAAE,cAAc,EAAC,EAAC,CAAC,EAAA;;4BAAjE,UAAU,GAAG,SAAoD;4BAErE,sBAAO,0DAAsB,CAAC,IAAI,CAAC,EAAC,2BAA2B,EAAE,EAAC,GAAG,EAAE,UAAU,CAAC,GAAG,CAAC,UAAA,CAAC,IAAI,OAAA,CAAC,CAAC,GAAG,EAAL,CAAK,CAAC,EAAC,EAAC,CAAC,CAAC,IAAI,CAAC,EAAC,IAAI,EAAE,CAAC,EAAC,CAAC,CAAC,IAAI,EAAE,EAAC;;;iBAC5H;YACD,WAAW,EAAE,CAAC,OAAO,EAAE,0BAA0B,CAAC;SAClD;KACD,CAAC,CAAC;AACJ,CAAC;AApCD,oFAoCC","file":"report-builder-libraries.js","sourcesContent":["import SimpleSchema from 'simpl-schema';\nimport { Document } from 'mongoose';\nimport { SubscriptionManager } from '../managers/subscription.manager';\nimport { ReportBuilderLibraries } from '../collections/report-builder-library.collection';\nimport { Users } from '../collections/user.collection';\nimport { UserGroups } from '../collections/user-group.collection';\n\nexport function loadReportBuilderLibraryPublications(subscriptionManager: SubscriptionManager) {\n\tsubscriptionManager.publications({\n\t\treportbuilderlibraries: {\n\t\t\tfunction: () => {\n\t\t\t\treturn ReportBuilderLibraries.find().sort({name: 1}).exec();\n\t\t\t},\n\t\t\tcollections: ['report-builder-libraries']\n\t\t},\n\t\treportbuilderlibrariesWithIdUser: {\n\t\t\tcheck: new SimpleSchema({\n\t\t\t\tid_user: {\n\t\t\t\t\ttype: String\n\t\t\t\t}\n\t\t\t}),\n\t\t\tfunction: (id_user: string) => {\n\t\t\t\treturn ReportBuilderLibraries.find({id_user_create: id_user}).sort({name: 1}).exec();\n\t\t\t},\n\t\t\tcollections: ['users', 'report-builder-libraries']\n\t\t},\n\t\treportbuilderlibrariesForUser: {\n\t\t\tcheck: new SimpleSchema({\n\t\t\t\tid_user: {\n\t\t\t\t\ttype: String\n\t\t\t\t}\n\t\t\t}),\n\t\t\tfunction: async (id_user: string) => {\n\t\t\t\tlet user = await Users.findById(id_user);\n\n\t\t\t\tlet userGroupNames = user.roles.filter(a => a.startsWith('group-')).map(a => a.replace('group-', ''));\n\t\t\t\tlet userGroups = await UserGroups.find({name: {$in: userGroupNames}})\n\n\t\t\t\treturn ReportBuilderLibraries.find({'user_groups.id_user_group': {$in: userGroups.map(a => a._id)}}).sort({name: 1}).exec();\n\t\t\t},\n\t\t\tcollections: ['users', 'report-builder-libraries']\n\t\t},\n\t});\n}"]}
1
+ {"version":3,"sources":["../../src/publications/report-builder-libraries.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,6CAAwC;AAGxC,sGAA0F;AAC1F,kEAAuD;AACvD,8EAAkE;AAElE,SAAgB,oCAAoC,CAAC,mBAAwC;IAA7F,iBAkCC;IAjCA,mBAAmB,CAAC,YAAY,CAAC;QAChC,sBAAsB,EAAE;YACvB,QAAQ,EAAE;gBACT,OAAO,0DAAsB,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,EAAC,IAAI,EAAE,CAAC,EAAC,CAAC,CAAC,IAAI,EAAE,CAAC;YAC7D,CAAC;YACD,WAAW,EAAE,CAAC,0BAA0B,CAAC;SACzC;QACD,gCAAgC,EAAE;YACjC,KAAK,EAAE,IAAI,sBAAY,CAAC;gBACvB,OAAO,EAAE;oBACR,IAAI,EAAE,MAAM;iBACZ;aACD,CAAC;YACF,QAAQ,EAAE,UAAC,OAAe;gBACzB,OAAO,0DAAsB,CAAC,IAAI,CAAC,EAAC,cAAc,EAAE,OAAO,EAAC,CAAC,CAAC,IAAI,CAAC,EAAC,IAAI,EAAE,CAAC,EAAC,CAAC,CAAC,IAAI,EAAE,CAAC;YACtF,CAAC;YACD,WAAW,EAAE,CAAC,OAAO,EAAE,0BAA0B,CAAC;SAClD;QACD,6BAA6B,EAAE;YAC9B,KAAK,EAAE,IAAI,sBAAY,CAAC;gBACvB,OAAO,EAAE;oBACR,IAAI,EAAE,MAAM;iBACZ;aACD,CAAC;YACF,QAAQ,EAAE,UAAO,OAAe;;;;gCACpB,qBAAM,uBAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAA;;4BAApC,IAAI,GAAG,SAA6B;4BACvB,qBAAM,kCAAU,CAAC,IAAI,CAAC,EAAC,IAAI,EAAE,EAAC,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,UAAA,CAAC,IAAI,OAAA,CAAC,CAAC,IAAI,EAAN,CAAM,CAAC,EAAC,EAAC,CAAC,EAAA;;4BAArF,UAAU,GAAG,SAAwE;4BAEzF,sBAAO,0DAAsB,CAAC,IAAI,CAAC,EAAC,2BAA2B,EAAE,EAAC,GAAG,EAAE,UAAU,CAAC,GAAG,CAAC,UAAA,CAAC,IAAI,OAAA,CAAC,CAAC,GAAG,EAAL,CAAK,CAAC,EAAC,EAAC,CAAC,CAAC,IAAI,CAAC,EAAC,IAAI,EAAE,CAAC,EAAC,CAAC,CAAC,IAAI,EAAE,EAAC;;;iBAC5H;YACD,WAAW,EAAE,CAAC,OAAO,EAAE,0BAA0B,CAAC;SAClD;KACD,CAAC,CAAC;AACJ,CAAC;AAlCD,oFAkCC","file":"report-builder-libraries.js","sourcesContent":["import SimpleSchema from 'simpl-schema';\nimport { Document } from 'mongoose';\nimport { SubscriptionManager } from '../managers/subscription.manager';\nimport { ReportBuilderLibraries } from '../collections/report-builder-library.collection';\nimport { Users } from '../collections/user.collection';\nimport { UserGroups } from '../collections/user-group.collection';\n\nexport function loadReportBuilderLibraryPublications(subscriptionManager: SubscriptionManager) {\n\tsubscriptionManager.publications({\n\t\treportbuilderlibraries: {\n\t\t\tfunction: () => {\n\t\t\t\treturn ReportBuilderLibraries.find().sort({name: 1}).exec();\n\t\t\t},\n\t\t\tcollections: ['report-builder-libraries']\n\t\t},\n\t\treportbuilderlibrariesWithIdUser: {\n\t\t\tcheck: new SimpleSchema({\n\t\t\t\tid_user: {\n\t\t\t\t\ttype: String\n\t\t\t\t}\n\t\t\t}),\n\t\t\tfunction: (id_user: string) => {\n\t\t\t\treturn ReportBuilderLibraries.find({id_user_create: id_user}).sort({name: 1}).exec();\n\t\t\t},\n\t\t\tcollections: ['users', 'report-builder-libraries']\n\t\t},\n\t\treportbuilderlibrariesForUser: {\n\t\t\tcheck: new SimpleSchema({\n\t\t\t\tid_user: {\n\t\t\t\t\ttype: String\n\t\t\t\t}\n\t\t\t}),\n\t\t\tfunction: async (id_user: string) => {\n\t\t\t\tlet user = await Users.findById(id_user);\n\t\t\t\tlet userGroups = await UserGroups.find({name: {$in: user.roles.groups.map(a => a.name)}});\n\n\t\t\t\treturn ReportBuilderLibraries.find({'user_groups.id_user_group': {$in: userGroups.map(a => a._id)}}).sort({name: 1}).exec();\n\t\t\t},\n\t\t\tcollections: ['users', 'report-builder-libraries']\n\t\t},\n\t});\n}"]}