- Added profile submission handling

This commit is contained in:
2018-06-03 16:39:10 -04:00
parent d4ff498789
commit 9ed024e86d
4 changed files with 52 additions and 14 deletions

View File

@@ -1,3 +1,4 @@
const EventEmitter = require('events');
const Images = require('../modules/images'); const Images = require('../modules/images');
const Logger = require('../modules/logger'); const Logger = require('../modules/logger');
const Messages = require('../models/message'); const Messages = require('../models/message');
@@ -8,26 +9,16 @@ const ProfileSchema = new Mongoose.Schema({
"details": { "details": {
"about": { type: String }, "about": { type: String },
"age": { type: Number, index: true, default: 0 }, "age": { type: Number, index: true, default: 0 },
"body": { type: String, enum: ['dns','slim','toned','average','muscular','large','stocky'], default: 'dns' }, "location": { type: String },
"ethnicity": { type: String, enum: ['dns','asian','black','latino','middle eastern','mixed','native american','white','south asian','other'], default: 'dns' },
"gender": { type: String, enum: ['man','cis man','trans man','woman','cis woman','trans woman','non-binary','non-conforming','queer','crossdresser'] },
"height": { type: String },
"looking": [{ type: String, enum: ['chat','friends','networking','dates','relationship','right now'] }],
"name": { type: String, index: true }, "name": { type: String, index: true },
"pic": { "pic": {
"detail": { type: String, default: "profile/default_detail.png" }, "detail": { type: String, default: "profile/default_detail.png" },
"thumb": { type: String, default: "profile/default_thumbnail.png" } "thumb": { type: String, default: "profile/default_thumbnail.png" }
}, }
"position": { type: String, enum: ['dns','bottom','vers bottom','versatile','vers top','top'], default: 'dns' },
"pronouns": { type: String },
"weight": { type: Number },
"relationship": { type: String, enum: ['dns','committed','dating','engaged','exclusive','married','open relationship','partnered','single'], default: 'dns' },
"status": { type: String, enum: ['dns','unknown','negative','negative, on prep','postive','positive, undetectable'], default: 'dns' },
"tested": { type: Date },
"tribe": [{ type: String, enum: ['twink','trans','poz','leather','geek','discreet','otter','bear','daddy','jock','clean-cut'] }]
}, },
"messages": [ { type: Messages.schema } ], "messages": [ { type: Messages.schema } ],
"submitted": { type: Boolean, default: false } "submitted": { type: Boolean, default: false },
"approved": { type: Boolean, default: false }
}); });
ProfileSchema.pre('findOneAndUpdate', function (next) { ProfileSchema.pre('findOneAndUpdate', function (next) {
@@ -491,6 +482,31 @@ module.exports = {
}); });
}, },
processSubmission: (e, profile) => {
var ProfileEvents = new EventEmitter();
var temp = JSON.parse(profile.profile);
var insert = {
details: temp.details,
messages: temp.messages,
submitted: true,
approved: false
};
insert.details.pic = { detail: profile.image };
ProfileEvents.once('create', (err, result) => {
if (err) {
e.emit('processSubmission', err, null);
}
if (result) {
e.emit('processSubmission', null, result);
}
});
module.exports.create(ProfileEvents, insert);
},
update: (e, profileId, profile) => { update: (e, profileId, profile) => {
const promise = new Promise((resolve, reject) => { const promise = new Promise((resolve, reject) => {
ProfileModel.findOneAndUpdate( ProfileModel.findOneAndUpdate(

View File

@@ -176,6 +176,24 @@ Router.route('/list' + ParamStr)
}); });
}); });
Router.route('/submission')
.post((req, res) => {
var ProfileEvents = new EventEmitter();
var profile = req.body;
ProfileEvents.once('processSubmission', (err, result) => {
if (err) {
res.status(500).json({ message: 'Could not process user profile submission', err: err, profile: profile });
}
if (result) {
res.status(200).json(result);
}
});
Profiles.processSubmission(ProfileEvents, profile);
});
Router.route('/submitted') Router.route('/submitted')
.get( (req, res) => { .get( (req, res) => {
Token.verifyThen(req.get('authorization'), 'view', (err, decoded) => { Token.verifyThen(req.get('authorization'), 'view', (err, decoded) => {

2
urge-debug.log Normal file
View File

@@ -0,0 +1,2 @@
{"date":"Tue May 29 2018 01:42:55 GMT-0400 (EDT)","process":{"pid":88218,"uid":501,"gid":20,"cwd":"/Users/mifi/Documents/Projects/Pfosi/code/backend","execPath":"/usr/local/bin/node","version":"v8.1.1","argv":["/usr/local/bin/node","/Users/mifi/Documents/Projects/Pfosi/code/backend/bin/www"],"memoryUsage":{"rss":59949056,"heapTotal":37752832,"heapUsed":27335984,"external":18587748}},"os":{"loadavg":[4.00830078125,2.5263671875,2.0556640625],"uptime":961975},"trace":[{"column":11,"file":"/Users/mifi/Documents/Projects/Pfosi/code/backend/bin/www","function":"mongoose.connect","line":17,"method":"connect","native":false},{"column":19,"file":"/Users/mifi/Documents/Projects/Pfosi/code/backend/node_modules/mongoose/lib/connection.js","function":null,"line":319,"method":null,"native":false},{"column":12,"file":"/Users/mifi/Documents/Projects/Pfosi/code/backend/node_modules/mongoose/lib/connection.js","function":"NativeConnection.Connection.error","line":671,"method":"error","native":false},{"column":15,"file":"/Users/mifi/Documents/Projects/Pfosi/code/backend/node_modules/mongoose/lib/connection.js","function":null,"line":702,"method":null,"native":false},{"column":21,"file":"/Users/mifi/Documents/Projects/Pfosi/code/backend/node_modules/mongoose/lib/drivers/node-mongodb-native/connection.js","function":null,"line":69,"method":null,"native":false},{"column":14,"file":"/Users/mifi/Documents/Projects/Pfosi/code/backend/node_modules/mongodb/lib/db.js","function":null,"line":236,"method":null,"native":false},{"column":9,"file":"/Users/mifi/Documents/Projects/Pfosi/code/backend/node_modules/mongodb/lib/server.js","function":null,"line":265,"method":null,"native":false},{"column":30,"file":"events.js","function":"Object.onceWrapper","line":316,"method":"onceWrapper","native":false},{"column":13,"file":"events.js","function":"emitOne","line":115,"method":null,"native":false},{"column":7,"file":"events.js","function":"Server.emit","line":210,"method":"emit","native":false},{"column":21,"file":"/Users/mifi/Documents/Projects/Pfosi/code/backend/node_modules/mongodb-core/lib/topologies/server.js","function":null,"line":336,"method":null,"native":false},{"column":13,"file":"events.js","function":"emitOne","line":115,"method":null,"native":false},{"column":7,"file":"events.js","function":"Pool.emit","line":210,"method":"emit","native":false},{"column":12,"file":"/Users/mifi/Documents/Projects/Pfosi/code/backend/node_modules/mongodb-core/lib/connection/pool.js","function":null,"line":280,"method":null,"native":false},{"column":30,"file":"events.js","function":"Object.onceWrapper","line":318,"method":"onceWrapper","native":false},{"column":13,"file":"events.js","function":"emitTwo","line":125,"method":null,"native":false}],"stack":["Error: MongoError: failed to connect to server [localhost:27017] on first connect [MongoError: connect ECONNREFUSED 127.0.0.1:27017]"," at mongoose.connect (/Users/mifi/Documents/Projects/Pfosi/code/backend/bin/www:17:11)"," at /Users/mifi/Documents/Projects/Pfosi/code/backend/node_modules/mongoose/lib/connection.js:319:19"," at NativeConnection.Connection.error (/Users/mifi/Documents/Projects/Pfosi/code/backend/node_modules/mongoose/lib/connection.js:671:12)"," at /Users/mifi/Documents/Projects/Pfosi/code/backend/node_modules/mongoose/lib/connection.js:702:15"," at /Users/mifi/Documents/Projects/Pfosi/code/backend/node_modules/mongoose/lib/drivers/node-mongodb-native/connection.js:69:21"," at /Users/mifi/Documents/Projects/Pfosi/code/backend/node_modules/mongodb/lib/db.js:236:14"," at Server.<anonymous> (/Users/mifi/Documents/Projects/Pfosi/code/backend/node_modules/mongodb/lib/server.js:265:9)"," at Object.onceWrapper (events.js:316:30)"," at emitOne (events.js:115:13)"," at Server.emit (events.js:210:7)"," at Pool.<anonymous> (/Users/mifi/Documents/Projects/Pfosi/code/backend/node_modules/mongodb-core/lib/topologies/server.js:336:21)"," at emitOne (events.js:115:13)"," at Pool.emit (events.js:210:7)"," at Connection.<anonymous> (/Users/mifi/Documents/Projects/Pfosi/code/backend/node_modules/mongodb-core/lib/connection/pool.js:280:12)"," at Object.onceWrapper (events.js:318:30)"," at emitTwo (events.js:125:13)"],"level":"error","message":"uncaughtException: MongoError: failed to connect to server [localhost:27017] on first connect [MongoError: connect ECONNREFUSED 127.0.0.1:27017]","timestamp":"2018-05-29T05:42:55.309Z"}
{"date":"Tue May 29 2018 01:43:55 GMT-0400 (EDT)","process":{"pid":88235,"uid":501,"gid":20,"cwd":"/Users/mifi/Documents/Projects/Pfosi/code/backend","execPath":"/usr/local/bin/node","version":"v8.1.1","argv":["/usr/local/bin/node","/Users/mifi/Documents/Projects/Pfosi/code/backend/bin/www","./app.js"],"memoryUsage":{"rss":59736064,"heapTotal":37752832,"heapUsed":27293488,"external":18587748}},"os":{"loadavg":[4.00537109375,2.853515625,2.21240234375],"uptime":962035},"trace":[{"column":11,"file":"/Users/mifi/Documents/Projects/Pfosi/code/backend/bin/www","function":"mongoose.connect","line":17,"method":"connect","native":false},{"column":19,"file":"/Users/mifi/Documents/Projects/Pfosi/code/backend/node_modules/mongoose/lib/connection.js","function":null,"line":319,"method":null,"native":false},{"column":12,"file":"/Users/mifi/Documents/Projects/Pfosi/code/backend/node_modules/mongoose/lib/connection.js","function":"NativeConnection.Connection.error","line":671,"method":"error","native":false},{"column":15,"file":"/Users/mifi/Documents/Projects/Pfosi/code/backend/node_modules/mongoose/lib/connection.js","function":null,"line":702,"method":null,"native":false},{"column":21,"file":"/Users/mifi/Documents/Projects/Pfosi/code/backend/node_modules/mongoose/lib/drivers/node-mongodb-native/connection.js","function":null,"line":69,"method":null,"native":false},{"column":14,"file":"/Users/mifi/Documents/Projects/Pfosi/code/backend/node_modules/mongodb/lib/db.js","function":null,"line":236,"method":null,"native":false},{"column":9,"file":"/Users/mifi/Documents/Projects/Pfosi/code/backend/node_modules/mongodb/lib/server.js","function":null,"line":265,"method":null,"native":false},{"column":30,"file":"events.js","function":"Object.onceWrapper","line":316,"method":"onceWrapper","native":false},{"column":13,"file":"events.js","function":"emitOne","line":115,"method":null,"native":false},{"column":7,"file":"events.js","function":"Server.emit","line":210,"method":"emit","native":false},{"column":21,"file":"/Users/mifi/Documents/Projects/Pfosi/code/backend/node_modules/mongodb-core/lib/topologies/server.js","function":null,"line":336,"method":null,"native":false},{"column":13,"file":"events.js","function":"emitOne","line":115,"method":null,"native":false},{"column":7,"file":"events.js","function":"Pool.emit","line":210,"method":"emit","native":false},{"column":12,"file":"/Users/mifi/Documents/Projects/Pfosi/code/backend/node_modules/mongodb-core/lib/connection/pool.js","function":null,"line":280,"method":null,"native":false},{"column":30,"file":"events.js","function":"Object.onceWrapper","line":318,"method":"onceWrapper","native":false},{"column":13,"file":"events.js","function":"emitTwo","line":125,"method":null,"native":false}],"stack":["Error: MongoError: failed to connect to server [localhost:27017] on first connect [MongoError: connect ECONNREFUSED 127.0.0.1:27017]"," at mongoose.connect (/Users/mifi/Documents/Projects/Pfosi/code/backend/bin/www:17:11)"," at /Users/mifi/Documents/Projects/Pfosi/code/backend/node_modules/mongoose/lib/connection.js:319:19"," at NativeConnection.Connection.error (/Users/mifi/Documents/Projects/Pfosi/code/backend/node_modules/mongoose/lib/connection.js:671:12)"," at /Users/mifi/Documents/Projects/Pfosi/code/backend/node_modules/mongoose/lib/connection.js:702:15"," at /Users/mifi/Documents/Projects/Pfosi/code/backend/node_modules/mongoose/lib/drivers/node-mongodb-native/connection.js:69:21"," at /Users/mifi/Documents/Projects/Pfosi/code/backend/node_modules/mongodb/lib/db.js:236:14"," at Server.<anonymous> (/Users/mifi/Documents/Projects/Pfosi/code/backend/node_modules/mongodb/lib/server.js:265:9)"," at Object.onceWrapper (events.js:316:30)"," at emitOne (events.js:115:13)"," at Server.emit (events.js:210:7)"," at Pool.<anonymous> (/Users/mifi/Documents/Projects/Pfosi/code/backend/node_modules/mongodb-core/lib/topologies/server.js:336:21)"," at emitOne (events.js:115:13)"," at Pool.emit (events.js:210:7)"," at Connection.<anonymous> (/Users/mifi/Documents/Projects/Pfosi/code/backend/node_modules/mongodb-core/lib/connection/pool.js:280:12)"," at Object.onceWrapper (events.js:318:30)"," at emitTwo (events.js:125:13)"],"level":"error","message":"uncaughtException: MongoError: failed to connect to server [localhost:27017] on first connect [MongoError: connect ECONNREFUSED 127.0.0.1:27017]","timestamp":"2018-05-29T05:43:55.379Z"}

2
urge-error.log Normal file
View File

@@ -0,0 +1,2 @@
{"date":"Tue May 29 2018 01:42:55 GMT-0400 (EDT)","process":{"pid":88218,"uid":501,"gid":20,"cwd":"/Users/mifi/Documents/Projects/Pfosi/code/backend","execPath":"/usr/local/bin/node","version":"v8.1.1","argv":["/usr/local/bin/node","/Users/mifi/Documents/Projects/Pfosi/code/backend/bin/www"],"memoryUsage":{"rss":59949056,"heapTotal":37752832,"heapUsed":27335984,"external":18587748}},"os":{"loadavg":[4.00830078125,2.5263671875,2.0556640625],"uptime":961975},"trace":[{"column":11,"file":"/Users/mifi/Documents/Projects/Pfosi/code/backend/bin/www","function":"mongoose.connect","line":17,"method":"connect","native":false},{"column":19,"file":"/Users/mifi/Documents/Projects/Pfosi/code/backend/node_modules/mongoose/lib/connection.js","function":null,"line":319,"method":null,"native":false},{"column":12,"file":"/Users/mifi/Documents/Projects/Pfosi/code/backend/node_modules/mongoose/lib/connection.js","function":"NativeConnection.Connection.error","line":671,"method":"error","native":false},{"column":15,"file":"/Users/mifi/Documents/Projects/Pfosi/code/backend/node_modules/mongoose/lib/connection.js","function":null,"line":702,"method":null,"native":false},{"column":21,"file":"/Users/mifi/Documents/Projects/Pfosi/code/backend/node_modules/mongoose/lib/drivers/node-mongodb-native/connection.js","function":null,"line":69,"method":null,"native":false},{"column":14,"file":"/Users/mifi/Documents/Projects/Pfosi/code/backend/node_modules/mongodb/lib/db.js","function":null,"line":236,"method":null,"native":false},{"column":9,"file":"/Users/mifi/Documents/Projects/Pfosi/code/backend/node_modules/mongodb/lib/server.js","function":null,"line":265,"method":null,"native":false},{"column":30,"file":"events.js","function":"Object.onceWrapper","line":316,"method":"onceWrapper","native":false},{"column":13,"file":"events.js","function":"emitOne","line":115,"method":null,"native":false},{"column":7,"file":"events.js","function":"Server.emit","line":210,"method":"emit","native":false},{"column":21,"file":"/Users/mifi/Documents/Projects/Pfosi/code/backend/node_modules/mongodb-core/lib/topologies/server.js","function":null,"line":336,"method":null,"native":false},{"column":13,"file":"events.js","function":"emitOne","line":115,"method":null,"native":false},{"column":7,"file":"events.js","function":"Pool.emit","line":210,"method":"emit","native":false},{"column":12,"file":"/Users/mifi/Documents/Projects/Pfosi/code/backend/node_modules/mongodb-core/lib/connection/pool.js","function":null,"line":280,"method":null,"native":false},{"column":30,"file":"events.js","function":"Object.onceWrapper","line":318,"method":"onceWrapper","native":false},{"column":13,"file":"events.js","function":"emitTwo","line":125,"method":null,"native":false}],"stack":["Error: MongoError: failed to connect to server [localhost:27017] on first connect [MongoError: connect ECONNREFUSED 127.0.0.1:27017]"," at mongoose.connect (/Users/mifi/Documents/Projects/Pfosi/code/backend/bin/www:17:11)"," at /Users/mifi/Documents/Projects/Pfosi/code/backend/node_modules/mongoose/lib/connection.js:319:19"," at NativeConnection.Connection.error (/Users/mifi/Documents/Projects/Pfosi/code/backend/node_modules/mongoose/lib/connection.js:671:12)"," at /Users/mifi/Documents/Projects/Pfosi/code/backend/node_modules/mongoose/lib/connection.js:702:15"," at /Users/mifi/Documents/Projects/Pfosi/code/backend/node_modules/mongoose/lib/drivers/node-mongodb-native/connection.js:69:21"," at /Users/mifi/Documents/Projects/Pfosi/code/backend/node_modules/mongodb/lib/db.js:236:14"," at Server.<anonymous> (/Users/mifi/Documents/Projects/Pfosi/code/backend/node_modules/mongodb/lib/server.js:265:9)"," at Object.onceWrapper (events.js:316:30)"," at emitOne (events.js:115:13)"," at Server.emit (events.js:210:7)"," at Pool.<anonymous> (/Users/mifi/Documents/Projects/Pfosi/code/backend/node_modules/mongodb-core/lib/topologies/server.js:336:21)"," at emitOne (events.js:115:13)"," at Pool.emit (events.js:210:7)"," at Connection.<anonymous> (/Users/mifi/Documents/Projects/Pfosi/code/backend/node_modules/mongodb-core/lib/connection/pool.js:280:12)"," at Object.onceWrapper (events.js:318:30)"," at emitTwo (events.js:125:13)"],"level":"error","message":"uncaughtException: MongoError: failed to connect to server [localhost:27017] on first connect [MongoError: connect ECONNREFUSED 127.0.0.1:27017]","timestamp":"2018-05-29T05:42:55.317Z"}
{"date":"Tue May 29 2018 01:43:55 GMT-0400 (EDT)","process":{"pid":88235,"uid":501,"gid":20,"cwd":"/Users/mifi/Documents/Projects/Pfosi/code/backend","execPath":"/usr/local/bin/node","version":"v8.1.1","argv":["/usr/local/bin/node","/Users/mifi/Documents/Projects/Pfosi/code/backend/bin/www","./app.js"],"memoryUsage":{"rss":59736064,"heapTotal":37752832,"heapUsed":27293488,"external":18587748}},"os":{"loadavg":[4.00537109375,2.853515625,2.21240234375],"uptime":962035},"trace":[{"column":11,"file":"/Users/mifi/Documents/Projects/Pfosi/code/backend/bin/www","function":"mongoose.connect","line":17,"method":"connect","native":false},{"column":19,"file":"/Users/mifi/Documents/Projects/Pfosi/code/backend/node_modules/mongoose/lib/connection.js","function":null,"line":319,"method":null,"native":false},{"column":12,"file":"/Users/mifi/Documents/Projects/Pfosi/code/backend/node_modules/mongoose/lib/connection.js","function":"NativeConnection.Connection.error","line":671,"method":"error","native":false},{"column":15,"file":"/Users/mifi/Documents/Projects/Pfosi/code/backend/node_modules/mongoose/lib/connection.js","function":null,"line":702,"method":null,"native":false},{"column":21,"file":"/Users/mifi/Documents/Projects/Pfosi/code/backend/node_modules/mongoose/lib/drivers/node-mongodb-native/connection.js","function":null,"line":69,"method":null,"native":false},{"column":14,"file":"/Users/mifi/Documents/Projects/Pfosi/code/backend/node_modules/mongodb/lib/db.js","function":null,"line":236,"method":null,"native":false},{"column":9,"file":"/Users/mifi/Documents/Projects/Pfosi/code/backend/node_modules/mongodb/lib/server.js","function":null,"line":265,"method":null,"native":false},{"column":30,"file":"events.js","function":"Object.onceWrapper","line":316,"method":"onceWrapper","native":false},{"column":13,"file":"events.js","function":"emitOne","line":115,"method":null,"native":false},{"column":7,"file":"events.js","function":"Server.emit","line":210,"method":"emit","native":false},{"column":21,"file":"/Users/mifi/Documents/Projects/Pfosi/code/backend/node_modules/mongodb-core/lib/topologies/server.js","function":null,"line":336,"method":null,"native":false},{"column":13,"file":"events.js","function":"emitOne","line":115,"method":null,"native":false},{"column":7,"file":"events.js","function":"Pool.emit","line":210,"method":"emit","native":false},{"column":12,"file":"/Users/mifi/Documents/Projects/Pfosi/code/backend/node_modules/mongodb-core/lib/connection/pool.js","function":null,"line":280,"method":null,"native":false},{"column":30,"file":"events.js","function":"Object.onceWrapper","line":318,"method":"onceWrapper","native":false},{"column":13,"file":"events.js","function":"emitTwo","line":125,"method":null,"native":false}],"stack":["Error: MongoError: failed to connect to server [localhost:27017] on first connect [MongoError: connect ECONNREFUSED 127.0.0.1:27017]"," at mongoose.connect (/Users/mifi/Documents/Projects/Pfosi/code/backend/bin/www:17:11)"," at /Users/mifi/Documents/Projects/Pfosi/code/backend/node_modules/mongoose/lib/connection.js:319:19"," at NativeConnection.Connection.error (/Users/mifi/Documents/Projects/Pfosi/code/backend/node_modules/mongoose/lib/connection.js:671:12)"," at /Users/mifi/Documents/Projects/Pfosi/code/backend/node_modules/mongoose/lib/connection.js:702:15"," at /Users/mifi/Documents/Projects/Pfosi/code/backend/node_modules/mongoose/lib/drivers/node-mongodb-native/connection.js:69:21"," at /Users/mifi/Documents/Projects/Pfosi/code/backend/node_modules/mongodb/lib/db.js:236:14"," at Server.<anonymous> (/Users/mifi/Documents/Projects/Pfosi/code/backend/node_modules/mongodb/lib/server.js:265:9)"," at Object.onceWrapper (events.js:316:30)"," at emitOne (events.js:115:13)"," at Server.emit (events.js:210:7)"," at Pool.<anonymous> (/Users/mifi/Documents/Projects/Pfosi/code/backend/node_modules/mongodb-core/lib/topologies/server.js:336:21)"," at emitOne (events.js:115:13)"," at Pool.emit (events.js:210:7)"," at Connection.<anonymous> (/Users/mifi/Documents/Projects/Pfosi/code/backend/node_modules/mongodb-core/lib/connection/pool.js:280:12)"," at Object.onceWrapper (events.js:318:30)"," at emitTwo (events.js:125:13)"],"level":"error","message":"uncaughtException: MongoError: failed to connect to server [localhost:27017] on first connect [MongoError: connect ECONNREFUSED 127.0.0.1:27017]","timestamp":"2018-05-29T05:43:55.381Z"}