Built motion from commit 43538d75.|2.5.35
[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 _0xdabb=['destroy','get','then','error','stack','name','send','index','CannedAnswer','rawAttributes','fieldName','type','key','model','map','query','keys','intersection','attributes','fields','length','hasOwnProperty','nolimit','order','sort','where','merge','filter','options','includeAll','include','findAll','rows','catch','params','find','body','create','MailAccountId','SmsAccountId','OpenchannelAccountId','ChatWebsiteId','ValidationError','The\x20inserted\x20key\x20already\x20exists.','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','UserProfileSection','CannedAnswers','userProfileId','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','eml-format','rimraf','zip-dir','request-promise','moment','bluebird','mustache','path','ejs','fs-extra','lodash','squel','crypto','jsforce','desk.js','to-csv','querystring','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','end','json','undefined','count','offset','limit','set','Content-Range','apply','reject','save','update'];(function(_0x302367,_0x222987){var _0x4c9ebe=function(_0x5b7a3c){while(--_0x5b7a3c){_0x302367['push'](_0x302367['shift']());}};_0x4c9ebe(++_0x222987);}(_0xdabb,0x14a));var _0xbdab=function(_0x3cb872,_0x4b26e2){_0x3cb872=_0x3cb872-0x0;var _0x288d59=_0xdabb[_0x3cb872];return _0x288d59;};'use strict';var emlformat=require(_0xbdab('0x0'));var rimraf=require(_0xbdab('0x1'));var zipdir=require(_0xbdab('0x2'));var jsonpatch=require('fast-json-patch');var rp=require(_0xbdab('0x3'));var moment=require(_0xbdab('0x4'));var BPromise=require(_0xbdab('0x5'));var Mustache=require(_0xbdab('0x6'));var util=require('util');var path=require(_0xbdab('0x7'));var sox=require('sox');var csv=require('to-csv');var ejs=require(_0xbdab('0x8'));var fs=require('fs');var fs_extra=require(_0xbdab('0x9'));var _=require(_0xbdab('0xa'));var squel=require(_0xbdab('0xb'));var crypto=require(_0xbdab('0xc'));var jsforce=require(_0xbdab('0xd'));var deskjs=require(_0xbdab('0xe'));var toCsv=require(_0xbdab('0xf'));var querystring=require(_0xbdab('0x10'));var Papa=require('papaparse');var Redis=require(_0xbdab('0x11'));var authService=require(_0xbdab('0x12'));var qs=require(_0xbdab('0x13'));var as=require(_0xbdab('0x14'));var hardwareService=require(_0xbdab('0x15'));var logger=require(_0xbdab('0x16'))(_0xbdab('0x17'));var utils=require(_0xbdab('0x18'));var config=require(_0xbdab('0x19'));var licenseUtil=require(_0xbdab('0x1a'));var db=require(_0xbdab('0x1b'))['db'];function respondWithStatusCode(_0x247260,_0x309d79){_0x309d79=_0x309d79||0xcc;return function(_0x5c8cb3){if(_0x5c8cb3){return _0x247260[_0xbdab('0x1c')](_0x309d79);}return _0x247260[_0xbdab('0x1d')](_0x309d79)[_0xbdab('0x1e')]();};}function respondWithResult(_0x3836c4,_0x43c911){_0x43c911=_0x43c911||0xc8;return function(_0x592356){if(_0x592356){return _0x3836c4[_0xbdab('0x1d')](_0x43c911)[_0xbdab('0x1f')](_0x592356);}};}function respondWithFilteredResult(_0x167410,_0x162337){return function(_0x126beb){if(_0x126beb){var _0x2ab4bd=typeof _0x162337['offset']==='undefined'&&typeof _0x162337['limit']===_0xbdab('0x20');var _0x3978c2=_0x126beb[_0xbdab('0x21')];var _0x498ee4=_0x2ab4bd?0x0:_0x162337[_0xbdab('0x22')];var _0x3fef40=_0x2ab4bd?_0x126beb[_0xbdab('0x21')]:_0x162337['offset']+_0x162337[_0xbdab('0x23')];var _0xf59632;if(_0x3fef40>=_0x3978c2){_0x3fef40=_0x3978c2;_0xf59632=0xc8;}else{_0xf59632=0xce;}_0x167410[_0xbdab('0x1d')](_0xf59632);return _0x167410[_0xbdab('0x24')](_0xbdab('0x25'),_0x498ee4+'-'+_0x3fef40+'/'+_0x3978c2)[_0xbdab('0x1f')](_0x126beb);}return null;};}function patchUpdates(_0x1327e7){return function(_0x464607){try{jsonpatch[_0xbdab('0x26')](_0x464607,_0x1327e7,!![]);}catch(_0x2b3ff6){return BPromise[_0xbdab('0x27')](_0x2b3ff6);}return _0x464607[_0xbdab('0x28')]();};}function saveUpdates(_0x2106d2,_0x3da91f){return function(_0x39c8c){if(_0x39c8c){return _0x39c8c[_0xbdab('0x29')](_0x2106d2)['then'](function(_0x218845){return _0x218845;});}return null;};}function removeEntity(_0x26dddd,_0xe2719e){return function(_0x685bbe){if(_0x685bbe){return _0x685bbe[_0xbdab('0x2a')]()['then'](function(){var _0x3b6767=_0x685bbe[_0xbdab('0x2b')]({'plain':!![]});var _0x35df4d='CannedAnswers';return db['UserProfileResource']['destroy']({'where':{'type':_0x35df4d,'resourceId':_0x3b6767['id']}})['then'](function(){return _0x685bbe;});})[_0xbdab('0x2c')](function(){_0x26dddd['status'](0xcc)['end']();});}};}function handleEntityNotFound(_0x301895,_0x47852a){return function(_0x42eaa5){if(!_0x42eaa5){_0x301895[_0xbdab('0x1c')](0x194);}return _0x42eaa5;};}function handleError(_0x4b96b6,_0x316f4d){_0x316f4d=_0x316f4d||0x1f4;return function(_0x1e1419){logger[_0xbdab('0x2d')](_0x1e1419[_0xbdab('0x2e')]);if(_0x1e1419['name']){delete _0x1e1419[_0xbdab('0x2f')];}_0x4b96b6[_0xbdab('0x1d')](_0x316f4d)[_0xbdab('0x30')](_0x1e1419);};}exports[_0xbdab('0x31')]=function(_0x461744,_0x5f4c0a){var _0x6823f6={},_0x4b628f={},_0x3aefb5={'count':0x0,'rows':[]};var _0xc558b=_['map'](db[_0xbdab('0x32')][_0xbdab('0x33')],function(_0x3cd8c0){return{'name':_0x3cd8c0[_0xbdab('0x34')],'type':_0x3cd8c0[_0xbdab('0x35')][_0xbdab('0x36')]};});_0x4b628f[_0xbdab('0x37')]=_[_0xbdab('0x38')](_0xc558b,_0xbdab('0x2f'));_0x4b628f[_0xbdab('0x39')]=_[_0xbdab('0x3a')](_0x461744[_0xbdab('0x39')]);_0x4b628f['filters']=_[_0xbdab('0x3b')](_0x4b628f[_0xbdab('0x37')],_0x4b628f['query']);_0x6823f6[_0xbdab('0x3c')]=_[_0xbdab('0x3b')](_0x4b628f[_0xbdab('0x37')],qs[_0xbdab('0x3d')](_0x461744[_0xbdab('0x39')][_0xbdab('0x3d')]));_0x6823f6['attributes']=_0x6823f6[_0xbdab('0x3c')][_0xbdab('0x3e')]?_0x6823f6[_0xbdab('0x3c')]:_0x4b628f[_0xbdab('0x37')];if(!_0x461744[_0xbdab('0x39')][_0xbdab('0x3f')](_0xbdab('0x40'))){_0x6823f6[_0xbdab('0x23')]=qs[_0xbdab('0x23')](_0x461744[_0xbdab('0x39')][_0xbdab('0x23')]);_0x6823f6[_0xbdab('0x22')]=qs[_0xbdab('0x22')](_0x461744[_0xbdab('0x39')]['offset']);}_0x6823f6[_0xbdab('0x41')]=qs[_0xbdab('0x42')](_0x461744[_0xbdab('0x39')][_0xbdab('0x42')]);_0x6823f6[_0xbdab('0x43')]=qs['filters'](_['pick'](_0x461744[_0xbdab('0x39')],_0x4b628f['filters']),_0xc558b);if(_0x461744['query']['filter']){_0x6823f6[_0xbdab('0x43')]=_[_0xbdab('0x44')](_0x6823f6['where'],{'$or':[{'key':{'$like':'%'+_0x461744[_0xbdab('0x39')][_0xbdab('0x45')]+'%'}},{'value':{'$like':'%'+_0x461744['query'][_0xbdab('0x45')]+'%'}}]});}_0x6823f6=_['merge']({},_0x6823f6,_0x461744[_0xbdab('0x46')]);var _0x112158={'where':_0x6823f6[_0xbdab('0x43')]};return db['CannedAnswer'][_0xbdab('0x21')](_0x112158)[_0xbdab('0x2c')](function(_0x59152f){_0x3aefb5['count']=_0x59152f;if(_0x461744[_0xbdab('0x39')][_0xbdab('0x47')]){_0x6823f6[_0xbdab('0x48')]=[{'all':!![]}];}return db[_0xbdab('0x32')][_0xbdab('0x49')](_0x6823f6);})['then'](function(_0x4363ac){_0x3aefb5[_0xbdab('0x4a')]=_0x4363ac;return _0x3aefb5;})[_0xbdab('0x2c')](respondWithFilteredResult(_0x5f4c0a,_0x6823f6))[_0xbdab('0x4b')](handleError(_0x5f4c0a,null));};exports['show']=function(_0xff0b7a,_0x38dad3){var _0x2aa6f2={'raw':!![],'where':{'id':_0xff0b7a[_0xbdab('0x4c')]['id']}},_0x4e203a={};_0x4e203a[_0xbdab('0x37')]=_[_0xbdab('0x3a')](db[_0xbdab('0x32')][_0xbdab('0x33')]);_0x4e203a[_0xbdab('0x39')]=_[_0xbdab('0x3a')](_0xff0b7a['query']);_0x4e203a['filters']=_[_0xbdab('0x3b')](_0x4e203a[_0xbdab('0x37')],_0x4e203a[_0xbdab('0x39')]);_0x2aa6f2[_0xbdab('0x3c')]=_[_0xbdab('0x3b')](_0x4e203a[_0xbdab('0x37')],qs['fields'](_0xff0b7a['query'][_0xbdab('0x3d')]));_0x2aa6f2[_0xbdab('0x3c')]=_0x2aa6f2[_0xbdab('0x3c')][_0xbdab('0x3e')]?_0x2aa6f2[_0xbdab('0x3c')]:_0x4e203a[_0xbdab('0x37')];if(_0xff0b7a['query'][_0xbdab('0x47')]){_0x2aa6f2[_0xbdab('0x48')]=[{'all':!![]}];}_0x2aa6f2=_[_0xbdab('0x44')]({},_0x2aa6f2,_0xff0b7a[_0xbdab('0x46')]);return db[_0xbdab('0x32')][_0xbdab('0x4d')](_0x2aa6f2)[_0xbdab('0x2c')](handleEntityNotFound(_0x38dad3,null))['then'](respondWithResult(_0x38dad3,null))[_0xbdab('0x4b')](handleError(_0x38dad3,null));};exports[_0xbdab('0x29')]=function(_0x1cf823,_0xcad41e){if(_0x1cf823[_0xbdab('0x4e')]['id']){delete _0x1cf823[_0xbdab('0x4e')]['id'];}return db['CannedAnswer']['find']({'where':{'id':_0x1cf823[_0xbdab('0x4c')]['id']}})[_0xbdab('0x2c')](handleEntityNotFound(_0xcad41e,null))[_0xbdab('0x2c')](saveUpdates(_0x1cf823['body'],null))[_0xbdab('0x2c')](respondWithResult(_0xcad41e,null))[_0xbdab('0x4b')](handleError(_0xcad41e,null));};exports[_0xbdab('0x2a')]=function(_0x28d329,_0x1940cb){return db[_0xbdab('0x32')][_0xbdab('0x4d')]({'where':{'id':_0x28d329[_0xbdab('0x4c')]['id']}})[_0xbdab('0x2c')](handleEntityNotFound(_0x1940cb,null))[_0xbdab('0x2c')](removeEntity(_0x1940cb,null))[_0xbdab('0x4b')](handleError(_0x1940cb,null));};exports[_0xbdab('0x4f')]=function(_0x1980d8,_0x5ecd89){var _0x17581d={'key':_0x1980d8['body']['key']};if(_0x1980d8['body'][_0xbdab('0x50')]){_0x17581d['MailAccountId']=_0x1980d8['body'][_0xbdab('0x50')];}else if(_0x1980d8['body'][_0xbdab('0x51')]){_0x17581d[_0xbdab('0x51')]=_0x1980d8['body'][_0xbdab('0x51')];}else if(_0x1980d8[_0xbdab('0x4e')][_0xbdab('0x52')]){_0x17581d[_0xbdab('0x52')]=_0x1980d8['body'][_0xbdab('0x52')];}else if(_0x1980d8[_0xbdab('0x4e')][_0xbdab('0x53')]){_0x17581d[_0xbdab('0x53')]=_0x1980d8[_0xbdab('0x4e')][_0xbdab('0x53')];}return db[_0xbdab('0x32')]['find']({'where':_0x17581d})[_0xbdab('0x2c')](function(_0x473a55){if(_0x473a55){throw new db['Sequelize'][(_0xbdab('0x54'))](_0xbdab('0x55'));}return db[_0xbdab('0x32')][_0xbdab('0x4f')](_0x1980d8[_0xbdab('0x4e')]);})['then'](function(_0x354f76){var _0x231ad7=_0x1980d8[_0xbdab('0x56')][_0xbdab('0x2b')]({'plain':!![]});if(!_0x231ad7)throw new Error(_0xbdab('0x57'));if(_0x231ad7[_0xbdab('0x58')]===_0xbdab('0x56')){var _0x24a7a1=_0x354f76['get']({'plain':!![]});return db[_0xbdab('0x59')][_0xbdab('0x4d')]({'where':{'name':_0xbdab('0x5a'),'userProfileId':_0x231ad7[_0xbdab('0x5b')]},'raw':!![]})[_0xbdab('0x2c')](function(_0x5da4a9){if(_0x5da4a9&&_0x5da4a9['autoAssociation']===0x0){return db['UserProfileResource'][_0xbdab('0x4f')]({'name':_0x24a7a1[_0xbdab('0x2f')],'resourceId':_0x24a7a1['id'],'type':_0x5da4a9['name'],'sectionId':_0x5da4a9['id']},{})[_0xbdab('0x2c')](function(){return _0x354f76;});}else{return _0x354f76;}})['catch'](function(_0x5ac49f){logger[_0xbdab('0x2d')](_0xbdab('0x5c'),_0x5ac49f);throw _0x5ac49f;});}return _0x354f76;})[_0xbdab('0x2c')](respondWithResult(_0x5ecd89,0xc9))[_0xbdab('0x4b')](handleError(_0x5ecd89,null));};