9b71690e25d169baa8cd1a4b60c2ce08cd51cc0e
[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 _0xc6ac=['user','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','UserProfileSection','userProfileId','autoAssociation','body','html-pdf','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','util','path','sox','to-csv','ejs','squel','crypto','jsforce','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','../../config/utils','../../config/environment','../../config/license/util','sendStatus','status','json','count','offset','limit','set','Content-Range','reject','save','update','then','get','CmHopperAdditionalPhones','UserProfileResource','destroy','error','stack','name','send','index','map','CmHopperAdditionalPhone','rawAttributes','fieldName','key','model','query','keys','filters','attributes','intersection','fields','hasOwnProperty','nolimit','order','sort','where','pick','filter','merge','type','options','include','findAll','catch','show','params','length','find','create'];(function(_0x411add,_0x1aed38){var _0x238242=function(_0x4a1cd5){while(--_0x4a1cd5){_0x411add['push'](_0x411add['shift']());}};_0x238242(++_0x1aed38);}(_0xc6ac,0x15b));var _0xcc6a=function(_0x1e7045,_0x3a9149){_0x1e7045=_0x1e7045-0x0;var _0xf1ac7d=_0xc6ac[_0x1e7045];return _0xf1ac7d;};'use strict';var pdf=require(_0xcc6a('0x0'));var emlformat=require(_0xcc6a('0x1'));var rimraf=require(_0xcc6a('0x2'));var zipdir=require(_0xcc6a('0x3'));var jsonpatch=require(_0xcc6a('0x4'));var rp=require(_0xcc6a('0x5'));var moment=require(_0xcc6a('0x6'));var BPromise=require(_0xcc6a('0x7'));var Mustache=require(_0xcc6a('0x8'));var util=require(_0xcc6a('0x9'));var path=require(_0xcc6a('0xa'));var sox=require(_0xcc6a('0xb'));var csv=require(_0xcc6a('0xc'));var ejs=require(_0xcc6a('0xd'));var fs=require('fs');var _=require('lodash');var squel=require(_0xcc6a('0xe'));var crypto=require(_0xcc6a('0xf'));var jsforce=require(_0xcc6a('0x10'));var deskjs=require('desk.js');var toCsv=require(_0xcc6a('0xc'));var querystring=require(_0xcc6a('0x11'));var Papa=require(_0xcc6a('0x12'));var Redis=require(_0xcc6a('0x13'));var authService=require(_0xcc6a('0x14'));var qs=require('../../components/parsers/qs');var as=require(_0xcc6a('0x15'));var hardwareService=require(_0xcc6a('0x16'));var logger=require(_0xcc6a('0x17'))('api');var utils=require(_0xcc6a('0x18'));var config=require(_0xcc6a('0x19'));var licenseUtil=require(_0xcc6a('0x1a'));var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x59ce6d,_0xf0f6d5){_0xf0f6d5=_0xf0f6d5||0xcc;return function(_0x211444){if(_0x211444){return _0x59ce6d[_0xcc6a('0x1b')](_0xf0f6d5);}return _0x59ce6d['status'](_0xf0f6d5)['end']();};}function respondWithResult(_0x369dc1,_0xcb9e2e){_0xcb9e2e=_0xcb9e2e||0xc8;return function(_0x43710d){if(_0x43710d){return _0x369dc1[_0xcc6a('0x1c')](_0xcb9e2e)[_0xcc6a('0x1d')](_0x43710d);}};}function respondWithFilteredResult(_0x337ec5,_0x4133fa){return function(_0x403b18){if(_0x403b18){var _0x56ffb0=_0x403b18[_0xcc6a('0x1e')],_0x4e628f=_0x4133fa[_0xcc6a('0x1f')],_0x4d021a=_0x4133fa[_0xcc6a('0x1f')]+_0x4133fa[_0xcc6a('0x20')],_0x395a55;if(_0x4d021a>=_0x56ffb0){_0x4d021a=_0x56ffb0;_0x395a55=0xc8;}else{_0x395a55=0xce;}_0x337ec5[_0xcc6a('0x1c')](_0x395a55);return _0x337ec5[_0xcc6a('0x21')](_0xcc6a('0x22'),_0x4e628f+'-'+_0x4d021a+'/'+_0x56ffb0)[_0xcc6a('0x1d')](_0x403b18);}return null;};}function patchUpdates(_0x2a3994){return function(_0x1d20a3){try{jsonpatch['apply'](_0x1d20a3,_0x2a3994,!![]);}catch(_0xfec60f){return BPromise[_0xcc6a('0x23')](_0xfec60f);}return _0x1d20a3[_0xcc6a('0x24')]();};}function saveUpdates(_0x368a6e,_0x1495d8){return function(_0x30b8ed){if(_0x30b8ed){return _0x30b8ed[_0xcc6a('0x25')](_0x368a6e)[_0xcc6a('0x26')](function(_0x2254a8){return _0x2254a8;});}return null;};}function removeEntity(_0x19d32c,_0x329d17){return function(_0x845088){if(_0x845088){return _0x845088['destroy']()[_0xcc6a('0x26')](function(){var _0x3a081e=_0x845088[_0xcc6a('0x27')]({'plain':!![]});var _0x581aae=_0xcc6a('0x28');return db[_0xcc6a('0x29')][_0xcc6a('0x2a')]({'where':{'type':_0x581aae,'resourceId':_0x3a081e['id']}})[_0xcc6a('0x26')](function(){return _0x845088;});})[_0xcc6a('0x26')](function(){_0x19d32c[_0xcc6a('0x1c')](0xcc)['end']();});}};}function handleEntityNotFound(_0x26def8,_0x29d8be){return function(_0x3514f3){if(!_0x3514f3){_0x26def8['sendStatus'](0x194);}return _0x3514f3;};}function handleError(_0x3afb3a,_0x3dad72){_0x3dad72=_0x3dad72||0x1f4;return function(_0x4da301){logger[_0xcc6a('0x2b')](_0x4da301[_0xcc6a('0x2c')]);if(_0x4da301[_0xcc6a('0x2d')]){delete _0x4da301[_0xcc6a('0x2d')];}_0x3afb3a['status'](_0x3dad72)[_0xcc6a('0x2e')](_0x4da301);};}exports[_0xcc6a('0x2f')]=function(_0x2c6d88,_0x4f176b){var _0x2590a2={},_0x5308d4={},_0x4f67d3={'count':0x0,'rows':[]};var _0x33b72b=_[_0xcc6a('0x30')](db[_0xcc6a('0x31')][_0xcc6a('0x32')],function(_0x2b575d){return{'name':_0x2b575d[_0xcc6a('0x33')],'type':_0x2b575d['type'][_0xcc6a('0x34')]};});_0x5308d4[_0xcc6a('0x35')]=_[_0xcc6a('0x30')](_0x33b72b,_0xcc6a('0x2d'));_0x5308d4[_0xcc6a('0x36')]=_[_0xcc6a('0x37')](_0x2c6d88[_0xcc6a('0x36')]);_0x5308d4[_0xcc6a('0x38')]=_['intersection'](_0x5308d4[_0xcc6a('0x35')],_0x5308d4[_0xcc6a('0x36')]);_0x2590a2[_0xcc6a('0x39')]=_[_0xcc6a('0x3a')](_0x5308d4[_0xcc6a('0x35')],qs[_0xcc6a('0x3b')](_0x2c6d88[_0xcc6a('0x36')]['fields']));_0x2590a2[_0xcc6a('0x39')]=_0x2590a2['attributes']['length']?_0x2590a2['attributes']:_0x5308d4[_0xcc6a('0x35')];if(!_0x2c6d88[_0xcc6a('0x36')][_0xcc6a('0x3c')](_0xcc6a('0x3d'))){_0x2590a2[_0xcc6a('0x20')]=qs['limit'](_0x2c6d88['query'][_0xcc6a('0x20')]);_0x2590a2[_0xcc6a('0x1f')]=qs[_0xcc6a('0x1f')](_0x2c6d88['query'][_0xcc6a('0x1f')]);}_0x2590a2[_0xcc6a('0x3e')]=qs[_0xcc6a('0x3f')](_0x2c6d88[_0xcc6a('0x36')][_0xcc6a('0x3f')]);_0x2590a2[_0xcc6a('0x40')]=qs[_0xcc6a('0x38')](_[_0xcc6a('0x41')](_0x2c6d88[_0xcc6a('0x36')],_0x5308d4[_0xcc6a('0x38')]),_0x33b72b);if(_0x2c6d88[_0xcc6a('0x36')][_0xcc6a('0x42')]){_0x2590a2[_0xcc6a('0x40')]=_[_0xcc6a('0x43')](_0x2590a2[_0xcc6a('0x40')],{'$or':_[_0xcc6a('0x30')](_0x33b72b,function(_0x11e5b1){if(_0x11e5b1[_0xcc6a('0x44')]!=='VIRTUAL'){var _0x553e66={};_0x553e66[_0x11e5b1[_0xcc6a('0x2d')]]={'$like':'%'+_0x2c6d88[_0xcc6a('0x36')][_0xcc6a('0x42')]+'%'};return _0x553e66;}})});}_0x2590a2=_[_0xcc6a('0x43')]({},_0x2590a2,_0x2c6d88[_0xcc6a('0x45')]);var _0x2f4809={'where':_0x2590a2[_0xcc6a('0x40')]};return db[_0xcc6a('0x31')]['count'](_0x2f4809)['then'](function(_0x470e3b){_0x4f67d3['count']=_0x470e3b;if(_0x2c6d88['query']['includeAll']){_0x2590a2[_0xcc6a('0x46')]=[{'all':!![]}];}return db[_0xcc6a('0x31')][_0xcc6a('0x47')](_0x2590a2);})[_0xcc6a('0x26')](function(_0xe8056f){_0x4f67d3['rows']=_0xe8056f;return _0x4f67d3;})[_0xcc6a('0x26')](respondWithFilteredResult(_0x4f176b,_0x2590a2))[_0xcc6a('0x48')](handleError(_0x4f176b,null));};exports[_0xcc6a('0x49')]=function(_0x2f966f,_0x14ca90){var _0x2235e0={'raw':!![],'where':{'id':_0x2f966f[_0xcc6a('0x4a')]['id']}},_0x54f862={};_0x54f862[_0xcc6a('0x35')]=_[_0xcc6a('0x37')](db[_0xcc6a('0x31')]['rawAttributes']);_0x54f862[_0xcc6a('0x36')]=_['keys'](_0x2f966f[_0xcc6a('0x36')]);_0x54f862[_0xcc6a('0x38')]=_[_0xcc6a('0x3a')](_0x54f862['model'],_0x54f862[_0xcc6a('0x36')]);_0x2235e0[_0xcc6a('0x39')]=_[_0xcc6a('0x3a')](_0x54f862['model'],qs['fields'](_0x2f966f[_0xcc6a('0x36')][_0xcc6a('0x3b')]));_0x2235e0[_0xcc6a('0x39')]=_0x2235e0[_0xcc6a('0x39')][_0xcc6a('0x4b')]?_0x2235e0['attributes']:_0x54f862[_0xcc6a('0x35')];if(_0x2f966f[_0xcc6a('0x36')]['includeAll']){_0x2235e0[_0xcc6a('0x46')]=[{'all':!![]}];}_0x2235e0=_[_0xcc6a('0x43')]({},_0x2235e0,_0x2f966f[_0xcc6a('0x45')]);return db[_0xcc6a('0x31')][_0xcc6a('0x4c')](_0x2235e0)[_0xcc6a('0x26')](handleEntityNotFound(_0x14ca90,null))['then'](respondWithResult(_0x14ca90,null))['catch'](handleError(_0x14ca90,null));};exports['create']=function(_0x254e83,_0x267e43){return db[_0xcc6a('0x31')][_0xcc6a('0x4d')](_0x254e83['body'],{})[_0xcc6a('0x26')](function(_0x5e7bab){var _0x3aa7dd=_0x254e83[_0xcc6a('0x4e')][_0xcc6a('0x27')]({'plain':!![]});if(!_0x3aa7dd)throw new Error(_0xcc6a('0x4f'));if(_0x3aa7dd[_0xcc6a('0x50')]===_0xcc6a('0x4e')){var _0x47b175=_0x5e7bab[_0xcc6a('0x27')]({'plain':!![]});var _0x7288b2=_0xcc6a('0x28');return db[_0xcc6a('0x51')][_0xcc6a('0x4c')]({'where':{'name':_0x7288b2,'userProfileId':_0x3aa7dd[_0xcc6a('0x52')]},'raw':!![]})[_0xcc6a('0x26')](function(_0x392805){if(_0x392805&&_0x392805[_0xcc6a('0x53')]===0x0){return db[_0xcc6a('0x29')]['create']({'name':_0x47b175[_0xcc6a('0x2d')],'resourceId':_0x47b175['id'],'type':_0x392805[_0xcc6a('0x2d')],'sectionId':_0x392805['id']},{})[_0xcc6a('0x26')](function(){return _0x5e7bab;});}else{return _0x5e7bab;}})[_0xcc6a('0x48')](function(_0x14f5e5){logger[_0xcc6a('0x2b')]('Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s',_0x14f5e5);throw _0x14f5e5;});}return _0x5e7bab;})['then'](respondWithResult(_0x267e43,0xc9))[_0xcc6a('0x48')](handleError(_0x267e43,null));};exports['update']=function(_0x1ac0f0,_0x1f56b0){if(_0x1ac0f0[_0xcc6a('0x54')]['id']){delete _0x1ac0f0[_0xcc6a('0x54')]['id'];}return db[_0xcc6a('0x31')][_0xcc6a('0x4c')]({'where':{'id':_0x1ac0f0[_0xcc6a('0x4a')]['id']}})[_0xcc6a('0x26')](handleEntityNotFound(_0x1f56b0,null))[_0xcc6a('0x26')](saveUpdates(_0x1ac0f0[_0xcc6a('0x54')],null))[_0xcc6a('0x26')](respondWithResult(_0x1f56b0,null))['catch'](handleError(_0x1f56b0,null));};exports[_0xcc6a('0x2a')]=function(_0x48eed9,_0x378679){return db[_0xcc6a('0x31')][_0xcc6a('0x4c')]({'where':{'id':_0x48eed9['params']['id']}})[_0xcc6a('0x26')](handleEntityNotFound(_0x378679,null))['then'](removeEntity(_0x378679,null))[_0xcc6a('0x48')](handleError(_0x378679,null));};