Built motion from commit (unavailable).|2.5.28
[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 _0x9cef=['bluebird','mustache','util','path','sox','lodash','squel','crypto','jsforce','to-csv','querystring','papaparse','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','end','json','count','offset','limit','set','apply','reject','save','update','destroy','then','get','CannedAnswers','UserProfileResource','error','name','index','map','CannedAnswer','rawAttributes','fieldName','type','query','keys','filters','intersection','model','attributes','fields','length','nolimit','order','sort','where','filter','merge','options','findAll','rows','show','params','includeAll','find','catch','body','MailAccountId','SmsAccountId','OpenchannelAccountId','ChatWebsiteId','Sequelize','ValidationError','create','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','user','UserProfileSection','autoAssociation','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment'];(function(_0x29376d,_0x11c9e4){var _0x3134dd=function(_0x5ddde8){while(--_0x5ddde8){_0x29376d['push'](_0x29376d['shift']());}};_0x3134dd(++_0x11c9e4);}(_0x9cef,0x102));var _0xf9ce=function(_0x2c69a1,_0x201903){_0x2c69a1=_0x2c69a1-0x0;var _0x24bb91=_0x9cef[_0x2c69a1];return _0x24bb91;};'use strict';var emlformat=require(_0xf9ce('0x0'));var rimraf=require(_0xf9ce('0x1'));var zipdir=require(_0xf9ce('0x2'));var jsonpatch=require(_0xf9ce('0x3'));var rp=require(_0xf9ce('0x4'));var moment=require(_0xf9ce('0x5'));var BPromise=require(_0xf9ce('0x6'));var Mustache=require(_0xf9ce('0x7'));var util=require(_0xf9ce('0x8'));var path=require(_0xf9ce('0x9'));var sox=require(_0xf9ce('0xa'));var csv=require('to-csv');var ejs=require('ejs');var fs=require('fs');var fs_extra=require('fs-extra');var _=require(_0xf9ce('0xb'));var squel=require(_0xf9ce('0xc'));var crypto=require(_0xf9ce('0xd'));var jsforce=require(_0xf9ce('0xe'));var deskjs=require('desk.js');var toCsv=require(_0xf9ce('0xf'));var querystring=require(_0xf9ce('0x10'));var Papa=require(_0xf9ce('0x11'));var Redis=require('ioredis');var authService=require(_0xf9ce('0x12'));var qs=require(_0xf9ce('0x13'));var as=require(_0xf9ce('0x14'));var hardwareService=require(_0xf9ce('0x15'));var logger=require(_0xf9ce('0x16'))(_0xf9ce('0x17'));var utils=require('../../config/utils');var config=require(_0xf9ce('0x18'));var licenseUtil=require(_0xf9ce('0x19'));var db=require(_0xf9ce('0x1a'))['db'];function respondWithStatusCode(_0x5041d6,_0x17ec87){_0x17ec87=_0x17ec87||0xcc;return function(_0x329f30){if(_0x329f30){return _0x5041d6[_0xf9ce('0x1b')](_0x17ec87);}return _0x5041d6[_0xf9ce('0x1c')](_0x17ec87)[_0xf9ce('0x1d')]();};}function respondWithResult(_0x47b974,_0x370f7e){_0x370f7e=_0x370f7e||0xc8;return function(_0x451696){if(_0x451696){return _0x47b974['status'](_0x370f7e)[_0xf9ce('0x1e')](_0x451696);}};}function respondWithFilteredResult(_0x335891,_0x44e2c8){return function(_0x245cb7){if(_0x245cb7){var _0x59dac3=_0x245cb7[_0xf9ce('0x1f')],_0x5da1cf=_0x44e2c8['offset'],_0x4f4ff8=_0x44e2c8[_0xf9ce('0x20')]+_0x44e2c8[_0xf9ce('0x21')],_0xd6c724;if(_0x4f4ff8>=_0x59dac3){_0x4f4ff8=_0x59dac3;_0xd6c724=0xc8;}else{_0xd6c724=0xce;}_0x335891[_0xf9ce('0x1c')](_0xd6c724);return _0x335891[_0xf9ce('0x22')]('Content-Range',_0x5da1cf+'-'+_0x4f4ff8+'/'+_0x59dac3)[_0xf9ce('0x1e')](_0x245cb7);}return null;};}function patchUpdates(_0x29e0df){return function(_0x5ea6a6){try{jsonpatch[_0xf9ce('0x23')](_0x5ea6a6,_0x29e0df,!![]);}catch(_0xf59444){return BPromise[_0xf9ce('0x24')](_0xf59444);}return _0x5ea6a6[_0xf9ce('0x25')]();};}function saveUpdates(_0x10a72a,_0x1f744f){return function(_0x5e0065){if(_0x5e0065){return _0x5e0065[_0xf9ce('0x26')](_0x10a72a)['then'](function(_0x5143c9){return _0x5143c9;});}return null;};}function removeEntity(_0x18e5fd,_0x3ea507){return function(_0x128102){if(_0x128102){return _0x128102[_0xf9ce('0x27')]()[_0xf9ce('0x28')](function(){var _0x1b7a74=_0x128102[_0xf9ce('0x29')]({'plain':!![]});var _0x6a57f4=_0xf9ce('0x2a');return db[_0xf9ce('0x2b')][_0xf9ce('0x27')]({'where':{'type':_0x6a57f4,'resourceId':_0x1b7a74['id']}})[_0xf9ce('0x28')](function(){return _0x128102;});})[_0xf9ce('0x28')](function(){_0x18e5fd[_0xf9ce('0x1c')](0xcc)['end']();});}};}function handleEntityNotFound(_0x16276a,_0x87bb43){return function(_0x54e894){if(!_0x54e894){_0x16276a[_0xf9ce('0x1b')](0x194);}return _0x54e894;};}function handleError(_0x2ee595,_0x733a61){_0x733a61=_0x733a61||0x1f4;return function(_0x4f0a10){logger[_0xf9ce('0x2c')](_0x4f0a10['stack']);if(_0x4f0a10[_0xf9ce('0x2d')]){delete _0x4f0a10[_0xf9ce('0x2d')];}_0x2ee595[_0xf9ce('0x1c')](_0x733a61)['send'](_0x4f0a10);};}exports[_0xf9ce('0x2e')]=function(_0x2f202a,_0x38fa50){var _0x3c9865={},_0x13bd69={},_0x183107={'count':0x0,'rows':[]};var _0x27bbe1=_[_0xf9ce('0x2f')](db[_0xf9ce('0x30')][_0xf9ce('0x31')],function(_0x3e3b34){return{'name':_0x3e3b34[_0xf9ce('0x32')],'type':_0x3e3b34[_0xf9ce('0x33')]['key']};});_0x13bd69['model']=_[_0xf9ce('0x2f')](_0x27bbe1,'name');_0x13bd69[_0xf9ce('0x34')]=_[_0xf9ce('0x35')](_0x2f202a[_0xf9ce('0x34')]);_0x13bd69[_0xf9ce('0x36')]=_[_0xf9ce('0x37')](_0x13bd69[_0xf9ce('0x38')],_0x13bd69[_0xf9ce('0x34')]);_0x3c9865[_0xf9ce('0x39')]=_[_0xf9ce('0x37')](_0x13bd69[_0xf9ce('0x38')],qs['fields'](_0x2f202a['query'][_0xf9ce('0x3a')]));_0x3c9865[_0xf9ce('0x39')]=_0x3c9865[_0xf9ce('0x39')][_0xf9ce('0x3b')]?_0x3c9865[_0xf9ce('0x39')]:_0x13bd69[_0xf9ce('0x38')];if(!_0x2f202a[_0xf9ce('0x34')]['hasOwnProperty'](_0xf9ce('0x3c'))){_0x3c9865[_0xf9ce('0x21')]=qs[_0xf9ce('0x21')](_0x2f202a[_0xf9ce('0x34')][_0xf9ce('0x21')]);_0x3c9865[_0xf9ce('0x20')]=qs['offset'](_0x2f202a[_0xf9ce('0x34')][_0xf9ce('0x20')]);}_0x3c9865[_0xf9ce('0x3d')]=qs[_0xf9ce('0x3e')](_0x2f202a[_0xf9ce('0x34')][_0xf9ce('0x3e')]);_0x3c9865[_0xf9ce('0x3f')]=qs['filters'](_['pick'](_0x2f202a[_0xf9ce('0x34')],_0x13bd69[_0xf9ce('0x36')]),_0x27bbe1);if(_0x2f202a['query'][_0xf9ce('0x40')]){_0x3c9865[_0xf9ce('0x3f')]=_[_0xf9ce('0x41')](_0x3c9865['where'],{'$or':[{'key':{'$like':'%'+_0x2f202a[_0xf9ce('0x34')][_0xf9ce('0x40')]+'%'}},{'value':{'$like':'%'+_0x2f202a[_0xf9ce('0x34')][_0xf9ce('0x40')]+'%'}}]});}_0x3c9865=_[_0xf9ce('0x41')]({},_0x3c9865,_0x2f202a[_0xf9ce('0x42')]);var _0x58653d={'where':_0x3c9865[_0xf9ce('0x3f')]};return db[_0xf9ce('0x30')]['count'](_0x58653d)[_0xf9ce('0x28')](function(_0x49e8d5){_0x183107[_0xf9ce('0x1f')]=_0x49e8d5;if(_0x2f202a[_0xf9ce('0x34')]['includeAll']){_0x3c9865['include']=[{'all':!![]}];}return db[_0xf9ce('0x30')][_0xf9ce('0x43')](_0x3c9865);})[_0xf9ce('0x28')](function(_0x3418bb){_0x183107[_0xf9ce('0x44')]=_0x3418bb;return _0x183107;})[_0xf9ce('0x28')](respondWithFilteredResult(_0x38fa50,_0x3c9865))['catch'](handleError(_0x38fa50,null));};exports[_0xf9ce('0x45')]=function(_0x54ccbd,_0x945a71){var _0x1575bf={'raw':!![],'where':{'id':_0x54ccbd[_0xf9ce('0x46')]['id']}},_0x5cccf6={};_0x5cccf6[_0xf9ce('0x38')]=_['keys'](db['CannedAnswer'][_0xf9ce('0x31')]);_0x5cccf6[_0xf9ce('0x34')]=_['keys'](_0x54ccbd[_0xf9ce('0x34')]);_0x5cccf6[_0xf9ce('0x36')]=_[_0xf9ce('0x37')](_0x5cccf6['model'],_0x5cccf6[_0xf9ce('0x34')]);_0x1575bf[_0xf9ce('0x39')]=_['intersection'](_0x5cccf6[_0xf9ce('0x38')],qs[_0xf9ce('0x3a')](_0x54ccbd['query'][_0xf9ce('0x3a')]));_0x1575bf[_0xf9ce('0x39')]=_0x1575bf[_0xf9ce('0x39')][_0xf9ce('0x3b')]?_0x1575bf[_0xf9ce('0x39')]:_0x5cccf6['model'];if(_0x54ccbd['query'][_0xf9ce('0x47')]){_0x1575bf['include']=[{'all':!![]}];}_0x1575bf=_[_0xf9ce('0x41')]({},_0x1575bf,_0x54ccbd[_0xf9ce('0x42')]);return db[_0xf9ce('0x30')][_0xf9ce('0x48')](_0x1575bf)['then'](handleEntityNotFound(_0x945a71,null))[_0xf9ce('0x28')](respondWithResult(_0x945a71,null))[_0xf9ce('0x49')](handleError(_0x945a71,null));};exports[_0xf9ce('0x26')]=function(_0x456956,_0x12924f){if(_0x456956[_0xf9ce('0x4a')]['id']){delete _0x456956[_0xf9ce('0x4a')]['id'];}return db[_0xf9ce('0x30')][_0xf9ce('0x48')]({'where':{'id':_0x456956[_0xf9ce('0x46')]['id']}})['then'](handleEntityNotFound(_0x12924f,null))[_0xf9ce('0x28')](saveUpdates(_0x456956['body'],null))[_0xf9ce('0x28')](respondWithResult(_0x12924f,null))['catch'](handleError(_0x12924f,null));};exports['destroy']=function(_0x33431d,_0x3a91d7){return db[_0xf9ce('0x30')]['find']({'where':{'id':_0x33431d[_0xf9ce('0x46')]['id']}})[_0xf9ce('0x28')](handleEntityNotFound(_0x3a91d7,null))['then'](removeEntity(_0x3a91d7,null))['catch'](handleError(_0x3a91d7,null));};exports['create']=function(_0x5ef7a3,_0x16d889){var _0x305ddc={'key':_0x5ef7a3[_0xf9ce('0x4a')]['key']};if(_0x5ef7a3[_0xf9ce('0x4a')]['MailAccountId']){_0x305ddc[_0xf9ce('0x4b')]=_0x5ef7a3['body']['MailAccountId'];}else if(_0x5ef7a3[_0xf9ce('0x4a')][_0xf9ce('0x4c')]){_0x305ddc[_0xf9ce('0x4c')]=_0x5ef7a3['body'][_0xf9ce('0x4c')];}else if(_0x5ef7a3[_0xf9ce('0x4a')]['OpenchannelAccountId']){_0x305ddc[_0xf9ce('0x4d')]=_0x5ef7a3[_0xf9ce('0x4a')]['OpenchannelAccountId'];}else if(_0x5ef7a3[_0xf9ce('0x4a')]['ChatWebsiteId']){_0x305ddc[_0xf9ce('0x4e')]=_0x5ef7a3[_0xf9ce('0x4a')][_0xf9ce('0x4e')];}return db['CannedAnswer'][_0xf9ce('0x48')]({'where':_0x305ddc})[_0xf9ce('0x28')](function(_0x18e47d){if(_0x18e47d){throw new db[(_0xf9ce('0x4f'))][(_0xf9ce('0x50'))]('The\x20inserted\x20key\x20already\x20exists.');}return db[_0xf9ce('0x30')][_0xf9ce('0x51')](_0x5ef7a3[_0xf9ce('0x4a')]);})[_0xf9ce('0x28')](function(_0x374dcb){var _0x2b22a3=_0x5ef7a3['user']['get']({'plain':!![]});if(!_0x2b22a3)throw new Error(_0xf9ce('0x52'));if(_0x2b22a3[_0xf9ce('0x53')]===_0xf9ce('0x54')){var _0x21e0ff=_0x374dcb[_0xf9ce('0x29')]({'plain':!![]});return db[_0xf9ce('0x55')][_0xf9ce('0x48')]({'where':{'name':_0xf9ce('0x2a'),'userProfileId':_0x2b22a3['userProfileId']},'raw':!![]})[_0xf9ce('0x28')](function(_0x4b5e55){if(_0x4b5e55&&_0x4b5e55[_0xf9ce('0x56')]===0x0){return db[_0xf9ce('0x2b')][_0xf9ce('0x51')]({'name':_0x21e0ff[_0xf9ce('0x2d')],'resourceId':_0x21e0ff['id'],'type':_0x4b5e55[_0xf9ce('0x2d')],'sectionId':_0x4b5e55['id']},{})[_0xf9ce('0x28')](function(){return _0x374dcb;});}else{return _0x374dcb;}})[_0xf9ce('0x49')](function(_0x2b853d){logger['error'](_0xf9ce('0x57'),_0x2b853d);throw _0x2b853d;});}return _0x374dcb;})[_0xf9ce('0x28')](respondWithResult(_0x16d889,0xc9))[_0xf9ce('0x49')](handleError(_0x16d889,null));};