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 _0x9d14=['OpenchannelAccountId','ChatWebsiteId','Sequelize','ValidationError','The\x20inserted\x20key\x20already\x20exists.','create','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','UserProfileSection','userProfileId','autoAssociation','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','html-pdf','eml-format','fast-json-patch','moment','mustache','path','to-csv','ejs','crypto','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../mysqldb','sendStatus','status','end','json','offset','limit','set','reject','save','destroy','then','get','CannedAnswers','UserProfileResource','error','stack','name','send','index','map','CannedAnswer','fieldName','type','key','model','query','keys','filters','intersection','fields','attributes','length','hasOwnProperty','sort','where','pick','filter','merge','VIRTUAL','options','count','include','rows','catch','show','rawAttributes','includeAll','find','update','body','params','MailAccountId','SmsAccountId'];(function(_0x2ada78,_0x19ca32){var _0x19ed6d=function(_0x357aed){while(--_0x357aed){_0x2ada78['push'](_0x2ada78['shift']());}};_0x19ed6d(++_0x19ca32);}(_0x9d14,0x65));var _0x49d1=function(_0x120139,_0x51160e){_0x120139=_0x120139-0x0;var _0x183f8c=_0x9d14[_0x120139];return _0x183f8c;};'use strict';var pdf=require(_0x49d1('0x0'));var emlformat=require(_0x49d1('0x1'));var rimraf=require('rimraf');var zipdir=require('zip-dir');var jsonpatch=require(_0x49d1('0x2'));var rp=require('request-promise');var moment=require(_0x49d1('0x3'));var BPromise=require('bluebird');var Mustache=require(_0x49d1('0x4'));var util=require('util');var path=require(_0x49d1('0x5'));var sox=require('sox');var csv=require(_0x49d1('0x6'));var ejs=require(_0x49d1('0x7'));var fs=require('fs');var _=require('lodash');var squel=require('squel');var crypto=require(_0x49d1('0x8'));var jsforce=require('jsforce');var deskjs=require(_0x49d1('0x9'));var toCsv=require('to-csv');var querystring=require(_0x49d1('0xa'));var Papa=require(_0x49d1('0xb'));var Redis=require(_0x49d1('0xc'));var authService=require(_0x49d1('0xd'));var qs=require(_0x49d1('0xe'));var as=require(_0x49d1('0xf'));var hardwareService=require(_0x49d1('0x10'));var logger=require(_0x49d1('0x11'))(_0x49d1('0x12'));var utils=require(_0x49d1('0x13'));var config=require(_0x49d1('0x14'));var db=require(_0x49d1('0x15'))['db'];function respondWithStatusCode(_0x4f75a3,_0x439a18){_0x439a18=_0x439a18||0xcc;return function(_0x5907d1){if(_0x5907d1){return _0x4f75a3[_0x49d1('0x16')](_0x439a18);}return _0x4f75a3[_0x49d1('0x17')](_0x439a18)[_0x49d1('0x18')]();};}function respondWithResult(_0x258e82,_0x114bee){_0x114bee=_0x114bee||0xc8;return function(_0x39b0c5){if(_0x39b0c5){return _0x258e82[_0x49d1('0x17')](_0x114bee)[_0x49d1('0x19')](_0x39b0c5);}};}function respondWithFilteredResult(_0xf2f82c,_0x4a969d){return function(_0x1f7216){if(_0x1f7216){var _0x3b6388=_0x1f7216['count'],_0x6ddcf8=_0x4a969d[_0x49d1('0x1a')],_0xa323e0=_0x4a969d[_0x49d1('0x1a')]+_0x4a969d[_0x49d1('0x1b')],_0x83d320;if(_0xa323e0>=_0x3b6388){_0xa323e0=_0x3b6388;_0x83d320=0xc8;}else{_0x83d320=0xce;}_0xf2f82c[_0x49d1('0x17')](_0x83d320);return _0xf2f82c[_0x49d1('0x1c')]('Content-Range',_0x6ddcf8+'-'+_0xa323e0+'/'+_0x3b6388)[_0x49d1('0x19')](_0x1f7216);}return null;};}function patchUpdates(_0x3082d8){return function(_0x56df1b){try{jsonpatch['apply'](_0x56df1b,_0x3082d8,!![]);}catch(_0x2f2e18){return BPromise[_0x49d1('0x1d')](_0x2f2e18);}return _0x56df1b[_0x49d1('0x1e')]();};}function saveUpdates(_0x56c4de,_0x2d5ce4){return function(_0x52cb16){if(_0x52cb16){return _0x52cb16['update'](_0x56c4de)['then'](function(_0x2ac29a){return _0x2ac29a;});}return null;};}function removeEntity(_0x1db055,_0xecb36){return function(_0x5d8c2b){if(_0x5d8c2b){return _0x5d8c2b[_0x49d1('0x1f')]()[_0x49d1('0x20')](function(){var _0x703d2d=_0x5d8c2b[_0x49d1('0x21')]({'plain':!![]});var _0x24b01a=_0x49d1('0x22');return db[_0x49d1('0x23')][_0x49d1('0x1f')]({'where':{'type':_0x24b01a,'resourceId':_0x703d2d['id']}})[_0x49d1('0x20')](function(){return _0x5d8c2b;});})['then'](function(){_0x1db055[_0x49d1('0x17')](0xcc)[_0x49d1('0x18')]();});}};}function handleEntityNotFound(_0x5cd1e5,_0x4e8301){return function(_0x5d0285){if(!_0x5d0285){_0x5cd1e5[_0x49d1('0x16')](0x194);}return _0x5d0285;};}function handleError(_0xd6ed24,_0x4a1f57){_0x4a1f57=_0x4a1f57||0x1f4;return function(_0x2ba795){logger[_0x49d1('0x24')](_0x2ba795[_0x49d1('0x25')]);if(_0x2ba795['name']){delete _0x2ba795[_0x49d1('0x26')];}_0xd6ed24[_0x49d1('0x17')](_0x4a1f57)[_0x49d1('0x27')](_0x2ba795);};}exports[_0x49d1('0x28')]=function(_0x3889a8,_0x3ab5f0){var _0x4b86e4={},_0x3bc5dc={},_0x1116da={'count':0x0,'rows':[]};var _0x2bf81c=_[_0x49d1('0x29')](db[_0x49d1('0x2a')]['rawAttributes'],function(_0x5227ac){return{'name':_0x5227ac[_0x49d1('0x2b')],'type':_0x5227ac[_0x49d1('0x2c')][_0x49d1('0x2d')]};});_0x3bc5dc[_0x49d1('0x2e')]=_[_0x49d1('0x29')](_0x2bf81c,_0x49d1('0x26'));_0x3bc5dc[_0x49d1('0x2f')]=_[_0x49d1('0x30')](_0x3889a8['query']);_0x3bc5dc[_0x49d1('0x31')]=_[_0x49d1('0x32')](_0x3bc5dc[_0x49d1('0x2e')],_0x3bc5dc[_0x49d1('0x2f')]);_0x4b86e4['attributes']=_['intersection'](_0x3bc5dc[_0x49d1('0x2e')],qs[_0x49d1('0x33')](_0x3889a8['query'][_0x49d1('0x33')]));_0x4b86e4[_0x49d1('0x34')]=_0x4b86e4[_0x49d1('0x34')][_0x49d1('0x35')]?_0x4b86e4[_0x49d1('0x34')]:_0x3bc5dc[_0x49d1('0x2e')];if(!_0x3889a8[_0x49d1('0x2f')][_0x49d1('0x36')]('nolimit')){_0x4b86e4[_0x49d1('0x1b')]=qs[_0x49d1('0x1b')](_0x3889a8[_0x49d1('0x2f')][_0x49d1('0x1b')]);_0x4b86e4['offset']=qs['offset'](_0x3889a8[_0x49d1('0x2f')][_0x49d1('0x1a')]);}_0x4b86e4['order']=qs[_0x49d1('0x37')](_0x3889a8[_0x49d1('0x2f')][_0x49d1('0x37')]);_0x4b86e4[_0x49d1('0x38')]=qs[_0x49d1('0x31')](_[_0x49d1('0x39')](_0x3889a8[_0x49d1('0x2f')],_0x3bc5dc[_0x49d1('0x31')]),_0x2bf81c);if(_0x3889a8[_0x49d1('0x2f')][_0x49d1('0x3a')]){_0x4b86e4[_0x49d1('0x38')]=_[_0x49d1('0x3b')](_0x4b86e4[_0x49d1('0x38')],{'$or':_[_0x49d1('0x29')](_0x2bf81c,function(_0x228ff9){if(_0x228ff9[_0x49d1('0x2c')]!==_0x49d1('0x3c')){var _0xee6981={};_0xee6981[_0x228ff9[_0x49d1('0x26')]]={'$like':'%'+_0x3889a8['query'][_0x49d1('0x3a')]+'%'};return _0xee6981;}})});}_0x4b86e4=_[_0x49d1('0x3b')]({},_0x4b86e4,_0x3889a8[_0x49d1('0x3d')]);var _0x1089f5={'where':_0x4b86e4[_0x49d1('0x38')]};return db[_0x49d1('0x2a')][_0x49d1('0x3e')](_0x1089f5)[_0x49d1('0x20')](function(_0x23b1f5){_0x1116da[_0x49d1('0x3e')]=_0x23b1f5;if(_0x3889a8[_0x49d1('0x2f')]['includeAll']){_0x4b86e4[_0x49d1('0x3f')]=[{'all':!![]}];}return db[_0x49d1('0x2a')]['findAll'](_0x4b86e4);})[_0x49d1('0x20')](function(_0x2c1fef){_0x1116da[_0x49d1('0x40')]=_0x2c1fef;return _0x1116da;})[_0x49d1('0x20')](respondWithFilteredResult(_0x3ab5f0,_0x4b86e4))[_0x49d1('0x41')](handleError(_0x3ab5f0,null));};exports[_0x49d1('0x42')]=function(_0x52b491,_0x4f1421){var _0x492667={'raw':!![],'where':{'id':_0x52b491['params']['id']}},_0x5d8c4d={};_0x5d8c4d[_0x49d1('0x2e')]=_[_0x49d1('0x30')](db[_0x49d1('0x2a')][_0x49d1('0x43')]);_0x5d8c4d[_0x49d1('0x2f')]=_['keys'](_0x52b491[_0x49d1('0x2f')]);_0x5d8c4d[_0x49d1('0x31')]=_['intersection'](_0x5d8c4d[_0x49d1('0x2e')],_0x5d8c4d['query']);_0x492667[_0x49d1('0x34')]=_[_0x49d1('0x32')](_0x5d8c4d['model'],qs[_0x49d1('0x33')](_0x52b491[_0x49d1('0x2f')]['fields']));_0x492667[_0x49d1('0x34')]=_0x492667[_0x49d1('0x34')][_0x49d1('0x35')]?_0x492667[_0x49d1('0x34')]:_0x5d8c4d[_0x49d1('0x2e')];if(_0x52b491[_0x49d1('0x2f')][_0x49d1('0x44')]){_0x492667[_0x49d1('0x3f')]=[{'all':!![]}];}_0x492667=_[_0x49d1('0x3b')]({},_0x492667,_0x52b491[_0x49d1('0x3d')]);return db[_0x49d1('0x2a')][_0x49d1('0x45')](_0x492667)['then'](handleEntityNotFound(_0x4f1421,null))[_0x49d1('0x20')](respondWithResult(_0x4f1421,null))['catch'](handleError(_0x4f1421,null));};exports[_0x49d1('0x46')]=function(_0x39a583,_0x37854e){if(_0x39a583['body']['id']){delete _0x39a583[_0x49d1('0x47')]['id'];}return db[_0x49d1('0x2a')][_0x49d1('0x45')]({'where':{'id':_0x39a583[_0x49d1('0x48')]['id']}})[_0x49d1('0x20')](handleEntityNotFound(_0x37854e,null))[_0x49d1('0x20')](saveUpdates(_0x39a583[_0x49d1('0x47')],null))[_0x49d1('0x20')](respondWithResult(_0x37854e,null))[_0x49d1('0x41')](handleError(_0x37854e,null));};exports['destroy']=function(_0x3c15b8,_0xfcb4f0){return db[_0x49d1('0x2a')][_0x49d1('0x45')]({'where':{'id':_0x3c15b8[_0x49d1('0x48')]['id']}})['then'](handleEntityNotFound(_0xfcb4f0,null))['then'](removeEntity(_0xfcb4f0,null))[_0x49d1('0x41')](handleError(_0xfcb4f0,null));};exports['create']=function(_0x55619f,_0xf30351){var _0x2c2a21={'key':_0x55619f['body'][_0x49d1('0x2d')]};if(_0x55619f[_0x49d1('0x47')][_0x49d1('0x49')]){_0x2c2a21[_0x49d1('0x49')]=_0x55619f[_0x49d1('0x47')][_0x49d1('0x49')];}else if(_0x55619f[_0x49d1('0x47')][_0x49d1('0x4a')]){_0x2c2a21['SmsAccountId']=_0x55619f[_0x49d1('0x47')][_0x49d1('0x4a')];}else if(_0x55619f[_0x49d1('0x47')][_0x49d1('0x4b')]){_0x2c2a21[_0x49d1('0x4b')]=_0x55619f[_0x49d1('0x47')][_0x49d1('0x4b')];}else if(_0x55619f['body'][_0x49d1('0x4c')]){_0x2c2a21[_0x49d1('0x4c')]=_0x55619f[_0x49d1('0x47')][_0x49d1('0x4c')];}return db['CannedAnswer'][_0x49d1('0x45')]({'where':_0x2c2a21})['then'](function(_0x1955bd){if(_0x1955bd){throw new db[(_0x49d1('0x4d'))][(_0x49d1('0x4e'))](_0x49d1('0x4f'));}return db['CannedAnswer'][_0x49d1('0x50')](_0x55619f[_0x49d1('0x47')]);})['then'](function(_0x3438fd){var _0x3e8305=_0x55619f[_0x49d1('0x51')][_0x49d1('0x21')]({'plain':!![]});if(!_0x3e8305)throw new Error(_0x49d1('0x52'));if(_0x3e8305[_0x49d1('0x53')]===_0x49d1('0x51')){var _0x362410=_0x3438fd[_0x49d1('0x21')]({'plain':!![]});return db[_0x49d1('0x54')][_0x49d1('0x45')]({'where':{'name':_0x49d1('0x22'),'userProfileId':_0x3e8305[_0x49d1('0x55')]},'raw':!![]})[_0x49d1('0x20')](function(_0x3b4050){if(_0x3b4050&&_0x3b4050[_0x49d1('0x56')]===0x0){return db['UserProfileResource'][_0x49d1('0x50')]({'name':_0x362410[_0x49d1('0x26')],'resourceId':_0x362410['id'],'type':_0x3b4050[_0x49d1('0x26')],'sectionId':_0x3b4050['id']},{})[_0x49d1('0x20')](function(){return _0x3438fd;});}else{return _0x3438fd;}})[_0x49d1('0x41')](function(_0x3920e4){logger[_0x49d1('0x24')](_0x49d1('0x57'),_0x3920e4);throw _0x3920e4;});}return _0x3438fd;})['then'](respondWithResult(_0xf30351,0xc9))[_0x49d1('0x41')](handleError(_0xf30351,null));};