Built motion from commit (unavailable).|2.3.4
[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 _0x0927=['field','options','include','rows','params','rawAttributes','includeAll','find','catch','update','body','create','MailAccountId','SmsAccountId','OpenchannelAccountId','ChatWebsiteId','ValidationError','The\x20inserted\x20key\x20already\x20exists.','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','UserProfileSection','userProfileId','autoAssociation','html-pdf','eml-format','zip-dir','request-promise','moment','bluebird','mustache','util','path','sox','to-csv','lodash','crypto','jsforce','desk.js','querystring','../../components/auth/service','../../config/license/hardware','ioredis','../../components/parsers/qs','../../config/logger','api','../../config/utils','../../config/environment','../../mysqldb','sendStatus','status','json','count','offset','set','Content-Range','reject','save','destroy','then','get','CannedAnswers','UserProfileResource','end','error','name','send','index','CannedAnswer','model','keys','query','filters','intersection','fields','attributes','length','nolimit','limit','order','sort','where','pick','filter','merge','type','key','VIRTUAL'];(function(_0x12a51d,_0x4a47cb){var _0x217182=function(_0xf1a7c8){while(--_0xf1a7c8){_0x12a51d['push'](_0x12a51d['shift']());}};_0x217182(++_0x4a47cb);}(_0x0927,0xc8));var _0x7092=function(_0x3dd15e,_0x1f0015){_0x3dd15e=_0x3dd15e-0x0;var _0x231fd0=_0x0927[_0x3dd15e];return _0x231fd0;};'use strict';var pdf=require(_0x7092('0x0'));var emlformat=require(_0x7092('0x1'));var rimraf=require('rimraf');var zipdir=require(_0x7092('0x2'));var jsonpatch=require('fast-json-patch');var rp=require(_0x7092('0x3'));var moment=require(_0x7092('0x4'));var BPromise=require(_0x7092('0x5'));var Mustache=require(_0x7092('0x6'));var util=require(_0x7092('0x7'));var path=require(_0x7092('0x8'));var sox=require(_0x7092('0x9'));var csv=require(_0x7092('0xa'));var ejs=require('ejs');var fs=require('fs');var _=require(_0x7092('0xb'));var squel=require('squel');var crypto=require(_0x7092('0xc'));var jsforce=require(_0x7092('0xd'));var deskjs=require(_0x7092('0xe'));var toCsv=require(_0x7092('0xa'));var querystring=require(_0x7092('0xf'));var Papa=require('papaparse');var authService=require(_0x7092('0x10'));var hardwareService=require(_0x7092('0x11'));var Redis=require(_0x7092('0x12'));var qs=require(_0x7092('0x13'));var logger=require(_0x7092('0x14'))(_0x7092('0x15'));var utils=require(_0x7092('0x16'));var config=require(_0x7092('0x17'));var db=require(_0x7092('0x18'))['db'];function respondWithStatusCode(_0x3e57ad,_0x4538b5){_0x4538b5=_0x4538b5||0xcc;return function(_0x312471){if(_0x312471){return _0x3e57ad[_0x7092('0x19')](_0x4538b5);}return _0x3e57ad['status'](_0x4538b5)['end']();};}function respondWithResult(_0x3e0a70,_0x2107f0){_0x2107f0=_0x2107f0||0xc8;return function(_0x1d83a6){if(_0x1d83a6){return _0x3e0a70[_0x7092('0x1a')](_0x2107f0)[_0x7092('0x1b')](_0x1d83a6);}};}function respondWithFilteredResult(_0x3d8442,_0x2cfd10){return function(_0x401427){if(_0x401427){var _0x4152cd=_0x401427[_0x7092('0x1c')],_0xfaa850=_0x2cfd10[_0x7092('0x1d')],_0x18c961=_0x2cfd10[_0x7092('0x1d')]+_0x2cfd10['limit'],_0x2fa8ef;if(_0x18c961>=_0x4152cd){_0x18c961=_0x4152cd;_0x2fa8ef=0xc8;}else{_0x2fa8ef=0xce;}_0x3d8442[_0x7092('0x1a')](_0x2fa8ef);return _0x3d8442[_0x7092('0x1e')](_0x7092('0x1f'),_0xfaa850+'-'+_0x18c961+'/'+_0x4152cd)[_0x7092('0x1b')](_0x401427);}return null;};}function patchUpdates(_0x40be66){return function(_0x555468){try{jsonpatch['apply'](_0x555468,_0x40be66,!![]);}catch(_0x1e2b1d){return BPromise[_0x7092('0x20')](_0x1e2b1d);}return _0x555468[_0x7092('0x21')]();};}function saveUpdates(_0x4ead69,_0x333f68){return function(_0x4b2d40){if(_0x4b2d40){return _0x4b2d40['update'](_0x4ead69)['then'](function(_0x34dc4b){return _0x34dc4b;});}return null;};}function removeEntity(_0x4a405d,_0x393bba){return function(_0x5bab93){if(_0x5bab93){return _0x5bab93[_0x7092('0x22')]()[_0x7092('0x23')](function(){var _0x4a3e76=_0x5bab93[_0x7092('0x24')]({'plain':!![]});var _0x4df271=_0x7092('0x25');return db[_0x7092('0x26')][_0x7092('0x22')]({'where':{'type':_0x4df271,'resourceId':_0x4a3e76['id']}})[_0x7092('0x23')](function(){return _0x5bab93;});})[_0x7092('0x23')](function(){_0x4a405d[_0x7092('0x1a')](0xcc)[_0x7092('0x27')]();});}};}function handleEntityNotFound(_0x35b8f5,_0x5a6376){return function(_0x1e9be3){if(!_0x1e9be3){_0x35b8f5[_0x7092('0x19')](0x194);}return _0x1e9be3;};}function handleError(_0x1528a2,_0x5f21d2){_0x5f21d2=_0x5f21d2||0x1f4;return function(_0x531bd1){logger[_0x7092('0x28')](_0x531bd1['stack']);if(_0x531bd1[_0x7092('0x29')]){delete _0x531bd1[_0x7092('0x29')];}_0x1528a2[_0x7092('0x1a')](_0x5f21d2)[_0x7092('0x2a')](_0x531bd1);};}exports[_0x7092('0x2b')]=function(_0x240c4,_0x49f9ce){var _0x58db81={},_0x2404b3={},_0x2ec25c={'count':0x0,'rows':[]};var _0x475c6d=db[_0x7092('0x2c')]['rawAttributes'];_0x2404b3[_0x7092('0x2d')]=_[_0x7092('0x2e')](_0x475c6d);_0x2404b3[_0x7092('0x2f')]=_[_0x7092('0x2e')](_0x240c4[_0x7092('0x2f')]);_0x2404b3[_0x7092('0x30')]=_[_0x7092('0x31')](_0x2404b3[_0x7092('0x2d')],_0x2404b3[_0x7092('0x2f')]);_0x58db81['attributes']=_[_0x7092('0x31')](_0x2404b3[_0x7092('0x2d')],qs['fields'](_0x240c4['query'][_0x7092('0x32')]));_0x58db81[_0x7092('0x33')]=_0x58db81[_0x7092('0x33')][_0x7092('0x34')]?_0x58db81['attributes']:_0x2404b3['model'];if(!_0x240c4[_0x7092('0x2f')]['hasOwnProperty'](_0x7092('0x35'))){_0x58db81[_0x7092('0x36')]=qs[_0x7092('0x36')](_0x240c4[_0x7092('0x2f')][_0x7092('0x36')]);_0x58db81[_0x7092('0x1d')]=qs[_0x7092('0x1d')](_0x240c4['query'][_0x7092('0x1d')]);}_0x58db81[_0x7092('0x37')]=qs[_0x7092('0x38')](_0x240c4[_0x7092('0x2f')][_0x7092('0x38')]);_0x58db81[_0x7092('0x39')]=qs[_0x7092('0x30')](_[_0x7092('0x3a')](_0x240c4[_0x7092('0x2f')],_0x2404b3[_0x7092('0x30')]));if(_0x240c4[_0x7092('0x2f')][_0x7092('0x3b')]){_0x58db81[_0x7092('0x39')]=_[_0x7092('0x3c')](_0x58db81['where'],{'$or':_['map'](_0x475c6d,function(_0x375f14){if(_0x375f14[_0x7092('0x3d')][_0x7092('0x3e')]!==_0x7092('0x3f')){var _0x5b158b={};_0x5b158b[_0x375f14[_0x7092('0x40')]]={'$like':'%'+_0x240c4[_0x7092('0x2f')]['filter']+'%'};return _0x5b158b;}})});}_0x58db81=_['merge']({},_0x58db81,_0x240c4[_0x7092('0x41')]);var _0x43b509={'where':_0x58db81[_0x7092('0x39')]};return db[_0x7092('0x2c')][_0x7092('0x1c')](_0x43b509)['then'](function(_0x495bc6){_0x2ec25c['count']=_0x495bc6;if(_0x240c4['query']['includeAll']){_0x58db81[_0x7092('0x42')]=[{'all':!![]}];}return db[_0x7092('0x2c')]['findAll'](_0x58db81);})[_0x7092('0x23')](function(_0x52f3d9){_0x2ec25c[_0x7092('0x43')]=_0x52f3d9;return _0x2ec25c;})[_0x7092('0x23')](respondWithFilteredResult(_0x49f9ce,_0x58db81))['catch'](handleError(_0x49f9ce,null));};exports['show']=function(_0x465b96,_0x11b307){var _0x5e8c17={'raw':!![],'where':{'id':_0x465b96[_0x7092('0x44')]['id']}},_0xbb60d5={};_0xbb60d5[_0x7092('0x2d')]=_[_0x7092('0x2e')](db[_0x7092('0x2c')][_0x7092('0x45')]);_0xbb60d5[_0x7092('0x2f')]=_[_0x7092('0x2e')](_0x465b96[_0x7092('0x2f')]);_0xbb60d5[_0x7092('0x30')]=_[_0x7092('0x31')](_0xbb60d5[_0x7092('0x2d')],_0xbb60d5[_0x7092('0x2f')]);_0x5e8c17[_0x7092('0x33')]=_[_0x7092('0x31')](_0xbb60d5[_0x7092('0x2d')],qs[_0x7092('0x32')](_0x465b96[_0x7092('0x2f')][_0x7092('0x32')]));_0x5e8c17[_0x7092('0x33')]=_0x5e8c17['attributes'][_0x7092('0x34')]?_0x5e8c17[_0x7092('0x33')]:_0xbb60d5['model'];if(_0x465b96[_0x7092('0x2f')][_0x7092('0x46')]){_0x5e8c17[_0x7092('0x42')]=[{'all':!![]}];}_0x5e8c17=_[_0x7092('0x3c')]({},_0x5e8c17,_0x465b96['options']);return db['CannedAnswer'][_0x7092('0x47')](_0x5e8c17)[_0x7092('0x23')](handleEntityNotFound(_0x11b307,null))[_0x7092('0x23')](respondWithResult(_0x11b307,null))[_0x7092('0x48')](handleError(_0x11b307,null));};exports[_0x7092('0x49')]=function(_0x12e6e1,_0x4acf00){if(_0x12e6e1['body']['id']){delete _0x12e6e1[_0x7092('0x4a')]['id'];}return db[_0x7092('0x2c')][_0x7092('0x47')]({'where':{'id':_0x12e6e1['params']['id']}})['then'](handleEntityNotFound(_0x4acf00,null))[_0x7092('0x23')](saveUpdates(_0x12e6e1['body'],null))['then'](respondWithResult(_0x4acf00,null))[_0x7092('0x48')](handleError(_0x4acf00,null));};exports['destroy']=function(_0x59c4d8,_0x54b535){return db['CannedAnswer']['find']({'where':{'id':_0x59c4d8['params']['id']}})[_0x7092('0x23')](handleEntityNotFound(_0x54b535,null))['then'](removeEntity(_0x54b535,null))[_0x7092('0x48')](handleError(_0x54b535,null));};exports[_0x7092('0x4b')]=function(_0x45d167,_0x1b7d88){var _0xb51e4={'key':_0x45d167['body']['key']};if(_0x45d167['body'][_0x7092('0x4c')]){_0xb51e4[_0x7092('0x4c')]=_0x45d167['body'][_0x7092('0x4c')];}else if(_0x45d167[_0x7092('0x4a')][_0x7092('0x4d')]){_0xb51e4[_0x7092('0x4d')]=_0x45d167['body'][_0x7092('0x4d')];}else if(_0x45d167['body'][_0x7092('0x4e')]){_0xb51e4['OpenchannelAccountId']=_0x45d167[_0x7092('0x4a')][_0x7092('0x4e')];}else if(_0x45d167['body'][_0x7092('0x4f')]){_0xb51e4[_0x7092('0x4f')]=_0x45d167['body']['ChatWebsiteId'];}return db[_0x7092('0x2c')][_0x7092('0x47')]({'where':_0xb51e4})[_0x7092('0x23')](function(_0x259997){if(_0x259997){throw new db['Sequelize'][(_0x7092('0x50'))](_0x7092('0x51'));}return db[_0x7092('0x2c')]['create'](_0x45d167[_0x7092('0x4a')]);})[_0x7092('0x23')](function(_0x3bbcb8){var _0x13a5ce=_0x45d167[_0x7092('0x52')][_0x7092('0x24')]({'plain':!![]});if(!_0x13a5ce)throw new Error(_0x7092('0x53'));if(_0x13a5ce[_0x7092('0x54')]==='user'){var _0x54216a=_0x3bbcb8['get']({'plain':!![]});return db[_0x7092('0x55')]['find']({'where':{'name':_0x7092('0x25'),'userProfileId':_0x13a5ce[_0x7092('0x56')]},'raw':!![]})[_0x7092('0x23')](function(_0x562348){if(_0x562348&&_0x562348[_0x7092('0x57')]===0x0){return db[_0x7092('0x26')][_0x7092('0x4b')]({'name':_0x54216a[_0x7092('0x29')],'resourceId':_0x54216a['id'],'type':_0x562348[_0x7092('0x29')],'sectionId':_0x562348['id']},{})[_0x7092('0x23')](function(){return _0x3bbcb8;});}else{return _0x3bbcb8;}})[_0x7092('0x48')](function(_0x45dfac){logger[_0x7092('0x28')]('Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s',_0x45dfac);throw _0x45dfac;});}return _0x3bbcb8;})[_0x7092('0x23')](respondWithResult(_0x1b7d88,0xc9))['catch'](handleError(_0x1b7d88,null));};