e1c9f470d884e99739963ef3ca76eb30a8a98999
[motion2.git] / server / api / cmHopperAdditionalPhone / cmHopperAdditionalPhone.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 _0x66bd=['end','json','offset','undefined','limit','count','set','Content-Range','apply','reject','update','then','CmHopperAdditionalPhones','UserProfileResource','destroy','status','sendStatus','error','name','send','render','message','agent','interaction','account','map','CmHopperAdditionalPhone','rawAttributes','type','key','query','keys','filters','intersection','model','fields','attributes','length','nolimit','order','sort','where','merge','VIRTUAL','includeAll','include','findAll','rows','show','params','options','find','catch','create','body','user','get','Unable\x20to\x20retrieve\x20the\x20current\x20user','userProfileId','eml-format','rimraf','fast-json-patch','bluebird','util','path','sox','to-csv','ejs','fs-extra','lodash','jsforce','querystring','ioredis','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb'];(function(_0x4c6c91,_0x36ba7d){var _0x89a2fa=function(_0xf20c57){while(--_0xf20c57){_0x4c6c91['push'](_0x4c6c91['shift']());}};_0x89a2fa(++_0x36ba7d);}(_0x66bd,0xdd));var _0xd66b=function(_0x3b8f2e,_0x5a99a8){_0x3b8f2e=_0x3b8f2e-0x0;var _0x1433d5=_0x66bd[_0x3b8f2e];return _0x1433d5;};'use strict';var emlformat=require(_0xd66b('0x0'));var rimraf=require(_0xd66b('0x1'));var zipdir=require('zip-dir');var jsonpatch=require(_0xd66b('0x2'));var rp=require('request-promise');var moment=require('moment');var BPromise=require(_0xd66b('0x3'));var Mustache=require('mustache');var util=require(_0xd66b('0x4'));var path=require(_0xd66b('0x5'));var sox=require(_0xd66b('0x6'));var csv=require(_0xd66b('0x7'));var ejs=require(_0xd66b('0x8'));var fs=require('fs');var fs_extra=require(_0xd66b('0x9'));var _=require(_0xd66b('0xa'));var squel=require('squel');var crypto=require('crypto');var jsforce=require(_0xd66b('0xb'));var deskjs=require('desk.js');var toCsv=require('to-csv');var querystring=require(_0xd66b('0xc'));var Papa=require('papaparse');var Redis=require(_0xd66b('0xd'));var authService=require('../../components/auth/service');var qs=require(_0xd66b('0xe'));var as=require(_0xd66b('0xf'));var hardwareService=require('../../config/license/hardware');var logger=require(_0xd66b('0x10'))(_0xd66b('0x11'));var utils=require(_0xd66b('0x12'));var config=require(_0xd66b('0x13'));var licenseUtil=require(_0xd66b('0x14'));var db=require(_0xd66b('0x15'))['db'];function respondWithStatusCode(_0x11c64b,_0x201f6a){_0x201f6a=_0x201f6a||0xcc;return function(_0xa1a44b){if(_0xa1a44b){return _0x11c64b['sendStatus'](_0x201f6a);}return _0x11c64b['status'](_0x201f6a)[_0xd66b('0x16')]();};}function respondWithResult(_0x2ff62e,_0xc31a0f){_0xc31a0f=_0xc31a0f||0xc8;return function(_0x3b3793){if(_0x3b3793){return _0x2ff62e['status'](_0xc31a0f)[_0xd66b('0x17')](_0x3b3793);}};}function respondWithFilteredResult(_0x30d214,_0x558c76){return function(_0x144e82){if(_0x144e82){var _0x360a3e=typeof _0x558c76[_0xd66b('0x18')]===_0xd66b('0x19')&&typeof _0x558c76[_0xd66b('0x1a')]===_0xd66b('0x19');var _0x56409a=_0x144e82['count'];var _0x2e4af6=_0x360a3e?0x0:_0x558c76[_0xd66b('0x18')];var _0x1ac846=_0x360a3e?_0x144e82[_0xd66b('0x1b')]:_0x558c76['offset']+_0x558c76[_0xd66b('0x1a')];var _0x1cf6d9;if(_0x1ac846>=_0x56409a){_0x1ac846=_0x56409a;_0x1cf6d9=0xc8;}else{_0x1cf6d9=0xce;}_0x30d214['status'](_0x1cf6d9);return _0x30d214[_0xd66b('0x1c')](_0xd66b('0x1d'),_0x2e4af6+'-'+_0x1ac846+'/'+_0x56409a)[_0xd66b('0x17')](_0x144e82);}return null;};}function patchUpdates(_0x499db1){return function(_0x4b9013){try{jsonpatch[_0xd66b('0x1e')](_0x4b9013,_0x499db1,!![]);}catch(_0x18299e){return BPromise[_0xd66b('0x1f')](_0x18299e);}return _0x4b9013['save']();};}function saveUpdates(_0x459d8a,_0x33dc71){return function(_0xb0b10a){if(_0xb0b10a){return _0xb0b10a[_0xd66b('0x20')](_0x459d8a)[_0xd66b('0x21')](function(_0x5b8989){return _0x5b8989;});}return null;};}function removeEntity(_0x20c714,_0x55e710){return function(_0x3652bf){if(_0x3652bf){return _0x3652bf['destroy']()[_0xd66b('0x21')](function(){var _0x1bba08=_0x3652bf['get']({'plain':!![]});var _0x474d1c=_0xd66b('0x22');return db[_0xd66b('0x23')][_0xd66b('0x24')]({'where':{'type':_0x474d1c,'resourceId':_0x1bba08['id']}})['then'](function(){return _0x3652bf;});})[_0xd66b('0x21')](function(){_0x20c714[_0xd66b('0x25')](0xcc)[_0xd66b('0x16')]();});}};}function handleEntityNotFound(_0x130655,_0x379a32){return function(_0xffda45){if(!_0xffda45){_0x130655[_0xd66b('0x26')](0x194);}return _0xffda45;};}function handleError(_0x467ecc,_0x28e7ea){_0x28e7ea=_0x28e7ea||0x1f4;return function(_0x494ede){logger[_0xd66b('0x27')](_0x494ede['stack']);if(_0x494ede[_0xd66b('0x28')]){delete _0x494ede['name'];}_0x467ecc[_0xd66b('0x25')](_0x28e7ea)[_0xd66b('0x29')](_0x494ede);};}function getMustacheRender(_0x1b2315,_0x5ad4bd){return Mustache[_0xd66b('0x2a')](_0x1b2315,_['merge'](_0x5ad4bd['body'],{'contact':_0x5ad4bd['contact'],'message':_0x5ad4bd[_0xd66b('0x2b')],'agent':_0x5ad4bd[_0xd66b('0x2c')],'interaction':_0x5ad4bd[_0xd66b('0x2d')],'account':_0x5ad4bd[_0xd66b('0x2e')]}))||'';}exports['index']=function(_0x4a261a,_0x5c363b){var _0x1e929b={},_0x14b269={},_0x47274f={'count':0x0,'rows':[]};var _0x2b7ebd=_[_0xd66b('0x2f')](db[_0xd66b('0x30')][_0xd66b('0x31')],function(_0x120a50){return{'name':_0x120a50['fieldName'],'type':_0x120a50[_0xd66b('0x32')][_0xd66b('0x33')]};});_0x14b269['model']=_['map'](_0x2b7ebd,_0xd66b('0x28'));_0x14b269[_0xd66b('0x34')]=_[_0xd66b('0x35')](_0x4a261a['query']);_0x14b269[_0xd66b('0x36')]=_[_0xd66b('0x37')](_0x14b269[_0xd66b('0x38')],_0x14b269[_0xd66b('0x34')]);_0x1e929b['attributes']=_[_0xd66b('0x37')](_0x14b269['model'],qs[_0xd66b('0x39')](_0x4a261a[_0xd66b('0x34')][_0xd66b('0x39')]));_0x1e929b['attributes']=_0x1e929b[_0xd66b('0x3a')][_0xd66b('0x3b')]?_0x1e929b[_0xd66b('0x3a')]:_0x14b269[_0xd66b('0x38')];if(!_0x4a261a[_0xd66b('0x34')]['hasOwnProperty'](_0xd66b('0x3c'))){_0x1e929b[_0xd66b('0x1a')]=qs['limit'](_0x4a261a[_0xd66b('0x34')][_0xd66b('0x1a')]);_0x1e929b[_0xd66b('0x18')]=qs[_0xd66b('0x18')](_0x4a261a[_0xd66b('0x34')][_0xd66b('0x18')]);}_0x1e929b[_0xd66b('0x3d')]=qs[_0xd66b('0x3e')](_0x4a261a[_0xd66b('0x34')][_0xd66b('0x3e')]);_0x1e929b[_0xd66b('0x3f')]=qs[_0xd66b('0x36')](_['pick'](_0x4a261a[_0xd66b('0x34')],_0x14b269[_0xd66b('0x36')]),_0x2b7ebd);if(_0x4a261a[_0xd66b('0x34')]['filter']){_0x1e929b['where']=_[_0xd66b('0x40')](_0x1e929b['where'],{'$or':_[_0xd66b('0x2f')](_0x2b7ebd,function(_0x329b0e){if(_0x329b0e[_0xd66b('0x32')]!==_0xd66b('0x41')){var _0x54ba92={};_0x54ba92[_0x329b0e[_0xd66b('0x28')]]={'$like':'%'+_0x4a261a[_0xd66b('0x34')]['filter']+'%'};return _0x54ba92;}})});}_0x1e929b=_['merge']({},_0x1e929b,_0x4a261a['options']);var _0x10cdd3={'where':_0x1e929b[_0xd66b('0x3f')]};return db[_0xd66b('0x30')][_0xd66b('0x1b')](_0x10cdd3)[_0xd66b('0x21')](function(_0x47cc0c){_0x47274f[_0xd66b('0x1b')]=_0x47cc0c;if(_0x4a261a[_0xd66b('0x34')][_0xd66b('0x42')]){_0x1e929b[_0xd66b('0x43')]=[{'all':!![]}];}return db[_0xd66b('0x30')][_0xd66b('0x44')](_0x1e929b);})[_0xd66b('0x21')](function(_0xebd94c){_0x47274f[_0xd66b('0x45')]=_0xebd94c;return _0x47274f;})[_0xd66b('0x21')](respondWithFilteredResult(_0x5c363b,_0x1e929b))['catch'](handleError(_0x5c363b,null));};exports[_0xd66b('0x46')]=function(_0x1e36ad,_0x336ba2){var _0x2835e4={'raw':!![],'where':{'id':_0x1e36ad[_0xd66b('0x47')]['id']}},_0x4a603b={};_0x4a603b['model']=_[_0xd66b('0x35')](db[_0xd66b('0x30')][_0xd66b('0x31')]);_0x4a603b[_0xd66b('0x34')]=_[_0xd66b('0x35')](_0x1e36ad['query']);_0x4a603b[_0xd66b('0x36')]=_['intersection'](_0x4a603b[_0xd66b('0x38')],_0x4a603b[_0xd66b('0x34')]);_0x2835e4[_0xd66b('0x3a')]=_[_0xd66b('0x37')](_0x4a603b[_0xd66b('0x38')],qs['fields'](_0x1e36ad['query']['fields']));_0x2835e4[_0xd66b('0x3a')]=_0x2835e4[_0xd66b('0x3a')][_0xd66b('0x3b')]?_0x2835e4[_0xd66b('0x3a')]:_0x4a603b[_0xd66b('0x38')];if(_0x1e36ad[_0xd66b('0x34')][_0xd66b('0x42')]){_0x2835e4[_0xd66b('0x43')]=[{'all':!![]}];}_0x2835e4=_[_0xd66b('0x40')]({},_0x2835e4,_0x1e36ad[_0xd66b('0x48')]);return db[_0xd66b('0x30')][_0xd66b('0x49')](_0x2835e4)['then'](handleEntityNotFound(_0x336ba2,null))[_0xd66b('0x21')](respondWithResult(_0x336ba2,null))[_0xd66b('0x4a')](handleError(_0x336ba2,null));};exports[_0xd66b('0x4b')]=function(_0x517e6a,_0x18a099){return db[_0xd66b('0x30')][_0xd66b('0x4b')](_0x517e6a[_0xd66b('0x4c')],{})[_0xd66b('0x21')](function(_0x104fd9){var _0x279e0e=_0x517e6a[_0xd66b('0x4d')][_0xd66b('0x4e')]({'plain':!![]});if(!_0x279e0e)throw new Error(_0xd66b('0x4f'));if(_0x279e0e['role']==='user'){var _0xd239db=_0x104fd9[_0xd66b('0x4e')]({'plain':!![]});var _0x15a1ed=_0xd66b('0x22');return db['UserProfileSection']['find']({'where':{'name':_0x15a1ed,'userProfileId':_0x279e0e[_0xd66b('0x50')]},'raw':!![]})[_0xd66b('0x21')](function(_0x455eb4){if(_0x455eb4&&_0x455eb4['autoAssociation']===0x0){return db[_0xd66b('0x23')][_0xd66b('0x4b')]({'name':_0xd239db[_0xd66b('0x28')],'resourceId':_0xd239db['id'],'type':_0x455eb4[_0xd66b('0x28')],'sectionId':_0x455eb4['id']},{})['then'](function(){return _0x104fd9;});}else{return _0x104fd9;}})['catch'](function(_0x3c4860){logger[_0xd66b('0x27')]('Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s',_0x3c4860);throw _0x3c4860;});}return _0x104fd9;})[_0xd66b('0x21')](respondWithResult(_0x18a099,0xc9))[_0xd66b('0x4a')](handleError(_0x18a099,null));};exports[_0xd66b('0x20')]=function(_0x25768b,_0x5da090){if(_0x25768b[_0xd66b('0x4c')]['id']){delete _0x25768b[_0xd66b('0x4c')]['id'];}return db['CmHopperAdditionalPhone'][_0xd66b('0x49')]({'where':{'id':_0x25768b[_0xd66b('0x47')]['id']}})['then'](handleEntityNotFound(_0x5da090,null))[_0xd66b('0x21')](saveUpdates(_0x25768b[_0xd66b('0x4c')],null))[_0xd66b('0x21')](respondWithResult(_0x5da090,null))[_0xd66b('0x4a')](handleError(_0x5da090,null));};exports[_0xd66b('0x24')]=function(_0x43dc76,_0x310af1){return db['CmHopperAdditionalPhone'][_0xd66b('0x49')]({'where':{'id':_0x43dc76[_0xd66b('0x47')]['id']}})[_0xd66b('0x21')](handleEntityNotFound(_0x310af1,null))[_0xd66b('0x21')](removeEntity(_0x310af1,null))[_0xd66b('0x4a')](handleError(_0x310af1,null));};