Built motion from commit (unavailable).|2.6.0
[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 _0xcf90=['fields','length','hasOwnProperty','nolimit','order','where','filter','merge','includeAll','include','findAll','catch','params','rawAttributes','intersection','find','update','body','create','key','MailAccountId','SmsAccountId','OpenchannelAccountId','ChatWebsiteId','Sequelize','ValidationError','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','UserProfileSection','CannedAnswers','autoAssociation','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','eml-format','rimraf','fast-json-patch','moment','bluebird','mustache','util','path','to-csv','ejs','lodash','squel','crypto','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/environment','../../config/license/util','../../mysqldb','status','end','json','offset','count','limit','set','apply','reject','save','then','destroy','get','error','stack','name','send','index','map','CannedAnswer','fieldName','model','query','keys','filters','attributes'];(function(_0x5e2751,_0x518a55){var _0x139a39=function(_0x4802db){while(--_0x4802db){_0x5e2751['push'](_0x5e2751['shift']());}};_0x139a39(++_0x518a55);}(_0xcf90,0x175));var _0x0cf9=function(_0x2e6580,_0x4ab032){_0x2e6580=_0x2e6580-0x0;var _0x421fc4=_0xcf90[_0x2e6580];return _0x421fc4;};'use strict';var emlformat=require(_0x0cf9('0x0'));var rimraf=require(_0x0cf9('0x1'));var zipdir=require('zip-dir');var jsonpatch=require(_0x0cf9('0x2'));var rp=require('request-promise');var moment=require(_0x0cf9('0x3'));var BPromise=require(_0x0cf9('0x4'));var Mustache=require(_0x0cf9('0x5'));var util=require(_0x0cf9('0x6'));var path=require(_0x0cf9('0x7'));var sox=require('sox');var csv=require(_0x0cf9('0x8'));var ejs=require(_0x0cf9('0x9'));var fs=require('fs');var fs_extra=require('fs-extra');var _=require(_0x0cf9('0xa'));var squel=require(_0x0cf9('0xb'));var crypto=require(_0x0cf9('0xc'));var jsforce=require('jsforce');var deskjs=require(_0x0cf9('0xd'));var toCsv=require(_0x0cf9('0x8'));var querystring=require(_0x0cf9('0xe'));var Papa=require(_0x0cf9('0xf'));var Redis=require(_0x0cf9('0x10'));var authService=require(_0x0cf9('0x11'));var qs=require(_0x0cf9('0x12'));var as=require(_0x0cf9('0x13'));var hardwareService=require(_0x0cf9('0x14'));var logger=require(_0x0cf9('0x15'))(_0x0cf9('0x16'));var utils=require('../../config/utils');var config=require(_0x0cf9('0x17'));var licenseUtil=require(_0x0cf9('0x18'));var db=require(_0x0cf9('0x19'))['db'];function respondWithStatusCode(_0x2f1be6,_0x50b8f5){_0x50b8f5=_0x50b8f5||0xcc;return function(_0x7d06f8){if(_0x7d06f8){return _0x2f1be6['sendStatus'](_0x50b8f5);}return _0x2f1be6[_0x0cf9('0x1a')](_0x50b8f5)[_0x0cf9('0x1b')]();};}function respondWithResult(_0x5308d3,_0xcc18dd){_0xcc18dd=_0xcc18dd||0xc8;return function(_0x398ec3){if(_0x398ec3){return _0x5308d3[_0x0cf9('0x1a')](_0xcc18dd)[_0x0cf9('0x1c')](_0x398ec3);}};}function respondWithFilteredResult(_0x440382,_0x1c5bf7){return function(_0x20b7b0){if(_0x20b7b0){var _0x467747=typeof _0x1c5bf7[_0x0cf9('0x1d')]==='undefined'&&typeof _0x1c5bf7['limit']==='undefined';var _0x207030=_0x20b7b0[_0x0cf9('0x1e')];var _0x2253c8=_0x467747?0x0:_0x1c5bf7[_0x0cf9('0x1d')];var _0x294b77=_0x467747?_0x20b7b0[_0x0cf9('0x1e')]:_0x1c5bf7[_0x0cf9('0x1d')]+_0x1c5bf7[_0x0cf9('0x1f')];var _0x5855e7;if(_0x294b77>=_0x207030){_0x294b77=_0x207030;_0x5855e7=0xc8;}else{_0x5855e7=0xce;}_0x440382[_0x0cf9('0x1a')](_0x5855e7);return _0x440382[_0x0cf9('0x20')]('Content-Range',_0x2253c8+'-'+_0x294b77+'/'+_0x207030)[_0x0cf9('0x1c')](_0x20b7b0);}return null;};}function patchUpdates(_0x193b57){return function(_0x2bf7a4){try{jsonpatch[_0x0cf9('0x21')](_0x2bf7a4,_0x193b57,!![]);}catch(_0xdfead9){return BPromise[_0x0cf9('0x22')](_0xdfead9);}return _0x2bf7a4[_0x0cf9('0x23')]();};}function saveUpdates(_0x305faa,_0x257255){return function(_0x18a3ae){if(_0x18a3ae){return _0x18a3ae['update'](_0x305faa)[_0x0cf9('0x24')](function(_0x3e4614){return _0x3e4614;});}return null;};}function removeEntity(_0x40cf10,_0x4a5061){return function(_0x1f1b45){if(_0x1f1b45){return _0x1f1b45[_0x0cf9('0x25')]()[_0x0cf9('0x24')](function(){var _0x34a495=_0x1f1b45[_0x0cf9('0x26')]({'plain':!![]});var _0x2f8c8f='CannedAnswers';return db['UserProfileResource'][_0x0cf9('0x25')]({'where':{'type':_0x2f8c8f,'resourceId':_0x34a495['id']}})[_0x0cf9('0x24')](function(){return _0x1f1b45;});})[_0x0cf9('0x24')](function(){_0x40cf10[_0x0cf9('0x1a')](0xcc)[_0x0cf9('0x1b')]();});}};}function handleEntityNotFound(_0x7eadd6,_0x52cab4){return function(_0x158f3a){if(!_0x158f3a){_0x7eadd6['sendStatus'](0x194);}return _0x158f3a;};}function handleError(_0x5bf1d4,_0x395b83){_0x395b83=_0x395b83||0x1f4;return function(_0x33ed5b){logger[_0x0cf9('0x27')](_0x33ed5b[_0x0cf9('0x28')]);if(_0x33ed5b[_0x0cf9('0x29')]){delete _0x33ed5b[_0x0cf9('0x29')];}_0x5bf1d4[_0x0cf9('0x1a')](_0x395b83)[_0x0cf9('0x2a')](_0x33ed5b);};}exports[_0x0cf9('0x2b')]=function(_0x52ea57,_0x5efc13){var _0x4cb5f8={},_0x4b5d78={},_0x4c1e5b={'count':0x0,'rows':[]};var _0x283431=_[_0x0cf9('0x2c')](db[_0x0cf9('0x2d')]['rawAttributes'],function(_0x5eca56){return{'name':_0x5eca56[_0x0cf9('0x2e')],'type':_0x5eca56['type']['key']};});_0x4b5d78[_0x0cf9('0x2f')]=_[_0x0cf9('0x2c')](_0x283431,_0x0cf9('0x29'));_0x4b5d78[_0x0cf9('0x30')]=_[_0x0cf9('0x31')](_0x52ea57[_0x0cf9('0x30')]);_0x4b5d78[_0x0cf9('0x32')]=_['intersection'](_0x4b5d78[_0x0cf9('0x2f')],_0x4b5d78[_0x0cf9('0x30')]);_0x4cb5f8[_0x0cf9('0x33')]=_['intersection'](_0x4b5d78[_0x0cf9('0x2f')],qs[_0x0cf9('0x34')](_0x52ea57['query'][_0x0cf9('0x34')]));_0x4cb5f8[_0x0cf9('0x33')]=_0x4cb5f8['attributes'][_0x0cf9('0x35')]?_0x4cb5f8[_0x0cf9('0x33')]:_0x4b5d78[_0x0cf9('0x2f')];if(!_0x52ea57[_0x0cf9('0x30')][_0x0cf9('0x36')](_0x0cf9('0x37'))){_0x4cb5f8['limit']=qs[_0x0cf9('0x1f')](_0x52ea57['query'][_0x0cf9('0x1f')]);_0x4cb5f8[_0x0cf9('0x1d')]=qs[_0x0cf9('0x1d')](_0x52ea57[_0x0cf9('0x30')][_0x0cf9('0x1d')]);}_0x4cb5f8[_0x0cf9('0x38')]=qs['sort'](_0x52ea57[_0x0cf9('0x30')]['sort']);_0x4cb5f8[_0x0cf9('0x39')]=qs[_0x0cf9('0x32')](_['pick'](_0x52ea57[_0x0cf9('0x30')],_0x4b5d78[_0x0cf9('0x32')]),_0x283431);if(_0x52ea57[_0x0cf9('0x30')][_0x0cf9('0x3a')]){_0x4cb5f8[_0x0cf9('0x39')]=_[_0x0cf9('0x3b')](_0x4cb5f8[_0x0cf9('0x39')],{'$or':[{'key':{'$like':'%'+_0x52ea57[_0x0cf9('0x30')][_0x0cf9('0x3a')]+'%'}},{'value':{'$like':'%'+_0x52ea57[_0x0cf9('0x30')][_0x0cf9('0x3a')]+'%'}}]});}_0x4cb5f8=_[_0x0cf9('0x3b')]({},_0x4cb5f8,_0x52ea57['options']);var _0x434238={'where':_0x4cb5f8[_0x0cf9('0x39')]};return db['CannedAnswer'][_0x0cf9('0x1e')](_0x434238)[_0x0cf9('0x24')](function(_0x5bcfb3){_0x4c1e5b[_0x0cf9('0x1e')]=_0x5bcfb3;if(_0x52ea57[_0x0cf9('0x30')][_0x0cf9('0x3c')]){_0x4cb5f8[_0x0cf9('0x3d')]=[{'all':!![]}];}return db[_0x0cf9('0x2d')][_0x0cf9('0x3e')](_0x4cb5f8);})[_0x0cf9('0x24')](function(_0x2c6e0c){_0x4c1e5b['rows']=_0x2c6e0c;return _0x4c1e5b;})[_0x0cf9('0x24')](respondWithFilteredResult(_0x5efc13,_0x4cb5f8))[_0x0cf9('0x3f')](handleError(_0x5efc13,null));};exports['show']=function(_0x20ddc2,_0x29fa67){var _0x145ac9={'raw':!![],'where':{'id':_0x20ddc2[_0x0cf9('0x40')]['id']}},_0x5ab6ab={};_0x5ab6ab[_0x0cf9('0x2f')]=_[_0x0cf9('0x31')](db[_0x0cf9('0x2d')][_0x0cf9('0x41')]);_0x5ab6ab[_0x0cf9('0x30')]=_[_0x0cf9('0x31')](_0x20ddc2[_0x0cf9('0x30')]);_0x5ab6ab[_0x0cf9('0x32')]=_[_0x0cf9('0x42')](_0x5ab6ab['model'],_0x5ab6ab[_0x0cf9('0x30')]);_0x145ac9['attributes']=_[_0x0cf9('0x42')](_0x5ab6ab[_0x0cf9('0x2f')],qs[_0x0cf9('0x34')](_0x20ddc2['query'][_0x0cf9('0x34')]));_0x145ac9[_0x0cf9('0x33')]=_0x145ac9[_0x0cf9('0x33')]['length']?_0x145ac9[_0x0cf9('0x33')]:_0x5ab6ab[_0x0cf9('0x2f')];if(_0x20ddc2[_0x0cf9('0x30')][_0x0cf9('0x3c')]){_0x145ac9['include']=[{'all':!![]}];}_0x145ac9=_[_0x0cf9('0x3b')]({},_0x145ac9,_0x20ddc2['options']);return db[_0x0cf9('0x2d')][_0x0cf9('0x43')](_0x145ac9)[_0x0cf9('0x24')](handleEntityNotFound(_0x29fa67,null))[_0x0cf9('0x24')](respondWithResult(_0x29fa67,null))[_0x0cf9('0x3f')](handleError(_0x29fa67,null));};exports[_0x0cf9('0x44')]=function(_0x570345,_0xd64afa){if(_0x570345[_0x0cf9('0x45')]['id']){delete _0x570345[_0x0cf9('0x45')]['id'];}return db[_0x0cf9('0x2d')][_0x0cf9('0x43')]({'where':{'id':_0x570345['params']['id']}})[_0x0cf9('0x24')](handleEntityNotFound(_0xd64afa,null))[_0x0cf9('0x24')](saveUpdates(_0x570345[_0x0cf9('0x45')],null))[_0x0cf9('0x24')](respondWithResult(_0xd64afa,null))[_0x0cf9('0x3f')](handleError(_0xd64afa,null));};exports[_0x0cf9('0x25')]=function(_0x2bf6a4,_0x36537e){return db[_0x0cf9('0x2d')][_0x0cf9('0x43')]({'where':{'id':_0x2bf6a4[_0x0cf9('0x40')]['id']}})['then'](handleEntityNotFound(_0x36537e,null))[_0x0cf9('0x24')](removeEntity(_0x36537e,null))[_0x0cf9('0x3f')](handleError(_0x36537e,null));};exports[_0x0cf9('0x46')]=function(_0x29279d,_0x195418){var _0x29347a={'key':_0x29279d['body'][_0x0cf9('0x47')]};if(_0x29279d[_0x0cf9('0x45')][_0x0cf9('0x48')]){_0x29347a[_0x0cf9('0x48')]=_0x29279d['body']['MailAccountId'];}else if(_0x29279d[_0x0cf9('0x45')][_0x0cf9('0x49')]){_0x29347a['SmsAccountId']=_0x29279d[_0x0cf9('0x45')][_0x0cf9('0x49')];}else if(_0x29279d[_0x0cf9('0x45')]['OpenchannelAccountId']){_0x29347a['OpenchannelAccountId']=_0x29279d['body'][_0x0cf9('0x4a')];}else if(_0x29279d['body']['ChatWebsiteId']){_0x29347a[_0x0cf9('0x4b')]=_0x29279d['body'][_0x0cf9('0x4b')];}return db[_0x0cf9('0x2d')]['find']({'where':_0x29347a})['then'](function(_0x37ec2a){if(_0x37ec2a){throw new db[(_0x0cf9('0x4c'))][(_0x0cf9('0x4d'))]('The\x20inserted\x20key\x20already\x20exists.');}return db['CannedAnswer'][_0x0cf9('0x46')](_0x29279d[_0x0cf9('0x45')]);})[_0x0cf9('0x24')](function(_0x39daba){var _0x1aae49=_0x29279d[_0x0cf9('0x4e')][_0x0cf9('0x26')]({'plain':!![]});if(!_0x1aae49)throw new Error(_0x0cf9('0x4f'));if(_0x1aae49[_0x0cf9('0x50')]===_0x0cf9('0x4e')){var _0x19aa0d=_0x39daba[_0x0cf9('0x26')]({'plain':!![]});return db[_0x0cf9('0x51')][_0x0cf9('0x43')]({'where':{'name':_0x0cf9('0x52'),'userProfileId':_0x1aae49['userProfileId']},'raw':!![]})[_0x0cf9('0x24')](function(_0x4a9fe9){if(_0x4a9fe9&&_0x4a9fe9[_0x0cf9('0x53')]===0x0){return db['UserProfileResource'][_0x0cf9('0x46')]({'name':_0x19aa0d[_0x0cf9('0x29')],'resourceId':_0x19aa0d['id'],'type':_0x4a9fe9[_0x0cf9('0x29')],'sectionId':_0x4a9fe9['id']},{})[_0x0cf9('0x24')](function(){return _0x39daba;});}else{return _0x39daba;}})[_0x0cf9('0x3f')](function(_0x344464){logger[_0x0cf9('0x27')](_0x0cf9('0x54'),_0x344464);throw _0x344464;});}return _0x39daba;})['then'](respondWithResult(_0x195418,0xc9))[_0x0cf9('0x3f')](handleError(_0x195418,null));};