Built motion from commit dbf3a7e2.|2.6.30
[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 _0x6451=['offset','count','set','Content-Range','json','save','then','get','UserProfileResource','destroy','status','error','stack','name','send','map','CmHopperAdditionalPhone','rawAttributes','type','model','query','intersection','attributes','fields','hasOwnProperty','nolimit','order','sort','where','filters','pick','merge','VIRTUAL','filter','options','includeAll','include','findAll','catch','params','length','find','create','body','user','CmHopperAdditionalPhones','userProfileId','autoAssociation','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','update','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','bluebird','util','path','sox','to-csv','ejs','fs-extra','squel','crypto','desk.js','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','sendStatus','end','undefined','limit'];(function(_0x2e58c7,_0x23d092){var _0x26eb00=function(_0x343124){while(--_0x343124){_0x2e58c7['push'](_0x2e58c7['shift']());}};_0x26eb00(++_0x23d092);}(_0x6451,0x16a));var _0x1645=function(_0x59bd3b,_0x53eff9){_0x59bd3b=_0x59bd3b-0x0;var _0x586c53=_0x6451[_0x59bd3b];return _0x586c53;};'use strict';var emlformat=require(_0x1645('0x0'));var rimraf=require(_0x1645('0x1'));var zipdir=require(_0x1645('0x2'));var jsonpatch=require(_0x1645('0x3'));var rp=require(_0x1645('0x4'));var moment=require('moment');var BPromise=require(_0x1645('0x5'));var Mustache=require('mustache');var util=require(_0x1645('0x6'));var path=require(_0x1645('0x7'));var sox=require(_0x1645('0x8'));var csv=require(_0x1645('0x9'));var ejs=require(_0x1645('0xa'));var fs=require('fs');var fs_extra=require(_0x1645('0xb'));var _=require('lodash');var squel=require(_0x1645('0xc'));var crypto=require(_0x1645('0xd'));var jsforce=require('jsforce');var deskjs=require(_0x1645('0xe'));var toCsv=require(_0x1645('0x9'));var querystring=require('querystring');var Papa=require(_0x1645('0xf'));var Redis=require(_0x1645('0x10'));var authService=require(_0x1645('0x11'));var qs=require(_0x1645('0x12'));var as=require(_0x1645('0x13'));var hardwareService=require(_0x1645('0x14'));var logger=require(_0x1645('0x15'))(_0x1645('0x16'));var utils=require(_0x1645('0x17'));var config=require('../../config/environment');var licenseUtil=require('../../config/license/util');var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x27bcf0,_0x32104f){_0x32104f=_0x32104f||0xcc;return function(_0x49e5b6){if(_0x49e5b6){return _0x27bcf0[_0x1645('0x18')](_0x32104f);}return _0x27bcf0['status'](_0x32104f)[_0x1645('0x19')]();};}function respondWithResult(_0x292aab,_0x31b7d1){_0x31b7d1=_0x31b7d1||0xc8;return function(_0x57939a){if(_0x57939a){return _0x292aab['status'](_0x31b7d1)['json'](_0x57939a);}};}function respondWithFilteredResult(_0xe27a45,_0x3044e8){return function(_0x252b0b){if(_0x252b0b){var _0x48868d=typeof _0x3044e8['offset']===_0x1645('0x1a')&&typeof _0x3044e8[_0x1645('0x1b')]==='undefined';var _0x54ae3b=_0x252b0b['count'];var _0x3dfd7a=_0x48868d?0x0:_0x3044e8[_0x1645('0x1c')];var _0x3c94c2=_0x48868d?_0x252b0b[_0x1645('0x1d')]:_0x3044e8[_0x1645('0x1c')]+_0x3044e8[_0x1645('0x1b')];var _0x419b68;if(_0x3c94c2>=_0x54ae3b){_0x3c94c2=_0x54ae3b;_0x419b68=0xc8;}else{_0x419b68=0xce;}_0xe27a45['status'](_0x419b68);return _0xe27a45[_0x1645('0x1e')](_0x1645('0x1f'),_0x3dfd7a+'-'+_0x3c94c2+'/'+_0x54ae3b)[_0x1645('0x20')](_0x252b0b);}return null;};}function patchUpdates(_0x1597fe){return function(_0x21bb69){try{jsonpatch['apply'](_0x21bb69,_0x1597fe,!![]);}catch(_0x59acf3){return BPromise['reject'](_0x59acf3);}return _0x21bb69[_0x1645('0x21')]();};}function saveUpdates(_0x329ad5,_0x3d6f04){return function(_0x21c4cd){if(_0x21c4cd){return _0x21c4cd['update'](_0x329ad5)[_0x1645('0x22')](function(_0x164553){return _0x164553;});}return null;};}function removeEntity(_0x5a3d88,_0x3827f9){return function(_0x3d3722){if(_0x3d3722){return _0x3d3722['destroy']()[_0x1645('0x22')](function(){var _0x1a6217=_0x3d3722[_0x1645('0x23')]({'plain':!![]});var _0x344927='CmHopperAdditionalPhones';return db[_0x1645('0x24')][_0x1645('0x25')]({'where':{'type':_0x344927,'resourceId':_0x1a6217['id']}})[_0x1645('0x22')](function(){return _0x3d3722;});})['then'](function(){_0x5a3d88[_0x1645('0x26')](0xcc)[_0x1645('0x19')]();});}};}function handleEntityNotFound(_0x5dee7f,_0x20cef3){return function(_0x48d3a7){if(!_0x48d3a7){_0x5dee7f['sendStatus'](0x194);}return _0x48d3a7;};}function handleError(_0xd0d9a,_0x26fb80){_0x26fb80=_0x26fb80||0x1f4;return function(_0x1bd2a1){logger[_0x1645('0x27')](_0x1bd2a1[_0x1645('0x28')]);if(_0x1bd2a1[_0x1645('0x29')]){delete _0x1bd2a1[_0x1645('0x29')];}_0xd0d9a[_0x1645('0x26')](_0x26fb80)[_0x1645('0x2a')](_0x1bd2a1);};}exports['index']=function(_0x87e42b,_0x32d7c8){var _0x32d281={},_0x26f70d={},_0x5f1bab={'count':0x0,'rows':[]};var _0x2c659b=_[_0x1645('0x2b')](db[_0x1645('0x2c')][_0x1645('0x2d')],function(_0x5afa05){return{'name':_0x5afa05['fieldName'],'type':_0x5afa05[_0x1645('0x2e')]['key']};});_0x26f70d[_0x1645('0x2f')]=_[_0x1645('0x2b')](_0x2c659b,_0x1645('0x29'));_0x26f70d[_0x1645('0x30')]=_['keys'](_0x87e42b['query']);_0x26f70d['filters']=_[_0x1645('0x31')](_0x26f70d[_0x1645('0x2f')],_0x26f70d[_0x1645('0x30')]);_0x32d281[_0x1645('0x32')]=_[_0x1645('0x31')](_0x26f70d[_0x1645('0x2f')],qs[_0x1645('0x33')](_0x87e42b[_0x1645('0x30')][_0x1645('0x33')]));_0x32d281[_0x1645('0x32')]=_0x32d281[_0x1645('0x32')]['length']?_0x32d281[_0x1645('0x32')]:_0x26f70d[_0x1645('0x2f')];if(!_0x87e42b[_0x1645('0x30')][_0x1645('0x34')](_0x1645('0x35'))){_0x32d281[_0x1645('0x1b')]=qs[_0x1645('0x1b')](_0x87e42b[_0x1645('0x30')][_0x1645('0x1b')]);_0x32d281[_0x1645('0x1c')]=qs[_0x1645('0x1c')](_0x87e42b[_0x1645('0x30')]['offset']);}_0x32d281[_0x1645('0x36')]=qs[_0x1645('0x37')](_0x87e42b[_0x1645('0x30')][_0x1645('0x37')]);_0x32d281[_0x1645('0x38')]=qs[_0x1645('0x39')](_[_0x1645('0x3a')](_0x87e42b['query'],_0x26f70d[_0x1645('0x39')]),_0x2c659b);if(_0x87e42b[_0x1645('0x30')]['filter']){_0x32d281['where']=_[_0x1645('0x3b')](_0x32d281[_0x1645('0x38')],{'$or':_['map'](_0x2c659b,function(_0x1b39e6){if(_0x1b39e6['type']!==_0x1645('0x3c')){var _0x2e8da2={};_0x2e8da2[_0x1b39e6[_0x1645('0x29')]]={'$like':'%'+_0x87e42b[_0x1645('0x30')][_0x1645('0x3d')]+'%'};return _0x2e8da2;}})});}_0x32d281=_['merge']({},_0x32d281,_0x87e42b[_0x1645('0x3e')]);var _0x473e75={'where':_0x32d281[_0x1645('0x38')]};return db['CmHopperAdditionalPhone'][_0x1645('0x1d')](_0x473e75)[_0x1645('0x22')](function(_0x3a1a65){_0x5f1bab[_0x1645('0x1d')]=_0x3a1a65;if(_0x87e42b[_0x1645('0x30')][_0x1645('0x3f')]){_0x32d281[_0x1645('0x40')]=[{'all':!![]}];}return db['CmHopperAdditionalPhone'][_0x1645('0x41')](_0x32d281);})['then'](function(_0x21de6f){_0x5f1bab['rows']=_0x21de6f;return _0x5f1bab;})['then'](respondWithFilteredResult(_0x32d7c8,_0x32d281))[_0x1645('0x42')](handleError(_0x32d7c8,null));};exports['show']=function(_0x3e5103,_0x3908c8){var _0x44548a={'raw':!![],'where':{'id':_0x3e5103[_0x1645('0x43')]['id']}},_0x24d308={};_0x24d308[_0x1645('0x2f')]=_['keys'](db[_0x1645('0x2c')]['rawAttributes']);_0x24d308['query']=_['keys'](_0x3e5103[_0x1645('0x30')]);_0x24d308[_0x1645('0x39')]=_[_0x1645('0x31')](_0x24d308[_0x1645('0x2f')],_0x24d308[_0x1645('0x30')]);_0x44548a['attributes']=_['intersection'](_0x24d308[_0x1645('0x2f')],qs[_0x1645('0x33')](_0x3e5103[_0x1645('0x30')]['fields']));_0x44548a[_0x1645('0x32')]=_0x44548a[_0x1645('0x32')][_0x1645('0x44')]?_0x44548a['attributes']:_0x24d308['model'];if(_0x3e5103['query'][_0x1645('0x3f')]){_0x44548a['include']=[{'all':!![]}];}_0x44548a=_[_0x1645('0x3b')]({},_0x44548a,_0x3e5103[_0x1645('0x3e')]);return db[_0x1645('0x2c')][_0x1645('0x45')](_0x44548a)[_0x1645('0x22')](handleEntityNotFound(_0x3908c8,null))['then'](respondWithResult(_0x3908c8,null))[_0x1645('0x42')](handleError(_0x3908c8,null));};exports[_0x1645('0x46')]=function(_0x406efb,_0x2f1408){return db['CmHopperAdditionalPhone'][_0x1645('0x46')](_0x406efb[_0x1645('0x47')],{})[_0x1645('0x22')](function(_0xd3ef04){var _0x423942=_0x406efb[_0x1645('0x48')]['get']({'plain':!![]});if(!_0x423942)throw new Error('Unable\x20to\x20retrieve\x20the\x20current\x20user');if(_0x423942['role']==='user'){var _0x59de85=_0xd3ef04[_0x1645('0x23')]({'plain':!![]});var _0x4f84b2=_0x1645('0x49');return db['UserProfileSection'][_0x1645('0x45')]({'where':{'name':_0x4f84b2,'userProfileId':_0x423942[_0x1645('0x4a')]},'raw':!![]})[_0x1645('0x22')](function(_0x158fc4){if(_0x158fc4&&_0x158fc4[_0x1645('0x4b')]===0x0){return db[_0x1645('0x24')]['create']({'name':_0x59de85[_0x1645('0x29')],'resourceId':_0x59de85['id'],'type':_0x158fc4[_0x1645('0x29')],'sectionId':_0x158fc4['id']},{})[_0x1645('0x22')](function(){return _0xd3ef04;});}else{return _0xd3ef04;}})[_0x1645('0x42')](function(_0x3ef80b){logger[_0x1645('0x27')](_0x1645('0x4c'),_0x3ef80b);throw _0x3ef80b;});}return _0xd3ef04;})[_0x1645('0x22')](respondWithResult(_0x2f1408,0xc9))[_0x1645('0x42')](handleError(_0x2f1408,null));};exports[_0x1645('0x4d')]=function(_0x397a0c,_0x155ec1){if(_0x397a0c['body']['id']){delete _0x397a0c[_0x1645('0x47')]['id'];}return db['CmHopperAdditionalPhone'][_0x1645('0x45')]({'where':{'id':_0x397a0c[_0x1645('0x43')]['id']}})[_0x1645('0x22')](handleEntityNotFound(_0x155ec1,null))[_0x1645('0x22')](saveUpdates(_0x397a0c[_0x1645('0x47')],null))[_0x1645('0x22')](respondWithResult(_0x155ec1,null))['catch'](handleError(_0x155ec1,null));};exports[_0x1645('0x25')]=function(_0x517d67,_0xdfb943){return db[_0x1645('0x2c')]['find']({'where':{'id':_0x517d67['params']['id']}})[_0x1645('0x22')](handleEntityNotFound(_0xdfb943,null))[_0x1645('0x22')](removeEntity(_0xdfb943,null))[_0x1645('0x42')](handleError(_0xdfb943,null));};