Built motion from commit (unavailable).|2.5.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 _0xaba0=['hasOwnProperty','nolimit','order','sort','where','pick','filter','type','VIRTUAL','merge','findAll','rows','show','params','rawAttributes','includeAll','include','options','find','catch','body','MailAccountId','SmsAccountId','OpenchannelAccountId','ChatWebsiteId','Sequelize','ValidationError','create','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','UserProfileSection','autoAssociation','html-pdf','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','util','path','to-csv','ejs','lodash','squel','crypto','jsforce','desk.js','querystring','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','api','../../config/utils','../../config/environment','../../mysqldb','sendStatus','status','end','json','count','offset','limit','Content-Range','apply','reject','save','update','then','destroy','get','CannedAnswers','UserProfileResource','error','stack','name','index','map','CannedAnswer','fieldName','key','model','query','keys','filters','intersection','attributes','fields','length'];(function(_0x59ee6f,_0x450239){var _0x4c0979=function(_0x565e92){while(--_0x565e92){_0x59ee6f['push'](_0x59ee6f['shift']());}};_0x4c0979(++_0x450239);}(_0xaba0,0x191));var _0x0aba=function(_0x618414,_0x1a7a60){_0x618414=_0x618414-0x0;var _0x21c19a=_0xaba0[_0x618414];return _0x21c19a;};'use strict';var pdf=require(_0x0aba('0x0'));var emlformat=require(_0x0aba('0x1'));var rimraf=require(_0x0aba('0x2'));var zipdir=require(_0x0aba('0x3'));var jsonpatch=require(_0x0aba('0x4'));var rp=require(_0x0aba('0x5'));var moment=require(_0x0aba('0x6'));var BPromise=require(_0x0aba('0x7'));var Mustache=require(_0x0aba('0x8'));var util=require(_0x0aba('0x9'));var path=require(_0x0aba('0xa'));var sox=require('sox');var csv=require(_0x0aba('0xb'));var ejs=require(_0x0aba('0xc'));var fs=require('fs');var _=require(_0x0aba('0xd'));var squel=require(_0x0aba('0xe'));var crypto=require(_0x0aba('0xf'));var jsforce=require(_0x0aba('0x10'));var deskjs=require(_0x0aba('0x11'));var toCsv=require('to-csv');var querystring=require(_0x0aba('0x12'));var Papa=require('papaparse');var Redis=require('ioredis');var authService=require('../../components/auth/service');var qs=require(_0x0aba('0x13'));var as=require(_0x0aba('0x14'));var hardwareService=require(_0x0aba('0x15'));var logger=require('../../config/logger')(_0x0aba('0x16'));var utils=require(_0x0aba('0x17'));var config=require(_0x0aba('0x18'));var db=require(_0x0aba('0x19'))['db'];function respondWithStatusCode(_0x171a77,_0x4d588a){_0x4d588a=_0x4d588a||0xcc;return function(_0x553ca1){if(_0x553ca1){return _0x171a77[_0x0aba('0x1a')](_0x4d588a);}return _0x171a77[_0x0aba('0x1b')](_0x4d588a)[_0x0aba('0x1c')]();};}function respondWithResult(_0x45b7f0,_0x20f5bd){_0x20f5bd=_0x20f5bd||0xc8;return function(_0x439b32){if(_0x439b32){return _0x45b7f0[_0x0aba('0x1b')](_0x20f5bd)[_0x0aba('0x1d')](_0x439b32);}};}function respondWithFilteredResult(_0x2f9b6f,_0x470f6a){return function(_0x36b55f){if(_0x36b55f){var _0x5cc6f9=_0x36b55f[_0x0aba('0x1e')],_0x19454c=_0x470f6a[_0x0aba('0x1f')],_0x19624e=_0x470f6a[_0x0aba('0x1f')]+_0x470f6a[_0x0aba('0x20')],_0x22bcbc;if(_0x19624e>=_0x5cc6f9){_0x19624e=_0x5cc6f9;_0x22bcbc=0xc8;}else{_0x22bcbc=0xce;}_0x2f9b6f['status'](_0x22bcbc);return _0x2f9b6f['set'](_0x0aba('0x21'),_0x19454c+'-'+_0x19624e+'/'+_0x5cc6f9)[_0x0aba('0x1d')](_0x36b55f);}return null;};}function patchUpdates(_0x216e6b){return function(_0x4f4b56){try{jsonpatch[_0x0aba('0x22')](_0x4f4b56,_0x216e6b,!![]);}catch(_0x48f67e){return BPromise[_0x0aba('0x23')](_0x48f67e);}return _0x4f4b56[_0x0aba('0x24')]();};}function saveUpdates(_0x4d6b73,_0x218f83){return function(_0x3052b1){if(_0x3052b1){return _0x3052b1[_0x0aba('0x25')](_0x4d6b73)[_0x0aba('0x26')](function(_0x1fd203){return _0x1fd203;});}return null;};}function removeEntity(_0x3a00d9,_0x4e666e){return function(_0xa6c078){if(_0xa6c078){return _0xa6c078[_0x0aba('0x27')]()['then'](function(){var _0x5ebb9b=_0xa6c078[_0x0aba('0x28')]({'plain':!![]});var _0x2d3b89=_0x0aba('0x29');return db[_0x0aba('0x2a')][_0x0aba('0x27')]({'where':{'type':_0x2d3b89,'resourceId':_0x5ebb9b['id']}})[_0x0aba('0x26')](function(){return _0xa6c078;});})[_0x0aba('0x26')](function(){_0x3a00d9['status'](0xcc)[_0x0aba('0x1c')]();});}};}function handleEntityNotFound(_0xd59102,_0xff431c){return function(_0x2f1ae6){if(!_0x2f1ae6){_0xd59102[_0x0aba('0x1a')](0x194);}return _0x2f1ae6;};}function handleError(_0xdbe89c,_0x160aee){_0x160aee=_0x160aee||0x1f4;return function(_0x340cbb){logger[_0x0aba('0x2b')](_0x340cbb[_0x0aba('0x2c')]);if(_0x340cbb[_0x0aba('0x2d')]){delete _0x340cbb[_0x0aba('0x2d')];}_0xdbe89c[_0x0aba('0x1b')](_0x160aee)['send'](_0x340cbb);};}exports[_0x0aba('0x2e')]=function(_0x325cb4,_0xf639ad){var _0x1fa5af={},_0x3a4200={},_0x41a3e9={'count':0x0,'rows':[]};var _0xdbec46=_[_0x0aba('0x2f')](db[_0x0aba('0x30')]['rawAttributes'],function(_0x5171bd){return{'name':_0x5171bd[_0x0aba('0x31')],'type':_0x5171bd['type'][_0x0aba('0x32')]};});_0x3a4200[_0x0aba('0x33')]=_[_0x0aba('0x2f')](_0xdbec46,_0x0aba('0x2d'));_0x3a4200[_0x0aba('0x34')]=_[_0x0aba('0x35')](_0x325cb4[_0x0aba('0x34')]);_0x3a4200[_0x0aba('0x36')]=_[_0x0aba('0x37')](_0x3a4200[_0x0aba('0x33')],_0x3a4200[_0x0aba('0x34')]);_0x1fa5af[_0x0aba('0x38')]=_['intersection'](_0x3a4200['model'],qs[_0x0aba('0x39')](_0x325cb4[_0x0aba('0x34')]['fields']));_0x1fa5af[_0x0aba('0x38')]=_0x1fa5af[_0x0aba('0x38')][_0x0aba('0x3a')]?_0x1fa5af[_0x0aba('0x38')]:_0x3a4200[_0x0aba('0x33')];if(!_0x325cb4[_0x0aba('0x34')][_0x0aba('0x3b')](_0x0aba('0x3c'))){_0x1fa5af[_0x0aba('0x20')]=qs[_0x0aba('0x20')](_0x325cb4[_0x0aba('0x34')]['limit']);_0x1fa5af['offset']=qs[_0x0aba('0x1f')](_0x325cb4[_0x0aba('0x34')][_0x0aba('0x1f')]);}_0x1fa5af[_0x0aba('0x3d')]=qs[_0x0aba('0x3e')](_0x325cb4[_0x0aba('0x34')][_0x0aba('0x3e')]);_0x1fa5af[_0x0aba('0x3f')]=qs[_0x0aba('0x36')](_[_0x0aba('0x40')](_0x325cb4['query'],_0x3a4200[_0x0aba('0x36')]),_0xdbec46);if(_0x325cb4[_0x0aba('0x34')][_0x0aba('0x41')]){_0x1fa5af[_0x0aba('0x3f')]=_['merge'](_0x1fa5af[_0x0aba('0x3f')],{'$or':_[_0x0aba('0x2f')](_0xdbec46,function(_0x47653b){if(_0x47653b[_0x0aba('0x42')]!==_0x0aba('0x43')){var _0x112c84={};_0x112c84[_0x47653b[_0x0aba('0x2d')]]={'$like':'%'+_0x325cb4[_0x0aba('0x34')][_0x0aba('0x41')]+'%'};return _0x112c84;}})});}_0x1fa5af=_[_0x0aba('0x44')]({},_0x1fa5af,_0x325cb4['options']);var _0x5099e9={'where':_0x1fa5af[_0x0aba('0x3f')]};return db[_0x0aba('0x30')][_0x0aba('0x1e')](_0x5099e9)['then'](function(_0x562ad4){_0x41a3e9['count']=_0x562ad4;if(_0x325cb4['query']['includeAll']){_0x1fa5af['include']=[{'all':!![]}];}return db[_0x0aba('0x30')][_0x0aba('0x45')](_0x1fa5af);})['then'](function(_0x377ccb){_0x41a3e9[_0x0aba('0x46')]=_0x377ccb;return _0x41a3e9;})[_0x0aba('0x26')](respondWithFilteredResult(_0xf639ad,_0x1fa5af))['catch'](handleError(_0xf639ad,null));};exports[_0x0aba('0x47')]=function(_0x3dc9ef,_0x5bb347){var _0x5e44f5={'raw':!![],'where':{'id':_0x3dc9ef[_0x0aba('0x48')]['id']}},_0x5d8cd7={};_0x5d8cd7[_0x0aba('0x33')]=_[_0x0aba('0x35')](db[_0x0aba('0x30')][_0x0aba('0x49')]);_0x5d8cd7[_0x0aba('0x34')]=_[_0x0aba('0x35')](_0x3dc9ef['query']);_0x5d8cd7[_0x0aba('0x36')]=_[_0x0aba('0x37')](_0x5d8cd7[_0x0aba('0x33')],_0x5d8cd7['query']);_0x5e44f5['attributes']=_[_0x0aba('0x37')](_0x5d8cd7['model'],qs['fields'](_0x3dc9ef['query'][_0x0aba('0x39')]));_0x5e44f5[_0x0aba('0x38')]=_0x5e44f5['attributes']['length']?_0x5e44f5[_0x0aba('0x38')]:_0x5d8cd7['model'];if(_0x3dc9ef[_0x0aba('0x34')][_0x0aba('0x4a')]){_0x5e44f5[_0x0aba('0x4b')]=[{'all':!![]}];}_0x5e44f5=_[_0x0aba('0x44')]({},_0x5e44f5,_0x3dc9ef[_0x0aba('0x4c')]);return db[_0x0aba('0x30')][_0x0aba('0x4d')](_0x5e44f5)[_0x0aba('0x26')](handleEntityNotFound(_0x5bb347,null))[_0x0aba('0x26')](respondWithResult(_0x5bb347,null))[_0x0aba('0x4e')](handleError(_0x5bb347,null));};exports[_0x0aba('0x25')]=function(_0x4d7426,_0x3a90fa){if(_0x4d7426['body']['id']){delete _0x4d7426['body']['id'];}return db[_0x0aba('0x30')][_0x0aba('0x4d')]({'where':{'id':_0x4d7426[_0x0aba('0x48')]['id']}})[_0x0aba('0x26')](handleEntityNotFound(_0x3a90fa,null))['then'](saveUpdates(_0x4d7426[_0x0aba('0x4f')],null))[_0x0aba('0x26')](respondWithResult(_0x3a90fa,null))[_0x0aba('0x4e')](handleError(_0x3a90fa,null));};exports[_0x0aba('0x27')]=function(_0x4ba80d,_0x5a69cc){return db['CannedAnswer']['find']({'where':{'id':_0x4ba80d['params']['id']}})[_0x0aba('0x26')](handleEntityNotFound(_0x5a69cc,null))['then'](removeEntity(_0x5a69cc,null))[_0x0aba('0x4e')](handleError(_0x5a69cc,null));};exports['create']=function(_0x139a19,_0x149816){var _0x158a1d={'key':_0x139a19[_0x0aba('0x4f')][_0x0aba('0x32')]};if(_0x139a19[_0x0aba('0x4f')][_0x0aba('0x50')]){_0x158a1d[_0x0aba('0x50')]=_0x139a19[_0x0aba('0x4f')][_0x0aba('0x50')];}else if(_0x139a19['body']['SmsAccountId']){_0x158a1d[_0x0aba('0x51')]=_0x139a19[_0x0aba('0x4f')][_0x0aba('0x51')];}else if(_0x139a19[_0x0aba('0x4f')][_0x0aba('0x52')]){_0x158a1d[_0x0aba('0x52')]=_0x139a19[_0x0aba('0x4f')][_0x0aba('0x52')];}else if(_0x139a19['body'][_0x0aba('0x53')]){_0x158a1d[_0x0aba('0x53')]=_0x139a19['body'][_0x0aba('0x53')];}return db[_0x0aba('0x30')][_0x0aba('0x4d')]({'where':_0x158a1d})[_0x0aba('0x26')](function(_0x28fd90){if(_0x28fd90){throw new db[(_0x0aba('0x54'))][(_0x0aba('0x55'))]('The\x20inserted\x20key\x20already\x20exists.');}return db[_0x0aba('0x30')][_0x0aba('0x56')](_0x139a19[_0x0aba('0x4f')]);})['then'](function(_0x2454e1){var _0x2e6df4=_0x139a19[_0x0aba('0x57')][_0x0aba('0x28')]({'plain':!![]});if(!_0x2e6df4)throw new Error(_0x0aba('0x58'));if(_0x2e6df4[_0x0aba('0x59')]===_0x0aba('0x57')){var _0x149be1=_0x2454e1[_0x0aba('0x28')]({'plain':!![]});return db[_0x0aba('0x5a')][_0x0aba('0x4d')]({'where':{'name':'CannedAnswers','userProfileId':_0x2e6df4['userProfileId']},'raw':!![]})['then'](function(_0x3ce62f){if(_0x3ce62f&&_0x3ce62f[_0x0aba('0x5b')]===0x0){return db[_0x0aba('0x2a')][_0x0aba('0x56')]({'name':_0x149be1[_0x0aba('0x2d')],'resourceId':_0x149be1['id'],'type':_0x3ce62f[_0x0aba('0x2d')],'sectionId':_0x3ce62f['id']},{})[_0x0aba('0x26')](function(){return _0x2454e1;});}else{return _0x2454e1;}})['catch'](function(_0x4de9d7){logger[_0x0aba('0x2b')]('Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s',_0x4de9d7);throw _0x4de9d7;});}return _0x2454e1;})[_0x0aba('0x26')](respondWithResult(_0x149816,0xc9))['catch'](handleError(_0x149816,null));};