Built motion from commit (unavailable).|2.2.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 _0x8548=['pick','add','day','merge','filter','map','type','VIRTUAL','field','CannedAnswer','includeAll','findAll','rows','catch','params','include','options','find','body','key','MailAccountId','SmsAccountId','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','rimraf','fast-json-patch','moment','mustache','path','sox','to-csv','ejs','lodash','squel','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/parsers/qs','../../config/logger','api','../../config/utils','../../mysqldb','sendStatus','status','end','json','count','offset','limit','set','Content-Range','reject','save','then','destroy','get','UserProfileResource','error','stack','name','rawAttributes','model','query','dateStart','dateEnd','keys','filters','intersection','attributes','fields','length','nolimit','order','sort','where'];(function(_0x437bb4,_0x1e5e6b){var _0x53e6f7=function(_0x24f95a){while(--_0x24f95a){_0x437bb4['push'](_0x437bb4['shift']());}};_0x53e6f7(++_0x1e5e6b);}(_0x8548,0x18f));var _0x8854=function(_0x334c85,_0x13ad0d){_0x334c85=_0x334c85-0x0;var _0xa44f37=_0x8548[_0x334c85];return _0xa44f37;};'use strict';var pdf=require(_0x8854('0x0'));var emlformat=require(_0x8854('0x1'));var rimraf=require(_0x8854('0x2'));var zipdir=require('zip-dir');var jsonpatch=require(_0x8854('0x3'));var rp=require('request-promise');var moment=require(_0x8854('0x4'));var BPromise=require('bluebird');var Mustache=require(_0x8854('0x5'));var util=require('util');var path=require(_0x8854('0x6'));var sox=require(_0x8854('0x7'));var csv=require(_0x8854('0x8'));var ejs=require(_0x8854('0x9'));var fs=require('fs');var _=require(_0x8854('0xa'));var squel=require(_0x8854('0xb'));var crypto=require(_0x8854('0xc'));var jsforce=require(_0x8854('0xd'));var deskjs=require(_0x8854('0xe'));var toCsv=require('to-csv');var querystring=require(_0x8854('0xf'));var Papa=require(_0x8854('0x10'));var Redis=require(_0x8854('0x11'));var qs=require(_0x8854('0x12'));var logger=require(_0x8854('0x13'))(_0x8854('0x14'));var utils=require(_0x8854('0x15'));var config=require('../../config/environment');var db=require(_0x8854('0x16'))['db'];function respondWithStatusCode(_0xe3e114,_0xda26e0){_0xda26e0=_0xda26e0||0xcc;return function(_0x38cdf3){if(_0x38cdf3){return _0xe3e114[_0x8854('0x17')](_0xda26e0);}return _0xe3e114[_0x8854('0x18')](_0xda26e0)[_0x8854('0x19')]();};}function respondWithResult(_0x3ef8de,_0x2f9bc9){_0x2f9bc9=_0x2f9bc9||0xc8;return function(_0x123653){if(_0x123653){return _0x3ef8de['status'](_0x2f9bc9)[_0x8854('0x1a')](_0x123653);}};}function respondWithFilteredResult(_0x420bec,_0x44943e){return function(_0x9e49b6){if(_0x9e49b6){var _0x565178=_0x9e49b6[_0x8854('0x1b')],_0x13c03d=_0x44943e['offset'],_0x2746a0=_0x44943e[_0x8854('0x1c')]+_0x44943e[_0x8854('0x1d')],_0x114049;if(_0x2746a0>=_0x565178){_0x2746a0=_0x565178;_0x114049=0xc8;}else{_0x114049=0xce;}_0x420bec[_0x8854('0x18')](_0x114049);return _0x420bec[_0x8854('0x1e')](_0x8854('0x1f'),_0x13c03d+'-'+_0x2746a0+'/'+_0x565178)[_0x8854('0x1a')](_0x9e49b6);}return null;};}function patchUpdates(_0x3f1e94){return function(_0x21efa9){try{jsonpatch['apply'](_0x21efa9,_0x3f1e94,!![]);}catch(_0x11b956){return BPromise[_0x8854('0x20')](_0x11b956);}return _0x21efa9[_0x8854('0x21')]();};}function saveUpdates(_0x84786,_0x595f7c){return function(_0x301994){if(_0x301994){return _0x301994['update'](_0x84786)[_0x8854('0x22')](function(_0x493e46){return _0x493e46;});}return null;};}function removeEntity(_0x47115f,_0x26174a){return function(_0x125fc0){if(_0x125fc0){return _0x125fc0[_0x8854('0x23')]()[_0x8854('0x22')](function(){var _0x191056=_0x125fc0[_0x8854('0x24')]({'plain':!![]});var _0x19442b='CannedAnswers';return db[_0x8854('0x25')][_0x8854('0x23')]({'where':{'type':_0x19442b,'resourceId':_0x191056['id']}})['then'](function(){return _0x125fc0;});})[_0x8854('0x22')](function(){_0x47115f[_0x8854('0x18')](0xcc)[_0x8854('0x19')]();});}};}function handleEntityNotFound(_0x2c1e16,_0x514601){return function(_0x547b49){if(!_0x547b49){_0x2c1e16['sendStatus'](0x194);}return _0x547b49;};}function handleError(_0x988067,_0xd7e318){_0xd7e318=_0xd7e318||0x1f4;return function(_0x344cb5){logger[_0x8854('0x26')](_0x344cb5[_0x8854('0x27')]);if(_0x344cb5[_0x8854('0x28')]){delete _0x344cb5[_0x8854('0x28')];}_0x988067[_0x8854('0x18')](_0xd7e318)['send'](_0x344cb5);};}exports['index']=function(_0x3c42f6,_0x4ad191){var _0x16a2df={},_0x40b548={},_0x4031de={'count':0x0,'rows':[]};var _0x1ddc33=db['CannedAnswer'][_0x8854('0x29')];_0x40b548[_0x8854('0x2a')]=_['keys'](_0x1ddc33);var _0x4847a6={'dateStart':_0x3c42f6[_0x8854('0x2b')][_0x8854('0x2c')],'dateEnd':_0x3c42f6[_0x8854('0x2b')][_0x8854('0x2d')]};delete _0x3c42f6['query'][_0x8854('0x2c')];delete _0x3c42f6['query']['dateEnd'];_0x40b548['query']=_[_0x8854('0x2e')](_0x3c42f6[_0x8854('0x2b')]);_0x40b548[_0x8854('0x2f')]=_[_0x8854('0x30')](_0x40b548['model'],_0x40b548[_0x8854('0x2b')]);_0x16a2df[_0x8854('0x31')]=_[_0x8854('0x30')](_0x40b548['model'],qs[_0x8854('0x32')](_0x3c42f6[_0x8854('0x2b')]['fields']));_0x16a2df[_0x8854('0x31')]=_0x16a2df[_0x8854('0x31')][_0x8854('0x33')]?_0x16a2df['attributes']:_0x40b548[_0x8854('0x2a')];if(!_0x3c42f6[_0x8854('0x2b')]['hasOwnProperty'](_0x8854('0x34'))){_0x16a2df[_0x8854('0x1d')]=qs['limit'](_0x3c42f6['query'][_0x8854('0x1d')]);_0x16a2df[_0x8854('0x1c')]=qs[_0x8854('0x1c')](_0x3c42f6[_0x8854('0x2b')]['offset']);}_0x16a2df[_0x8854('0x35')]=qs[_0x8854('0x36')](_0x3c42f6['query']['sort']);_0x16a2df[_0x8854('0x37')]=qs[_0x8854('0x2f')](_[_0x8854('0x38')](_0x3c42f6[_0x8854('0x2b')],_0x40b548[_0x8854('0x2f')]));if(_0x4847a6[_0x8854('0x2c')]){if(_0x4847a6[_0x8854('0x2d')]){_0x4847a6[_0x8854('0x2d')]=moment(_0x4847a6['dateEnd'])[_0x8854('0x39')](0x1,'day');}else{_0x4847a6[_0x8854('0x2d')]=moment(_0x4847a6[_0x8854('0x2c')])[_0x8854('0x39')](0x1,_0x8854('0x3a'));}_[_0x8854('0x3b')](_0x16a2df['where'],{'createdAt':{'$gte':_0x4847a6[_0x8854('0x2c')],'$lte':_0x4847a6[_0x8854('0x2d')]}});}if(_0x3c42f6[_0x8854('0x2b')][_0x8854('0x3c')]){_0x16a2df[_0x8854('0x37')]=_[_0x8854('0x3b')](_0x16a2df[_0x8854('0x37')],{'$or':_[_0x8854('0x3d')](_0x1ddc33,function(_0x4f9560){if(_0x4f9560[_0x8854('0x3e')]['key']!==_0x8854('0x3f')){var _0xe88005={};_0xe88005[_0x4f9560[_0x8854('0x40')]]={'$like':'%'+_0x3c42f6[_0x8854('0x2b')][_0x8854('0x3c')]+'%'};return _0xe88005;}})});}_0x16a2df=_['merge']({},_0x16a2df,_0x3c42f6['options']);var _0x16a6e0={'where':_0x16a2df[_0x8854('0x37')]};return db[_0x8854('0x41')][_0x8854('0x1b')](_0x16a6e0)[_0x8854('0x22')](function(_0x1177f2){_0x4031de[_0x8854('0x1b')]=_0x1177f2;if(_0x3c42f6[_0x8854('0x2b')][_0x8854('0x42')]){_0x16a2df['include']=[{'all':!![]}];}return db[_0x8854('0x41')][_0x8854('0x43')](_0x16a2df);})[_0x8854('0x22')](function(_0x1807ba){_0x4031de[_0x8854('0x44')]=_0x1807ba;return _0x4031de;})[_0x8854('0x22')](respondWithFilteredResult(_0x4ad191,_0x16a2df))[_0x8854('0x45')](handleError(_0x4ad191,null));};exports['show']=function(_0x15a525,_0x2e9b2b){var _0xc41ca7={'raw':!![],'where':{'id':_0x15a525[_0x8854('0x46')]['id']}},_0x5ad3fa={};_0x5ad3fa['model']=_[_0x8854('0x2e')](db[_0x8854('0x41')][_0x8854('0x29')]);_0x5ad3fa[_0x8854('0x2b')]=_[_0x8854('0x2e')](_0x15a525['query']);_0x5ad3fa[_0x8854('0x2f')]=_[_0x8854('0x30')](_0x5ad3fa['model'],_0x5ad3fa[_0x8854('0x2b')]);_0xc41ca7[_0x8854('0x31')]=_[_0x8854('0x30')](_0x5ad3fa['model'],qs['fields'](_0x15a525['query']['fields']));_0xc41ca7['attributes']=_0xc41ca7[_0x8854('0x31')][_0x8854('0x33')]?_0xc41ca7[_0x8854('0x31')]:_0x5ad3fa[_0x8854('0x2a')];if(_0x15a525[_0x8854('0x2b')][_0x8854('0x42')]){_0xc41ca7[_0x8854('0x47')]=[{'all':!![]}];}_0xc41ca7=_['merge']({},_0xc41ca7,_0x15a525[_0x8854('0x48')]);return db['CannedAnswer'][_0x8854('0x49')](_0xc41ca7)[_0x8854('0x22')](handleEntityNotFound(_0x2e9b2b,null))[_0x8854('0x22')](respondWithResult(_0x2e9b2b,null))[_0x8854('0x45')](handleError(_0x2e9b2b,null));};exports['update']=function(_0x5df2a1,_0x348c84){if(_0x5df2a1[_0x8854('0x4a')]['id']){delete _0x5df2a1[_0x8854('0x4a')]['id'];}return db[_0x8854('0x41')]['find']({'where':{'id':_0x5df2a1[_0x8854('0x46')]['id']}})[_0x8854('0x22')](handleEntityNotFound(_0x348c84,null))[_0x8854('0x22')](saveUpdates(_0x5df2a1[_0x8854('0x4a')],null))[_0x8854('0x22')](respondWithResult(_0x348c84,null))[_0x8854('0x45')](handleError(_0x348c84,null));};exports['destroy']=function(_0x3c7a9b,_0x3e6222){return db[_0x8854('0x41')][_0x8854('0x49')]({'where':{'id':_0x3c7a9b[_0x8854('0x46')]['id']}})[_0x8854('0x22')](handleEntityNotFound(_0x3e6222,null))[_0x8854('0x22')](removeEntity(_0x3e6222,null))[_0x8854('0x45')](handleError(_0x3e6222,null));};exports['create']=function(_0x44634e,_0x5f2b72){var _0x24e710={'key':_0x44634e[_0x8854('0x4a')][_0x8854('0x4b')]};if(_0x44634e[_0x8854('0x4a')][_0x8854('0x4c')]){_0x24e710['MailAccountId']=_0x44634e[_0x8854('0x4a')][_0x8854('0x4c')];}else if(_0x44634e[_0x8854('0x4a')][_0x8854('0x4d')]){_0x24e710[_0x8854('0x4d')]=_0x44634e[_0x8854('0x4a')][_0x8854('0x4d')];}else if(_0x44634e[_0x8854('0x4a')]['OpenchannelAccountId']){_0x24e710[_0x8854('0x4e')]=_0x44634e[_0x8854('0x4a')][_0x8854('0x4e')];}else if(_0x44634e[_0x8854('0x4a')]['ChatWebsiteId']){_0x24e710[_0x8854('0x4f')]=_0x44634e[_0x8854('0x4a')][_0x8854('0x4f')];}return db[_0x8854('0x41')]['find']({'where':_0x24e710})[_0x8854('0x22')](function(_0x55d6a3){if(_0x55d6a3){throw new db[(_0x8854('0x50'))][(_0x8854('0x51'))](_0x8854('0x52'));}return db[_0x8854('0x41')][_0x8854('0x53')](_0x44634e[_0x8854('0x4a')]);})[_0x8854('0x22')](function(_0x22e2f3){var _0x21ed04=_0x44634e[_0x8854('0x54')][_0x8854('0x24')]({'plain':!![]});if(!_0x21ed04)throw new Error(_0x8854('0x55'));if(_0x21ed04[_0x8854('0x56')]==='user'){var _0x21e576=_0x22e2f3[_0x8854('0x24')]({'plain':!![]});return db[_0x8854('0x57')][_0x8854('0x49')]({'where':{'name':'CannedAnswers','userProfileId':_0x21ed04[_0x8854('0x58')]},'raw':!![]})[_0x8854('0x22')](function(_0x371774){if(_0x371774&&_0x371774[_0x8854('0x59')]===0x0){return db[_0x8854('0x25')]['create']({'name':_0x21e576[_0x8854('0x28')],'resourceId':_0x21e576['id'],'type':_0x371774[_0x8854('0x28')],'sectionId':_0x371774['id']},{})['then'](function(){return _0x22e2f3;});}else{return _0x22e2f3;}})['catch'](function(_0x52d536){logger[_0x8854('0x26')](_0x8854('0x5a'),_0x52d536);throw _0x52d536;});}return _0x22e2f3;})[_0x8854('0x22')](respondWithResult(_0x5f2b72,0xc9))[_0x8854('0x45')](handleError(_0x5f2b72,null));};