bae31b3af1e6277381edc4e5e15f899c5844183b
[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 _0x3325=['keys','intersection','attributes','fields','length','hasOwnProperty','nolimit','sort','where','filters','pick','filter','VIRTUAL','options','includeAll','findAll','rows','show','params','include','find','catch','create','body','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','UserProfileSection','userProfileId','autoAssociation','UserProfileResource','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','crypto','jsforce','desk.js','papaparse','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/logger','api','../../config/utils','../../config/license/util','../../mysqldb','sendStatus','end','status','json','limit','undefined','offset','count','set','Content-Range','reject','update','then','destroy','get','CmContactHasItems','error','stack','name','send','map','CmContactHasItem','fieldName','type','key','model','query'];(function(_0x4a1831,_0x299eaf){var _0x3f4dbc=function(_0xb8d51a){while(--_0xb8d51a){_0x4a1831['push'](_0x4a1831['shift']());}};_0x3f4dbc(++_0x299eaf);}(_0x3325,0xca));var _0x5332=function(_0x4c1078,_0x279c61){_0x4c1078=_0x4c1078-0x0;var _0x164ffe=_0x3325[_0x4c1078];return _0x164ffe;};'use strict';var emlformat=require(_0x5332('0x0'));var rimraf=require(_0x5332('0x1'));var zipdir=require(_0x5332('0x2'));var jsonpatch=require(_0x5332('0x3'));var rp=require(_0x5332('0x4'));var moment=require(_0x5332('0x5'));var BPromise=require(_0x5332('0x6'));var Mustache=require('mustache');var util=require(_0x5332('0x7'));var path=require(_0x5332('0x8'));var sox=require(_0x5332('0x9'));var csv=require(_0x5332('0xa'));var ejs=require(_0x5332('0xb'));var fs=require('fs');var fs_extra=require(_0x5332('0xc'));var _=require(_0x5332('0xd'));var squel=require('squel');var crypto=require(_0x5332('0xe'));var jsforce=require(_0x5332('0xf'));var deskjs=require(_0x5332('0x10'));var toCsv=require('to-csv');var querystring=require('querystring');var Papa=require(_0x5332('0x11'));var Redis=require('ioredis');var authService=require(_0x5332('0x12'));var qs=require(_0x5332('0x13'));var as=require(_0x5332('0x14'));var hardwareService=require('../../config/license/hardware');var logger=require(_0x5332('0x15'))(_0x5332('0x16'));var utils=require(_0x5332('0x17'));var config=require('../../config/environment');var licenseUtil=require(_0x5332('0x18'));var db=require(_0x5332('0x19'))['db'];function respondWithStatusCode(_0x210a4a,_0x4b5852){_0x4b5852=_0x4b5852||0xcc;return function(_0x11a627){if(_0x11a627){return _0x210a4a[_0x5332('0x1a')](_0x4b5852);}return _0x210a4a['status'](_0x4b5852)[_0x5332('0x1b')]();};}function respondWithResult(_0x540fbc,_0x2aaee3){_0x2aaee3=_0x2aaee3||0xc8;return function(_0x343d20){if(_0x343d20){return _0x540fbc[_0x5332('0x1c')](_0x2aaee3)[_0x5332('0x1d')](_0x343d20);}};}function respondWithFilteredResult(_0x2de31a,_0x1e658b){return function(_0x12673b){if(_0x12673b){var _0x3599ac=typeof _0x1e658b['offset']==='undefined'&&typeof _0x1e658b[_0x5332('0x1e')]===_0x5332('0x1f');var _0x12b067=_0x12673b['count'];var _0x49640f=_0x3599ac?0x0:_0x1e658b[_0x5332('0x20')];var _0xc95b2f=_0x3599ac?_0x12673b[_0x5332('0x21')]:_0x1e658b['offset']+_0x1e658b[_0x5332('0x1e')];var _0xf0bbed;if(_0xc95b2f>=_0x12b067){_0xc95b2f=_0x12b067;_0xf0bbed=0xc8;}else{_0xf0bbed=0xce;}_0x2de31a['status'](_0xf0bbed);return _0x2de31a[_0x5332('0x22')](_0x5332('0x23'),_0x49640f+'-'+_0xc95b2f+'/'+_0x12b067)[_0x5332('0x1d')](_0x12673b);}return null;};}function patchUpdates(_0x5a6e70){return function(_0x4c73ad){try{jsonpatch['apply'](_0x4c73ad,_0x5a6e70,!![]);}catch(_0x4dd98c){return BPromise[_0x5332('0x24')](_0x4dd98c);}return _0x4c73ad['save']();};}function saveUpdates(_0x13fd0c,_0x10d9bd){return function(_0x1d5ca8){if(_0x1d5ca8){return _0x1d5ca8[_0x5332('0x25')](_0x13fd0c)[_0x5332('0x26')](function(_0x5a687f){return _0x5a687f;});}return null;};}function removeEntity(_0x11c423,_0x16e9f0){return function(_0x42ed03){if(_0x42ed03){return _0x42ed03[_0x5332('0x27')]()[_0x5332('0x26')](function(){var _0x33955d=_0x42ed03[_0x5332('0x28')]({'plain':!![]});var _0x4b5db6=_0x5332('0x29');return db['UserProfileResource']['destroy']({'where':{'type':_0x4b5db6,'resourceId':_0x33955d['id']}})[_0x5332('0x26')](function(){return _0x42ed03;});})[_0x5332('0x26')](function(){_0x11c423[_0x5332('0x1c')](0xcc)[_0x5332('0x1b')]();});}};}function handleEntityNotFound(_0x49e3a9,_0x46aa7c){return function(_0x4ab1f0){if(!_0x4ab1f0){_0x49e3a9[_0x5332('0x1a')](0x194);}return _0x4ab1f0;};}function handleError(_0x45916d,_0x5199e2){_0x5199e2=_0x5199e2||0x1f4;return function(_0xf43a9b){logger[_0x5332('0x2a')](_0xf43a9b[_0x5332('0x2b')]);if(_0xf43a9b[_0x5332('0x2c')]){delete _0xf43a9b[_0x5332('0x2c')];}_0x45916d[_0x5332('0x1c')](_0x5199e2)[_0x5332('0x2d')](_0xf43a9b);};}exports['index']=function(_0x8c309b,_0x4a433d){var _0xd1df2a={},_0x361318={},_0x8a8852={'count':0x0,'rows':[]};var _0x2b55a0=_[_0x5332('0x2e')](db[_0x5332('0x2f')]['rawAttributes'],function(_0x3879b4){return{'name':_0x3879b4[_0x5332('0x30')],'type':_0x3879b4[_0x5332('0x31')][_0x5332('0x32')]};});_0x361318[_0x5332('0x33')]=_[_0x5332('0x2e')](_0x2b55a0,_0x5332('0x2c'));_0x361318[_0x5332('0x34')]=_[_0x5332('0x35')](_0x8c309b[_0x5332('0x34')]);_0x361318['filters']=_[_0x5332('0x36')](_0x361318[_0x5332('0x33')],_0x361318[_0x5332('0x34')]);_0xd1df2a[_0x5332('0x37')]=_[_0x5332('0x36')](_0x361318[_0x5332('0x33')],qs[_0x5332('0x38')](_0x8c309b[_0x5332('0x34')][_0x5332('0x38')]));_0xd1df2a[_0x5332('0x37')]=_0xd1df2a[_0x5332('0x37')][_0x5332('0x39')]?_0xd1df2a[_0x5332('0x37')]:_0x361318[_0x5332('0x33')];if(!_0x8c309b[_0x5332('0x34')][_0x5332('0x3a')](_0x5332('0x3b'))){_0xd1df2a[_0x5332('0x1e')]=qs['limit'](_0x8c309b[_0x5332('0x34')][_0x5332('0x1e')]);_0xd1df2a[_0x5332('0x20')]=qs[_0x5332('0x20')](_0x8c309b[_0x5332('0x34')][_0x5332('0x20')]);}_0xd1df2a['order']=qs[_0x5332('0x3c')](_0x8c309b['query']['sort']);_0xd1df2a[_0x5332('0x3d')]=qs[_0x5332('0x3e')](_[_0x5332('0x3f')](_0x8c309b[_0x5332('0x34')],_0x361318['filters']),_0x2b55a0);if(_0x8c309b[_0x5332('0x34')][_0x5332('0x40')]){_0xd1df2a['where']=_['merge'](_0xd1df2a['where'],{'$or':_['map'](_0x2b55a0,function(_0x40f879){if(_0x40f879[_0x5332('0x31')]!==_0x5332('0x41')){var _0x338907={};_0x338907[_0x40f879[_0x5332('0x2c')]]={'$like':'%'+_0x8c309b[_0x5332('0x34')][_0x5332('0x40')]+'%'};return _0x338907;}})});}_0xd1df2a=_['merge']({},_0xd1df2a,_0x8c309b[_0x5332('0x42')]);var _0x11dca9={'where':_0xd1df2a[_0x5332('0x3d')]};return db[_0x5332('0x2f')][_0x5332('0x21')](_0x11dca9)[_0x5332('0x26')](function(_0x1bb1f0){_0x8a8852['count']=_0x1bb1f0;if(_0x8c309b[_0x5332('0x34')][_0x5332('0x43')]){_0xd1df2a['include']=[{'all':!![]}];}return db[_0x5332('0x2f')][_0x5332('0x44')](_0xd1df2a);})[_0x5332('0x26')](function(_0x558fd3){_0x8a8852[_0x5332('0x45')]=_0x558fd3;return _0x8a8852;})['then'](respondWithFilteredResult(_0x4a433d,_0xd1df2a))['catch'](handleError(_0x4a433d,null));};exports[_0x5332('0x46')]=function(_0x31d07d,_0x4cf38a){var _0x26945a={'raw':!![],'where':{'id':_0x31d07d[_0x5332('0x47')]['id']}},_0x5d4fd5={};_0x5d4fd5[_0x5332('0x33')]=_['keys'](db[_0x5332('0x2f')]['rawAttributes']);_0x5d4fd5[_0x5332('0x34')]=_[_0x5332('0x35')](_0x31d07d['query']);_0x5d4fd5[_0x5332('0x3e')]=_['intersection'](_0x5d4fd5['model'],_0x5d4fd5[_0x5332('0x34')]);_0x26945a[_0x5332('0x37')]=_[_0x5332('0x36')](_0x5d4fd5[_0x5332('0x33')],qs[_0x5332('0x38')](_0x31d07d[_0x5332('0x34')][_0x5332('0x38')]));_0x26945a[_0x5332('0x37')]=_0x26945a[_0x5332('0x37')][_0x5332('0x39')]?_0x26945a[_0x5332('0x37')]:_0x5d4fd5[_0x5332('0x33')];if(_0x31d07d[_0x5332('0x34')][_0x5332('0x43')]){_0x26945a[_0x5332('0x48')]=[{'all':!![]}];}_0x26945a=_['merge']({},_0x26945a,_0x31d07d[_0x5332('0x42')]);return db[_0x5332('0x2f')][_0x5332('0x49')](_0x26945a)[_0x5332('0x26')](handleEntityNotFound(_0x4cf38a,null))['then'](respondWithResult(_0x4cf38a,null))[_0x5332('0x4a')](handleError(_0x4cf38a,null));};exports[_0x5332('0x4b')]=function(_0x5bd8f7,_0x4672b8){return db['CmContactHasItem'][_0x5332('0x4b')](_0x5bd8f7[_0x5332('0x4c')],{})[_0x5332('0x26')](function(_0x1e81c5){var _0x294da1=_0x5bd8f7[_0x5332('0x4d')][_0x5332('0x28')]({'plain':!![]});if(!_0x294da1)throw new Error(_0x5332('0x4e'));if(_0x294da1[_0x5332('0x4f')]===_0x5332('0x4d')){var _0x2e3dc4=_0x1e81c5['get']({'plain':!![]});var _0x15c8ab=_0x5332('0x29');return db[_0x5332('0x50')]['find']({'where':{'name':_0x15c8ab,'userProfileId':_0x294da1[_0x5332('0x51')]},'raw':!![]})[_0x5332('0x26')](function(_0x20a983){if(_0x20a983&&_0x20a983[_0x5332('0x52')]===0x0){return db[_0x5332('0x53')]['create']({'name':_0x2e3dc4[_0x5332('0x2c')],'resourceId':_0x2e3dc4['id'],'type':_0x20a983[_0x5332('0x2c')],'sectionId':_0x20a983['id']},{})['then'](function(){return _0x1e81c5;});}else{return _0x1e81c5;}})[_0x5332('0x4a')](function(_0x458d87){logger[_0x5332('0x2a')](_0x5332('0x54'),_0x458d87);throw _0x458d87;});}return _0x1e81c5;})['then'](respondWithResult(_0x4672b8,0xc9))[_0x5332('0x4a')](handleError(_0x4672b8,null));};exports[_0x5332('0x25')]=function(_0x2107ac,_0x4d6185){if(_0x2107ac[_0x5332('0x4c')]['id']){delete _0x2107ac['body']['id'];}return db[_0x5332('0x2f')][_0x5332('0x49')]({'where':{'id':_0x2107ac['params']['id']}})['then'](handleEntityNotFound(_0x4d6185,null))[_0x5332('0x26')](saveUpdates(_0x2107ac[_0x5332('0x4c')],null))[_0x5332('0x26')](respondWithResult(_0x4d6185,null))[_0x5332('0x4a')](handleError(_0x4d6185,null));};exports[_0x5332('0x27')]=function(_0x353417,_0xb426cf){return db['CmContactHasItem'][_0x5332('0x49')]({'where':{'id':_0x353417[_0x5332('0x47')]['id']}})['then'](handleEntityNotFound(_0xb426cf,null))[_0x5332('0x26')](removeEntity(_0xb426cf,null))[_0x5332('0x4a')](handleError(_0xb426cf,null));};