e559eecbbf52d7fbaddd08a8a2838377f67a8d18
[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 _0x8344=['rimraf','zip-dir','fast-json-patch','moment','bluebird','path','sox','to-csv','ejs','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../config/license/hardware','api','../../config/utils','../../config/environment','../../mysqldb','sendStatus','end','status','json','count','offset','limit','set','Content-Range','apply','reject','save','update','destroy','then','get','UserProfileResource','error','stack','name','send','index','map','CmHopperAdditionalPhone','rawAttributes','type','key','model','query','intersection','attributes','fields','length','nolimit','order','sort','where','filters','pick','filter','VIRTUAL','merge','options','catch','show','params','keys','includeAll','find','create','body','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','CmHopperAdditionalPhones','UserProfileSection','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','html-pdf'];(function(_0x57d9e8,_0x2a8d72){var _0xf195c3=function(_0x40ff78){while(--_0x40ff78){_0x57d9e8['push'](_0x57d9e8['shift']());}};_0xf195c3(++_0x2a8d72);}(_0x8344,0xef));var _0x4834=function(_0xb96939,_0x52d57d){_0xb96939=_0xb96939-0x0;var _0x4e2142=_0x8344[_0xb96939];return _0x4e2142;};'use strict';var pdf=require(_0x4834('0x0'));var emlformat=require('eml-format');var rimraf=require(_0x4834('0x1'));var zipdir=require(_0x4834('0x2'));var jsonpatch=require(_0x4834('0x3'));var rp=require('request-promise');var moment=require(_0x4834('0x4'));var BPromise=require(_0x4834('0x5'));var Mustache=require('mustache');var util=require('util');var path=require(_0x4834('0x6'));var sox=require(_0x4834('0x7'));var csv=require(_0x4834('0x8'));var ejs=require(_0x4834('0x9'));var fs=require('fs');var _=require('lodash');var squel=require('squel');var crypto=require(_0x4834('0xa'));var jsforce=require(_0x4834('0xb'));var deskjs=require(_0x4834('0xc'));var toCsv=require('to-csv');var querystring=require(_0x4834('0xd'));var Papa=require(_0x4834('0xe'));var Redis=require(_0x4834('0xf'));var authService=require(_0x4834('0x10'));var qs=require(_0x4834('0x11'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0x4834('0x12'));var logger=require('../../config/logger')(_0x4834('0x13'));var utils=require(_0x4834('0x14'));var config=require(_0x4834('0x15'));var db=require(_0x4834('0x16'))['db'];function respondWithStatusCode(_0x38a9f0,_0x4548ef){_0x4548ef=_0x4548ef||0xcc;return function(_0x269833){if(_0x269833){return _0x38a9f0[_0x4834('0x17')](_0x4548ef);}return _0x38a9f0['status'](_0x4548ef)[_0x4834('0x18')]();};}function respondWithResult(_0x1e31ef,_0x4297f8){_0x4297f8=_0x4297f8||0xc8;return function(_0x1b52be){if(_0x1b52be){return _0x1e31ef[_0x4834('0x19')](_0x4297f8)[_0x4834('0x1a')](_0x1b52be);}};}function respondWithFilteredResult(_0x2e655f,_0x4cd9a1){return function(_0x40f4d7){if(_0x40f4d7){var _0x3b9ce6=_0x40f4d7[_0x4834('0x1b')],_0x42a7d2=_0x4cd9a1[_0x4834('0x1c')],_0x1cad4e=_0x4cd9a1[_0x4834('0x1c')]+_0x4cd9a1[_0x4834('0x1d')],_0x4814ab;if(_0x1cad4e>=_0x3b9ce6){_0x1cad4e=_0x3b9ce6;_0x4814ab=0xc8;}else{_0x4814ab=0xce;}_0x2e655f[_0x4834('0x19')](_0x4814ab);return _0x2e655f[_0x4834('0x1e')](_0x4834('0x1f'),_0x42a7d2+'-'+_0x1cad4e+'/'+_0x3b9ce6)[_0x4834('0x1a')](_0x40f4d7);}return null;};}function patchUpdates(_0x2a6421){return function(_0xdae0af){try{jsonpatch[_0x4834('0x20')](_0xdae0af,_0x2a6421,!![]);}catch(_0x437799){return BPromise[_0x4834('0x21')](_0x437799);}return _0xdae0af[_0x4834('0x22')]();};}function saveUpdates(_0x30f086,_0x4cca95){return function(_0x768276){if(_0x768276){return _0x768276[_0x4834('0x23')](_0x30f086)['then'](function(_0x4731db){return _0x4731db;});}return null;};}function removeEntity(_0x49e095,_0x4fe8f4){return function(_0x3a2144){if(_0x3a2144){return _0x3a2144[_0x4834('0x24')]()[_0x4834('0x25')](function(){var _0x37b878=_0x3a2144[_0x4834('0x26')]({'plain':!![]});var _0x3596bb='CmHopperAdditionalPhones';return db[_0x4834('0x27')]['destroy']({'where':{'type':_0x3596bb,'resourceId':_0x37b878['id']}})[_0x4834('0x25')](function(){return _0x3a2144;});})[_0x4834('0x25')](function(){_0x49e095[_0x4834('0x19')](0xcc)[_0x4834('0x18')]();});}};}function handleEntityNotFound(_0x294179,_0x5ded27){return function(_0x5659cc){if(!_0x5659cc){_0x294179[_0x4834('0x17')](0x194);}return _0x5659cc;};}function handleError(_0x52e05c,_0x104dbc){_0x104dbc=_0x104dbc||0x1f4;return function(_0x340c99){logger[_0x4834('0x28')](_0x340c99[_0x4834('0x29')]);if(_0x340c99[_0x4834('0x2a')]){delete _0x340c99[_0x4834('0x2a')];}_0x52e05c[_0x4834('0x19')](_0x104dbc)[_0x4834('0x2b')](_0x340c99);};}exports[_0x4834('0x2c')]=function(_0x2acf06,_0x5adaa0){var _0x3e13d5={},_0x3ccaac={},_0x3b192d={'count':0x0,'rows':[]};var _0x45da36=_[_0x4834('0x2d')](db[_0x4834('0x2e')][_0x4834('0x2f')],function(_0x1a84b0){return{'name':_0x1a84b0['fieldName'],'type':_0x1a84b0[_0x4834('0x30')][_0x4834('0x31')]};});_0x3ccaac[_0x4834('0x32')]=_[_0x4834('0x2d')](_0x45da36,_0x4834('0x2a'));_0x3ccaac[_0x4834('0x33')]=_['keys'](_0x2acf06[_0x4834('0x33')]);_0x3ccaac['filters']=_[_0x4834('0x34')](_0x3ccaac[_0x4834('0x32')],_0x3ccaac[_0x4834('0x33')]);_0x3e13d5[_0x4834('0x35')]=_[_0x4834('0x34')](_0x3ccaac[_0x4834('0x32')],qs['fields'](_0x2acf06[_0x4834('0x33')][_0x4834('0x36')]));_0x3e13d5['attributes']=_0x3e13d5['attributes'][_0x4834('0x37')]?_0x3e13d5[_0x4834('0x35')]:_0x3ccaac[_0x4834('0x32')];if(!_0x2acf06[_0x4834('0x33')]['hasOwnProperty'](_0x4834('0x38'))){_0x3e13d5[_0x4834('0x1d')]=qs[_0x4834('0x1d')](_0x2acf06['query'][_0x4834('0x1d')]);_0x3e13d5[_0x4834('0x1c')]=qs[_0x4834('0x1c')](_0x2acf06[_0x4834('0x33')]['offset']);}_0x3e13d5[_0x4834('0x39')]=qs[_0x4834('0x3a')](_0x2acf06[_0x4834('0x33')][_0x4834('0x3a')]);_0x3e13d5[_0x4834('0x3b')]=qs[_0x4834('0x3c')](_[_0x4834('0x3d')](_0x2acf06[_0x4834('0x33')],_0x3ccaac[_0x4834('0x3c')]),_0x45da36);if(_0x2acf06[_0x4834('0x33')][_0x4834('0x3e')]){_0x3e13d5[_0x4834('0x3b')]=_['merge'](_0x3e13d5['where'],{'$or':_['map'](_0x45da36,function(_0x223a24){if(_0x223a24[_0x4834('0x30')]!==_0x4834('0x3f')){var _0x4b8812={};_0x4b8812[_0x223a24[_0x4834('0x2a')]]={'$like':'%'+_0x2acf06[_0x4834('0x33')][_0x4834('0x3e')]+'%'};return _0x4b8812;}})});}_0x3e13d5=_[_0x4834('0x40')]({},_0x3e13d5,_0x2acf06[_0x4834('0x41')]);var _0x49efed={'where':_0x3e13d5['where']};return db[_0x4834('0x2e')][_0x4834('0x1b')](_0x49efed)['then'](function(_0x18c9a1){_0x3b192d[_0x4834('0x1b')]=_0x18c9a1;if(_0x2acf06['query']['includeAll']){_0x3e13d5['include']=[{'all':!![]}];}return db['CmHopperAdditionalPhone']['findAll'](_0x3e13d5);})[_0x4834('0x25')](function(_0x5ed9f0){_0x3b192d['rows']=_0x5ed9f0;return _0x3b192d;})[_0x4834('0x25')](respondWithFilteredResult(_0x5adaa0,_0x3e13d5))[_0x4834('0x42')](handleError(_0x5adaa0,null));};exports[_0x4834('0x43')]=function(_0x3b5728,_0x34c6fd){var _0x57b6fb={'raw':!![],'where':{'id':_0x3b5728[_0x4834('0x44')]['id']}},_0x9fa0bd={};_0x9fa0bd[_0x4834('0x32')]=_['keys'](db['CmHopperAdditionalPhone'][_0x4834('0x2f')]);_0x9fa0bd[_0x4834('0x33')]=_[_0x4834('0x45')](_0x3b5728[_0x4834('0x33')]);_0x9fa0bd['filters']=_[_0x4834('0x34')](_0x9fa0bd['model'],_0x9fa0bd[_0x4834('0x33')]);_0x57b6fb[_0x4834('0x35')]=_[_0x4834('0x34')](_0x9fa0bd[_0x4834('0x32')],qs[_0x4834('0x36')](_0x3b5728[_0x4834('0x33')][_0x4834('0x36')]));_0x57b6fb[_0x4834('0x35')]=_0x57b6fb[_0x4834('0x35')][_0x4834('0x37')]?_0x57b6fb['attributes']:_0x9fa0bd[_0x4834('0x32')];if(_0x3b5728[_0x4834('0x33')][_0x4834('0x46')]){_0x57b6fb['include']=[{'all':!![]}];}_0x57b6fb=_[_0x4834('0x40')]({},_0x57b6fb,_0x3b5728[_0x4834('0x41')]);return db['CmHopperAdditionalPhone'][_0x4834('0x47')](_0x57b6fb)[_0x4834('0x25')](handleEntityNotFound(_0x34c6fd,null))[_0x4834('0x25')](respondWithResult(_0x34c6fd,null))[_0x4834('0x42')](handleError(_0x34c6fd,null));};exports[_0x4834('0x48')]=function(_0x3f9576,_0x28ab61){return db[_0x4834('0x2e')]['create'](_0x3f9576[_0x4834('0x49')],{})[_0x4834('0x25')](function(_0x3b3a54){var _0x3c5e29=_0x3f9576[_0x4834('0x4a')]['get']({'plain':!![]});if(!_0x3c5e29)throw new Error(_0x4834('0x4b'));if(_0x3c5e29[_0x4834('0x4c')]==='user'){var _0x2cb5fc=_0x3b3a54[_0x4834('0x26')]({'plain':!![]});var _0x1a793b=_0x4834('0x4d');return db[_0x4834('0x4e')][_0x4834('0x47')]({'where':{'name':_0x1a793b,'userProfileId':_0x3c5e29['userProfileId']},'raw':!![]})[_0x4834('0x25')](function(_0x149e25){if(_0x149e25&&_0x149e25['autoAssociation']===0x0){return db[_0x4834('0x27')][_0x4834('0x48')]({'name':_0x2cb5fc[_0x4834('0x2a')],'resourceId':_0x2cb5fc['id'],'type':_0x149e25[_0x4834('0x2a')],'sectionId':_0x149e25['id']},{})[_0x4834('0x25')](function(){return _0x3b3a54;});}else{return _0x3b3a54;}})[_0x4834('0x42')](function(_0x3a9ec7){logger[_0x4834('0x28')](_0x4834('0x4f'),_0x3a9ec7);throw _0x3a9ec7;});}return _0x3b3a54;})[_0x4834('0x25')](respondWithResult(_0x28ab61,0xc9))['catch'](handleError(_0x28ab61,null));};exports[_0x4834('0x23')]=function(_0x466a43,_0x22094b){if(_0x466a43[_0x4834('0x49')]['id']){delete _0x466a43[_0x4834('0x49')]['id'];}return db[_0x4834('0x2e')][_0x4834('0x47')]({'where':{'id':_0x466a43[_0x4834('0x44')]['id']}})[_0x4834('0x25')](handleEntityNotFound(_0x22094b,null))[_0x4834('0x25')](saveUpdates(_0x466a43[_0x4834('0x49')],null))[_0x4834('0x25')](respondWithResult(_0x22094b,null))['catch'](handleError(_0x22094b,null));};exports['destroy']=function(_0xfc1125,_0x4472cc){return db['CmHopperAdditionalPhone'][_0x4834('0x47')]({'where':{'id':_0xfc1125['params']['id']}})[_0x4834('0x25')](handleEntityNotFound(_0x4472cc,null))[_0x4834('0x25')](removeEntity(_0x4472cc,null))[_0x4834('0x42')](handleError(_0x4472cc,null));};