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 _0xbe5b=['Content-Range','json','apply','reject','update','then','destroy','get','UserProfileResource','end','error','stack','name','send','index','map','type','key','model','query','keys','filters','attributes','fields','length','hasOwnProperty','nolimit','limit','order','sort','where','filter','merge','VIRTUAL','options','CannedAnswer','include','findAll','rows','params','rawAttributes','intersection','includeAll','find','catch','body','create','MailAccountId','SmsAccountId','OpenchannelAccountId','ChatWebsiteId','Sequelize','ValidationError','The\x20inserted\x20key\x20already\x20exists.','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','UserProfileSection','CannedAnswers','userProfileId','autoAssociation','html-pdf','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','util','path','sox','to-csv','lodash','squel','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','sendStatus','status','count','offset','set'];(function(_0x1a7c50,_0x148bd2){var _0x2170ad=function(_0x21c57d){while(--_0x21c57d){_0x1a7c50['push'](_0x1a7c50['shift']());}};_0x2170ad(++_0x148bd2);}(_0xbe5b,0x151));var _0xbbe5=function(_0x2592b0,_0x633884){_0x2592b0=_0x2592b0-0x0;var _0x268ed0=_0xbe5b[_0x2592b0];return _0x268ed0;};'use strict';var pdf=require(_0xbbe5('0x0'));var emlformat=require(_0xbbe5('0x1'));var rimraf=require(_0xbbe5('0x2'));var zipdir=require(_0xbbe5('0x3'));var jsonpatch=require(_0xbbe5('0x4'));var rp=require(_0xbbe5('0x5'));var moment=require(_0xbbe5('0x6'));var BPromise=require(_0xbbe5('0x7'));var Mustache=require(_0xbbe5('0x8'));var util=require(_0xbbe5('0x9'));var path=require(_0xbbe5('0xa'));var sox=require(_0xbbe5('0xb'));var csv=require(_0xbbe5('0xc'));var ejs=require('ejs');var fs=require('fs');var _=require(_0xbbe5('0xd'));var squel=require(_0xbbe5('0xe'));var crypto=require('crypto');var jsforce=require(_0xbbe5('0xf'));var deskjs=require(_0xbbe5('0x10'));var toCsv=require(_0xbbe5('0xc'));var querystring=require(_0xbbe5('0x11'));var Papa=require(_0xbbe5('0x12'));var Redis=require(_0xbbe5('0x13'));var authService=require(_0xbbe5('0x14'));var qs=require('../../components/parsers/qs');var as=require(_0xbbe5('0x15'));var hardwareService=require(_0xbbe5('0x16'));var logger=require(_0xbbe5('0x17'))(_0xbbe5('0x18'));var utils=require(_0xbbe5('0x19'));var config=require('../../config/environment');var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x2e9e38,_0x4bf0f0){_0x4bf0f0=_0x4bf0f0||0xcc;return function(_0x14d788){if(_0x14d788){return _0x2e9e38[_0xbbe5('0x1a')](_0x4bf0f0);}return _0x2e9e38[_0xbbe5('0x1b')](_0x4bf0f0)['end']();};}function respondWithResult(_0x410f39,_0x373de5){_0x373de5=_0x373de5||0xc8;return function(_0x270aad){if(_0x270aad){return _0x410f39[_0xbbe5('0x1b')](_0x373de5)['json'](_0x270aad);}};}function respondWithFilteredResult(_0x420c2d,_0x4db33b){return function(_0x37ee76){if(_0x37ee76){var _0x1032b7=_0x37ee76[_0xbbe5('0x1c')],_0x54c16b=_0x4db33b['offset'],_0x29ebc0=_0x4db33b[_0xbbe5('0x1d')]+_0x4db33b['limit'],_0x1370a9;if(_0x29ebc0>=_0x1032b7){_0x29ebc0=_0x1032b7;_0x1370a9=0xc8;}else{_0x1370a9=0xce;}_0x420c2d[_0xbbe5('0x1b')](_0x1370a9);return _0x420c2d[_0xbbe5('0x1e')](_0xbbe5('0x1f'),_0x54c16b+'-'+_0x29ebc0+'/'+_0x1032b7)[_0xbbe5('0x20')](_0x37ee76);}return null;};}function patchUpdates(_0x1d56be){return function(_0x4f6ebf){try{jsonpatch[_0xbbe5('0x21')](_0x4f6ebf,_0x1d56be,!![]);}catch(_0x43fdda){return BPromise[_0xbbe5('0x22')](_0x43fdda);}return _0x4f6ebf['save']();};}function saveUpdates(_0x493ea0,_0x53f883){return function(_0x5d5973){if(_0x5d5973){return _0x5d5973[_0xbbe5('0x23')](_0x493ea0)[_0xbbe5('0x24')](function(_0x2194ae){return _0x2194ae;});}return null;};}function removeEntity(_0x2a8729,_0x4d7541){return function(_0x45fc6d){if(_0x45fc6d){return _0x45fc6d[_0xbbe5('0x25')]()['then'](function(){var _0x1ea5df=_0x45fc6d[_0xbbe5('0x26')]({'plain':!![]});var _0x3d0426='CannedAnswers';return db[_0xbbe5('0x27')][_0xbbe5('0x25')]({'where':{'type':_0x3d0426,'resourceId':_0x1ea5df['id']}})['then'](function(){return _0x45fc6d;});})[_0xbbe5('0x24')](function(){_0x2a8729[_0xbbe5('0x1b')](0xcc)[_0xbbe5('0x28')]();});}};}function handleEntityNotFound(_0x518655,_0x162d1a){return function(_0x17101a){if(!_0x17101a){_0x518655['sendStatus'](0x194);}return _0x17101a;};}function handleError(_0x29a6ba,_0x31c0cc){_0x31c0cc=_0x31c0cc||0x1f4;return function(_0x3818c3){logger[_0xbbe5('0x29')](_0x3818c3[_0xbbe5('0x2a')]);if(_0x3818c3['name']){delete _0x3818c3[_0xbbe5('0x2b')];}_0x29a6ba['status'](_0x31c0cc)[_0xbbe5('0x2c')](_0x3818c3);};}exports[_0xbbe5('0x2d')]=function(_0xaa9123,_0x234182){var _0x1455e2={},_0x4c0f30={},_0x2ada64={'count':0x0,'rows':[]};var _0x2e010a=_[_0xbbe5('0x2e')](db['CannedAnswer']['rawAttributes'],function(_0x44e3e7){return{'name':_0x44e3e7['fieldName'],'type':_0x44e3e7[_0xbbe5('0x2f')][_0xbbe5('0x30')]};});_0x4c0f30[_0xbbe5('0x31')]=_[_0xbbe5('0x2e')](_0x2e010a,_0xbbe5('0x2b'));_0x4c0f30[_0xbbe5('0x32')]=_[_0xbbe5('0x33')](_0xaa9123[_0xbbe5('0x32')]);_0x4c0f30[_0xbbe5('0x34')]=_['intersection'](_0x4c0f30[_0xbbe5('0x31')],_0x4c0f30['query']);_0x1455e2[_0xbbe5('0x35')]=_['intersection'](_0x4c0f30['model'],qs['fields'](_0xaa9123[_0xbbe5('0x32')][_0xbbe5('0x36')]));_0x1455e2['attributes']=_0x1455e2[_0xbbe5('0x35')][_0xbbe5('0x37')]?_0x1455e2[_0xbbe5('0x35')]:_0x4c0f30[_0xbbe5('0x31')];if(!_0xaa9123['query'][_0xbbe5('0x38')](_0xbbe5('0x39'))){_0x1455e2[_0xbbe5('0x3a')]=qs[_0xbbe5('0x3a')](_0xaa9123['query'][_0xbbe5('0x3a')]);_0x1455e2['offset']=qs[_0xbbe5('0x1d')](_0xaa9123[_0xbbe5('0x32')][_0xbbe5('0x1d')]);}_0x1455e2[_0xbbe5('0x3b')]=qs[_0xbbe5('0x3c')](_0xaa9123['query'][_0xbbe5('0x3c')]);_0x1455e2[_0xbbe5('0x3d')]=qs[_0xbbe5('0x34')](_['pick'](_0xaa9123[_0xbbe5('0x32')],_0x4c0f30[_0xbbe5('0x34')]),_0x2e010a);if(_0xaa9123['query'][_0xbbe5('0x3e')]){_0x1455e2[_0xbbe5('0x3d')]=_[_0xbbe5('0x3f')](_0x1455e2[_0xbbe5('0x3d')],{'$or':_[_0xbbe5('0x2e')](_0x2e010a,function(_0x3bc049){if(_0x3bc049['type']!==_0xbbe5('0x40')){var _0x3b4590={};_0x3b4590[_0x3bc049['name']]={'$like':'%'+_0xaa9123[_0xbbe5('0x32')]['filter']+'%'};return _0x3b4590;}})});}_0x1455e2=_[_0xbbe5('0x3f')]({},_0x1455e2,_0xaa9123[_0xbbe5('0x41')]);var _0x5b45ff={'where':_0x1455e2[_0xbbe5('0x3d')]};return db[_0xbbe5('0x42')][_0xbbe5('0x1c')](_0x5b45ff)[_0xbbe5('0x24')](function(_0x265108){_0x2ada64[_0xbbe5('0x1c')]=_0x265108;if(_0xaa9123[_0xbbe5('0x32')]['includeAll']){_0x1455e2[_0xbbe5('0x43')]=[{'all':!![]}];}return db['CannedAnswer'][_0xbbe5('0x44')](_0x1455e2);})['then'](function(_0x543f57){_0x2ada64[_0xbbe5('0x45')]=_0x543f57;return _0x2ada64;})[_0xbbe5('0x24')](respondWithFilteredResult(_0x234182,_0x1455e2))['catch'](handleError(_0x234182,null));};exports['show']=function(_0x2f5664,_0xdd9bd){var _0x3d7068={'raw':!![],'where':{'id':_0x2f5664[_0xbbe5('0x46')]['id']}},_0x3b78ae={};_0x3b78ae['model']=_['keys'](db['CannedAnswer'][_0xbbe5('0x47')]);_0x3b78ae[_0xbbe5('0x32')]=_[_0xbbe5('0x33')](_0x2f5664['query']);_0x3b78ae['filters']=_[_0xbbe5('0x48')](_0x3b78ae['model'],_0x3b78ae[_0xbbe5('0x32')]);_0x3d7068['attributes']=_['intersection'](_0x3b78ae['model'],qs[_0xbbe5('0x36')](_0x2f5664[_0xbbe5('0x32')][_0xbbe5('0x36')]));_0x3d7068[_0xbbe5('0x35')]=_0x3d7068[_0xbbe5('0x35')][_0xbbe5('0x37')]?_0x3d7068['attributes']:_0x3b78ae[_0xbbe5('0x31')];if(_0x2f5664[_0xbbe5('0x32')][_0xbbe5('0x49')]){_0x3d7068[_0xbbe5('0x43')]=[{'all':!![]}];}_0x3d7068=_[_0xbbe5('0x3f')]({},_0x3d7068,_0x2f5664['options']);return db[_0xbbe5('0x42')][_0xbbe5('0x4a')](_0x3d7068)[_0xbbe5('0x24')](handleEntityNotFound(_0xdd9bd,null))[_0xbbe5('0x24')](respondWithResult(_0xdd9bd,null))[_0xbbe5('0x4b')](handleError(_0xdd9bd,null));};exports[_0xbbe5('0x23')]=function(_0x8ed020,_0x482cdf){if(_0x8ed020['body']['id']){delete _0x8ed020[_0xbbe5('0x4c')]['id'];}return db[_0xbbe5('0x42')][_0xbbe5('0x4a')]({'where':{'id':_0x8ed020[_0xbbe5('0x46')]['id']}})['then'](handleEntityNotFound(_0x482cdf,null))[_0xbbe5('0x24')](saveUpdates(_0x8ed020[_0xbbe5('0x4c')],null))['then'](respondWithResult(_0x482cdf,null))[_0xbbe5('0x4b')](handleError(_0x482cdf,null));};exports[_0xbbe5('0x25')]=function(_0x4945a7,_0x5d5ef5){return db[_0xbbe5('0x42')]['find']({'where':{'id':_0x4945a7['params']['id']}})['then'](handleEntityNotFound(_0x5d5ef5,null))['then'](removeEntity(_0x5d5ef5,null))['catch'](handleError(_0x5d5ef5,null));};exports[_0xbbe5('0x4d')]=function(_0x213446,_0x5a02b5){var _0x29846f={'key':_0x213446['body'][_0xbbe5('0x30')]};if(_0x213446[_0xbbe5('0x4c')]['MailAccountId']){_0x29846f[_0xbbe5('0x4e')]=_0x213446['body'][_0xbbe5('0x4e')];}else if(_0x213446[_0xbbe5('0x4c')][_0xbbe5('0x4f')]){_0x29846f['SmsAccountId']=_0x213446[_0xbbe5('0x4c')][_0xbbe5('0x4f')];}else if(_0x213446[_0xbbe5('0x4c')][_0xbbe5('0x50')]){_0x29846f[_0xbbe5('0x50')]=_0x213446[_0xbbe5('0x4c')]['OpenchannelAccountId'];}else if(_0x213446['body']['ChatWebsiteId']){_0x29846f[_0xbbe5('0x51')]=_0x213446['body'][_0xbbe5('0x51')];}return db[_0xbbe5('0x42')][_0xbbe5('0x4a')]({'where':_0x29846f})[_0xbbe5('0x24')](function(_0x1b05ba){if(_0x1b05ba){throw new db[(_0xbbe5('0x52'))][(_0xbbe5('0x53'))](_0xbbe5('0x54'));}return db['CannedAnswer'][_0xbbe5('0x4d')](_0x213446[_0xbbe5('0x4c')]);})[_0xbbe5('0x24')](function(_0x5f1ef9){var _0x1b1bc0=_0x213446[_0xbbe5('0x55')][_0xbbe5('0x26')]({'plain':!![]});if(!_0x1b1bc0)throw new Error(_0xbbe5('0x56'));if(_0x1b1bc0[_0xbbe5('0x57')]===_0xbbe5('0x55')){var _0x38e45b=_0x5f1ef9[_0xbbe5('0x26')]({'plain':!![]});return db[_0xbbe5('0x58')][_0xbbe5('0x4a')]({'where':{'name':_0xbbe5('0x59'),'userProfileId':_0x1b1bc0[_0xbbe5('0x5a')]},'raw':!![]})[_0xbbe5('0x24')](function(_0x15d753){if(_0x15d753&&_0x15d753[_0xbbe5('0x5b')]===0x0){return db[_0xbbe5('0x27')][_0xbbe5('0x4d')]({'name':_0x38e45b[_0xbbe5('0x2b')],'resourceId':_0x38e45b['id'],'type':_0x15d753['name'],'sectionId':_0x15d753['id']},{})[_0xbbe5('0x24')](function(){return _0x5f1ef9;});}else{return _0x5f1ef9;}})[_0xbbe5('0x4b')](function(_0x9eaa83){logger[_0xbbe5('0x29')]('Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s',_0x9eaa83);throw _0x9eaa83;});}return _0x5f1ef9;})[_0xbbe5('0x24')](respondWithResult(_0x5a02b5,0xc9))['catch'](handleError(_0x5a02b5,null));};