446d2f045c20fcb5fd12093b4c808ed7bec534d3
[motion2.git] / server / api / cmContactHasItem / cmContactHasItem.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 _0xdb82=['model','query','keys','filters','intersection','attributes','fields','length','hasOwnProperty','sort','where','pick','filter','merge','VIRTUAL','includeAll','include','findAll','catch','show','params','options','find','create','body','user','get','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','UserProfileSection','autoAssociation','UserProfileResource','html-pdf','rimraf','zip-dir','moment','bluebird','mustache','util','path','ejs','jsforce','desk.js','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/logger','api','../../config/utils','sendStatus','end','json','count','offset','limit','status','set','Content-Range','reject','update','destroy','then','CmContactHasItems','error','stack','name','send','index','map','CmContactHasItem','rawAttributes','type','key'];(function(_0x499b02,_0x4cc638){var _0x2980f3=function(_0xb328e2){while(--_0xb328e2){_0x499b02['push'](_0x499b02['shift']());}};_0x2980f3(++_0x4cc638);}(_0xdb82,0x1dc));var _0x2db8=function(_0xaf1901,_0x4f5d21){_0xaf1901=_0xaf1901-0x0;var _0x38c5ce=_0xdb82[_0xaf1901];return _0x38c5ce;};'use strict';var pdf=require(_0x2db8('0x0'));var emlformat=require('eml-format');var rimraf=require(_0x2db8('0x1'));var zipdir=require(_0x2db8('0x2'));var jsonpatch=require('fast-json-patch');var rp=require('request-promise');var moment=require(_0x2db8('0x3'));var BPromise=require(_0x2db8('0x4'));var Mustache=require(_0x2db8('0x5'));var util=require(_0x2db8('0x6'));var path=require(_0x2db8('0x7'));var sox=require('sox');var csv=require('to-csv');var ejs=require(_0x2db8('0x8'));var fs=require('fs');var _=require('lodash');var squel=require('squel');var crypto=require('crypto');var jsforce=require(_0x2db8('0x9'));var deskjs=require(_0x2db8('0xa'));var toCsv=require('to-csv');var querystring=require('querystring');var Papa=require('papaparse');var Redis=require(_0x2db8('0xb'));var authService=require(_0x2db8('0xc'));var qs=require(_0x2db8('0xd'));var as=require(_0x2db8('0xe'));var hardwareService=require('../../config/license/hardware');var logger=require(_0x2db8('0xf'))(_0x2db8('0x10'));var utils=require(_0x2db8('0x11'));var config=require('../../config/environment');var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0xc86f0d,_0x21befb){_0x21befb=_0x21befb||0xcc;return function(_0x150870){if(_0x150870){return _0xc86f0d[_0x2db8('0x12')](_0x21befb);}return _0xc86f0d['status'](_0x21befb)[_0x2db8('0x13')]();};}function respondWithResult(_0x2a34e6,_0x1476ba){_0x1476ba=_0x1476ba||0xc8;return function(_0x3285a2){if(_0x3285a2){return _0x2a34e6['status'](_0x1476ba)[_0x2db8('0x14')](_0x3285a2);}};}function respondWithFilteredResult(_0x581bc0,_0x2fa4fe){return function(_0x42001e){if(_0x42001e){var _0x3d1f5f=_0x42001e[_0x2db8('0x15')],_0x212797=_0x2fa4fe[_0x2db8('0x16')],_0x55cf73=_0x2fa4fe[_0x2db8('0x16')]+_0x2fa4fe[_0x2db8('0x17')],_0x157607;if(_0x55cf73>=_0x3d1f5f){_0x55cf73=_0x3d1f5f;_0x157607=0xc8;}else{_0x157607=0xce;}_0x581bc0[_0x2db8('0x18')](_0x157607);return _0x581bc0[_0x2db8('0x19')](_0x2db8('0x1a'),_0x212797+'-'+_0x55cf73+'/'+_0x3d1f5f)[_0x2db8('0x14')](_0x42001e);}return null;};}function patchUpdates(_0x4a6be6){return function(_0x37c414){try{jsonpatch['apply'](_0x37c414,_0x4a6be6,!![]);}catch(_0x4df301){return BPromise[_0x2db8('0x1b')](_0x4df301);}return _0x37c414['save']();};}function saveUpdates(_0x333a8c,_0x5764f8){return function(_0x304d6b){if(_0x304d6b){return _0x304d6b[_0x2db8('0x1c')](_0x333a8c)['then'](function(_0xc67de7){return _0xc67de7;});}return null;};}function removeEntity(_0x2d6a12,_0x140585){return function(_0x6183f3){if(_0x6183f3){return _0x6183f3[_0x2db8('0x1d')]()[_0x2db8('0x1e')](function(){var _0x524692=_0x6183f3['get']({'plain':!![]});var _0x3ab9c0=_0x2db8('0x1f');return db['UserProfileResource'][_0x2db8('0x1d')]({'where':{'type':_0x3ab9c0,'resourceId':_0x524692['id']}})[_0x2db8('0x1e')](function(){return _0x6183f3;});})[_0x2db8('0x1e')](function(){_0x2d6a12[_0x2db8('0x18')](0xcc)[_0x2db8('0x13')]();});}};}function handleEntityNotFound(_0x2f71db,_0x1d1fda){return function(_0x1ca262){if(!_0x1ca262){_0x2f71db[_0x2db8('0x12')](0x194);}return _0x1ca262;};}function handleError(_0x25bfe4,_0x58bff1){_0x58bff1=_0x58bff1||0x1f4;return function(_0x130ab){logger[_0x2db8('0x20')](_0x130ab[_0x2db8('0x21')]);if(_0x130ab[_0x2db8('0x22')]){delete _0x130ab[_0x2db8('0x22')];}_0x25bfe4[_0x2db8('0x18')](_0x58bff1)[_0x2db8('0x23')](_0x130ab);};}exports[_0x2db8('0x24')]=function(_0x3569ae,_0x3de877){var _0x48c740={},_0x37049d={},_0x31335f={'count':0x0,'rows':[]};var _0x598f49=_[_0x2db8('0x25')](db[_0x2db8('0x26')][_0x2db8('0x27')],function(_0xc344e2){return{'name':_0xc344e2['fieldName'],'type':_0xc344e2[_0x2db8('0x28')][_0x2db8('0x29')]};});_0x37049d[_0x2db8('0x2a')]=_[_0x2db8('0x25')](_0x598f49,_0x2db8('0x22'));_0x37049d[_0x2db8('0x2b')]=_[_0x2db8('0x2c')](_0x3569ae[_0x2db8('0x2b')]);_0x37049d[_0x2db8('0x2d')]=_[_0x2db8('0x2e')](_0x37049d['model'],_0x37049d['query']);_0x48c740[_0x2db8('0x2f')]=_[_0x2db8('0x2e')](_0x37049d[_0x2db8('0x2a')],qs[_0x2db8('0x30')](_0x3569ae[_0x2db8('0x2b')][_0x2db8('0x30')]));_0x48c740['attributes']=_0x48c740['attributes'][_0x2db8('0x31')]?_0x48c740[_0x2db8('0x2f')]:_0x37049d[_0x2db8('0x2a')];if(!_0x3569ae[_0x2db8('0x2b')][_0x2db8('0x32')]('nolimit')){_0x48c740[_0x2db8('0x17')]=qs[_0x2db8('0x17')](_0x3569ae[_0x2db8('0x2b')][_0x2db8('0x17')]);_0x48c740['offset']=qs[_0x2db8('0x16')](_0x3569ae[_0x2db8('0x2b')]['offset']);}_0x48c740['order']=qs[_0x2db8('0x33')](_0x3569ae[_0x2db8('0x2b')]['sort']);_0x48c740[_0x2db8('0x34')]=qs[_0x2db8('0x2d')](_[_0x2db8('0x35')](_0x3569ae[_0x2db8('0x2b')],_0x37049d[_0x2db8('0x2d')]),_0x598f49);if(_0x3569ae[_0x2db8('0x2b')][_0x2db8('0x36')]){_0x48c740[_0x2db8('0x34')]=_[_0x2db8('0x37')](_0x48c740['where'],{'$or':_[_0x2db8('0x25')](_0x598f49,function(_0x34112c){if(_0x34112c[_0x2db8('0x28')]!==_0x2db8('0x38')){var _0x5d08ec={};_0x5d08ec[_0x34112c[_0x2db8('0x22')]]={'$like':'%'+_0x3569ae[_0x2db8('0x2b')]['filter']+'%'};return _0x5d08ec;}})});}_0x48c740=_[_0x2db8('0x37')]({},_0x48c740,_0x3569ae['options']);var _0x36e2e8={'where':_0x48c740[_0x2db8('0x34')]};return db[_0x2db8('0x26')]['count'](_0x36e2e8)['then'](function(_0x3505bc){_0x31335f[_0x2db8('0x15')]=_0x3505bc;if(_0x3569ae[_0x2db8('0x2b')][_0x2db8('0x39')]){_0x48c740[_0x2db8('0x3a')]=[{'all':!![]}];}return db[_0x2db8('0x26')][_0x2db8('0x3b')](_0x48c740);})[_0x2db8('0x1e')](function(_0x244a51){_0x31335f['rows']=_0x244a51;return _0x31335f;})['then'](respondWithFilteredResult(_0x3de877,_0x48c740))[_0x2db8('0x3c')](handleError(_0x3de877,null));};exports[_0x2db8('0x3d')]=function(_0x5e5196,_0x1e5c35){var _0x33d518={'raw':!![],'where':{'id':_0x5e5196[_0x2db8('0x3e')]['id']}},_0x37bb41={};_0x37bb41[_0x2db8('0x2a')]=_[_0x2db8('0x2c')](db['CmContactHasItem'][_0x2db8('0x27')]);_0x37bb41[_0x2db8('0x2b')]=_[_0x2db8('0x2c')](_0x5e5196[_0x2db8('0x2b')]);_0x37bb41[_0x2db8('0x2d')]=_[_0x2db8('0x2e')](_0x37bb41[_0x2db8('0x2a')],_0x37bb41[_0x2db8('0x2b')]);_0x33d518[_0x2db8('0x2f')]=_[_0x2db8('0x2e')](_0x37bb41['model'],qs[_0x2db8('0x30')](_0x5e5196['query'][_0x2db8('0x30')]));_0x33d518['attributes']=_0x33d518[_0x2db8('0x2f')][_0x2db8('0x31')]?_0x33d518[_0x2db8('0x2f')]:_0x37bb41['model'];if(_0x5e5196['query'][_0x2db8('0x39')]){_0x33d518[_0x2db8('0x3a')]=[{'all':!![]}];}_0x33d518=_[_0x2db8('0x37')]({},_0x33d518,_0x5e5196[_0x2db8('0x3f')]);return db[_0x2db8('0x26')][_0x2db8('0x40')](_0x33d518)[_0x2db8('0x1e')](handleEntityNotFound(_0x1e5c35,null))[_0x2db8('0x1e')](respondWithResult(_0x1e5c35,null))['catch'](handleError(_0x1e5c35,null));};exports[_0x2db8('0x41')]=function(_0x3e20ed,_0x2915ff){return db[_0x2db8('0x26')][_0x2db8('0x41')](_0x3e20ed[_0x2db8('0x42')],{})[_0x2db8('0x1e')](function(_0x16a521){var _0x4d40e4=_0x3e20ed[_0x2db8('0x43')][_0x2db8('0x44')]({'plain':!![]});if(!_0x4d40e4)throw new Error(_0x2db8('0x45'));if(_0x4d40e4[_0x2db8('0x46')]===_0x2db8('0x43')){var _0x47a33b=_0x16a521[_0x2db8('0x44')]({'plain':!![]});var _0x3a1643=_0x2db8('0x1f');return db[_0x2db8('0x47')][_0x2db8('0x40')]({'where':{'name':_0x3a1643,'userProfileId':_0x4d40e4['userProfileId']},'raw':!![]})[_0x2db8('0x1e')](function(_0x4f1824){if(_0x4f1824&&_0x4f1824[_0x2db8('0x48')]===0x0){return db[_0x2db8('0x49')]['create']({'name':_0x47a33b[_0x2db8('0x22')],'resourceId':_0x47a33b['id'],'type':_0x4f1824['name'],'sectionId':_0x4f1824['id']},{})[_0x2db8('0x1e')](function(){return _0x16a521;});}else{return _0x16a521;}})[_0x2db8('0x3c')](function(_0x27d172){logger[_0x2db8('0x20')]('Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s',_0x27d172);throw _0x27d172;});}return _0x16a521;})[_0x2db8('0x1e')](respondWithResult(_0x2915ff,0xc9))[_0x2db8('0x3c')](handleError(_0x2915ff,null));};exports[_0x2db8('0x1c')]=function(_0x5343d8,_0x1c5255){if(_0x5343d8[_0x2db8('0x42')]['id']){delete _0x5343d8[_0x2db8('0x42')]['id'];}return db[_0x2db8('0x26')][_0x2db8('0x40')]({'where':{'id':_0x5343d8[_0x2db8('0x3e')]['id']}})['then'](handleEntityNotFound(_0x1c5255,null))[_0x2db8('0x1e')](saveUpdates(_0x5343d8[_0x2db8('0x42')],null))['then'](respondWithResult(_0x1c5255,null))['catch'](handleError(_0x1c5255,null));};exports['destroy']=function(_0x321212,_0x3f264f){return db[_0x2db8('0x26')]['find']({'where':{'id':_0x321212[_0x2db8('0x3e')]['id']}})[_0x2db8('0x1e')](handleEntityNotFound(_0x3f264f,null))[_0x2db8('0x1e')](removeEntity(_0x3f264f,null))[_0x2db8('0x3c')](handleError(_0x3f264f,null));};