X-Git-Url: http://repos.xcallymotion.com/?a=blobdiff_plain;f=server%2Fmodels%2Ffax_room.js;h=0e488e74d58bda76b467c849d22a66435e6ca136;hb=8cbdcd4e45ab5844053386a9705321556462c3b6;hp=251443814ff3900b632573bb4da73cd73e17a941;hpb=66c1f0a6f171da68b8a044ba3c4efbd6afd883b6;p=motion.git diff --git a/server/models/fax_room.js b/server/models/fax_room.js index 2514438..0e488e7 100644 --- a/server/models/fax_room.js +++ b/server/models/fax_room.js @@ -2,20 +2,46 @@ * Fax Room Model */ -var crypto = require('crypto'); +const crypto = require('crypto'); +const moment = require('moment'); module.exports = function(sequelize, DataTypes) { var FaxRoom = sequelize.define('FaxRoom', { from: DataTypes.STRING, account: DataTypes.STRING, + faxIn: { + type: DataTypes.INTEGER, + defaultValue: 0 + }, + faxOut: { + 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('SENT', 'SENDING', 'RECEIVED', 'FAILED', 'NOTE') }, + lastEventAt: { + type: DataTypes.DATE + }, tags: { type: DataTypes.TEXT, get: function() { @@ -38,6 +64,12 @@ module.exports = function(sequelize, DataTypes) { }, disposition: { type: DataTypes.STRING + }, + arrivedAt: { + type: DataTypes.DATE + }, + closedAt: { + type: DataTypes.DATE } }, { tableName: 'fax_rooms', @@ -45,6 +77,9 @@ module.exports = function(sequelize, DataTypes) { associate: function(models) { // hasMany relations FaxRoom.hasMany(models.FaxMessage); + FaxRoom.hasMany(models.FaxRoomStatus, { + plural: 'MailRoomStatuses' + }); FaxRoom.belongsTo(models.FaxAccount); FaxRoom.belongsToMany(models.User, { through: 'user_has_fax_rooms'