Built motion from commit f7863d46.|2.5.41
[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 _0x7989=['rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','util','sox','to-csv','ejs','fs-extra','lodash','desk.js','querystring','papaparse','ioredis','../../components/parsers/qs','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','status','end','json','offset','undefined','limit','count','set','Content-Range','apply','reject','save','update','then','destroy','CannedAnswers','UserProfileResource','sendStatus','error','stack','name','CannedAnswer','rawAttributes','fieldName','key','model','map','query','keys','filters','intersection','attributes','fields','length','hasOwnProperty','nolimit','order','sort','where','pick','filter','merge','includeAll','include','findAll','rows','catch','options','find','body','params','create','MailAccountId','SmsAccountId','OpenchannelAccountId','ChatWebsiteId','Sequelize','ValidationError','The\x20inserted\x20key\x20already\x20exists.','user','get','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','UserProfileSection','autoAssociation','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','eml-format'];(function(_0x42cae2,_0x284ef8){var _0x5f256f=function(_0x41abc8){while(--_0x41abc8){_0x42cae2['push'](_0x42cae2['shift']());}};_0x5f256f(++_0x284ef8);}(_0x7989,0x16f));var _0x9798=function(_0x302d1a,_0x387081){_0x302d1a=_0x302d1a-0x0;var _0xd82ca=_0x7989[_0x302d1a];return _0xd82ca;};'use strict';var emlformat=require(_0x9798('0x0'));var rimraf=require(_0x9798('0x1'));var zipdir=require(_0x9798('0x2'));var jsonpatch=require(_0x9798('0x3'));var rp=require(_0x9798('0x4'));var moment=require(_0x9798('0x5'));var BPromise=require(_0x9798('0x6'));var Mustache=require(_0x9798('0x7'));var util=require(_0x9798('0x8'));var path=require('path');var sox=require(_0x9798('0x9'));var csv=require(_0x9798('0xa'));var ejs=require(_0x9798('0xb'));var fs=require('fs');var fs_extra=require(_0x9798('0xc'));var _=require(_0x9798('0xd'));var squel=require('squel');var crypto=require('crypto');var jsforce=require('jsforce');var deskjs=require(_0x9798('0xe'));var toCsv=require(_0x9798('0xa'));var querystring=require(_0x9798('0xf'));var Papa=require(_0x9798('0x10'));var Redis=require(_0x9798('0x11'));var authService=require('../../components/auth/service');var qs=require(_0x9798('0x12'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0x9798('0x13'));var logger=require(_0x9798('0x14'))(_0x9798('0x15'));var utils=require(_0x9798('0x16'));var config=require(_0x9798('0x17'));var licenseUtil=require(_0x9798('0x18'));var db=require(_0x9798('0x19'))['db'];function respondWithStatusCode(_0x8d7904,_0x5026dc){_0x5026dc=_0x5026dc||0xcc;return function(_0x138a61){if(_0x138a61){return _0x8d7904['sendStatus'](_0x5026dc);}return _0x8d7904[_0x9798('0x1a')](_0x5026dc)[_0x9798('0x1b')]();};}function respondWithResult(_0x46136c,_0x4dacc4){_0x4dacc4=_0x4dacc4||0xc8;return function(_0x4505c4){if(_0x4505c4){return _0x46136c[_0x9798('0x1a')](_0x4dacc4)[_0x9798('0x1c')](_0x4505c4);}};}function respondWithFilteredResult(_0x1a4f07,_0x2d126e){return function(_0x74da41){if(_0x74da41){var _0x2b8396=typeof _0x2d126e[_0x9798('0x1d')]===_0x9798('0x1e')&&typeof _0x2d126e[_0x9798('0x1f')]==='undefined';var _0xa9a930=_0x74da41[_0x9798('0x20')];var _0x391a0f=_0x2b8396?0x0:_0x2d126e[_0x9798('0x1d')];var _0xe89d7f=_0x2b8396?_0x74da41['count']:_0x2d126e[_0x9798('0x1d')]+_0x2d126e[_0x9798('0x1f')];var _0x98a16d;if(_0xe89d7f>=_0xa9a930){_0xe89d7f=_0xa9a930;_0x98a16d=0xc8;}else{_0x98a16d=0xce;}_0x1a4f07[_0x9798('0x1a')](_0x98a16d);return _0x1a4f07[_0x9798('0x21')](_0x9798('0x22'),_0x391a0f+'-'+_0xe89d7f+'/'+_0xa9a930)[_0x9798('0x1c')](_0x74da41);}return null;};}function patchUpdates(_0x20ee7a){return function(_0x393b25){try{jsonpatch[_0x9798('0x23')](_0x393b25,_0x20ee7a,!![]);}catch(_0x12783c){return BPromise[_0x9798('0x24')](_0x12783c);}return _0x393b25[_0x9798('0x25')]();};}function saveUpdates(_0x573683,_0x465a1a){return function(_0x4ef59f){if(_0x4ef59f){return _0x4ef59f[_0x9798('0x26')](_0x573683)[_0x9798('0x27')](function(_0x2cdb89){return _0x2cdb89;});}return null;};}function removeEntity(_0x3a026d,_0x2cce5f){return function(_0x5db40e){if(_0x5db40e){return _0x5db40e[_0x9798('0x28')]()[_0x9798('0x27')](function(){var _0x2990fe=_0x5db40e['get']({'plain':!![]});var _0x287ef4=_0x9798('0x29');return db[_0x9798('0x2a')][_0x9798('0x28')]({'where':{'type':_0x287ef4,'resourceId':_0x2990fe['id']}})['then'](function(){return _0x5db40e;});})['then'](function(){_0x3a026d[_0x9798('0x1a')](0xcc)[_0x9798('0x1b')]();});}};}function handleEntityNotFound(_0x3bbcbe,_0xdca151){return function(_0x56308e){if(!_0x56308e){_0x3bbcbe[_0x9798('0x2b')](0x194);}return _0x56308e;};}function handleError(_0x33b1f5,_0x11df93){_0x11df93=_0x11df93||0x1f4;return function(_0x2bd1d5){logger[_0x9798('0x2c')](_0x2bd1d5[_0x9798('0x2d')]);if(_0x2bd1d5[_0x9798('0x2e')]){delete _0x2bd1d5[_0x9798('0x2e')];}_0x33b1f5[_0x9798('0x1a')](_0x11df93)['send'](_0x2bd1d5);};}exports['index']=function(_0x3c3cdb,_0xcfe731){var _0x565dc1={},_0x330dbd={},_0x5a3f54={'count':0x0,'rows':[]};var _0x22d85d=_['map'](db[_0x9798('0x2f')][_0x9798('0x30')],function(_0x1b5d2e){return{'name':_0x1b5d2e[_0x9798('0x31')],'type':_0x1b5d2e['type'][_0x9798('0x32')]};});_0x330dbd[_0x9798('0x33')]=_[_0x9798('0x34')](_0x22d85d,_0x9798('0x2e'));_0x330dbd[_0x9798('0x35')]=_[_0x9798('0x36')](_0x3c3cdb[_0x9798('0x35')]);_0x330dbd[_0x9798('0x37')]=_[_0x9798('0x38')](_0x330dbd['model'],_0x330dbd[_0x9798('0x35')]);_0x565dc1[_0x9798('0x39')]=_[_0x9798('0x38')](_0x330dbd[_0x9798('0x33')],qs[_0x9798('0x3a')](_0x3c3cdb[_0x9798('0x35')][_0x9798('0x3a')]));_0x565dc1[_0x9798('0x39')]=_0x565dc1[_0x9798('0x39')][_0x9798('0x3b')]?_0x565dc1[_0x9798('0x39')]:_0x330dbd['model'];if(!_0x3c3cdb[_0x9798('0x35')][_0x9798('0x3c')](_0x9798('0x3d'))){_0x565dc1[_0x9798('0x1f')]=qs[_0x9798('0x1f')](_0x3c3cdb[_0x9798('0x35')][_0x9798('0x1f')]);_0x565dc1['offset']=qs['offset'](_0x3c3cdb[_0x9798('0x35')][_0x9798('0x1d')]);}_0x565dc1[_0x9798('0x3e')]=qs[_0x9798('0x3f')](_0x3c3cdb[_0x9798('0x35')][_0x9798('0x3f')]);_0x565dc1[_0x9798('0x40')]=qs[_0x9798('0x37')](_[_0x9798('0x41')](_0x3c3cdb[_0x9798('0x35')],_0x330dbd[_0x9798('0x37')]),_0x22d85d);if(_0x3c3cdb[_0x9798('0x35')][_0x9798('0x42')]){_0x565dc1[_0x9798('0x40')]=_[_0x9798('0x43')](_0x565dc1[_0x9798('0x40')],{'$or':[{'key':{'$like':'%'+_0x3c3cdb[_0x9798('0x35')][_0x9798('0x42')]+'%'}},{'value':{'$like':'%'+_0x3c3cdb[_0x9798('0x35')]['filter']+'%'}}]});}_0x565dc1=_['merge']({},_0x565dc1,_0x3c3cdb['options']);var _0x1f616e={'where':_0x565dc1['where']};return db[_0x9798('0x2f')][_0x9798('0x20')](_0x1f616e)[_0x9798('0x27')](function(_0x1a35d8){_0x5a3f54[_0x9798('0x20')]=_0x1a35d8;if(_0x3c3cdb[_0x9798('0x35')][_0x9798('0x44')]){_0x565dc1[_0x9798('0x45')]=[{'all':!![]}];}return db[_0x9798('0x2f')][_0x9798('0x46')](_0x565dc1);})['then'](function(_0x348ebc){_0x5a3f54[_0x9798('0x47')]=_0x348ebc;return _0x5a3f54;})[_0x9798('0x27')](respondWithFilteredResult(_0xcfe731,_0x565dc1))[_0x9798('0x48')](handleError(_0xcfe731,null));};exports['show']=function(_0x52291d,_0x50bfa4){var _0x1c1890={'raw':!![],'where':{'id':_0x52291d['params']['id']}},_0x1d82e3={};_0x1d82e3[_0x9798('0x33')]=_[_0x9798('0x36')](db[_0x9798('0x2f')][_0x9798('0x30')]);_0x1d82e3[_0x9798('0x35')]=_[_0x9798('0x36')](_0x52291d[_0x9798('0x35')]);_0x1d82e3[_0x9798('0x37')]=_['intersection'](_0x1d82e3['model'],_0x1d82e3[_0x9798('0x35')]);_0x1c1890[_0x9798('0x39')]=_[_0x9798('0x38')](_0x1d82e3['model'],qs[_0x9798('0x3a')](_0x52291d[_0x9798('0x35')]['fields']));_0x1c1890[_0x9798('0x39')]=_0x1c1890[_0x9798('0x39')]['length']?_0x1c1890[_0x9798('0x39')]:_0x1d82e3['model'];if(_0x52291d['query'][_0x9798('0x44')]){_0x1c1890[_0x9798('0x45')]=[{'all':!![]}];}_0x1c1890=_[_0x9798('0x43')]({},_0x1c1890,_0x52291d[_0x9798('0x49')]);return db['CannedAnswer'][_0x9798('0x4a')](_0x1c1890)['then'](handleEntityNotFound(_0x50bfa4,null))['then'](respondWithResult(_0x50bfa4,null))[_0x9798('0x48')](handleError(_0x50bfa4,null));};exports[_0x9798('0x26')]=function(_0x455f61,_0x2c809b){if(_0x455f61[_0x9798('0x4b')]['id']){delete _0x455f61['body']['id'];}return db[_0x9798('0x2f')][_0x9798('0x4a')]({'where':{'id':_0x455f61[_0x9798('0x4c')]['id']}})[_0x9798('0x27')](handleEntityNotFound(_0x2c809b,null))[_0x9798('0x27')](saveUpdates(_0x455f61[_0x9798('0x4b')],null))['then'](respondWithResult(_0x2c809b,null))['catch'](handleError(_0x2c809b,null));};exports[_0x9798('0x28')]=function(_0x40f92b,_0x25cf03){return db[_0x9798('0x2f')][_0x9798('0x4a')]({'where':{'id':_0x40f92b[_0x9798('0x4c')]['id']}})[_0x9798('0x27')](handleEntityNotFound(_0x25cf03,null))[_0x9798('0x27')](removeEntity(_0x25cf03,null))[_0x9798('0x48')](handleError(_0x25cf03,null));};exports[_0x9798('0x4d')]=function(_0x7f2a5a,_0x37a3ff){var _0x3febbf={'key':_0x7f2a5a[_0x9798('0x4b')][_0x9798('0x32')]};if(_0x7f2a5a[_0x9798('0x4b')][_0x9798('0x4e')]){_0x3febbf[_0x9798('0x4e')]=_0x7f2a5a[_0x9798('0x4b')][_0x9798('0x4e')];}else if(_0x7f2a5a[_0x9798('0x4b')][_0x9798('0x4f')]){_0x3febbf['SmsAccountId']=_0x7f2a5a[_0x9798('0x4b')][_0x9798('0x4f')];}else if(_0x7f2a5a[_0x9798('0x4b')][_0x9798('0x50')]){_0x3febbf['OpenchannelAccountId']=_0x7f2a5a[_0x9798('0x4b')][_0x9798('0x50')];}else if(_0x7f2a5a[_0x9798('0x4b')][_0x9798('0x51')]){_0x3febbf[_0x9798('0x51')]=_0x7f2a5a['body'][_0x9798('0x51')];}return db[_0x9798('0x2f')][_0x9798('0x4a')]({'where':_0x3febbf})[_0x9798('0x27')](function(_0x4ddbef){if(_0x4ddbef){throw new db[(_0x9798('0x52'))][(_0x9798('0x53'))](_0x9798('0x54'));}return db[_0x9798('0x2f')][_0x9798('0x4d')](_0x7f2a5a[_0x9798('0x4b')]);})[_0x9798('0x27')](function(_0x353e7f){var _0x22c648=_0x7f2a5a[_0x9798('0x55')][_0x9798('0x56')]({'plain':!![]});if(!_0x22c648)throw new Error(_0x9798('0x57'));if(_0x22c648[_0x9798('0x58')]==='user'){var _0x420956=_0x353e7f['get']({'plain':!![]});return db[_0x9798('0x59')]['find']({'where':{'name':_0x9798('0x29'),'userProfileId':_0x22c648['userProfileId']},'raw':!![]})[_0x9798('0x27')](function(_0x8955e9){if(_0x8955e9&&_0x8955e9[_0x9798('0x5a')]===0x0){return db[_0x9798('0x2a')][_0x9798('0x4d')]({'name':_0x420956['name'],'resourceId':_0x420956['id'],'type':_0x8955e9[_0x9798('0x2e')],'sectionId':_0x8955e9['id']},{})[_0x9798('0x27')](function(){return _0x353e7f;});}else{return _0x353e7f;}})['catch'](function(_0x14536d){logger[_0x9798('0x2c')](_0x9798('0x5b'),_0x14536d);throw _0x14536d;});}return _0x353e7f;})[_0x9798('0x27')](respondWithResult(_0x37a3ff,0xc9))[_0x9798('0x48')](handleError(_0x37a3ff,null));};