d5331261bb04ff7039f08b4348128d8bd5904e65
[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 _0x6e3d=['key','query','keys','filters','intersection','model','fields','attributes','nolimit','limit','order','sort','pick','where','merge','filter','options','includeAll','include','rows','catch','params','find','create','body','user','role','UserProfileSection','userProfileId','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','util','path','sox','to-csv','ejs','fs-extra','lodash','squel','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../config/license/hardware','api','../../config/environment','sendStatus','status','end','json','offset','undefined','count','set','Content-Range','apply','save','update','get','UserProfileResource','destroy','then','error','stack','name','send','map','CmHopperAdditionalPhone','rawAttributes','fieldName','type'];(function(_0x2440fe,_0x281a11){var _0x5cf734=function(_0x38e12b){while(--_0x38e12b){_0x2440fe['push'](_0x2440fe['shift']());}};_0x5cf734(++_0x281a11);}(_0x6e3d,0xbe));var _0xd6e3=function(_0x403c20,_0x4a7b99){_0x403c20=_0x403c20-0x0;var _0x2b271a=_0x6e3d[_0x403c20];return _0x2b271a;};'use strict';var emlformat=require(_0xd6e3('0x0'));var rimraf=require(_0xd6e3('0x1'));var zipdir=require(_0xd6e3('0x2'));var jsonpatch=require(_0xd6e3('0x3'));var rp=require(_0xd6e3('0x4'));var moment=require(_0xd6e3('0x5'));var BPromise=require(_0xd6e3('0x6'));var Mustache=require('mustache');var util=require(_0xd6e3('0x7'));var path=require(_0xd6e3('0x8'));var sox=require(_0xd6e3('0x9'));var csv=require(_0xd6e3('0xa'));var ejs=require(_0xd6e3('0xb'));var fs=require('fs');var fs_extra=require(_0xd6e3('0xc'));var _=require(_0xd6e3('0xd'));var squel=require(_0xd6e3('0xe'));var crypto=require('crypto');var jsforce=require(_0xd6e3('0xf'));var deskjs=require(_0xd6e3('0x10'));var toCsv=require('to-csv');var querystring=require(_0xd6e3('0x11'));var Papa=require(_0xd6e3('0x12'));var Redis=require(_0xd6e3('0x13'));var authService=require(_0xd6e3('0x14'));var qs=require(_0xd6e3('0x15'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0xd6e3('0x16'));var logger=require('../../config/logger')(_0xd6e3('0x17'));var utils=require('../../config/utils');var config=require(_0xd6e3('0x18'));var licenseUtil=require('../../config/license/util');var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x2cfbe6,_0x5148d8){_0x5148d8=_0x5148d8||0xcc;return function(_0x298749){if(_0x298749){return _0x2cfbe6[_0xd6e3('0x19')](_0x5148d8);}return _0x2cfbe6[_0xd6e3('0x1a')](_0x5148d8)[_0xd6e3('0x1b')]();};}function respondWithResult(_0xd02bf,_0x40dc95){_0x40dc95=_0x40dc95||0xc8;return function(_0x50c449){if(_0x50c449){return _0xd02bf['status'](_0x40dc95)[_0xd6e3('0x1c')](_0x50c449);}};}function respondWithFilteredResult(_0xcbb015,_0x21962a){return function(_0x1f1973){if(_0x1f1973){var _0x4236b1=typeof _0x21962a[_0xd6e3('0x1d')]===_0xd6e3('0x1e')&&typeof _0x21962a['limit']===_0xd6e3('0x1e');var _0x5ec4f4=_0x1f1973[_0xd6e3('0x1f')];var _0x550e97=_0x4236b1?0x0:_0x21962a[_0xd6e3('0x1d')];var _0x48b79d=_0x4236b1?_0x1f1973[_0xd6e3('0x1f')]:_0x21962a[_0xd6e3('0x1d')]+_0x21962a['limit'];var _0x2aa25f;if(_0x48b79d>=_0x5ec4f4){_0x48b79d=_0x5ec4f4;_0x2aa25f=0xc8;}else{_0x2aa25f=0xce;}_0xcbb015[_0xd6e3('0x1a')](_0x2aa25f);return _0xcbb015[_0xd6e3('0x20')](_0xd6e3('0x21'),_0x550e97+'-'+_0x48b79d+'/'+_0x5ec4f4)[_0xd6e3('0x1c')](_0x1f1973);}return null;};}function patchUpdates(_0x148ec6){return function(_0x31afc4){try{jsonpatch[_0xd6e3('0x22')](_0x31afc4,_0x148ec6,!![]);}catch(_0x3b5f71){return BPromise['reject'](_0x3b5f71);}return _0x31afc4[_0xd6e3('0x23')]();};}function saveUpdates(_0x357ffa,_0x3c4c83){return function(_0x328cf4){if(_0x328cf4){return _0x328cf4[_0xd6e3('0x24')](_0x357ffa)['then'](function(_0x40c79e){return _0x40c79e;});}return null;};}function removeEntity(_0x329f80,_0x21b464){return function(_0x3fa5e0){if(_0x3fa5e0){return _0x3fa5e0['destroy']()['then'](function(){var _0x989490=_0x3fa5e0[_0xd6e3('0x25')]({'plain':!![]});var _0x4e836f='CmHopperAdditionalPhones';return db[_0xd6e3('0x26')][_0xd6e3('0x27')]({'where':{'type':_0x4e836f,'resourceId':_0x989490['id']}})[_0xd6e3('0x28')](function(){return _0x3fa5e0;});})[_0xd6e3('0x28')](function(){_0x329f80['status'](0xcc)[_0xd6e3('0x1b')]();});}};}function handleEntityNotFound(_0x4154a5,_0x43864b){return function(_0x2cb0fa){if(!_0x2cb0fa){_0x4154a5[_0xd6e3('0x19')](0x194);}return _0x2cb0fa;};}function handleError(_0x4cf51c,_0x290652){_0x290652=_0x290652||0x1f4;return function(_0x2bd02d){logger[_0xd6e3('0x29')](_0x2bd02d[_0xd6e3('0x2a')]);if(_0x2bd02d[_0xd6e3('0x2b')]){delete _0x2bd02d[_0xd6e3('0x2b')];}_0x4cf51c[_0xd6e3('0x1a')](_0x290652)[_0xd6e3('0x2c')](_0x2bd02d);};}exports['index']=function(_0x3bae0c,_0x49dec4){var _0x186651={},_0x116cd4={},_0x137c07={'count':0x0,'rows':[]};var _0x1c13b4=_[_0xd6e3('0x2d')](db[_0xd6e3('0x2e')][_0xd6e3('0x2f')],function(_0x1a27b5){return{'name':_0x1a27b5[_0xd6e3('0x30')],'type':_0x1a27b5[_0xd6e3('0x31')][_0xd6e3('0x32')]};});_0x116cd4['model']=_['map'](_0x1c13b4,_0xd6e3('0x2b'));_0x116cd4[_0xd6e3('0x33')]=_[_0xd6e3('0x34')](_0x3bae0c[_0xd6e3('0x33')]);_0x116cd4[_0xd6e3('0x35')]=_[_0xd6e3('0x36')](_0x116cd4[_0xd6e3('0x37')],_0x116cd4['query']);_0x186651['attributes']=_[_0xd6e3('0x36')](_0x116cd4['model'],qs[_0xd6e3('0x38')](_0x3bae0c['query'][_0xd6e3('0x38')]));_0x186651[_0xd6e3('0x39')]=_0x186651[_0xd6e3('0x39')]['length']?_0x186651[_0xd6e3('0x39')]:_0x116cd4[_0xd6e3('0x37')];if(!_0x3bae0c[_0xd6e3('0x33')]['hasOwnProperty'](_0xd6e3('0x3a'))){_0x186651[_0xd6e3('0x3b')]=qs[_0xd6e3('0x3b')](_0x3bae0c[_0xd6e3('0x33')]['limit']);_0x186651[_0xd6e3('0x1d')]=qs['offset'](_0x3bae0c[_0xd6e3('0x33')][_0xd6e3('0x1d')]);}_0x186651[_0xd6e3('0x3c')]=qs['sort'](_0x3bae0c[_0xd6e3('0x33')][_0xd6e3('0x3d')]);_0x186651['where']=qs[_0xd6e3('0x35')](_[_0xd6e3('0x3e')](_0x3bae0c[_0xd6e3('0x33')],_0x116cd4['filters']),_0x1c13b4);if(_0x3bae0c[_0xd6e3('0x33')]['filter']){_0x186651[_0xd6e3('0x3f')]=_[_0xd6e3('0x40')](_0x186651[_0xd6e3('0x3f')],{'$or':_['map'](_0x1c13b4,function(_0x1eec41){if(_0x1eec41[_0xd6e3('0x31')]!=='VIRTUAL'){var _0x2392ee={};_0x2392ee[_0x1eec41['name']]={'$like':'%'+_0x3bae0c[_0xd6e3('0x33')][_0xd6e3('0x41')]+'%'};return _0x2392ee;}})});}_0x186651=_[_0xd6e3('0x40')]({},_0x186651,_0x3bae0c[_0xd6e3('0x42')]);var _0x2f9114={'where':_0x186651[_0xd6e3('0x3f')]};return db[_0xd6e3('0x2e')][_0xd6e3('0x1f')](_0x2f9114)['then'](function(_0x354bd5){_0x137c07['count']=_0x354bd5;if(_0x3bae0c[_0xd6e3('0x33')][_0xd6e3('0x43')]){_0x186651[_0xd6e3('0x44')]=[{'all':!![]}];}return db['CmHopperAdditionalPhone']['findAll'](_0x186651);})[_0xd6e3('0x28')](function(_0x45729f){_0x137c07[_0xd6e3('0x45')]=_0x45729f;return _0x137c07;})[_0xd6e3('0x28')](respondWithFilteredResult(_0x49dec4,_0x186651))[_0xd6e3('0x46')](handleError(_0x49dec4,null));};exports['show']=function(_0x26bfcc,_0x1009e9){var _0x40ea5b={'raw':!![],'where':{'id':_0x26bfcc[_0xd6e3('0x47')]['id']}},_0x2fbd96={};_0x2fbd96[_0xd6e3('0x37')]=_[_0xd6e3('0x34')](db[_0xd6e3('0x2e')]['rawAttributes']);_0x2fbd96[_0xd6e3('0x33')]=_['keys'](_0x26bfcc[_0xd6e3('0x33')]);_0x2fbd96['filters']=_[_0xd6e3('0x36')](_0x2fbd96[_0xd6e3('0x37')],_0x2fbd96['query']);_0x40ea5b[_0xd6e3('0x39')]=_[_0xd6e3('0x36')](_0x2fbd96['model'],qs[_0xd6e3('0x38')](_0x26bfcc[_0xd6e3('0x33')][_0xd6e3('0x38')]));_0x40ea5b[_0xd6e3('0x39')]=_0x40ea5b[_0xd6e3('0x39')]['length']?_0x40ea5b[_0xd6e3('0x39')]:_0x2fbd96[_0xd6e3('0x37')];if(_0x26bfcc[_0xd6e3('0x33')][_0xd6e3('0x43')]){_0x40ea5b['include']=[{'all':!![]}];}_0x40ea5b=_[_0xd6e3('0x40')]({},_0x40ea5b,_0x26bfcc[_0xd6e3('0x42')]);return db[_0xd6e3('0x2e')][_0xd6e3('0x48')](_0x40ea5b)[_0xd6e3('0x28')](handleEntityNotFound(_0x1009e9,null))[_0xd6e3('0x28')](respondWithResult(_0x1009e9,null))[_0xd6e3('0x46')](handleError(_0x1009e9,null));};exports['create']=function(_0x44d48b,_0xdc4ef4){return db[_0xd6e3('0x2e')][_0xd6e3('0x49')](_0x44d48b[_0xd6e3('0x4a')],{})[_0xd6e3('0x28')](function(_0x276044){var _0x10e382=_0x44d48b[_0xd6e3('0x4b')]['get']({'plain':!![]});if(!_0x10e382)throw new Error('Unable\x20to\x20retrieve\x20the\x20current\x20user');if(_0x10e382[_0xd6e3('0x4c')]===_0xd6e3('0x4b')){var _0x15f75b=_0x276044['get']({'plain':!![]});var _0x354426='CmHopperAdditionalPhones';return db[_0xd6e3('0x4d')][_0xd6e3('0x48')]({'where':{'name':_0x354426,'userProfileId':_0x10e382[_0xd6e3('0x4e')]},'raw':!![]})[_0xd6e3('0x28')](function(_0x538901){if(_0x538901&&_0x538901['autoAssociation']===0x0){return db[_0xd6e3('0x26')][_0xd6e3('0x49')]({'name':_0x15f75b[_0xd6e3('0x2b')],'resourceId':_0x15f75b['id'],'type':_0x538901[_0xd6e3('0x2b')],'sectionId':_0x538901['id']},{})['then'](function(){return _0x276044;});}else{return _0x276044;}})[_0xd6e3('0x46')](function(_0x2fe934){logger['error'](_0xd6e3('0x4f'),_0x2fe934);throw _0x2fe934;});}return _0x276044;})[_0xd6e3('0x28')](respondWithResult(_0xdc4ef4,0xc9))[_0xd6e3('0x46')](handleError(_0xdc4ef4,null));};exports[_0xd6e3('0x24')]=function(_0x19ca0d,_0x5ffced){if(_0x19ca0d[_0xd6e3('0x4a')]['id']){delete _0x19ca0d[_0xd6e3('0x4a')]['id'];}return db[_0xd6e3('0x2e')][_0xd6e3('0x48')]({'where':{'id':_0x19ca0d[_0xd6e3('0x47')]['id']}})[_0xd6e3('0x28')](handleEntityNotFound(_0x5ffced,null))[_0xd6e3('0x28')](saveUpdates(_0x19ca0d[_0xd6e3('0x4a')],null))['then'](respondWithResult(_0x5ffced,null))[_0xd6e3('0x46')](handleError(_0x5ffced,null));};exports[_0xd6e3('0x27')]=function(_0x342497,_0x650108){return db[_0xd6e3('0x2e')][_0xd6e3('0x48')]({'where':{'id':_0x342497['params']['id']}})[_0xd6e3('0x28')](handleEntityNotFound(_0x650108,null))[_0xd6e3('0x28')](removeEntity(_0x650108,null))[_0xd6e3('0x46')](handleError(_0x650108,null));};