f80def74d48a07e80cab8fc1a421a56d2ab4102b
[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 _0x8f7a=['rows','show','params','find','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','CmHopperAdditionalPhones','UserProfileSection','userProfileId','autoAssociation','create','error','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','catch','body','eml-format','rimraf','zip-dir','bluebird','util','path','sox','to-csv','ejs','lodash','squel','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','end','status','json','offset','undefined','count','limit','set','Content-Range','apply','reject','save','update','destroy','then','get','UserProfileResource','name','map','CmHopperAdditionalPhone','rawAttributes','fieldName','type','key','model','query','keys','filters','intersection','fields','attributes','length','hasOwnProperty','nolimit','sort','where','pick','filter','merge','VIRTUAL','options','includeAll','include','findAll'];(function(_0x1a0011,_0x32b202){var _0x49bfb2=function(_0x2ecc23){while(--_0x2ecc23){_0x1a0011['push'](_0x1a0011['shift']());}};_0x49bfb2(++_0x32b202);}(_0x8f7a,0xbb));var _0xa8f7=function(_0x21ad36,_0x5aba39){_0x21ad36=_0x21ad36-0x0;var _0x29eb95=_0x8f7a[_0x21ad36];return _0x29eb95;};'use strict';var emlformat=require(_0xa8f7('0x0'));var rimraf=require(_0xa8f7('0x1'));var zipdir=require(_0xa8f7('0x2'));var jsonpatch=require('fast-json-patch');var rp=require('request-promise');var moment=require('moment');var BPromise=require(_0xa8f7('0x3'));var Mustache=require('mustache');var util=require(_0xa8f7('0x4'));var path=require(_0xa8f7('0x5'));var sox=require(_0xa8f7('0x6'));var csv=require(_0xa8f7('0x7'));var ejs=require(_0xa8f7('0x8'));var fs=require('fs');var fs_extra=require('fs-extra');var _=require(_0xa8f7('0x9'));var squel=require(_0xa8f7('0xa'));var crypto=require('crypto');var jsforce=require(_0xa8f7('0xb'));var deskjs=require(_0xa8f7('0xc'));var toCsv=require(_0xa8f7('0x7'));var querystring=require(_0xa8f7('0xd'));var Papa=require(_0xa8f7('0xe'));var Redis=require(_0xa8f7('0xf'));var authService=require(_0xa8f7('0x10'));var qs=require(_0xa8f7('0x11'));var as=require(_0xa8f7('0x12'));var hardwareService=require(_0xa8f7('0x13'));var logger=require(_0xa8f7('0x14'))(_0xa8f7('0x15'));var utils=require(_0xa8f7('0x16'));var config=require(_0xa8f7('0x17'));var licenseUtil=require(_0xa8f7('0x18'));var db=require(_0xa8f7('0x19'))['db'];function respondWithStatusCode(_0x1b9c0e,_0x348f82){_0x348f82=_0x348f82||0xcc;return function(_0x45c535){if(_0x45c535){return _0x1b9c0e[_0xa8f7('0x1a')](_0x348f82);}return _0x1b9c0e['status'](_0x348f82)[_0xa8f7('0x1b')]();};}function respondWithResult(_0x11faf0,_0x1dbcef){_0x1dbcef=_0x1dbcef||0xc8;return function(_0x3a2cc3){if(_0x3a2cc3){return _0x11faf0[_0xa8f7('0x1c')](_0x1dbcef)[_0xa8f7('0x1d')](_0x3a2cc3);}};}function respondWithFilteredResult(_0x82d3a2,_0x3c44f4){return function(_0x5149b2){if(_0x5149b2){var _0x52d615=typeof _0x3c44f4[_0xa8f7('0x1e')]==='undefined'&&typeof _0x3c44f4['limit']===_0xa8f7('0x1f');var _0x44c75b=_0x5149b2[_0xa8f7('0x20')];var _0x4f74e7=_0x52d615?0x0:_0x3c44f4[_0xa8f7('0x1e')];var _0x3b7754=_0x52d615?_0x5149b2[_0xa8f7('0x20')]:_0x3c44f4[_0xa8f7('0x1e')]+_0x3c44f4[_0xa8f7('0x21')];var _0x23dc5b;if(_0x3b7754>=_0x44c75b){_0x3b7754=_0x44c75b;_0x23dc5b=0xc8;}else{_0x23dc5b=0xce;}_0x82d3a2[_0xa8f7('0x1c')](_0x23dc5b);return _0x82d3a2[_0xa8f7('0x22')](_0xa8f7('0x23'),_0x4f74e7+'-'+_0x3b7754+'/'+_0x44c75b)[_0xa8f7('0x1d')](_0x5149b2);}return null;};}function patchUpdates(_0x1f1004){return function(_0x364381){try{jsonpatch[_0xa8f7('0x24')](_0x364381,_0x1f1004,!![]);}catch(_0x21ef0e){return BPromise[_0xa8f7('0x25')](_0x21ef0e);}return _0x364381[_0xa8f7('0x26')]();};}function saveUpdates(_0x3299ae,_0x5cabbc){return function(_0x1342b4){if(_0x1342b4){return _0x1342b4[_0xa8f7('0x27')](_0x3299ae)['then'](function(_0x53e665){return _0x53e665;});}return null;};}function removeEntity(_0x5ca8de,_0x80217f){return function(_0x57a7eb){if(_0x57a7eb){return _0x57a7eb[_0xa8f7('0x28')]()[_0xa8f7('0x29')](function(){var _0x2a29c1=_0x57a7eb[_0xa8f7('0x2a')]({'plain':!![]});var _0x25de6d='CmHopperAdditionalPhones';return db[_0xa8f7('0x2b')][_0xa8f7('0x28')]({'where':{'type':_0x25de6d,'resourceId':_0x2a29c1['id']}})['then'](function(){return _0x57a7eb;});})[_0xa8f7('0x29')](function(){_0x5ca8de[_0xa8f7('0x1c')](0xcc)[_0xa8f7('0x1b')]();});}};}function handleEntityNotFound(_0x3521c6,_0xb46fd6){return function(_0x4177a9){if(!_0x4177a9){_0x3521c6[_0xa8f7('0x1a')](0x194);}return _0x4177a9;};}function handleError(_0x148aa2,_0x2cf89f){_0x2cf89f=_0x2cf89f||0x1f4;return function(_0x2b5328){logger['error'](_0x2b5328['stack']);if(_0x2b5328[_0xa8f7('0x2c')]){delete _0x2b5328[_0xa8f7('0x2c')];}_0x148aa2['status'](_0x2cf89f)['send'](_0x2b5328);};}exports['index']=function(_0x2688c0,_0x1f1fa0){var _0x2dfc33={},_0x9d9ca={},_0x312df3={'count':0x0,'rows':[]};var _0x1a284c=_[_0xa8f7('0x2d')](db[_0xa8f7('0x2e')][_0xa8f7('0x2f')],function(_0x2690c6){return{'name':_0x2690c6[_0xa8f7('0x30')],'type':_0x2690c6[_0xa8f7('0x31')][_0xa8f7('0x32')]};});_0x9d9ca[_0xa8f7('0x33')]=_[_0xa8f7('0x2d')](_0x1a284c,_0xa8f7('0x2c'));_0x9d9ca[_0xa8f7('0x34')]=_[_0xa8f7('0x35')](_0x2688c0['query']);_0x9d9ca[_0xa8f7('0x36')]=_[_0xa8f7('0x37')](_0x9d9ca[_0xa8f7('0x33')],_0x9d9ca[_0xa8f7('0x34')]);_0x2dfc33['attributes']=_[_0xa8f7('0x37')](_0x9d9ca['model'],qs[_0xa8f7('0x38')](_0x2688c0['query'][_0xa8f7('0x38')]));_0x2dfc33[_0xa8f7('0x39')]=_0x2dfc33[_0xa8f7('0x39')][_0xa8f7('0x3a')]?_0x2dfc33[_0xa8f7('0x39')]:_0x9d9ca[_0xa8f7('0x33')];if(!_0x2688c0[_0xa8f7('0x34')][_0xa8f7('0x3b')](_0xa8f7('0x3c'))){_0x2dfc33[_0xa8f7('0x21')]=qs[_0xa8f7('0x21')](_0x2688c0[_0xa8f7('0x34')][_0xa8f7('0x21')]);_0x2dfc33[_0xa8f7('0x1e')]=qs[_0xa8f7('0x1e')](_0x2688c0[_0xa8f7('0x34')][_0xa8f7('0x1e')]);}_0x2dfc33['order']=qs[_0xa8f7('0x3d')](_0x2688c0['query'][_0xa8f7('0x3d')]);_0x2dfc33[_0xa8f7('0x3e')]=qs['filters'](_[_0xa8f7('0x3f')](_0x2688c0['query'],_0x9d9ca[_0xa8f7('0x36')]),_0x1a284c);if(_0x2688c0[_0xa8f7('0x34')][_0xa8f7('0x40')]){_0x2dfc33[_0xa8f7('0x3e')]=_[_0xa8f7('0x41')](_0x2dfc33['where'],{'$or':_[_0xa8f7('0x2d')](_0x1a284c,function(_0x4e1ba3){if(_0x4e1ba3[_0xa8f7('0x31')]!==_0xa8f7('0x42')){var _0x5a732a={};_0x5a732a[_0x4e1ba3[_0xa8f7('0x2c')]]={'$like':'%'+_0x2688c0[_0xa8f7('0x34')][_0xa8f7('0x40')]+'%'};return _0x5a732a;}})});}_0x2dfc33=_['merge']({},_0x2dfc33,_0x2688c0[_0xa8f7('0x43')]);var _0x581104={'where':_0x2dfc33[_0xa8f7('0x3e')]};return db[_0xa8f7('0x2e')][_0xa8f7('0x20')](_0x581104)[_0xa8f7('0x29')](function(_0x27eec1){_0x312df3[_0xa8f7('0x20')]=_0x27eec1;if(_0x2688c0[_0xa8f7('0x34')][_0xa8f7('0x44')]){_0x2dfc33[_0xa8f7('0x45')]=[{'all':!![]}];}return db[_0xa8f7('0x2e')][_0xa8f7('0x46')](_0x2dfc33);})['then'](function(_0x5771a3){_0x312df3[_0xa8f7('0x47')]=_0x5771a3;return _0x312df3;})[_0xa8f7('0x29')](respondWithFilteredResult(_0x1f1fa0,_0x2dfc33))['catch'](handleError(_0x1f1fa0,null));};exports[_0xa8f7('0x48')]=function(_0x589e73,_0x2fd9c9){var _0x3e9bf2={'raw':!![],'where':{'id':_0x589e73[_0xa8f7('0x49')]['id']}},_0x22c3c3={};_0x22c3c3[_0xa8f7('0x33')]=_[_0xa8f7('0x35')](db[_0xa8f7('0x2e')][_0xa8f7('0x2f')]);_0x22c3c3['query']=_[_0xa8f7('0x35')](_0x589e73[_0xa8f7('0x34')]);_0x22c3c3[_0xa8f7('0x36')]=_[_0xa8f7('0x37')](_0x22c3c3[_0xa8f7('0x33')],_0x22c3c3[_0xa8f7('0x34')]);_0x3e9bf2[_0xa8f7('0x39')]=_[_0xa8f7('0x37')](_0x22c3c3[_0xa8f7('0x33')],qs[_0xa8f7('0x38')](_0x589e73[_0xa8f7('0x34')][_0xa8f7('0x38')]));_0x3e9bf2['attributes']=_0x3e9bf2[_0xa8f7('0x39')][_0xa8f7('0x3a')]?_0x3e9bf2[_0xa8f7('0x39')]:_0x22c3c3[_0xa8f7('0x33')];if(_0x589e73[_0xa8f7('0x34')][_0xa8f7('0x44')]){_0x3e9bf2[_0xa8f7('0x45')]=[{'all':!![]}];}_0x3e9bf2=_['merge']({},_0x3e9bf2,_0x589e73[_0xa8f7('0x43')]);return db[_0xa8f7('0x2e')][_0xa8f7('0x4a')](_0x3e9bf2)['then'](handleEntityNotFound(_0x2fd9c9,null))['then'](respondWithResult(_0x2fd9c9,null))['catch'](handleError(_0x2fd9c9,null));};exports['create']=function(_0x2060b9,_0xd8cb3f){return db[_0xa8f7('0x2e')]['create'](_0x2060b9['body'],{})['then'](function(_0x22aa7d){var _0x5e1571=_0x2060b9[_0xa8f7('0x4b')]['get']({'plain':!![]});if(!_0x5e1571)throw new Error(_0xa8f7('0x4c'));if(_0x5e1571['role']==='user'){var _0x3dced3=_0x22aa7d['get']({'plain':!![]});var _0x529333=_0xa8f7('0x4d');return db[_0xa8f7('0x4e')][_0xa8f7('0x4a')]({'where':{'name':_0x529333,'userProfileId':_0x5e1571[_0xa8f7('0x4f')]},'raw':!![]})[_0xa8f7('0x29')](function(_0x664d4c){if(_0x664d4c&&_0x664d4c[_0xa8f7('0x50')]===0x0){return db['UserProfileResource'][_0xa8f7('0x51')]({'name':_0x3dced3[_0xa8f7('0x2c')],'resourceId':_0x3dced3['id'],'type':_0x664d4c[_0xa8f7('0x2c')],'sectionId':_0x664d4c['id']},{})[_0xa8f7('0x29')](function(){return _0x22aa7d;});}else{return _0x22aa7d;}})['catch'](function(_0x5ae3ab){logger[_0xa8f7('0x52')](_0xa8f7('0x53'),_0x5ae3ab);throw _0x5ae3ab;});}return _0x22aa7d;})[_0xa8f7('0x29')](respondWithResult(_0xd8cb3f,0xc9))[_0xa8f7('0x54')](handleError(_0xd8cb3f,null));};exports[_0xa8f7('0x27')]=function(_0x351e3b,_0xf8fcfc){if(_0x351e3b[_0xa8f7('0x55')]['id']){delete _0x351e3b['body']['id'];}return db[_0xa8f7('0x2e')][_0xa8f7('0x4a')]({'where':{'id':_0x351e3b[_0xa8f7('0x49')]['id']}})[_0xa8f7('0x29')](handleEntityNotFound(_0xf8fcfc,null))['then'](saveUpdates(_0x351e3b[_0xa8f7('0x55')],null))[_0xa8f7('0x29')](respondWithResult(_0xf8fcfc,null))['catch'](handleError(_0xf8fcfc,null));};exports[_0xa8f7('0x28')]=function(_0xfe7385,_0x2b7f8e){return db[_0xa8f7('0x2e')][_0xa8f7('0x4a')]({'where':{'id':_0xfe7385[_0xa8f7('0x49')]['id']}})[_0xa8f7('0x29')](handleEntityNotFound(_0x2b7f8e,null))[_0xa8f7('0x29')](removeEntity(_0x2b7f8e,null))[_0xa8f7('0x54')](handleError(_0x2b7f8e,null));};