no message

This commit is contained in:
2018-03-04 20:47:21 -05:00
parent c131f42632
commit 3f9766cab0
3 changed files with 179 additions and 8 deletions

View File

@@ -1,3 +1,5 @@
const Images = require('../modules/images');
const Logger = require('../modules/logger');
const Mongoose = require('mongoose');
const MessageSchema = new Mongoose.Schema({
@@ -7,6 +9,44 @@ const MessageSchema = new Mongoose.Schema({
"isUser" : { type: Boolean, default: false, required: true, index: true }
});
MessageSchema.pre('findOneAndUpdate', function (next) {
var message = this;
if (message.image && typeof message.image === 'object') {
Images.saveMessageImage(message.image, (err, filename) => {
if (err) {
Logger.error('[MessageSchema.pre(save)] There was an error processing the message image. [' + err + ']', { error: err });
}
if (filename) {
message.image = filename;
next();
}
})
} else {
next();
}
});
MessageSchema.pre('save', function (next) {
var message = this;
if (message.image && typeof message.image === 'object') {
Images.saveMessageImage(message.image, (err, filename) => {
if (err) {
Logger.error('[MessageSchema.pre(save)] There was an error processing the message image. [' + err + ']', { error: err });
}
if (filename) {
message.image = filename;
next();
}
})
} else {
next();
}
});
const MessageModel = Mongoose.model('messages', MessageSchema);
module.exports = {

View File

@@ -1,14 +1,7 @@
const fs = require('fs');
const Images = require('../modules/images');
const Messages = require('../models/message');
const Mongoose = require('mongoose');
const ShortId = require('shortid');
const ATTACHMENT_STORE = '../images';
const ATTACHMENT_STORE_PROFILE = '/profile';
const ATTACHMENT_STORE_MESSAGE = '/message';
const ATTACHMENT_SUFFIX_DETAIL = '_detail';
const ATTACHMENT_SUFFIX_THUMBNAIL = '_thumbnail';
const ProfileSchema = new Mongoose.Schema({
"order" : { type: Number, default: 0 },
"details": {
@@ -34,6 +27,88 @@ const ProfileSchema = new Mongoose.Schema({
"messages" : [ { type: Messages.schema } ]
});
ProfileSchema.pre('findOneAndUpdate', function (next) {
var cnt = 0;
if (this.details && this.details.pic) {
var pic = this.details.pic
cnt = cnt + (typeof pic.detail === 'object' ? 1 : 0) + (typeof pic.thumb === 'object' ? 1 : 0);
}
if (cnt > 0) {
if (typeof pic.detail === 'object') {
Images.saveProfileDetailImage(pic.detail, (err, filename) => {
if (err) {
Logger.error('[MessageSchema.pre(save)] There was an error processing the message image. [' + err + ']', { error: err });
}
if (filename) {
pic.detail = filename;
cnt -= 1;
if (cnt === 0) next();
}
});
}
if (typeof pic.thumb === 'object') {
Images.saveProfileThumbnailImage(pic.thumb, (err, filename) => {
if (err) {
Logger.error('[MessageSchema.pre(save)] There was an error processing the message image. [' + err + ']', { error: err });
}
if (filename) {
pic.thumb = filename;
cnt -= 1;
if (cnt === 0) next();
}
});
}
} else {
next();
}
});
ProfileSchema.pre('save', function (next) {
var cnt = 0;
if (this.details && this.details.pic) {
var pic = this.details.pic
cnt = cnt + (typeof pic.detail === 'object' ? 1 : 0) + (typeof pic.thumb === 'object' ? 1 : 0);
}
if (cnt > 0) {
if (typeof pic.detail === 'object') {
Images.saveProfileDetailImage(pic.detail, (err, filename) => {
if (err) {
Logger.error('[MessageSchema.pre(save)] There was an error processing the message image. [' + err + ']', { error: err });
}
if (filename) {
pic.detail = filename;
cnt -= 1;
if (cnt === 0) next();
}
});
}
if (typeof pic.thumb === 'object') {
Images.saveProfileThumbnailImage(pic.thumb, (err, filename) => {
if (err) {
Logger.error('[MessageSchema.pre(save)] There was an error processing the message image. [' + err + ']', { error: err });
}
if (filename) {
pic.thumb = filename;
cnt -= 1;
if (cnt === 0) next();
}
});
}
} else {
next();
}
});
const ProfileModel = Mongoose.model('profiles', ProfileSchema);
module.exports = {