Built motion from commit (unavailable).|2.5.26
[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 _0x4ad3=['fieldName','type','model','query','keys','intersection','attributes','fields','length','hasOwnProperty','nolimit','order','sort','where','filters','pick','filter','merge','VIRTUAL','options','include','findAll','rows','catch','params','includeAll','find','update','body','create','key','MailAccountId','SmsAccountId','OpenchannelAccountId','ChatWebsiteId','Sequelize','ValidationError','The\x20inserted\x20key\x20already\x20exists.','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','UserProfileSection','userProfileId','autoAssociation','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','mustache','util','path','sox','to-csv','ejs','fs-extra','lodash','squel','crypto','querystring','papaparse','ioredis','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','end','json','count','offset','limit','set','Content-Range','apply','reject','save','then','destroy','get','UserProfileResource','error','stack','name','send','index','map','CannedAnswer','rawAttributes'];(function(_0x3dd15e,_0x1f0015){var _0x231fd0=function(_0x4f680a){while(--_0x4f680a){_0x3dd15e['push'](_0x3dd15e['shift']());}};_0x231fd0(++_0x1f0015);}(_0x4ad3,0x1b1));var _0x34ad=function(_0xa25862,_0x27f1a4){_0xa25862=_0xa25862-0x0;var _0x5b9b0a=_0x4ad3[_0xa25862];return _0x5b9b0a;};'use strict';var emlformat=require(_0x34ad('0x0'));var rimraf=require(_0x34ad('0x1'));var zipdir=require(_0x34ad('0x2'));var jsonpatch=require(_0x34ad('0x3'));var rp=require(_0x34ad('0x4'));var moment=require(_0x34ad('0x5'));var BPromise=require('bluebird');var Mustache=require(_0x34ad('0x6'));var util=require(_0x34ad('0x7'));var path=require(_0x34ad('0x8'));var sox=require(_0x34ad('0x9'));var csv=require(_0x34ad('0xa'));var ejs=require(_0x34ad('0xb'));var fs=require('fs');var fs_extra=require(_0x34ad('0xc'));var _=require(_0x34ad('0xd'));var squel=require(_0x34ad('0xe'));var crypto=require(_0x34ad('0xf'));var jsforce=require('jsforce');var deskjs=require('desk.js');var toCsv=require(_0x34ad('0xa'));var querystring=require(_0x34ad('0x10'));var Papa=require(_0x34ad('0x11'));var Redis=require(_0x34ad('0x12'));var authService=require('../../components/auth/service');var qs=require(_0x34ad('0x13'));var as=require(_0x34ad('0x14'));var hardwareService=require(_0x34ad('0x15'));var logger=require(_0x34ad('0x16'))(_0x34ad('0x17'));var utils=require(_0x34ad('0x18'));var config=require(_0x34ad('0x19'));var licenseUtil=require(_0x34ad('0x1a'));var db=require(_0x34ad('0x1b'))['db'];function respondWithStatusCode(_0x377c90,_0x14c9fd){_0x14c9fd=_0x14c9fd||0xcc;return function(_0x1be906){if(_0x1be906){return _0x377c90[_0x34ad('0x1c')](_0x14c9fd);}return _0x377c90[_0x34ad('0x1d')](_0x14c9fd)[_0x34ad('0x1e')]();};}function respondWithResult(_0xc64e62,_0x558097){_0x558097=_0x558097||0xc8;return function(_0x4764e9){if(_0x4764e9){return _0xc64e62[_0x34ad('0x1d')](_0x558097)[_0x34ad('0x1f')](_0x4764e9);}};}function respondWithFilteredResult(_0x5e2a1d,_0x21a78c){return function(_0x262123){if(_0x262123){var _0x38a15e=_0x262123[_0x34ad('0x20')],_0x36c8d3=_0x21a78c['offset'],_0x1a2d10=_0x21a78c[_0x34ad('0x21')]+_0x21a78c[_0x34ad('0x22')],_0x48e90a;if(_0x1a2d10>=_0x38a15e){_0x1a2d10=_0x38a15e;_0x48e90a=0xc8;}else{_0x48e90a=0xce;}_0x5e2a1d[_0x34ad('0x1d')](_0x48e90a);return _0x5e2a1d[_0x34ad('0x23')](_0x34ad('0x24'),_0x36c8d3+'-'+_0x1a2d10+'/'+_0x38a15e)['json'](_0x262123);}return null;};}function patchUpdates(_0x33aa7c){return function(_0x3a2cd5){try{jsonpatch[_0x34ad('0x25')](_0x3a2cd5,_0x33aa7c,!![]);}catch(_0x15bf30){return BPromise[_0x34ad('0x26')](_0x15bf30);}return _0x3a2cd5[_0x34ad('0x27')]();};}function saveUpdates(_0x3c178a,_0x45557e){return function(_0x1ef997){if(_0x1ef997){return _0x1ef997['update'](_0x3c178a)[_0x34ad('0x28')](function(_0x51c394){return _0x51c394;});}return null;};}function removeEntity(_0x1c2d49,_0x493f73){return function(_0x154ee8){if(_0x154ee8){return _0x154ee8[_0x34ad('0x29')]()[_0x34ad('0x28')](function(){var _0x1c2fa5=_0x154ee8[_0x34ad('0x2a')]({'plain':!![]});var _0x4a06a7='CannedAnswers';return db[_0x34ad('0x2b')]['destroy']({'where':{'type':_0x4a06a7,'resourceId':_0x1c2fa5['id']}})[_0x34ad('0x28')](function(){return _0x154ee8;});})['then'](function(){_0x1c2d49['status'](0xcc)[_0x34ad('0x1e')]();});}};}function handleEntityNotFound(_0x3df4ca,_0x249380){return function(_0x3cb657){if(!_0x3cb657){_0x3df4ca[_0x34ad('0x1c')](0x194);}return _0x3cb657;};}function handleError(_0x320b6a,_0x158aa7){_0x158aa7=_0x158aa7||0x1f4;return function(_0x3b7ac5){logger[_0x34ad('0x2c')](_0x3b7ac5[_0x34ad('0x2d')]);if(_0x3b7ac5['name']){delete _0x3b7ac5[_0x34ad('0x2e')];}_0x320b6a[_0x34ad('0x1d')](_0x158aa7)[_0x34ad('0x2f')](_0x3b7ac5);};}exports[_0x34ad('0x30')]=function(_0x2bcdc3,_0x1b2387){var _0x2daf92={},_0x353b64={},_0x1c2f89={'count':0x0,'rows':[]};var _0x27d9fe=_[_0x34ad('0x31')](db[_0x34ad('0x32')][_0x34ad('0x33')],function(_0xf0f8b7){return{'name':_0xf0f8b7[_0x34ad('0x34')],'type':_0xf0f8b7[_0x34ad('0x35')]['key']};});_0x353b64[_0x34ad('0x36')]=_['map'](_0x27d9fe,_0x34ad('0x2e'));_0x353b64[_0x34ad('0x37')]=_[_0x34ad('0x38')](_0x2bcdc3[_0x34ad('0x37')]);_0x353b64['filters']=_[_0x34ad('0x39')](_0x353b64[_0x34ad('0x36')],_0x353b64[_0x34ad('0x37')]);_0x2daf92[_0x34ad('0x3a')]=_['intersection'](_0x353b64['model'],qs['fields'](_0x2bcdc3[_0x34ad('0x37')][_0x34ad('0x3b')]));_0x2daf92[_0x34ad('0x3a')]=_0x2daf92[_0x34ad('0x3a')][_0x34ad('0x3c')]?_0x2daf92['attributes']:_0x353b64[_0x34ad('0x36')];if(!_0x2bcdc3[_0x34ad('0x37')][_0x34ad('0x3d')](_0x34ad('0x3e'))){_0x2daf92[_0x34ad('0x22')]=qs[_0x34ad('0x22')](_0x2bcdc3[_0x34ad('0x37')][_0x34ad('0x22')]);_0x2daf92[_0x34ad('0x21')]=qs[_0x34ad('0x21')](_0x2bcdc3[_0x34ad('0x37')][_0x34ad('0x21')]);}_0x2daf92[_0x34ad('0x3f')]=qs[_0x34ad('0x40')](_0x2bcdc3[_0x34ad('0x37')][_0x34ad('0x40')]);_0x2daf92[_0x34ad('0x41')]=qs[_0x34ad('0x42')](_[_0x34ad('0x43')](_0x2bcdc3[_0x34ad('0x37')],_0x353b64['filters']),_0x27d9fe);if(_0x2bcdc3['query'][_0x34ad('0x44')]){_0x2daf92[_0x34ad('0x41')]=_[_0x34ad('0x45')](_0x2daf92[_0x34ad('0x41')],{'$or':_[_0x34ad('0x31')](_0x27d9fe,function(_0x157c8b){if(_0x157c8b[_0x34ad('0x35')]!==_0x34ad('0x46')){var _0x2babd2={};_0x2babd2[_0x157c8b[_0x34ad('0x2e')]]={'$like':'%'+_0x2bcdc3['query'][_0x34ad('0x44')]+'%'};return _0x2babd2;}})});}_0x2daf92=_[_0x34ad('0x45')]({},_0x2daf92,_0x2bcdc3[_0x34ad('0x47')]);var _0xa4605b={'where':_0x2daf92[_0x34ad('0x41')]};return db[_0x34ad('0x32')][_0x34ad('0x20')](_0xa4605b)[_0x34ad('0x28')](function(_0x32427b){_0x1c2f89['count']=_0x32427b;if(_0x2bcdc3[_0x34ad('0x37')]['includeAll']){_0x2daf92[_0x34ad('0x48')]=[{'all':!![]}];}return db[_0x34ad('0x32')][_0x34ad('0x49')](_0x2daf92);})[_0x34ad('0x28')](function(_0x14cadc){_0x1c2f89[_0x34ad('0x4a')]=_0x14cadc;return _0x1c2f89;})['then'](respondWithFilteredResult(_0x1b2387,_0x2daf92))[_0x34ad('0x4b')](handleError(_0x1b2387,null));};exports['show']=function(_0x32dc03,_0x49a890){var _0x5c55ad={'raw':!![],'where':{'id':_0x32dc03[_0x34ad('0x4c')]['id']}},_0x44b971={};_0x44b971[_0x34ad('0x36')]=_['keys'](db[_0x34ad('0x32')][_0x34ad('0x33')]);_0x44b971[_0x34ad('0x37')]=_['keys'](_0x32dc03['query']);_0x44b971[_0x34ad('0x42')]=_[_0x34ad('0x39')](_0x44b971['model'],_0x44b971[_0x34ad('0x37')]);_0x5c55ad[_0x34ad('0x3a')]=_[_0x34ad('0x39')](_0x44b971['model'],qs[_0x34ad('0x3b')](_0x32dc03[_0x34ad('0x37')][_0x34ad('0x3b')]));_0x5c55ad[_0x34ad('0x3a')]=_0x5c55ad[_0x34ad('0x3a')][_0x34ad('0x3c')]?_0x5c55ad[_0x34ad('0x3a')]:_0x44b971['model'];if(_0x32dc03[_0x34ad('0x37')][_0x34ad('0x4d')]){_0x5c55ad['include']=[{'all':!![]}];}_0x5c55ad=_[_0x34ad('0x45')]({},_0x5c55ad,_0x32dc03[_0x34ad('0x47')]);return db[_0x34ad('0x32')][_0x34ad('0x4e')](_0x5c55ad)[_0x34ad('0x28')](handleEntityNotFound(_0x49a890,null))['then'](respondWithResult(_0x49a890,null))['catch'](handleError(_0x49a890,null));};exports[_0x34ad('0x4f')]=function(_0x402cb6,_0x52c60f){if(_0x402cb6['body']['id']){delete _0x402cb6[_0x34ad('0x50')]['id'];}return db['CannedAnswer'][_0x34ad('0x4e')]({'where':{'id':_0x402cb6[_0x34ad('0x4c')]['id']}})[_0x34ad('0x28')](handleEntityNotFound(_0x52c60f,null))['then'](saveUpdates(_0x402cb6[_0x34ad('0x50')],null))[_0x34ad('0x28')](respondWithResult(_0x52c60f,null))['catch'](handleError(_0x52c60f,null));};exports['destroy']=function(_0x48be05,_0x4ee0b4){return db[_0x34ad('0x32')][_0x34ad('0x4e')]({'where':{'id':_0x48be05[_0x34ad('0x4c')]['id']}})[_0x34ad('0x28')](handleEntityNotFound(_0x4ee0b4,null))['then'](removeEntity(_0x4ee0b4,null))[_0x34ad('0x4b')](handleError(_0x4ee0b4,null));};exports[_0x34ad('0x51')]=function(_0x54b41d,_0x53cc3d){var _0x293adf={'key':_0x54b41d[_0x34ad('0x50')][_0x34ad('0x52')]};if(_0x54b41d[_0x34ad('0x50')][_0x34ad('0x53')]){_0x293adf[_0x34ad('0x53')]=_0x54b41d['body'][_0x34ad('0x53')];}else if(_0x54b41d[_0x34ad('0x50')]['SmsAccountId']){_0x293adf[_0x34ad('0x54')]=_0x54b41d['body']['SmsAccountId'];}else if(_0x54b41d[_0x34ad('0x50')][_0x34ad('0x55')]){_0x293adf[_0x34ad('0x55')]=_0x54b41d['body'][_0x34ad('0x55')];}else if(_0x54b41d['body'][_0x34ad('0x56')]){_0x293adf[_0x34ad('0x56')]=_0x54b41d[_0x34ad('0x50')]['ChatWebsiteId'];}return db[_0x34ad('0x32')][_0x34ad('0x4e')]({'where':_0x293adf})[_0x34ad('0x28')](function(_0x2f6d7f){if(_0x2f6d7f){throw new db[(_0x34ad('0x57'))][(_0x34ad('0x58'))](_0x34ad('0x59'));}return db[_0x34ad('0x32')][_0x34ad('0x51')](_0x54b41d['body']);})[_0x34ad('0x28')](function(_0x3b5143){var _0x1ed241=_0x54b41d[_0x34ad('0x5a')][_0x34ad('0x2a')]({'plain':!![]});if(!_0x1ed241)throw new Error(_0x34ad('0x5b'));if(_0x1ed241[_0x34ad('0x5c')]===_0x34ad('0x5a')){var _0x2dd5c5=_0x3b5143[_0x34ad('0x2a')]({'plain':!![]});return db[_0x34ad('0x5d')][_0x34ad('0x4e')]({'where':{'name':'CannedAnswers','userProfileId':_0x1ed241[_0x34ad('0x5e')]},'raw':!![]})[_0x34ad('0x28')](function(_0x3727f5){if(_0x3727f5&&_0x3727f5[_0x34ad('0x5f')]===0x0){return db[_0x34ad('0x2b')]['create']({'name':_0x2dd5c5[_0x34ad('0x2e')],'resourceId':_0x2dd5c5['id'],'type':_0x3727f5['name'],'sectionId':_0x3727f5['id']},{})[_0x34ad('0x28')](function(){return _0x3b5143;});}else{return _0x3b5143;}})[_0x34ad('0x4b')](function(_0x5eeead){logger[_0x34ad('0x2c')](_0x34ad('0x60'),_0x5eeead);throw _0x5eeead;});}return _0x3b5143;})[_0x34ad('0x28')](respondWithResult(_0x53cc3d,0xc9))[_0x34ad('0x4b')](handleError(_0x53cc3d,null));};