Built motion from commit (unavailable).|2.5.30
[motion2.git] / server / api / cannedAnswer / cannedAnswer.controller.js
1 // *************************************************************************
2 // *                                                                       *
3 // * xCALLY Motion -  The Omnichannel Contact Center                       *
4 // * Copyright (c) Xenialab s.r.l. All Rights Reserved                     *
5 // *                                                                       *
6 // *************************************************************************
7 // *                                                                       *
8 // * Email: info@xcally.com                                                *
9 // * Website: https://www.xcally.com                                       *
10 // *                                                                       *
11 // *************************************************************************
12 // *                                                                       *
13 // * The SOFTWARE PRODUCT is protected by copyright laws and international *
14 // * copyright treaties, as well as other intellectual property laws and   *
15 // * treaties. The SOFTWARE PRODUCT is licensed, not sold.                         *
16 // *                                                                       *
17 // *************************************************************************
18 var _0xd168=['fast-json-patch','moment','bluebird','mustache','util','path','to-csv','ejs','fs-extra','lodash','jsforce','desk.js','ioredis','../../components/auth/service','../../components/parsers/qs','../../config/license/hardware','../../config/logger','api','../../config/environment','../../config/license/util','../../mysqldb','status','end','json','offset','undefined','limit','count','set','Content-Range','reject','save','update','then','destroy','get','CannedAnswers','sendStatus','stack','name','index','map','rawAttributes','fieldName','type','key','query','filters','intersection','model','attributes','fields','length','hasOwnProperty','nolimit','order','sort','filter','where','merge','options','CannedAnswer','includeAll','include','findAll','rows','catch','show','params','keys','body','create','MailAccountId','OpenchannelAccountId','ChatWebsiteId','find','Sequelize','The\x20inserted\x20key\x20already\x20exists.','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','user','UserProfileSection','userProfileId','UserProfileResource','error','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','rimraf'];(function(_0x2e374f,_0x3bd0e2){var _0x4d315d=function(_0x4a2e07){while(--_0x4a2e07){_0x2e374f['push'](_0x2e374f['shift']());}};_0x4d315d(++_0x3bd0e2);}(_0xd168,0xad));var _0x8d16=function(_0xd09668,_0x1435b2){_0xd09668=_0xd09668-0x0;var _0x68726=_0xd168[_0xd09668];return _0x68726;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0x8d16('0x0'));var zipdir=require('zip-dir');var jsonpatch=require(_0x8d16('0x1'));var rp=require('request-promise');var moment=require(_0x8d16('0x2'));var BPromise=require(_0x8d16('0x3'));var Mustache=require(_0x8d16('0x4'));var util=require(_0x8d16('0x5'));var path=require(_0x8d16('0x6'));var sox=require('sox');var csv=require(_0x8d16('0x7'));var ejs=require(_0x8d16('0x8'));var fs=require('fs');var fs_extra=require(_0x8d16('0x9'));var _=require(_0x8d16('0xa'));var squel=require('squel');var crypto=require('crypto');var jsforce=require(_0x8d16('0xb'));var deskjs=require(_0x8d16('0xc'));var toCsv=require(_0x8d16('0x7'));var querystring=require('querystring');var Papa=require('papaparse');var Redis=require(_0x8d16('0xd'));var authService=require(_0x8d16('0xe'));var qs=require(_0x8d16('0xf'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0x8d16('0x10'));var logger=require(_0x8d16('0x11'))(_0x8d16('0x12'));var utils=require('../../config/utils');var config=require(_0x8d16('0x13'));var licenseUtil=require(_0x8d16('0x14'));var db=require(_0x8d16('0x15'))['db'];function respondWithStatusCode(_0x3e29e3,_0xffd398){_0xffd398=_0xffd398||0xcc;return function(_0xc4783e){if(_0xc4783e){return _0x3e29e3['sendStatus'](_0xffd398);}return _0x3e29e3[_0x8d16('0x16')](_0xffd398)[_0x8d16('0x17')]();};}function respondWithResult(_0x3fa743,_0x1f3d78){_0x1f3d78=_0x1f3d78||0xc8;return function(_0x6a7e62){if(_0x6a7e62){return _0x3fa743[_0x8d16('0x16')](_0x1f3d78)[_0x8d16('0x18')](_0x6a7e62);}};}function respondWithFilteredResult(_0x398ea7,_0x48a03f){return function(_0x4e2bbc){if(_0x4e2bbc){var _0x3d013e=typeof _0x48a03f[_0x8d16('0x19')]===_0x8d16('0x1a')&&typeof _0x48a03f[_0x8d16('0x1b')]===_0x8d16('0x1a');var _0x53e1ff=_0x4e2bbc[_0x8d16('0x1c')];var _0x3d1ef4=_0x3d013e?0x0:_0x48a03f[_0x8d16('0x19')];var _0x371fd4=_0x3d013e?_0x4e2bbc[_0x8d16('0x1c')]:_0x48a03f[_0x8d16('0x19')]+_0x48a03f[_0x8d16('0x1b')];var _0x5a87b0;if(_0x371fd4>=_0x53e1ff){_0x371fd4=_0x53e1ff;_0x5a87b0=0xc8;}else{_0x5a87b0=0xce;}_0x398ea7[_0x8d16('0x16')](_0x5a87b0);return _0x398ea7[_0x8d16('0x1d')](_0x8d16('0x1e'),_0x3d1ef4+'-'+_0x371fd4+'/'+_0x53e1ff)['json'](_0x4e2bbc);}return null;};}function patchUpdates(_0x5312a8){return function(_0x83cb9){try{jsonpatch['apply'](_0x83cb9,_0x5312a8,!![]);}catch(_0x232f38){return BPromise[_0x8d16('0x1f')](_0x232f38);}return _0x83cb9[_0x8d16('0x20')]();};}function saveUpdates(_0x516c21,_0x4beb23){return function(_0x19b59f){if(_0x19b59f){return _0x19b59f[_0x8d16('0x21')](_0x516c21)[_0x8d16('0x22')](function(_0x3d21d0){return _0x3d21d0;});}return null;};}function removeEntity(_0x140540,_0x31cf8f){return function(_0xd3bb69){if(_0xd3bb69){return _0xd3bb69[_0x8d16('0x23')]()[_0x8d16('0x22')](function(){var _0x3c06ac=_0xd3bb69[_0x8d16('0x24')]({'plain':!![]});var _0x19de4c=_0x8d16('0x25');return db['UserProfileResource']['destroy']({'where':{'type':_0x19de4c,'resourceId':_0x3c06ac['id']}})[_0x8d16('0x22')](function(){return _0xd3bb69;});})['then'](function(){_0x140540[_0x8d16('0x16')](0xcc)[_0x8d16('0x17')]();});}};}function handleEntityNotFound(_0x54ecae,_0x164bb0){return function(_0x4ad2c6){if(!_0x4ad2c6){_0x54ecae[_0x8d16('0x26')](0x194);}return _0x4ad2c6;};}function handleError(_0x59ae30,_0x47edba){_0x47edba=_0x47edba||0x1f4;return function(_0x29c112){logger['error'](_0x29c112[_0x8d16('0x27')]);if(_0x29c112[_0x8d16('0x28')]){delete _0x29c112[_0x8d16('0x28')];}_0x59ae30[_0x8d16('0x16')](_0x47edba)['send'](_0x29c112);};}exports[_0x8d16('0x29')]=function(_0xce33b6,_0x328b9f){var _0x298e46={},_0x14495d={},_0x57d637={'count':0x0,'rows':[]};var _0x20ea5b=_[_0x8d16('0x2a')](db['CannedAnswer'][_0x8d16('0x2b')],function(_0x29a50f){return{'name':_0x29a50f[_0x8d16('0x2c')],'type':_0x29a50f[_0x8d16('0x2d')][_0x8d16('0x2e')]};});_0x14495d['model']=_[_0x8d16('0x2a')](_0x20ea5b,_0x8d16('0x28'));_0x14495d['query']=_['keys'](_0xce33b6[_0x8d16('0x2f')]);_0x14495d[_0x8d16('0x30')]=_[_0x8d16('0x31')](_0x14495d[_0x8d16('0x32')],_0x14495d[_0x8d16('0x2f')]);_0x298e46[_0x8d16('0x33')]=_['intersection'](_0x14495d[_0x8d16('0x32')],qs[_0x8d16('0x34')](_0xce33b6['query'][_0x8d16('0x34')]));_0x298e46['attributes']=_0x298e46[_0x8d16('0x33')][_0x8d16('0x35')]?_0x298e46[_0x8d16('0x33')]:_0x14495d[_0x8d16('0x32')];if(!_0xce33b6[_0x8d16('0x2f')][_0x8d16('0x36')](_0x8d16('0x37'))){_0x298e46[_0x8d16('0x1b')]=qs[_0x8d16('0x1b')](_0xce33b6['query']['limit']);_0x298e46[_0x8d16('0x19')]=qs[_0x8d16('0x19')](_0xce33b6['query'][_0x8d16('0x19')]);}_0x298e46[_0x8d16('0x38')]=qs[_0x8d16('0x39')](_0xce33b6[_0x8d16('0x2f')][_0x8d16('0x39')]);_0x298e46['where']=qs[_0x8d16('0x30')](_['pick'](_0xce33b6[_0x8d16('0x2f')],_0x14495d[_0x8d16('0x30')]),_0x20ea5b);if(_0xce33b6[_0x8d16('0x2f')][_0x8d16('0x3a')]){_0x298e46[_0x8d16('0x3b')]=_[_0x8d16('0x3c')](_0x298e46['where'],{'$or':[{'key':{'$like':'%'+_0xce33b6[_0x8d16('0x2f')][_0x8d16('0x3a')]+'%'}},{'value':{'$like':'%'+_0xce33b6[_0x8d16('0x2f')][_0x8d16('0x3a')]+'%'}}]});}_0x298e46=_[_0x8d16('0x3c')]({},_0x298e46,_0xce33b6[_0x8d16('0x3d')]);var _0x35acf3={'where':_0x298e46[_0x8d16('0x3b')]};return db[_0x8d16('0x3e')]['count'](_0x35acf3)[_0x8d16('0x22')](function(_0x385721){_0x57d637[_0x8d16('0x1c')]=_0x385721;if(_0xce33b6[_0x8d16('0x2f')][_0x8d16('0x3f')]){_0x298e46[_0x8d16('0x40')]=[{'all':!![]}];}return db['CannedAnswer'][_0x8d16('0x41')](_0x298e46);})[_0x8d16('0x22')](function(_0xf6b3bd){_0x57d637[_0x8d16('0x42')]=_0xf6b3bd;return _0x57d637;})[_0x8d16('0x22')](respondWithFilteredResult(_0x328b9f,_0x298e46))[_0x8d16('0x43')](handleError(_0x328b9f,null));};exports[_0x8d16('0x44')]=function(_0x3d3118,_0x455ed5){var _0x5160da={'raw':!![],'where':{'id':_0x3d3118[_0x8d16('0x45')]['id']}},_0x4d6ebf={};_0x4d6ebf[_0x8d16('0x32')]=_['keys'](db['CannedAnswer'][_0x8d16('0x2b')]);_0x4d6ebf[_0x8d16('0x2f')]=_[_0x8d16('0x46')](_0x3d3118[_0x8d16('0x2f')]);_0x4d6ebf[_0x8d16('0x30')]=_[_0x8d16('0x31')](_0x4d6ebf[_0x8d16('0x32')],_0x4d6ebf[_0x8d16('0x2f')]);_0x5160da[_0x8d16('0x33')]=_[_0x8d16('0x31')](_0x4d6ebf[_0x8d16('0x32')],qs[_0x8d16('0x34')](_0x3d3118['query'][_0x8d16('0x34')]));_0x5160da[_0x8d16('0x33')]=_0x5160da[_0x8d16('0x33')][_0x8d16('0x35')]?_0x5160da[_0x8d16('0x33')]:_0x4d6ebf[_0x8d16('0x32')];if(_0x3d3118['query'][_0x8d16('0x3f')]){_0x5160da[_0x8d16('0x40')]=[{'all':!![]}];}_0x5160da=_[_0x8d16('0x3c')]({},_0x5160da,_0x3d3118['options']);return db['CannedAnswer']['find'](_0x5160da)[_0x8d16('0x22')](handleEntityNotFound(_0x455ed5,null))[_0x8d16('0x22')](respondWithResult(_0x455ed5,null))[_0x8d16('0x43')](handleError(_0x455ed5,null));};exports[_0x8d16('0x21')]=function(_0x47b832,_0x391637){if(_0x47b832[_0x8d16('0x47')]['id']){delete _0x47b832[_0x8d16('0x47')]['id'];}return db[_0x8d16('0x3e')]['find']({'where':{'id':_0x47b832[_0x8d16('0x45')]['id']}})['then'](handleEntityNotFound(_0x391637,null))['then'](saveUpdates(_0x47b832[_0x8d16('0x47')],null))[_0x8d16('0x22')](respondWithResult(_0x391637,null))[_0x8d16('0x43')](handleError(_0x391637,null));};exports[_0x8d16('0x23')]=function(_0x13c0d7,_0x48ecc0){return db[_0x8d16('0x3e')]['find']({'where':{'id':_0x13c0d7[_0x8d16('0x45')]['id']}})['then'](handleEntityNotFound(_0x48ecc0,null))['then'](removeEntity(_0x48ecc0,null))['catch'](handleError(_0x48ecc0,null));};exports[_0x8d16('0x48')]=function(_0x1669cc,_0x161378){var _0xd78617={'key':_0x1669cc[_0x8d16('0x47')][_0x8d16('0x2e')]};if(_0x1669cc['body'][_0x8d16('0x49')]){_0xd78617[_0x8d16('0x49')]=_0x1669cc[_0x8d16('0x47')][_0x8d16('0x49')];}else if(_0x1669cc[_0x8d16('0x47')]['SmsAccountId']){_0xd78617['SmsAccountId']=_0x1669cc[_0x8d16('0x47')]['SmsAccountId'];}else if(_0x1669cc[_0x8d16('0x47')][_0x8d16('0x4a')]){_0xd78617[_0x8d16('0x4a')]=_0x1669cc['body'][_0x8d16('0x4a')];}else if(_0x1669cc['body'][_0x8d16('0x4b')]){_0xd78617[_0x8d16('0x4b')]=_0x1669cc['body'][_0x8d16('0x4b')];}return db['CannedAnswer'][_0x8d16('0x4c')]({'where':_0xd78617})[_0x8d16('0x22')](function(_0x6a3e8f){if(_0x6a3e8f){throw new db[(_0x8d16('0x4d'))]['ValidationError'](_0x8d16('0x4e'));}return db[_0x8d16('0x3e')][_0x8d16('0x48')](_0x1669cc[_0x8d16('0x47')]);})['then'](function(_0x2f5d76){var _0x8c1f8a=_0x1669cc['user'][_0x8d16('0x24')]({'plain':!![]});if(!_0x8c1f8a)throw new Error(_0x8d16('0x4f'));if(_0x8c1f8a[_0x8d16('0x50')]===_0x8d16('0x51')){var _0x488634=_0x2f5d76['get']({'plain':!![]});return db[_0x8d16('0x52')][_0x8d16('0x4c')]({'where':{'name':_0x8d16('0x25'),'userProfileId':_0x8c1f8a[_0x8d16('0x53')]},'raw':!![]})[_0x8d16('0x22')](function(_0x4a210e){if(_0x4a210e&&_0x4a210e['autoAssociation']===0x0){return db[_0x8d16('0x54')]['create']({'name':_0x488634[_0x8d16('0x28')],'resourceId':_0x488634['id'],'type':_0x4a210e[_0x8d16('0x28')],'sectionId':_0x4a210e['id']},{})['then'](function(){return _0x2f5d76;});}else{return _0x2f5d76;}})[_0x8d16('0x43')](function(_0x2abf63){logger[_0x8d16('0x55')](_0x8d16('0x56'),_0x2abf63);throw _0x2abf63;});}return _0x2f5d76;})[_0x8d16('0x22')](respondWithResult(_0x161378,0xc9))['catch'](handleError(_0x161378,null));};