X-Git-Url: http://repos.xcallymotion.com/?a=blobdiff_plain;f=server%2Fmodels%2Fsms_room.js;h=89367947c5611c16836d779916f68fdd5a3bd4f7;hb=8f7a14ddb5df8a08d3e796dbce1c065b2bc3ba28;hp=09e3989ab3af8464e6f17c1ddedb508b293d9d89;hpb=ae5fad8c24d2840bcf73967a815d09dc69571cc9;p=motion.git diff --git a/server/models/sms_room.js b/server/models/sms_room.js index 09e3989..8936794 100644 --- a/server/models/sms_room.js +++ b/server/models/sms_room.js @@ -1,16 +1,38 @@ -'use strict'; +const moment = require('moment'); module.exports = function(sequelize, DataTypes) { var SmsRoom = sequelize.define('SmsRoom', { - from: { + contact: { type: DataTypes.STRING, validate: { is: /^[\+]?[0-9]+$/ } }, + smsIn: { + type: DataTypes.INTEGER, + defaultValue: 0 + }, + smsOut: { + type: DataTypes.INTEGER, + defaultValue: 0 + }, status: { - type: DataTypes.ENUM('NEW', 'OPEN', 'CLOSED', 'UNMANAGED'), - defaultValue: 'NEW' + type: DataTypes.ENUM('NEW', 'OPEN', 'PENDING', 'CLOSED'), + defaultValue: 'NEW', + set: function(status) { + this.setDataValue('status', status); + + switch (status) { + case 'NEW': + this.setDataValue('arrivedAt', moment().format('YYYY-MM-DD HH:mm:ss')); + break; + case 'CLOSED': + this.setDataValue('closedAt', moment().format('YYYY-MM-DD HH:mm:ss')); + break; + default: + + } + } }, lastEvent: { type: DataTypes.ENUM('SENDING', 'SENT', 'RECEIVED', 'FAILED', 'NOTE')