481e5c841bbbb61f631476d70003479f04698b19
[motion2.git] / server / api / cmContactHasPhone / cmContactHasPhone.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 _0x19ff=['send','map','CmContactHasPhone','rawAttributes','fieldName','type','model','query','keys','filters','intersection','fields','attributes','hasOwnProperty','limit','order','sort','where','pick','filter','merge','VIRTUAL','includeAll','include','rows','params','catch','create','body','user','UserProfileSection','find','autoAssociation','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','rimraf','zip-dir','moment','bluebird','mustache','util','path','sox','ejs','squel','crypto','jsforce','to-csv','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/advancedSearch','../../config/license/hardware','api','../../config/utils','sendStatus','status','end','json','count','offset','set','Content-Range','apply','reject','update','then','destroy','get','CmContactHasPhones','UserProfileResource','stack','name'];(function(_0x52f07c,_0x4edc1b){var _0x247115=function(_0x400d27){while(--_0x400d27){_0x52f07c['push'](_0x52f07c['shift']());}};_0x247115(++_0x4edc1b);}(_0x19ff,0x146));var _0xf19f=function(_0x3981c6,_0x5bb2d2){_0x3981c6=_0x3981c6-0x0;var _0x11baee=_0x19ff[_0x3981c6];return _0x11baee;};'use strict';var pdf=require('html-pdf');var emlformat=require('eml-format');var rimraf=require(_0xf19f('0x0'));var zipdir=require(_0xf19f('0x1'));var jsonpatch=require('fast-json-patch');var rp=require('request-promise');var moment=require(_0xf19f('0x2'));var BPromise=require(_0xf19f('0x3'));var Mustache=require(_0xf19f('0x4'));var util=require(_0xf19f('0x5'));var path=require(_0xf19f('0x6'));var sox=require(_0xf19f('0x7'));var csv=require('to-csv');var ejs=require(_0xf19f('0x8'));var fs=require('fs');var _=require('lodash');var squel=require(_0xf19f('0x9'));var crypto=require(_0xf19f('0xa'));var jsforce=require(_0xf19f('0xb'));var deskjs=require('desk.js');var toCsv=require(_0xf19f('0xc'));var querystring=require(_0xf19f('0xd'));var Papa=require(_0xf19f('0xe'));var Redis=require(_0xf19f('0xf'));var authService=require(_0xf19f('0x10'));var qs=require('../../components/parsers/qs');var as=require(_0xf19f('0x11'));var hardwareService=require(_0xf19f('0x12'));var logger=require('../../config/logger')(_0xf19f('0x13'));var utils=require(_0xf19f('0x14'));var config=require('../../config/environment');var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x4616a4,_0x58995b){_0x58995b=_0x58995b||0xcc;return function(_0x178b78){if(_0x178b78){return _0x4616a4[_0xf19f('0x15')](_0x58995b);}return _0x4616a4[_0xf19f('0x16')](_0x58995b)[_0xf19f('0x17')]();};}function respondWithResult(_0x12a9d7,_0x4da182){_0x4da182=_0x4da182||0xc8;return function(_0x4e4cef){if(_0x4e4cef){return _0x12a9d7[_0xf19f('0x16')](_0x4da182)[_0xf19f('0x18')](_0x4e4cef);}};}function respondWithFilteredResult(_0x5c822e,_0x36c4c3){return function(_0x43efc2){if(_0x43efc2){var _0x1a2210=_0x43efc2[_0xf19f('0x19')],_0xbc6ed5=_0x36c4c3[_0xf19f('0x1a')],_0x1b1e97=_0x36c4c3[_0xf19f('0x1a')]+_0x36c4c3['limit'],_0x2ed9da;if(_0x1b1e97>=_0x1a2210){_0x1b1e97=_0x1a2210;_0x2ed9da=0xc8;}else{_0x2ed9da=0xce;}_0x5c822e['status'](_0x2ed9da);return _0x5c822e[_0xf19f('0x1b')](_0xf19f('0x1c'),_0xbc6ed5+'-'+_0x1b1e97+'/'+_0x1a2210)[_0xf19f('0x18')](_0x43efc2);}return null;};}function patchUpdates(_0x5dc5a1){return function(_0x25e6f1){try{jsonpatch[_0xf19f('0x1d')](_0x25e6f1,_0x5dc5a1,!![]);}catch(_0x1c67b4){return BPromise[_0xf19f('0x1e')](_0x1c67b4);}return _0x25e6f1['save']();};}function saveUpdates(_0x4d93ea,_0x5b599d){return function(_0xf45146){if(_0xf45146){return _0xf45146[_0xf19f('0x1f')](_0x4d93ea)[_0xf19f('0x20')](function(_0x1491ca){return _0x1491ca;});}return null;};}function removeEntity(_0xd5183d,_0x2a78dd){return function(_0x37f253){if(_0x37f253){return _0x37f253[_0xf19f('0x21')]()['then'](function(){var _0x4ab406=_0x37f253[_0xf19f('0x22')]({'plain':!![]});var _0x4f4a2c=_0xf19f('0x23');return db[_0xf19f('0x24')]['destroy']({'where':{'type':_0x4f4a2c,'resourceId':_0x4ab406['id']}})[_0xf19f('0x20')](function(){return _0x37f253;});})[_0xf19f('0x20')](function(){_0xd5183d['status'](0xcc)[_0xf19f('0x17')]();});}};}function handleEntityNotFound(_0x74c197,_0x5a8130){return function(_0x3a5d90){if(!_0x3a5d90){_0x74c197[_0xf19f('0x15')](0x194);}return _0x3a5d90;};}function handleError(_0x5be289,_0x22eeb5){_0x22eeb5=_0x22eeb5||0x1f4;return function(_0x4bc843){logger['error'](_0x4bc843[_0xf19f('0x25')]);if(_0x4bc843[_0xf19f('0x26')]){delete _0x4bc843[_0xf19f('0x26')];}_0x5be289[_0xf19f('0x16')](_0x22eeb5)[_0xf19f('0x27')](_0x4bc843);};}exports['index']=function(_0x6879d1,_0x5657aa){var _0x5c5ae9={},_0x4ad0b8={},_0x53fea2={'count':0x0,'rows':[]};var _0x5d206c=_[_0xf19f('0x28')](db[_0xf19f('0x29')][_0xf19f('0x2a')],function(_0x5633c1){return{'name':_0x5633c1[_0xf19f('0x2b')],'type':_0x5633c1[_0xf19f('0x2c')]['key']};});_0x4ad0b8[_0xf19f('0x2d')]=_[_0xf19f('0x28')](_0x5d206c,_0xf19f('0x26'));_0x4ad0b8[_0xf19f('0x2e')]=_[_0xf19f('0x2f')](_0x6879d1[_0xf19f('0x2e')]);_0x4ad0b8[_0xf19f('0x30')]=_[_0xf19f('0x31')](_0x4ad0b8['model'],_0x4ad0b8[_0xf19f('0x2e')]);_0x5c5ae9['attributes']=_[_0xf19f('0x31')](_0x4ad0b8[_0xf19f('0x2d')],qs['fields'](_0x6879d1['query'][_0xf19f('0x32')]));_0x5c5ae9[_0xf19f('0x33')]=_0x5c5ae9[_0xf19f('0x33')]['length']?_0x5c5ae9[_0xf19f('0x33')]:_0x4ad0b8[_0xf19f('0x2d')];if(!_0x6879d1[_0xf19f('0x2e')][_0xf19f('0x34')]('nolimit')){_0x5c5ae9[_0xf19f('0x35')]=qs[_0xf19f('0x35')](_0x6879d1['query']['limit']);_0x5c5ae9[_0xf19f('0x1a')]=qs['offset'](_0x6879d1['query'][_0xf19f('0x1a')]);}_0x5c5ae9[_0xf19f('0x36')]=qs[_0xf19f('0x37')](_0x6879d1[_0xf19f('0x2e')][_0xf19f('0x37')]);_0x5c5ae9[_0xf19f('0x38')]=qs[_0xf19f('0x30')](_[_0xf19f('0x39')](_0x6879d1[_0xf19f('0x2e')],_0x4ad0b8[_0xf19f('0x30')]),_0x5d206c);if(_0x6879d1[_0xf19f('0x2e')][_0xf19f('0x3a')]){_0x5c5ae9[_0xf19f('0x38')]=_[_0xf19f('0x3b')](_0x5c5ae9[_0xf19f('0x38')],{'$or':_[_0xf19f('0x28')](_0x5d206c,function(_0x164097){if(_0x164097[_0xf19f('0x2c')]!==_0xf19f('0x3c')){var _0xeda9c9={};_0xeda9c9[_0x164097['name']]={'$like':'%'+_0x6879d1['query'][_0xf19f('0x3a')]+'%'};return _0xeda9c9;}})});}_0x5c5ae9=_[_0xf19f('0x3b')]({},_0x5c5ae9,_0x6879d1['options']);var _0x53a91e={'where':_0x5c5ae9[_0xf19f('0x38')]};return db[_0xf19f('0x29')][_0xf19f('0x19')](_0x53a91e)[_0xf19f('0x20')](function(_0x19a323){_0x53fea2[_0xf19f('0x19')]=_0x19a323;if(_0x6879d1[_0xf19f('0x2e')][_0xf19f('0x3d')]){_0x5c5ae9[_0xf19f('0x3e')]=[{'all':!![]}];}return db['CmContactHasPhone']['findAll'](_0x5c5ae9);})[_0xf19f('0x20')](function(_0x5155c6){_0x53fea2[_0xf19f('0x3f')]=_0x5155c6;return _0x53fea2;})[_0xf19f('0x20')](respondWithFilteredResult(_0x5657aa,_0x5c5ae9))['catch'](handleError(_0x5657aa,null));};exports['show']=function(_0x373de1,_0x570d4a){var _0x2feaab={'raw':!![],'where':{'id':_0x373de1[_0xf19f('0x40')]['id']}},_0x2da9af={};_0x2da9af['model']=_[_0xf19f('0x2f')](db[_0xf19f('0x29')][_0xf19f('0x2a')]);_0x2da9af[_0xf19f('0x2e')]=_[_0xf19f('0x2f')](_0x373de1[_0xf19f('0x2e')]);_0x2da9af['filters']=_[_0xf19f('0x31')](_0x2da9af['model'],_0x2da9af[_0xf19f('0x2e')]);_0x2feaab[_0xf19f('0x33')]=_['intersection'](_0x2da9af[_0xf19f('0x2d')],qs[_0xf19f('0x32')](_0x373de1['query'][_0xf19f('0x32')]));_0x2feaab[_0xf19f('0x33')]=_0x2feaab[_0xf19f('0x33')]['length']?_0x2feaab[_0xf19f('0x33')]:_0x2da9af[_0xf19f('0x2d')];if(_0x373de1[_0xf19f('0x2e')][_0xf19f('0x3d')]){_0x2feaab[_0xf19f('0x3e')]=[{'all':!![]}];}_0x2feaab=_['merge']({},_0x2feaab,_0x373de1['options']);return db[_0xf19f('0x29')]['find'](_0x2feaab)[_0xf19f('0x20')](handleEntityNotFound(_0x570d4a,null))[_0xf19f('0x20')](respondWithResult(_0x570d4a,null))[_0xf19f('0x41')](handleError(_0x570d4a,null));};exports[_0xf19f('0x42')]=function(_0x2bfc1b,_0x1c09a4){return db[_0xf19f('0x29')][_0xf19f('0x42')](_0x2bfc1b[_0xf19f('0x43')],{})[_0xf19f('0x20')](function(_0xec0740){var _0x513bdd=_0x2bfc1b[_0xf19f('0x44')][_0xf19f('0x22')]({'plain':!![]});if(!_0x513bdd)throw new Error('Unable\x20to\x20retrieve\x20the\x20current\x20user');if(_0x513bdd['role']===_0xf19f('0x44')){var _0x32cb26=_0xec0740['get']({'plain':!![]});var _0x2f46c3=_0xf19f('0x23');return db[_0xf19f('0x45')][_0xf19f('0x46')]({'where':{'name':_0x2f46c3,'userProfileId':_0x513bdd['userProfileId']},'raw':!![]})['then'](function(_0x328b5a){if(_0x328b5a&&_0x328b5a[_0xf19f('0x47')]===0x0){return db[_0xf19f('0x24')]['create']({'name':_0x32cb26[_0xf19f('0x26')],'resourceId':_0x32cb26['id'],'type':_0x328b5a[_0xf19f('0x26')],'sectionId':_0x328b5a['id']},{})['then'](function(){return _0xec0740;});}else{return _0xec0740;}})[_0xf19f('0x41')](function(_0x2827f5){logger['error'](_0xf19f('0x48'),_0x2827f5);throw _0x2827f5;});}return _0xec0740;})[_0xf19f('0x20')](respondWithResult(_0x1c09a4,0xc9))[_0xf19f('0x41')](handleError(_0x1c09a4,null));};exports[_0xf19f('0x1f')]=function(_0xd1af9e,_0x2ed0f8){if(_0xd1af9e[_0xf19f('0x43')]['id']){delete _0xd1af9e[_0xf19f('0x43')]['id'];}return db[_0xf19f('0x29')]['find']({'where':{'id':_0xd1af9e[_0xf19f('0x40')]['id']}})[_0xf19f('0x20')](handleEntityNotFound(_0x2ed0f8,null))[_0xf19f('0x20')](saveUpdates(_0xd1af9e[_0xf19f('0x43')],null))[_0xf19f('0x20')](respondWithResult(_0x2ed0f8,null))[_0xf19f('0x41')](handleError(_0x2ed0f8,null));};exports[_0xf19f('0x21')]=function(_0x3bc1f8,_0x373f42){return db[_0xf19f('0x29')][_0xf19f('0x46')]({'where':{'id':_0x3bc1f8[_0xf19f('0x40')]['id']}})[_0xf19f('0x20')](handleEntityNotFound(_0x373f42,null))[_0xf19f('0x20')](removeEntity(_0x373f42,null))[_0xf19f('0x41')](handleError(_0x373f42,null));};