Built motion from commit (unavailable).|2.5.31
[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 _0x36d6=['MailAccountId','SmsAccountId','OpenchannelAccountId','ChatWebsiteId','Sequelize','ValidationError','user','get','Unable\x20to\x20retrieve\x20the\x20current\x20user','userProfileId','autoAssociation','rimraf','fast-json-patch','bluebird','mustache','util','sox','ejs','fs-extra','squel','crypto','to-csv','papaparse','ioredis','../../components/auth/service','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','end','json','offset','undefined','limit','count','set','Content-Range','reject','save','then','destroy','CannedAnswers','UserProfileResource','error','stack','name','send','map','CannedAnswer','rawAttributes','key','query','filters','model','attributes','intersection','fields','length','hasOwnProperty','order','sort','where','pick','merge','filter','options','includeAll','include','findAll','rows','catch','params','keys','find','update','body','create'];(function(_0x9fae76,_0x212a62){var _0x11b480=function(_0x3734aa){while(--_0x3734aa){_0x9fae76['push'](_0x9fae76['shift']());}};_0x11b480(++_0x212a62);}(_0x36d6,0x104));var _0x636d=function(_0x3dd15e,_0x1f0015){_0x3dd15e=_0x3dd15e-0x0;var _0x231fd0=_0x36d6[_0x3dd15e];return _0x231fd0;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0x636d('0x0'));var zipdir=require('zip-dir');var jsonpatch=require(_0x636d('0x1'));var rp=require('request-promise');var moment=require('moment');var BPromise=require(_0x636d('0x2'));var Mustache=require(_0x636d('0x3'));var util=require(_0x636d('0x4'));var path=require('path');var sox=require(_0x636d('0x5'));var csv=require('to-csv');var ejs=require(_0x636d('0x6'));var fs=require('fs');var fs_extra=require(_0x636d('0x7'));var _=require('lodash');var squel=require(_0x636d('0x8'));var crypto=require(_0x636d('0x9'));var jsforce=require('jsforce');var deskjs=require('desk.js');var toCsv=require(_0x636d('0xa'));var querystring=require('querystring');var Papa=require(_0x636d('0xb'));var Redis=require(_0x636d('0xc'));var authService=require(_0x636d('0xd'));var qs=require('../../components/parsers/qs');var as=require(_0x636d('0xe'));var hardwareService=require(_0x636d('0xf'));var logger=require(_0x636d('0x10'))(_0x636d('0x11'));var utils=require(_0x636d('0x12'));var config=require(_0x636d('0x13'));var licenseUtil=require(_0x636d('0x14'));var db=require(_0x636d('0x15'))['db'];function respondWithStatusCode(_0x141f1b,_0x343635){_0x343635=_0x343635||0xcc;return function(_0x5825f8){if(_0x5825f8){return _0x141f1b[_0x636d('0x16')](_0x343635);}return _0x141f1b[_0x636d('0x17')](_0x343635)[_0x636d('0x18')]();};}function respondWithResult(_0x864cd0,_0x35fb5e){_0x35fb5e=_0x35fb5e||0xc8;return function(_0x2cc0b9){if(_0x2cc0b9){return _0x864cd0[_0x636d('0x17')](_0x35fb5e)[_0x636d('0x19')](_0x2cc0b9);}};}function respondWithFilteredResult(_0x6d08d0,_0x26af85){return function(_0x1d99ad){if(_0x1d99ad){var _0x423573=typeof _0x26af85[_0x636d('0x1a')]===_0x636d('0x1b')&&typeof _0x26af85[_0x636d('0x1c')]===_0x636d('0x1b');var _0x30d751=_0x1d99ad[_0x636d('0x1d')];var _0x66faa9=_0x423573?0x0:_0x26af85[_0x636d('0x1a')];var _0xd712f6=_0x423573?_0x1d99ad[_0x636d('0x1d')]:_0x26af85['offset']+_0x26af85[_0x636d('0x1c')];var _0x27478e;if(_0xd712f6>=_0x30d751){_0xd712f6=_0x30d751;_0x27478e=0xc8;}else{_0x27478e=0xce;}_0x6d08d0[_0x636d('0x17')](_0x27478e);return _0x6d08d0[_0x636d('0x1e')](_0x636d('0x1f'),_0x66faa9+'-'+_0xd712f6+'/'+_0x30d751)[_0x636d('0x19')](_0x1d99ad);}return null;};}function patchUpdates(_0x28341b){return function(_0x513f35){try{jsonpatch['apply'](_0x513f35,_0x28341b,!![]);}catch(_0x85be2){return BPromise[_0x636d('0x20')](_0x85be2);}return _0x513f35[_0x636d('0x21')]();};}function saveUpdates(_0x253058,_0x2d58bd){return function(_0x1aeb32){if(_0x1aeb32){return _0x1aeb32['update'](_0x253058)[_0x636d('0x22')](function(_0x57d3b0){return _0x57d3b0;});}return null;};}function removeEntity(_0x1ce9f4,_0x5726cb){return function(_0x472d02){if(_0x472d02){return _0x472d02[_0x636d('0x23')]()[_0x636d('0x22')](function(){var _0x1d57dc=_0x472d02['get']({'plain':!![]});var _0x309c05=_0x636d('0x24');return db[_0x636d('0x25')][_0x636d('0x23')]({'where':{'type':_0x309c05,'resourceId':_0x1d57dc['id']}})[_0x636d('0x22')](function(){return _0x472d02;});})[_0x636d('0x22')](function(){_0x1ce9f4[_0x636d('0x17')](0xcc)['end']();});}};}function handleEntityNotFound(_0x213597,_0x329f5c){return function(_0x26b8d8){if(!_0x26b8d8){_0x213597['sendStatus'](0x194);}return _0x26b8d8;};}function handleError(_0x4aa2fe,_0x5a6398){_0x5a6398=_0x5a6398||0x1f4;return function(_0x517eb4){logger[_0x636d('0x26')](_0x517eb4[_0x636d('0x27')]);if(_0x517eb4[_0x636d('0x28')]){delete _0x517eb4[_0x636d('0x28')];}_0x4aa2fe[_0x636d('0x17')](_0x5a6398)[_0x636d('0x29')](_0x517eb4);};}exports['index']=function(_0xbb7976,_0x3503bc){var _0x2e141d={},_0x4d37de={},_0x28a3f0={'count':0x0,'rows':[]};var _0x26ea6a=_[_0x636d('0x2a')](db[_0x636d('0x2b')][_0x636d('0x2c')],function(_0x4aed45){return{'name':_0x4aed45['fieldName'],'type':_0x4aed45['type'][_0x636d('0x2d')]};});_0x4d37de['model']=_['map'](_0x26ea6a,_0x636d('0x28'));_0x4d37de['query']=_['keys'](_0xbb7976[_0x636d('0x2e')]);_0x4d37de[_0x636d('0x2f')]=_['intersection'](_0x4d37de[_0x636d('0x30')],_0x4d37de[_0x636d('0x2e')]);_0x2e141d[_0x636d('0x31')]=_[_0x636d('0x32')](_0x4d37de[_0x636d('0x30')],qs[_0x636d('0x33')](_0xbb7976[_0x636d('0x2e')][_0x636d('0x33')]));_0x2e141d['attributes']=_0x2e141d['attributes'][_0x636d('0x34')]?_0x2e141d[_0x636d('0x31')]:_0x4d37de[_0x636d('0x30')];if(!_0xbb7976[_0x636d('0x2e')][_0x636d('0x35')]('nolimit')){_0x2e141d[_0x636d('0x1c')]=qs[_0x636d('0x1c')](_0xbb7976[_0x636d('0x2e')][_0x636d('0x1c')]);_0x2e141d['offset']=qs['offset'](_0xbb7976[_0x636d('0x2e')]['offset']);}_0x2e141d[_0x636d('0x36')]=qs['sort'](_0xbb7976['query'][_0x636d('0x37')]);_0x2e141d[_0x636d('0x38')]=qs['filters'](_[_0x636d('0x39')](_0xbb7976[_0x636d('0x2e')],_0x4d37de[_0x636d('0x2f')]),_0x26ea6a);if(_0xbb7976[_0x636d('0x2e')]['filter']){_0x2e141d['where']=_[_0x636d('0x3a')](_0x2e141d[_0x636d('0x38')],{'$or':[{'key':{'$like':'%'+_0xbb7976[_0x636d('0x2e')][_0x636d('0x3b')]+'%'}},{'value':{'$like':'%'+_0xbb7976[_0x636d('0x2e')]['filter']+'%'}}]});}_0x2e141d=_[_0x636d('0x3a')]({},_0x2e141d,_0xbb7976[_0x636d('0x3c')]);var _0x377c70={'where':_0x2e141d['where']};return db['CannedAnswer'][_0x636d('0x1d')](_0x377c70)[_0x636d('0x22')](function(_0x9b12f4){_0x28a3f0[_0x636d('0x1d')]=_0x9b12f4;if(_0xbb7976[_0x636d('0x2e')][_0x636d('0x3d')]){_0x2e141d[_0x636d('0x3e')]=[{'all':!![]}];}return db[_0x636d('0x2b')][_0x636d('0x3f')](_0x2e141d);})[_0x636d('0x22')](function(_0x410511){_0x28a3f0[_0x636d('0x40')]=_0x410511;return _0x28a3f0;})[_0x636d('0x22')](respondWithFilteredResult(_0x3503bc,_0x2e141d))[_0x636d('0x41')](handleError(_0x3503bc,null));};exports['show']=function(_0x3d09b4,_0x40ab6d){var _0x1b61fb={'raw':!![],'where':{'id':_0x3d09b4[_0x636d('0x42')]['id']}},_0x1ec4cf={};_0x1ec4cf[_0x636d('0x30')]=_[_0x636d('0x43')](db[_0x636d('0x2b')][_0x636d('0x2c')]);_0x1ec4cf['query']=_[_0x636d('0x43')](_0x3d09b4[_0x636d('0x2e')]);_0x1ec4cf[_0x636d('0x2f')]=_[_0x636d('0x32')](_0x1ec4cf[_0x636d('0x30')],_0x1ec4cf[_0x636d('0x2e')]);_0x1b61fb[_0x636d('0x31')]=_[_0x636d('0x32')](_0x1ec4cf[_0x636d('0x30')],qs[_0x636d('0x33')](_0x3d09b4['query']['fields']));_0x1b61fb['attributes']=_0x1b61fb[_0x636d('0x31')][_0x636d('0x34')]?_0x1b61fb[_0x636d('0x31')]:_0x1ec4cf['model'];if(_0x3d09b4[_0x636d('0x2e')][_0x636d('0x3d')]){_0x1b61fb[_0x636d('0x3e')]=[{'all':!![]}];}_0x1b61fb=_[_0x636d('0x3a')]({},_0x1b61fb,_0x3d09b4[_0x636d('0x3c')]);return db[_0x636d('0x2b')][_0x636d('0x44')](_0x1b61fb)[_0x636d('0x22')](handleEntityNotFound(_0x40ab6d,null))[_0x636d('0x22')](respondWithResult(_0x40ab6d,null))[_0x636d('0x41')](handleError(_0x40ab6d,null));};exports[_0x636d('0x45')]=function(_0x186ac4,_0x18b3cb){if(_0x186ac4[_0x636d('0x46')]['id']){delete _0x186ac4[_0x636d('0x46')]['id'];}return db[_0x636d('0x2b')]['find']({'where':{'id':_0x186ac4[_0x636d('0x42')]['id']}})[_0x636d('0x22')](handleEntityNotFound(_0x18b3cb,null))['then'](saveUpdates(_0x186ac4[_0x636d('0x46')],null))[_0x636d('0x22')](respondWithResult(_0x18b3cb,null))['catch'](handleError(_0x18b3cb,null));};exports[_0x636d('0x23')]=function(_0x142f22,_0x216b2c){return db[_0x636d('0x2b')][_0x636d('0x44')]({'where':{'id':_0x142f22[_0x636d('0x42')]['id']}})['then'](handleEntityNotFound(_0x216b2c,null))[_0x636d('0x22')](removeEntity(_0x216b2c,null))[_0x636d('0x41')](handleError(_0x216b2c,null));};exports[_0x636d('0x47')]=function(_0x23ec2d,_0x576789){var _0x41ce1f={'key':_0x23ec2d[_0x636d('0x46')][_0x636d('0x2d')]};if(_0x23ec2d[_0x636d('0x46')]['MailAccountId']){_0x41ce1f['MailAccountId']=_0x23ec2d[_0x636d('0x46')][_0x636d('0x48')];}else if(_0x23ec2d['body'][_0x636d('0x49')]){_0x41ce1f['SmsAccountId']=_0x23ec2d[_0x636d('0x46')][_0x636d('0x49')];}else if(_0x23ec2d[_0x636d('0x46')]['OpenchannelAccountId']){_0x41ce1f[_0x636d('0x4a')]=_0x23ec2d[_0x636d('0x46')]['OpenchannelAccountId'];}else if(_0x23ec2d[_0x636d('0x46')][_0x636d('0x4b')]){_0x41ce1f[_0x636d('0x4b')]=_0x23ec2d[_0x636d('0x46')][_0x636d('0x4b')];}return db[_0x636d('0x2b')]['find']({'where':_0x41ce1f})[_0x636d('0x22')](function(_0x13af87){if(_0x13af87){throw new db[(_0x636d('0x4c'))][(_0x636d('0x4d'))]('The\x20inserted\x20key\x20already\x20exists.');}return db[_0x636d('0x2b')][_0x636d('0x47')](_0x23ec2d[_0x636d('0x46')]);})[_0x636d('0x22')](function(_0x3fbf6a){var _0x28285a=_0x23ec2d[_0x636d('0x4e')][_0x636d('0x4f')]({'plain':!![]});if(!_0x28285a)throw new Error(_0x636d('0x50'));if(_0x28285a['role']===_0x636d('0x4e')){var _0x4138c4=_0x3fbf6a[_0x636d('0x4f')]({'plain':!![]});return db['UserProfileSection'][_0x636d('0x44')]({'where':{'name':_0x636d('0x24'),'userProfileId':_0x28285a[_0x636d('0x51')]},'raw':!![]})['then'](function(_0x2d79e2){if(_0x2d79e2&&_0x2d79e2[_0x636d('0x52')]===0x0){return db['UserProfileResource']['create']({'name':_0x4138c4[_0x636d('0x28')],'resourceId':_0x4138c4['id'],'type':_0x2d79e2[_0x636d('0x28')],'sectionId':_0x2d79e2['id']},{})[_0x636d('0x22')](function(){return _0x3fbf6a;});}else{return _0x3fbf6a;}})[_0x636d('0x41')](function(_0x2c9120){logger[_0x636d('0x26')]('Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s',_0x2c9120);throw _0x2c9120;});}return _0x3fbf6a;})[_0x636d('0x22')](respondWithResult(_0x576789,0xc9))[_0x636d('0x41')](handleError(_0x576789,null));};