Built motion from commit e1760111.|2.6.18
[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 _0xfe74=['create','body','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','UserProfileSection','userProfileId','autoAssociation','eml-format','rimraf','zip-dir','request-promise','moment','bluebird','mustache','path','sox','to-csv','ejs','fs-extra','lodash','squel','jsforce','desk.js','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','api','../../config/utils','../../config/license/util','sendStatus','status','json','undefined','limit','offset','set','apply','reject','save','update','then','destroy','get','CmContactHasItems','UserProfileResource','end','error','stack','name','send','index','map','CmContactHasItem','rawAttributes','fieldName','type','model','query','keys','filters','intersection','attributes','fields','length','hasOwnProperty','nolimit','order','sort','where','pick','filter','merge','options','count','include','rows','catch','show','params','find'];(function(_0x41f08f,_0x348c0f){var _0x56c29d=function(_0x10f3af){while(--_0x10f3af){_0x41f08f['push'](_0x41f08f['shift']());}};_0x56c29d(++_0x348c0f);}(_0xfe74,0x1a1));var _0x4fe7=function(_0x4d1a1d,_0x57e684){_0x4d1a1d=_0x4d1a1d-0x0;var _0x4cdbf8=_0xfe74[_0x4d1a1d];return _0x4cdbf8;};'use strict';var emlformat=require(_0x4fe7('0x0'));var rimraf=require(_0x4fe7('0x1'));var zipdir=require(_0x4fe7('0x2'));var jsonpatch=require('fast-json-patch');var rp=require(_0x4fe7('0x3'));var moment=require(_0x4fe7('0x4'));var BPromise=require(_0x4fe7('0x5'));var Mustache=require(_0x4fe7('0x6'));var util=require('util');var path=require(_0x4fe7('0x7'));var sox=require(_0x4fe7('0x8'));var csv=require(_0x4fe7('0x9'));var ejs=require(_0x4fe7('0xa'));var fs=require('fs');var fs_extra=require(_0x4fe7('0xb'));var _=require(_0x4fe7('0xc'));var squel=require(_0x4fe7('0xd'));var crypto=require('crypto');var jsforce=require(_0x4fe7('0xe'));var deskjs=require(_0x4fe7('0xf'));var toCsv=require(_0x4fe7('0x9'));var querystring=require('querystring');var Papa=require('papaparse');var Redis=require(_0x4fe7('0x10'));var authService=require(_0x4fe7('0x11'));var qs=require(_0x4fe7('0x12'));var as=require(_0x4fe7('0x13'));var hardwareService=require(_0x4fe7('0x14'));var logger=require('../../config/logger')(_0x4fe7('0x15'));var utils=require(_0x4fe7('0x16'));var config=require('../../config/environment');var licenseUtil=require(_0x4fe7('0x17'));var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x40bdf9,_0x1a14ac){_0x1a14ac=_0x1a14ac||0xcc;return function(_0x414835){if(_0x414835){return _0x40bdf9[_0x4fe7('0x18')](_0x1a14ac);}return _0x40bdf9[_0x4fe7('0x19')](_0x1a14ac)['end']();};}function respondWithResult(_0x5ed7dd,_0x9308f2){_0x9308f2=_0x9308f2||0xc8;return function(_0x27c53d){if(_0x27c53d){return _0x5ed7dd[_0x4fe7('0x19')](_0x9308f2)[_0x4fe7('0x1a')](_0x27c53d);}};}function respondWithFilteredResult(_0x57f71e,_0x2ca285){return function(_0x9a5f39){if(_0x9a5f39){var _0x47d6fe=typeof _0x2ca285['offset']===_0x4fe7('0x1b')&&typeof _0x2ca285[_0x4fe7('0x1c')]===_0x4fe7('0x1b');var _0x2a5f4f=_0x9a5f39['count'];var _0x403a3a=_0x47d6fe?0x0:_0x2ca285[_0x4fe7('0x1d')];var _0x171414=_0x47d6fe?_0x9a5f39['count']:_0x2ca285[_0x4fe7('0x1d')]+_0x2ca285[_0x4fe7('0x1c')];var _0x4a98d4;if(_0x171414>=_0x2a5f4f){_0x171414=_0x2a5f4f;_0x4a98d4=0xc8;}else{_0x4a98d4=0xce;}_0x57f71e['status'](_0x4a98d4);return _0x57f71e[_0x4fe7('0x1e')]('Content-Range',_0x403a3a+'-'+_0x171414+'/'+_0x2a5f4f)[_0x4fe7('0x1a')](_0x9a5f39);}return null;};}function patchUpdates(_0x12e78e){return function(_0x1c93fc){try{jsonpatch[_0x4fe7('0x1f')](_0x1c93fc,_0x12e78e,!![]);}catch(_0x4c9b00){return BPromise[_0x4fe7('0x20')](_0x4c9b00);}return _0x1c93fc[_0x4fe7('0x21')]();};}function saveUpdates(_0x174116,_0x43ed1f){return function(_0x49b64b){if(_0x49b64b){return _0x49b64b[_0x4fe7('0x22')](_0x174116)[_0x4fe7('0x23')](function(_0x52e2b8){return _0x52e2b8;});}return null;};}function removeEntity(_0x4955ce,_0x2f5081){return function(_0x590aea){if(_0x590aea){return _0x590aea[_0x4fe7('0x24')]()[_0x4fe7('0x23')](function(){var _0x48ccab=_0x590aea[_0x4fe7('0x25')]({'plain':!![]});var _0x48d376=_0x4fe7('0x26');return db[_0x4fe7('0x27')]['destroy']({'where':{'type':_0x48d376,'resourceId':_0x48ccab['id']}})['then'](function(){return _0x590aea;});})[_0x4fe7('0x23')](function(){_0x4955ce['status'](0xcc)[_0x4fe7('0x28')]();});}};}function handleEntityNotFound(_0x1d4854,_0x3084a3){return function(_0x236797){if(!_0x236797){_0x1d4854[_0x4fe7('0x18')](0x194);}return _0x236797;};}function handleError(_0x8c9636,_0x37d391){_0x37d391=_0x37d391||0x1f4;return function(_0x4f115f){logger[_0x4fe7('0x29')](_0x4f115f[_0x4fe7('0x2a')]);if(_0x4f115f[_0x4fe7('0x2b')]){delete _0x4f115f[_0x4fe7('0x2b')];}_0x8c9636['status'](_0x37d391)[_0x4fe7('0x2c')](_0x4f115f);};}exports[_0x4fe7('0x2d')]=function(_0x10400c,_0x5cfd6a){var _0x76501b={},_0x227bf2={},_0x259bc0={'count':0x0,'rows':[]};var _0x5b850e=_[_0x4fe7('0x2e')](db[_0x4fe7('0x2f')][_0x4fe7('0x30')],function(_0x124c7a){return{'name':_0x124c7a[_0x4fe7('0x31')],'type':_0x124c7a[_0x4fe7('0x32')]['key']};});_0x227bf2[_0x4fe7('0x33')]=_['map'](_0x5b850e,'name');_0x227bf2[_0x4fe7('0x34')]=_[_0x4fe7('0x35')](_0x10400c['query']);_0x227bf2[_0x4fe7('0x36')]=_[_0x4fe7('0x37')](_0x227bf2['model'],_0x227bf2['query']);_0x76501b[_0x4fe7('0x38')]=_[_0x4fe7('0x37')](_0x227bf2[_0x4fe7('0x33')],qs[_0x4fe7('0x39')](_0x10400c[_0x4fe7('0x34')][_0x4fe7('0x39')]));_0x76501b['attributes']=_0x76501b[_0x4fe7('0x38')][_0x4fe7('0x3a')]?_0x76501b[_0x4fe7('0x38')]:_0x227bf2[_0x4fe7('0x33')];if(!_0x10400c['query'][_0x4fe7('0x3b')](_0x4fe7('0x3c'))){_0x76501b[_0x4fe7('0x1c')]=qs[_0x4fe7('0x1c')](_0x10400c[_0x4fe7('0x34')][_0x4fe7('0x1c')]);_0x76501b['offset']=qs['offset'](_0x10400c[_0x4fe7('0x34')][_0x4fe7('0x1d')]);}_0x76501b[_0x4fe7('0x3d')]=qs[_0x4fe7('0x3e')](_0x10400c[_0x4fe7('0x34')][_0x4fe7('0x3e')]);_0x76501b[_0x4fe7('0x3f')]=qs[_0x4fe7('0x36')](_[_0x4fe7('0x40')](_0x10400c[_0x4fe7('0x34')],_0x227bf2[_0x4fe7('0x36')]),_0x5b850e);if(_0x10400c[_0x4fe7('0x34')][_0x4fe7('0x41')]){_0x76501b[_0x4fe7('0x3f')]=_['merge'](_0x76501b[_0x4fe7('0x3f')],{'$or':_[_0x4fe7('0x2e')](_0x5b850e,function(_0x13557b){if(_0x13557b[_0x4fe7('0x32')]!=='VIRTUAL'){var _0x2a5305={};_0x2a5305[_0x13557b[_0x4fe7('0x2b')]]={'$like':'%'+_0x10400c['query'][_0x4fe7('0x41')]+'%'};return _0x2a5305;}})});}_0x76501b=_[_0x4fe7('0x42')]({},_0x76501b,_0x10400c[_0x4fe7('0x43')]);var _0x6a99c5={'where':_0x76501b['where']};return db[_0x4fe7('0x2f')][_0x4fe7('0x44')](_0x6a99c5)[_0x4fe7('0x23')](function(_0x1630e4){_0x259bc0[_0x4fe7('0x44')]=_0x1630e4;if(_0x10400c[_0x4fe7('0x34')]['includeAll']){_0x76501b[_0x4fe7('0x45')]=[{'all':!![]}];}return db[_0x4fe7('0x2f')]['findAll'](_0x76501b);})[_0x4fe7('0x23')](function(_0x54074e){_0x259bc0[_0x4fe7('0x46')]=_0x54074e;return _0x259bc0;})[_0x4fe7('0x23')](respondWithFilteredResult(_0x5cfd6a,_0x76501b))[_0x4fe7('0x47')](handleError(_0x5cfd6a,null));};exports[_0x4fe7('0x48')]=function(_0x2beea4,_0x5a4269){var _0x242ebf={'raw':!![],'where':{'id':_0x2beea4[_0x4fe7('0x49')]['id']}},_0x583cee={};_0x583cee[_0x4fe7('0x33')]=_[_0x4fe7('0x35')](db['CmContactHasItem'][_0x4fe7('0x30')]);_0x583cee[_0x4fe7('0x34')]=_[_0x4fe7('0x35')](_0x2beea4[_0x4fe7('0x34')]);_0x583cee[_0x4fe7('0x36')]=_[_0x4fe7('0x37')](_0x583cee[_0x4fe7('0x33')],_0x583cee[_0x4fe7('0x34')]);_0x242ebf[_0x4fe7('0x38')]=_[_0x4fe7('0x37')](_0x583cee[_0x4fe7('0x33')],qs['fields'](_0x2beea4['query'][_0x4fe7('0x39')]));_0x242ebf[_0x4fe7('0x38')]=_0x242ebf[_0x4fe7('0x38')][_0x4fe7('0x3a')]?_0x242ebf[_0x4fe7('0x38')]:_0x583cee[_0x4fe7('0x33')];if(_0x2beea4[_0x4fe7('0x34')]['includeAll']){_0x242ebf[_0x4fe7('0x45')]=[{'all':!![]}];}_0x242ebf=_[_0x4fe7('0x42')]({},_0x242ebf,_0x2beea4['options']);return db['CmContactHasItem'][_0x4fe7('0x4a')](_0x242ebf)['then'](handleEntityNotFound(_0x5a4269,null))['then'](respondWithResult(_0x5a4269,null))[_0x4fe7('0x47')](handleError(_0x5a4269,null));};exports[_0x4fe7('0x4b')]=function(_0xb9d3d7,_0x4135e2){return db[_0x4fe7('0x2f')]['create'](_0xb9d3d7[_0x4fe7('0x4c')],{})['then'](function(_0x551fa6){var _0x143fe3=_0xb9d3d7[_0x4fe7('0x4d')]['get']({'plain':!![]});if(!_0x143fe3)throw new Error(_0x4fe7('0x4e'));if(_0x143fe3['role']==='user'){var _0x5b2285=_0x551fa6[_0x4fe7('0x25')]({'plain':!![]});var _0x395544=_0x4fe7('0x26');return db[_0x4fe7('0x4f')][_0x4fe7('0x4a')]({'where':{'name':_0x395544,'userProfileId':_0x143fe3[_0x4fe7('0x50')]},'raw':!![]})[_0x4fe7('0x23')](function(_0x4ed9e5){if(_0x4ed9e5&&_0x4ed9e5[_0x4fe7('0x51')]===0x0){return db['UserProfileResource'][_0x4fe7('0x4b')]({'name':_0x5b2285[_0x4fe7('0x2b')],'resourceId':_0x5b2285['id'],'type':_0x4ed9e5[_0x4fe7('0x2b')],'sectionId':_0x4ed9e5['id']},{})[_0x4fe7('0x23')](function(){return _0x551fa6;});}else{return _0x551fa6;}})[_0x4fe7('0x47')](function(_0x1999b0){logger[_0x4fe7('0x29')]('Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s',_0x1999b0);throw _0x1999b0;});}return _0x551fa6;})[_0x4fe7('0x23')](respondWithResult(_0x4135e2,0xc9))['catch'](handleError(_0x4135e2,null));};exports[_0x4fe7('0x22')]=function(_0x5a053e,_0x280ce3){if(_0x5a053e[_0x4fe7('0x4c')]['id']){delete _0x5a053e[_0x4fe7('0x4c')]['id'];}return db['CmContactHasItem'][_0x4fe7('0x4a')]({'where':{'id':_0x5a053e[_0x4fe7('0x49')]['id']}})[_0x4fe7('0x23')](handleEntityNotFound(_0x280ce3,null))[_0x4fe7('0x23')](saveUpdates(_0x5a053e[_0x4fe7('0x4c')],null))[_0x4fe7('0x23')](respondWithResult(_0x280ce3,null))[_0x4fe7('0x47')](handleError(_0x280ce3,null));};exports[_0x4fe7('0x24')]=function(_0xe2fb0d,_0x4a1329){return db[_0x4fe7('0x2f')][_0x4fe7('0x4a')]({'where':{'id':_0xe2fb0d[_0x4fe7('0x49')]['id']}})['then'](handleEntityNotFound(_0x4a1329,null))[_0x4fe7('0x23')](removeEntity(_0x4a1329,null))['catch'](handleError(_0x4a1329,null));};