Built motion from commit 58b0471d.|2.6.29
[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 _0x9f6c=['moment','mustache','util','sox','to-csv','fs-extra','lodash','squel','jsforce','desk.js','querystring','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/logger','../../config/utils','../../config/license/util','../../mysqldb','end','status','json','offset','limit','undefined','set','apply','reject','save','update','destroy','get','UserProfileResource','then','sendStatus','error','stack','name','send','index','map','CmHopperAdditionalPhone','rawAttributes','fieldName','type','key','model','filters','intersection','query','attributes','fields','length','hasOwnProperty','nolimit','order','sort','where','pick','filter','VIRTUAL','merge','count','include','catch','show','keys','options','find','create','body','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','CmHopperAdditionalPhones','UserProfileSection','userProfileId','autoAssociation','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','params','zip-dir','fast-json-patch'];(function(_0x9008bd,_0x16a66b){var _0x408d9f=function(_0x5a70b9){while(--_0x5a70b9){_0x9008bd['push'](_0x9008bd['shift']());}};_0x408d9f(++_0x16a66b);}(_0x9f6c,0xf4));var _0xc9f6=function(_0x1fe092,_0x2082ef){_0x1fe092=_0x1fe092-0x0;var _0x10a587=_0x9f6c[_0x1fe092];return _0x10a587;};'use strict';var emlformat=require('eml-format');var rimraf=require('rimraf');var zipdir=require(_0xc9f6('0x0'));var jsonpatch=require(_0xc9f6('0x1'));var rp=require('request-promise');var moment=require(_0xc9f6('0x2'));var BPromise=require('bluebird');var Mustache=require(_0xc9f6('0x3'));var util=require(_0xc9f6('0x4'));var path=require('path');var sox=require(_0xc9f6('0x5'));var csv=require(_0xc9f6('0x6'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require(_0xc9f6('0x7'));var _=require(_0xc9f6('0x8'));var squel=require(_0xc9f6('0x9'));var crypto=require('crypto');var jsforce=require(_0xc9f6('0xa'));var deskjs=require(_0xc9f6('0xb'));var toCsv=require('to-csv');var querystring=require(_0xc9f6('0xc'));var Papa=require('papaparse');var Redis=require(_0xc9f6('0xd'));var authService=require(_0xc9f6('0xe'));var qs=require(_0xc9f6('0xf'));var as=require(_0xc9f6('0x10'));var hardwareService=require('../../config/license/hardware');var logger=require(_0xc9f6('0x11'))('api');var utils=require(_0xc9f6('0x12'));var config=require('../../config/environment');var licenseUtil=require(_0xc9f6('0x13'));var db=require(_0xc9f6('0x14'))['db'];function respondWithStatusCode(_0x341d77,_0x313015){_0x313015=_0x313015||0xcc;return function(_0x4207fe){if(_0x4207fe){return _0x341d77['sendStatus'](_0x313015);}return _0x341d77['status'](_0x313015)[_0xc9f6('0x15')]();};}function respondWithResult(_0x3783d4,_0x5984e8){_0x5984e8=_0x5984e8||0xc8;return function(_0x1531bf){if(_0x1531bf){return _0x3783d4[_0xc9f6('0x16')](_0x5984e8)[_0xc9f6('0x17')](_0x1531bf);}};}function respondWithFilteredResult(_0x52e771,_0x532433){return function(_0x1ef87b){if(_0x1ef87b){var _0x8eeca6=typeof _0x532433[_0xc9f6('0x18')]==='undefined'&&typeof _0x532433[_0xc9f6('0x19')]===_0xc9f6('0x1a');var _0x34b48c=_0x1ef87b['count'];var _0x189e61=_0x8eeca6?0x0:_0x532433['offset'];var _0x3508f6=_0x8eeca6?_0x1ef87b['count']:_0x532433['offset']+_0x532433['limit'];var _0x3bffaf;if(_0x3508f6>=_0x34b48c){_0x3508f6=_0x34b48c;_0x3bffaf=0xc8;}else{_0x3bffaf=0xce;}_0x52e771[_0xc9f6('0x16')](_0x3bffaf);return _0x52e771[_0xc9f6('0x1b')]('Content-Range',_0x189e61+'-'+_0x3508f6+'/'+_0x34b48c)[_0xc9f6('0x17')](_0x1ef87b);}return null;};}function patchUpdates(_0x4efce2){return function(_0x39e531){try{jsonpatch[_0xc9f6('0x1c')](_0x39e531,_0x4efce2,!![]);}catch(_0x5bb87b){return BPromise[_0xc9f6('0x1d')](_0x5bb87b);}return _0x39e531[_0xc9f6('0x1e')]();};}function saveUpdates(_0x3b1b58,_0x575183){return function(_0x5835ae){if(_0x5835ae){return _0x5835ae[_0xc9f6('0x1f')](_0x3b1b58)['then'](function(_0x247fb3){return _0x247fb3;});}return null;};}function removeEntity(_0x421a02,_0x333a97){return function(_0x5f477d){if(_0x5f477d){return _0x5f477d[_0xc9f6('0x20')]()['then'](function(){var _0x1cb3d5=_0x5f477d[_0xc9f6('0x21')]({'plain':!![]});var _0x2eab83='CmHopperAdditionalPhones';return db[_0xc9f6('0x22')][_0xc9f6('0x20')]({'where':{'type':_0x2eab83,'resourceId':_0x1cb3d5['id']}})[_0xc9f6('0x23')](function(){return _0x5f477d;});})[_0xc9f6('0x23')](function(){_0x421a02[_0xc9f6('0x16')](0xcc)['end']();});}};}function handleEntityNotFound(_0x2766ae,_0x408723){return function(_0x2d284e){if(!_0x2d284e){_0x2766ae[_0xc9f6('0x24')](0x194);}return _0x2d284e;};}function handleError(_0x63069c,_0x3495ce){_0x3495ce=_0x3495ce||0x1f4;return function(_0x1e9cb0){logger[_0xc9f6('0x25')](_0x1e9cb0[_0xc9f6('0x26')]);if(_0x1e9cb0[_0xc9f6('0x27')]){delete _0x1e9cb0[_0xc9f6('0x27')];}_0x63069c[_0xc9f6('0x16')](_0x3495ce)[_0xc9f6('0x28')](_0x1e9cb0);};}exports[_0xc9f6('0x29')]=function(_0x2612d7,_0x5e0338){var _0x2fc8bb={},_0x4d6f10={},_0x1769b2={'count':0x0,'rows':[]};var _0x3c50fb=_[_0xc9f6('0x2a')](db[_0xc9f6('0x2b')][_0xc9f6('0x2c')],function(_0x34e0d4){return{'name':_0x34e0d4[_0xc9f6('0x2d')],'type':_0x34e0d4[_0xc9f6('0x2e')][_0xc9f6('0x2f')]};});_0x4d6f10[_0xc9f6('0x30')]=_['map'](_0x3c50fb,_0xc9f6('0x27'));_0x4d6f10['query']=_['keys'](_0x2612d7['query']);_0x4d6f10[_0xc9f6('0x31')]=_[_0xc9f6('0x32')](_0x4d6f10[_0xc9f6('0x30')],_0x4d6f10[_0xc9f6('0x33')]);_0x2fc8bb[_0xc9f6('0x34')]=_[_0xc9f6('0x32')](_0x4d6f10[_0xc9f6('0x30')],qs[_0xc9f6('0x35')](_0x2612d7[_0xc9f6('0x33')][_0xc9f6('0x35')]));_0x2fc8bb[_0xc9f6('0x34')]=_0x2fc8bb['attributes'][_0xc9f6('0x36')]?_0x2fc8bb[_0xc9f6('0x34')]:_0x4d6f10[_0xc9f6('0x30')];if(!_0x2612d7['query'][_0xc9f6('0x37')](_0xc9f6('0x38'))){_0x2fc8bb[_0xc9f6('0x19')]=qs[_0xc9f6('0x19')](_0x2612d7[_0xc9f6('0x33')][_0xc9f6('0x19')]);_0x2fc8bb[_0xc9f6('0x18')]=qs['offset'](_0x2612d7[_0xc9f6('0x33')][_0xc9f6('0x18')]);}_0x2fc8bb[_0xc9f6('0x39')]=qs[_0xc9f6('0x3a')](_0x2612d7[_0xc9f6('0x33')]['sort']);_0x2fc8bb[_0xc9f6('0x3b')]=qs['filters'](_[_0xc9f6('0x3c')](_0x2612d7[_0xc9f6('0x33')],_0x4d6f10['filters']),_0x3c50fb);if(_0x2612d7[_0xc9f6('0x33')][_0xc9f6('0x3d')]){_0x2fc8bb[_0xc9f6('0x3b')]=_['merge'](_0x2fc8bb[_0xc9f6('0x3b')],{'$or':_[_0xc9f6('0x2a')](_0x3c50fb,function(_0x135569){if(_0x135569[_0xc9f6('0x2e')]!==_0xc9f6('0x3e')){var _0x3bb339={};_0x3bb339[_0x135569[_0xc9f6('0x27')]]={'$like':'%'+_0x2612d7[_0xc9f6('0x33')][_0xc9f6('0x3d')]+'%'};return _0x3bb339;}})});}_0x2fc8bb=_[_0xc9f6('0x3f')]({},_0x2fc8bb,_0x2612d7['options']);var _0x30040={'where':_0x2fc8bb[_0xc9f6('0x3b')]};return db['CmHopperAdditionalPhone']['count'](_0x30040)[_0xc9f6('0x23')](function(_0x55970b){_0x1769b2[_0xc9f6('0x40')]=_0x55970b;if(_0x2612d7[_0xc9f6('0x33')]['includeAll']){_0x2fc8bb[_0xc9f6('0x41')]=[{'all':!![]}];}return db[_0xc9f6('0x2b')]['findAll'](_0x2fc8bb);})['then'](function(_0x261780){_0x1769b2['rows']=_0x261780;return _0x1769b2;})['then'](respondWithFilteredResult(_0x5e0338,_0x2fc8bb))[_0xc9f6('0x42')](handleError(_0x5e0338,null));};exports[_0xc9f6('0x43')]=function(_0x4cde82,_0x4bfb1b){var _0x2fb2fd={'raw':!![],'where':{'id':_0x4cde82['params']['id']}},_0xfe751f={};_0xfe751f[_0xc9f6('0x30')]=_[_0xc9f6('0x44')](db[_0xc9f6('0x2b')][_0xc9f6('0x2c')]);_0xfe751f[_0xc9f6('0x33')]=_[_0xc9f6('0x44')](_0x4cde82[_0xc9f6('0x33')]);_0xfe751f[_0xc9f6('0x31')]=_['intersection'](_0xfe751f['model'],_0xfe751f[_0xc9f6('0x33')]);_0x2fb2fd['attributes']=_[_0xc9f6('0x32')](_0xfe751f['model'],qs[_0xc9f6('0x35')](_0x4cde82[_0xc9f6('0x33')][_0xc9f6('0x35')]));_0x2fb2fd[_0xc9f6('0x34')]=_0x2fb2fd[_0xc9f6('0x34')][_0xc9f6('0x36')]?_0x2fb2fd['attributes']:_0xfe751f[_0xc9f6('0x30')];if(_0x4cde82[_0xc9f6('0x33')]['includeAll']){_0x2fb2fd[_0xc9f6('0x41')]=[{'all':!![]}];}_0x2fb2fd=_[_0xc9f6('0x3f')]({},_0x2fb2fd,_0x4cde82[_0xc9f6('0x45')]);return db[_0xc9f6('0x2b')][_0xc9f6('0x46')](_0x2fb2fd)['then'](handleEntityNotFound(_0x4bfb1b,null))[_0xc9f6('0x23')](respondWithResult(_0x4bfb1b,null))[_0xc9f6('0x42')](handleError(_0x4bfb1b,null));};exports[_0xc9f6('0x47')]=function(_0x3025e3,_0x4b9917){return db[_0xc9f6('0x2b')][_0xc9f6('0x47')](_0x3025e3[_0xc9f6('0x48')],{})['then'](function(_0x5e6bab){var _0x3ff06f=_0x3025e3[_0xc9f6('0x49')]['get']({'plain':!![]});if(!_0x3ff06f)throw new Error(_0xc9f6('0x4a'));if(_0x3ff06f[_0xc9f6('0x4b')]==='user'){var _0x354f32=_0x5e6bab['get']({'plain':!![]});var _0x332a5e=_0xc9f6('0x4c');return db[_0xc9f6('0x4d')][_0xc9f6('0x46')]({'where':{'name':_0x332a5e,'userProfileId':_0x3ff06f[_0xc9f6('0x4e')]},'raw':!![]})['then'](function(_0x174e31){if(_0x174e31&&_0x174e31[_0xc9f6('0x4f')]===0x0){return db[_0xc9f6('0x22')]['create']({'name':_0x354f32[_0xc9f6('0x27')],'resourceId':_0x354f32['id'],'type':_0x174e31[_0xc9f6('0x27')],'sectionId':_0x174e31['id']},{})[_0xc9f6('0x23')](function(){return _0x5e6bab;});}else{return _0x5e6bab;}})['catch'](function(_0x4f22ab){logger[_0xc9f6('0x25')](_0xc9f6('0x50'),_0x4f22ab);throw _0x4f22ab;});}return _0x5e6bab;})[_0xc9f6('0x23')](respondWithResult(_0x4b9917,0xc9))[_0xc9f6('0x42')](handleError(_0x4b9917,null));};exports[_0xc9f6('0x1f')]=function(_0x5748a3,_0x3bc836){if(_0x5748a3['body']['id']){delete _0x5748a3[_0xc9f6('0x48')]['id'];}return db[_0xc9f6('0x2b')][_0xc9f6('0x46')]({'where':{'id':_0x5748a3[_0xc9f6('0x51')]['id']}})[_0xc9f6('0x23')](handleEntityNotFound(_0x3bc836,null))[_0xc9f6('0x23')](saveUpdates(_0x5748a3['body'],null))[_0xc9f6('0x23')](respondWithResult(_0x3bc836,null))[_0xc9f6('0x42')](handleError(_0x3bc836,null));};exports[_0xc9f6('0x20')]=function(_0x3f3b84,_0x3186d4){return db['CmHopperAdditionalPhone'][_0xc9f6('0x46')]({'where':{'id':_0x3f3b84[_0xc9f6('0x51')]['id']}})['then'](handleEntityNotFound(_0x3186d4,null))[_0xc9f6('0x23')](removeEntity(_0x3186d4,null))[_0xc9f6('0x42')](handleError(_0x3186d4,null));};