Built motion from commit (unavailable).|2.5.29
[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 _0xa44d=['reject','save','update','destroy','then','get','CannedAnswers','sendStatus','error','stack','name','send','map','fieldName','query','keys','filters','intersection','model','attributes','fields','hasOwnProperty','nolimit','order','where','pick','filter','merge','options','CannedAnswer','includeAll','include','findAll','rows','catch','rawAttributes','find','body','params','create','key','MailAccountId','SmsAccountId','OpenchannelAccountId','ChatWebsiteId','Sequelize','ValidationError','Unable\x20to\x20retrieve\x20the\x20current\x20user','UserProfileSection','autoAssociation','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','eml-format','rimraf','zip-dir','mustache','util','path','sox','to-csv','ejs','fs-extra','lodash','squel','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/logger','api','../../config/utils','../../mysqldb','status','end','undefined','limit','count','offset','set','json','apply'];(function(_0x1f618f,_0x6cd552){var _0xde7efa=function(_0x576ac8){while(--_0x576ac8){_0x1f618f['push'](_0x1f618f['shift']());}};_0xde7efa(++_0x6cd552);}(_0xa44d,0xdd));var _0xda44=function(_0x5a1a51,_0x144c79){_0x5a1a51=_0x5a1a51-0x0;var _0x47edd7=_0xa44d[_0x5a1a51];return _0x47edd7;};'use strict';var emlformat=require(_0xda44('0x0'));var rimraf=require(_0xda44('0x1'));var zipdir=require(_0xda44('0x2'));var jsonpatch=require('fast-json-patch');var rp=require('request-promise');var moment=require('moment');var BPromise=require('bluebird');var Mustache=require(_0xda44('0x3'));var util=require(_0xda44('0x4'));var path=require(_0xda44('0x5'));var sox=require(_0xda44('0x6'));var csv=require(_0xda44('0x7'));var ejs=require(_0xda44('0x8'));var fs=require('fs');var fs_extra=require(_0xda44('0x9'));var _=require(_0xda44('0xa'));var squel=require(_0xda44('0xb'));var crypto=require(_0xda44('0xc'));var jsforce=require(_0xda44('0xd'));var deskjs=require(_0xda44('0xe'));var toCsv=require(_0xda44('0x7'));var querystring=require(_0xda44('0xf'));var Papa=require(_0xda44('0x10'));var Redis=require(_0xda44('0x11'));var authService=require(_0xda44('0x12'));var qs=require(_0xda44('0x13'));var as=require(_0xda44('0x14'));var hardwareService=require('../../config/license/hardware');var logger=require(_0xda44('0x15'))(_0xda44('0x16'));var utils=require(_0xda44('0x17'));var config=require('../../config/environment');var licenseUtil=require('../../config/license/util');var db=require(_0xda44('0x18'))['db'];function respondWithStatusCode(_0x6695e9,_0xa593a0){_0xa593a0=_0xa593a0||0xcc;return function(_0x2f8f0e){if(_0x2f8f0e){return _0x6695e9['sendStatus'](_0xa593a0);}return _0x6695e9[_0xda44('0x19')](_0xa593a0)[_0xda44('0x1a')]();};}function respondWithResult(_0x5979a1,_0xfd380){_0xfd380=_0xfd380||0xc8;return function(_0x69c55a){if(_0x69c55a){return _0x5979a1['status'](_0xfd380)['json'](_0x69c55a);}};}function respondWithFilteredResult(_0x2032cf,_0x3bc53e){return function(_0x569e9f){if(_0x569e9f){var _0x7f9973=typeof _0x3bc53e['offset']===_0xda44('0x1b')&&typeof _0x3bc53e[_0xda44('0x1c')]===_0xda44('0x1b');var _0x530bdc=_0x569e9f[_0xda44('0x1d')];var _0x1049b2=_0x7f9973?0x0:_0x3bc53e[_0xda44('0x1e')];var _0x2b88d4=_0x7f9973?_0x569e9f[_0xda44('0x1d')]:_0x3bc53e['offset']+_0x3bc53e['limit'];var _0x35c875;if(_0x2b88d4>=_0x530bdc){_0x2b88d4=_0x530bdc;_0x35c875=0xc8;}else{_0x35c875=0xce;}_0x2032cf[_0xda44('0x19')](_0x35c875);return _0x2032cf[_0xda44('0x1f')]('Content-Range',_0x1049b2+'-'+_0x2b88d4+'/'+_0x530bdc)[_0xda44('0x20')](_0x569e9f);}return null;};}function patchUpdates(_0x3b9533){return function(_0x571b71){try{jsonpatch[_0xda44('0x21')](_0x571b71,_0x3b9533,!![]);}catch(_0x36e609){return BPromise[_0xda44('0x22')](_0x36e609);}return _0x571b71[_0xda44('0x23')]();};}function saveUpdates(_0x28f00a,_0x1ff244){return function(_0xeddf90){if(_0xeddf90){return _0xeddf90[_0xda44('0x24')](_0x28f00a)['then'](function(_0x243c07){return _0x243c07;});}return null;};}function removeEntity(_0x33b552,_0xe0dd22){return function(_0x15f23c){if(_0x15f23c){return _0x15f23c[_0xda44('0x25')]()[_0xda44('0x26')](function(){var _0x4ae414=_0x15f23c[_0xda44('0x27')]({'plain':!![]});var _0x47ec9e=_0xda44('0x28');return db['UserProfileResource'][_0xda44('0x25')]({'where':{'type':_0x47ec9e,'resourceId':_0x4ae414['id']}})['then'](function(){return _0x15f23c;});})['then'](function(){_0x33b552['status'](0xcc)[_0xda44('0x1a')]();});}};}function handleEntityNotFound(_0x5070b6,_0x5d89e9){return function(_0x58a09c){if(!_0x58a09c){_0x5070b6[_0xda44('0x29')](0x194);}return _0x58a09c;};}function handleError(_0x5f5b97,_0xbed90d){_0xbed90d=_0xbed90d||0x1f4;return function(_0x4b8785){logger[_0xda44('0x2a')](_0x4b8785[_0xda44('0x2b')]);if(_0x4b8785[_0xda44('0x2c')]){delete _0x4b8785[_0xda44('0x2c')];}_0x5f5b97['status'](_0xbed90d)[_0xda44('0x2d')](_0x4b8785);};}exports['index']=function(_0x13cc43,_0x5e8e8b){var _0x3d1c09={},_0x54188b={},_0x6b0b4f={'count':0x0,'rows':[]};var _0x2838d5=_[_0xda44('0x2e')](db['CannedAnswer']['rawAttributes'],function(_0x25cec6){return{'name':_0x25cec6[_0xda44('0x2f')],'type':_0x25cec6['type']['key']};});_0x54188b['model']=_['map'](_0x2838d5,_0xda44('0x2c'));_0x54188b[_0xda44('0x30')]=_[_0xda44('0x31')](_0x13cc43[_0xda44('0x30')]);_0x54188b[_0xda44('0x32')]=_[_0xda44('0x33')](_0x54188b[_0xda44('0x34')],_0x54188b[_0xda44('0x30')]);_0x3d1c09[_0xda44('0x35')]=_[_0xda44('0x33')](_0x54188b['model'],qs[_0xda44('0x36')](_0x13cc43[_0xda44('0x30')][_0xda44('0x36')]));_0x3d1c09[_0xda44('0x35')]=_0x3d1c09['attributes']['length']?_0x3d1c09[_0xda44('0x35')]:_0x54188b[_0xda44('0x34')];if(!_0x13cc43[_0xda44('0x30')][_0xda44('0x37')](_0xda44('0x38'))){_0x3d1c09[_0xda44('0x1c')]=qs[_0xda44('0x1c')](_0x13cc43[_0xda44('0x30')][_0xda44('0x1c')]);_0x3d1c09[_0xda44('0x1e')]=qs[_0xda44('0x1e')](_0x13cc43[_0xda44('0x30')]['offset']);}_0x3d1c09[_0xda44('0x39')]=qs['sort'](_0x13cc43[_0xda44('0x30')]['sort']);_0x3d1c09[_0xda44('0x3a')]=qs[_0xda44('0x32')](_[_0xda44('0x3b')](_0x13cc43['query'],_0x54188b[_0xda44('0x32')]),_0x2838d5);if(_0x13cc43[_0xda44('0x30')][_0xda44('0x3c')]){_0x3d1c09[_0xda44('0x3a')]=_[_0xda44('0x3d')](_0x3d1c09[_0xda44('0x3a')],{'$or':[{'key':{'$like':'%'+_0x13cc43[_0xda44('0x30')][_0xda44('0x3c')]+'%'}},{'value':{'$like':'%'+_0x13cc43['query'][_0xda44('0x3c')]+'%'}}]});}_0x3d1c09=_[_0xda44('0x3d')]({},_0x3d1c09,_0x13cc43[_0xda44('0x3e')]);var _0x45e9c5={'where':_0x3d1c09[_0xda44('0x3a')]};return db[_0xda44('0x3f')][_0xda44('0x1d')](_0x45e9c5)[_0xda44('0x26')](function(_0x1162e8){_0x6b0b4f[_0xda44('0x1d')]=_0x1162e8;if(_0x13cc43[_0xda44('0x30')][_0xda44('0x40')]){_0x3d1c09[_0xda44('0x41')]=[{'all':!![]}];}return db[_0xda44('0x3f')][_0xda44('0x42')](_0x3d1c09);})[_0xda44('0x26')](function(_0x43317b){_0x6b0b4f[_0xda44('0x43')]=_0x43317b;return _0x6b0b4f;})[_0xda44('0x26')](respondWithFilteredResult(_0x5e8e8b,_0x3d1c09))[_0xda44('0x44')](handleError(_0x5e8e8b,null));};exports['show']=function(_0x3739b1,_0x5ebf48){var _0x4fd7d6={'raw':!![],'where':{'id':_0x3739b1['params']['id']}},_0x3f0adb={};_0x3f0adb[_0xda44('0x34')]=_[_0xda44('0x31')](db['CannedAnswer'][_0xda44('0x45')]);_0x3f0adb[_0xda44('0x30')]=_[_0xda44('0x31')](_0x3739b1[_0xda44('0x30')]);_0x3f0adb[_0xda44('0x32')]=_[_0xda44('0x33')](_0x3f0adb['model'],_0x3f0adb[_0xda44('0x30')]);_0x4fd7d6[_0xda44('0x35')]=_[_0xda44('0x33')](_0x3f0adb[_0xda44('0x34')],qs[_0xda44('0x36')](_0x3739b1[_0xda44('0x30')]['fields']));_0x4fd7d6[_0xda44('0x35')]=_0x4fd7d6[_0xda44('0x35')]['length']?_0x4fd7d6['attributes']:_0x3f0adb[_0xda44('0x34')];if(_0x3739b1['query']['includeAll']){_0x4fd7d6['include']=[{'all':!![]}];}_0x4fd7d6=_['merge']({},_0x4fd7d6,_0x3739b1[_0xda44('0x3e')]);return db[_0xda44('0x3f')][_0xda44('0x46')](_0x4fd7d6)[_0xda44('0x26')](handleEntityNotFound(_0x5ebf48,null))[_0xda44('0x26')](respondWithResult(_0x5ebf48,null))[_0xda44('0x44')](handleError(_0x5ebf48,null));};exports['update']=function(_0xe0c765,_0x40b2b3){if(_0xe0c765[_0xda44('0x47')]['id']){delete _0xe0c765['body']['id'];}return db[_0xda44('0x3f')][_0xda44('0x46')]({'where':{'id':_0xe0c765[_0xda44('0x48')]['id']}})[_0xda44('0x26')](handleEntityNotFound(_0x40b2b3,null))[_0xda44('0x26')](saveUpdates(_0xe0c765[_0xda44('0x47')],null))[_0xda44('0x26')](respondWithResult(_0x40b2b3,null))[_0xda44('0x44')](handleError(_0x40b2b3,null));};exports[_0xda44('0x25')]=function(_0x1599d0,_0x69af46){return db['CannedAnswer'][_0xda44('0x46')]({'where':{'id':_0x1599d0[_0xda44('0x48')]['id']}})[_0xda44('0x26')](handleEntityNotFound(_0x69af46,null))['then'](removeEntity(_0x69af46,null))[_0xda44('0x44')](handleError(_0x69af46,null));};exports[_0xda44('0x49')]=function(_0x4000ca,_0x24a88e){var _0x10f752={'key':_0x4000ca['body'][_0xda44('0x4a')]};if(_0x4000ca[_0xda44('0x47')][_0xda44('0x4b')]){_0x10f752[_0xda44('0x4b')]=_0x4000ca[_0xda44('0x47')]['MailAccountId'];}else if(_0x4000ca[_0xda44('0x47')][_0xda44('0x4c')]){_0x10f752['SmsAccountId']=_0x4000ca[_0xda44('0x47')][_0xda44('0x4c')];}else if(_0x4000ca[_0xda44('0x47')]['OpenchannelAccountId']){_0x10f752[_0xda44('0x4d')]=_0x4000ca[_0xda44('0x47')][_0xda44('0x4d')];}else if(_0x4000ca[_0xda44('0x47')]['ChatWebsiteId']){_0x10f752[_0xda44('0x4e')]=_0x4000ca['body']['ChatWebsiteId'];}return db['CannedAnswer'][_0xda44('0x46')]({'where':_0x10f752})[_0xda44('0x26')](function(_0x8a3af6){if(_0x8a3af6){throw new db[(_0xda44('0x4f'))][(_0xda44('0x50'))]('The\x20inserted\x20key\x20already\x20exists.');}return db[_0xda44('0x3f')][_0xda44('0x49')](_0x4000ca[_0xda44('0x47')]);})[_0xda44('0x26')](function(_0x2c24f7){var _0x5c3577=_0x4000ca['user']['get']({'plain':!![]});if(!_0x5c3577)throw new Error(_0xda44('0x51'));if(_0x5c3577['role']==='user'){var _0x10d537=_0x2c24f7[_0xda44('0x27')]({'plain':!![]});return db[_0xda44('0x52')][_0xda44('0x46')]({'where':{'name':_0xda44('0x28'),'userProfileId':_0x5c3577['userProfileId']},'raw':!![]})['then'](function(_0x3bcc2b){if(_0x3bcc2b&&_0x3bcc2b[_0xda44('0x53')]===0x0){return db['UserProfileResource'][_0xda44('0x49')]({'name':_0x10d537[_0xda44('0x2c')],'resourceId':_0x10d537['id'],'type':_0x3bcc2b[_0xda44('0x2c')],'sectionId':_0x3bcc2b['id']},{})[_0xda44('0x26')](function(){return _0x2c24f7;});}else{return _0x2c24f7;}})[_0xda44('0x44')](function(_0x599f67){logger[_0xda44('0x2a')](_0xda44('0x54'),_0x599f67);throw _0x599f67;});}return _0x2c24f7;})['then'](respondWithResult(_0x24a88e,0xc9))[_0xda44('0x44')](handleError(_0x24a88e,null));};