Built motion from commit 9efc8423.|2.6.31
[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 _0x6603=['intersection','fields','length','hasOwnProperty','nolimit','order','sort','where','filter','merge','options','include','CmContactHasItem','findAll','rows','show','params','rawAttributes','includeAll','find','catch','create','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','UserProfileSection','userProfileId','autoAssociation','UserProfileResource','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','body','rimraf','zip-dir','bluebird','mustache','path','to-csv','fs-extra','squel','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../config/license/hardware','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','end','status','json','offset','undefined','limit','count','set','Content-Range','apply','reject','update','destroy','then','get','CmContactHasItems','error','name','index','fieldName','type','model','map','query','keys','filters','attributes'];(function(_0x874cf1,_0x2a4954){var _0x233579=function(_0xa6e939){while(--_0xa6e939){_0x874cf1['push'](_0x874cf1['shift']());}};_0x233579(++_0x2a4954);}(_0x6603,0x15e));var _0x3660=function(_0x154f4a,_0x3384b2){_0x154f4a=_0x154f4a-0x0;var _0x116de7=_0x6603[_0x154f4a];return _0x116de7;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0x3660('0x0'));var zipdir=require(_0x3660('0x1'));var jsonpatch=require('fast-json-patch');var rp=require('request-promise');var moment=require('moment');var BPromise=require(_0x3660('0x2'));var Mustache=require(_0x3660('0x3'));var util=require('util');var path=require(_0x3660('0x4'));var sox=require('sox');var csv=require(_0x3660('0x5'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require(_0x3660('0x6'));var _=require('lodash');var squel=require(_0x3660('0x7'));var crypto=require(_0x3660('0x8'));var jsforce=require(_0x3660('0x9'));var deskjs=require(_0x3660('0xa'));var toCsv=require(_0x3660('0x5'));var querystring=require(_0x3660('0xb'));var Papa=require(_0x3660('0xc'));var Redis=require(_0x3660('0xd'));var authService=require(_0x3660('0xe'));var qs=require(_0x3660('0xf'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0x3660('0x10'));var logger=require('../../config/logger')(_0x3660('0x11'));var utils=require(_0x3660('0x12'));var config=require(_0x3660('0x13'));var licenseUtil=require(_0x3660('0x14'));var db=require(_0x3660('0x15'))['db'];function respondWithStatusCode(_0x15bef5,_0x3a9514){_0x3a9514=_0x3a9514||0xcc;return function(_0x2ad5d1){if(_0x2ad5d1){return _0x15bef5[_0x3660('0x16')](_0x3a9514);}return _0x15bef5['status'](_0x3a9514)[_0x3660('0x17')]();};}function respondWithResult(_0x5f456d,_0x3b0121){_0x3b0121=_0x3b0121||0xc8;return function(_0x177758){if(_0x177758){return _0x5f456d[_0x3660('0x18')](_0x3b0121)[_0x3660('0x19')](_0x177758);}};}function respondWithFilteredResult(_0x33272e,_0x43418f){return function(_0x395410){if(_0x395410){var _0x2737b0=typeof _0x43418f[_0x3660('0x1a')]===_0x3660('0x1b')&&typeof _0x43418f[_0x3660('0x1c')]===_0x3660('0x1b');var _0x5cd0a6=_0x395410[_0x3660('0x1d')];var _0x3d2a01=_0x2737b0?0x0:_0x43418f[_0x3660('0x1a')];var _0x2350ce=_0x2737b0?_0x395410[_0x3660('0x1d')]:_0x43418f[_0x3660('0x1a')]+_0x43418f[_0x3660('0x1c')];var _0x2ddd94;if(_0x2350ce>=_0x5cd0a6){_0x2350ce=_0x5cd0a6;_0x2ddd94=0xc8;}else{_0x2ddd94=0xce;}_0x33272e[_0x3660('0x18')](_0x2ddd94);return _0x33272e[_0x3660('0x1e')](_0x3660('0x1f'),_0x3d2a01+'-'+_0x2350ce+'/'+_0x5cd0a6)[_0x3660('0x19')](_0x395410);}return null;};}function patchUpdates(_0x57b2df){return function(_0x4e8c18){try{jsonpatch[_0x3660('0x20')](_0x4e8c18,_0x57b2df,!![]);}catch(_0x5019b2){return BPromise[_0x3660('0x21')](_0x5019b2);}return _0x4e8c18['save']();};}function saveUpdates(_0x5b7604,_0x3a82cd){return function(_0x4e1586){if(_0x4e1586){return _0x4e1586[_0x3660('0x22')](_0x5b7604)['then'](function(_0x5eace8){return _0x5eace8;});}return null;};}function removeEntity(_0x5002af,_0x3b2688){return function(_0x4ad2dd){if(_0x4ad2dd){return _0x4ad2dd[_0x3660('0x23')]()[_0x3660('0x24')](function(){var _0x551ecf=_0x4ad2dd[_0x3660('0x25')]({'plain':!![]});var _0x58a170=_0x3660('0x26');return db['UserProfileResource']['destroy']({'where':{'type':_0x58a170,'resourceId':_0x551ecf['id']}})[_0x3660('0x24')](function(){return _0x4ad2dd;});})[_0x3660('0x24')](function(){_0x5002af[_0x3660('0x18')](0xcc)[_0x3660('0x17')]();});}};}function handleEntityNotFound(_0x28d43e,_0x36a8b8){return function(_0x1c3339){if(!_0x1c3339){_0x28d43e[_0x3660('0x16')](0x194);}return _0x1c3339;};}function handleError(_0x3c2a04,_0x2fca6d){_0x2fca6d=_0x2fca6d||0x1f4;return function(_0x3257f7){logger[_0x3660('0x27')](_0x3257f7['stack']);if(_0x3257f7[_0x3660('0x28')]){delete _0x3257f7['name'];}_0x3c2a04[_0x3660('0x18')](_0x2fca6d)['send'](_0x3257f7);};}exports[_0x3660('0x29')]=function(_0x33eff2,_0x120d8b){var _0x57e79a={},_0x5ef155={},_0x80afe5={'count':0x0,'rows':[]};var _0x4bdc68=_['map'](db['CmContactHasItem']['rawAttributes'],function(_0x6bad0a){return{'name':_0x6bad0a[_0x3660('0x2a')],'type':_0x6bad0a[_0x3660('0x2b')]['key']};});_0x5ef155[_0x3660('0x2c')]=_[_0x3660('0x2d')](_0x4bdc68,'name');_0x5ef155[_0x3660('0x2e')]=_[_0x3660('0x2f')](_0x33eff2[_0x3660('0x2e')]);_0x5ef155[_0x3660('0x30')]=_['intersection'](_0x5ef155[_0x3660('0x2c')],_0x5ef155[_0x3660('0x2e')]);_0x57e79a[_0x3660('0x31')]=_[_0x3660('0x32')](_0x5ef155[_0x3660('0x2c')],qs[_0x3660('0x33')](_0x33eff2['query'][_0x3660('0x33')]));_0x57e79a['attributes']=_0x57e79a[_0x3660('0x31')][_0x3660('0x34')]?_0x57e79a[_0x3660('0x31')]:_0x5ef155[_0x3660('0x2c')];if(!_0x33eff2['query'][_0x3660('0x35')](_0x3660('0x36'))){_0x57e79a[_0x3660('0x1c')]=qs['limit'](_0x33eff2[_0x3660('0x2e')]['limit']);_0x57e79a[_0x3660('0x1a')]=qs[_0x3660('0x1a')](_0x33eff2[_0x3660('0x2e')][_0x3660('0x1a')]);}_0x57e79a[_0x3660('0x37')]=qs['sort'](_0x33eff2[_0x3660('0x2e')][_0x3660('0x38')]);_0x57e79a[_0x3660('0x39')]=qs[_0x3660('0x30')](_['pick'](_0x33eff2[_0x3660('0x2e')],_0x5ef155[_0x3660('0x30')]),_0x4bdc68);if(_0x33eff2[_0x3660('0x2e')][_0x3660('0x3a')]){_0x57e79a[_0x3660('0x39')]=_[_0x3660('0x3b')](_0x57e79a[_0x3660('0x39')],{'$or':_[_0x3660('0x2d')](_0x4bdc68,function(_0x5ce53a){if(_0x5ce53a[_0x3660('0x2b')]!=='VIRTUAL'){var _0x26fe7b={};_0x26fe7b[_0x5ce53a['name']]={'$like':'%'+_0x33eff2[_0x3660('0x2e')][_0x3660('0x3a')]+'%'};return _0x26fe7b;}})});}_0x57e79a=_[_0x3660('0x3b')]({},_0x57e79a,_0x33eff2[_0x3660('0x3c')]);var _0x36aff1={'where':_0x57e79a[_0x3660('0x39')]};return db['CmContactHasItem'][_0x3660('0x1d')](_0x36aff1)['then'](function(_0x38938d){_0x80afe5[_0x3660('0x1d')]=_0x38938d;if(_0x33eff2[_0x3660('0x2e')]['includeAll']){_0x57e79a[_0x3660('0x3d')]=[{'all':!![]}];}return db[_0x3660('0x3e')][_0x3660('0x3f')](_0x57e79a);})['then'](function(_0x553a2f){_0x80afe5[_0x3660('0x40')]=_0x553a2f;return _0x80afe5;})[_0x3660('0x24')](respondWithFilteredResult(_0x120d8b,_0x57e79a))['catch'](handleError(_0x120d8b,null));};exports[_0x3660('0x41')]=function(_0x377754,_0x6570ed){var _0x49f717={'raw':!![],'where':{'id':_0x377754[_0x3660('0x42')]['id']}},_0x156995={};_0x156995[_0x3660('0x2c')]=_[_0x3660('0x2f')](db[_0x3660('0x3e')][_0x3660('0x43')]);_0x156995[_0x3660('0x2e')]=_['keys'](_0x377754[_0x3660('0x2e')]);_0x156995[_0x3660('0x30')]=_[_0x3660('0x32')](_0x156995[_0x3660('0x2c')],_0x156995[_0x3660('0x2e')]);_0x49f717[_0x3660('0x31')]=_[_0x3660('0x32')](_0x156995[_0x3660('0x2c')],qs[_0x3660('0x33')](_0x377754[_0x3660('0x2e')][_0x3660('0x33')]));_0x49f717[_0x3660('0x31')]=_0x49f717[_0x3660('0x31')]['length']?_0x49f717[_0x3660('0x31')]:_0x156995['model'];if(_0x377754['query'][_0x3660('0x44')]){_0x49f717[_0x3660('0x3d')]=[{'all':!![]}];}_0x49f717=_[_0x3660('0x3b')]({},_0x49f717,_0x377754[_0x3660('0x3c')]);return db[_0x3660('0x3e')][_0x3660('0x45')](_0x49f717)[_0x3660('0x24')](handleEntityNotFound(_0x6570ed,null))[_0x3660('0x24')](respondWithResult(_0x6570ed,null))[_0x3660('0x46')](handleError(_0x6570ed,null));};exports['create']=function(_0x555b9f,_0x5506d5){return db['CmContactHasItem'][_0x3660('0x47')](_0x555b9f['body'],{})['then'](function(_0x350da0){var _0x32e430=_0x555b9f[_0x3660('0x48')][_0x3660('0x25')]({'plain':!![]});if(!_0x32e430)throw new Error(_0x3660('0x49'));if(_0x32e430['role']===_0x3660('0x48')){var _0x2cbb74=_0x350da0[_0x3660('0x25')]({'plain':!![]});var _0x119e76=_0x3660('0x26');return db[_0x3660('0x4a')][_0x3660('0x45')]({'where':{'name':_0x119e76,'userProfileId':_0x32e430[_0x3660('0x4b')]},'raw':!![]})[_0x3660('0x24')](function(_0xdc9edd){if(_0xdc9edd&&_0xdc9edd[_0x3660('0x4c')]===0x0){return db[_0x3660('0x4d')][_0x3660('0x47')]({'name':_0x2cbb74[_0x3660('0x28')],'resourceId':_0x2cbb74['id'],'type':_0xdc9edd['name'],'sectionId':_0xdc9edd['id']},{})[_0x3660('0x24')](function(){return _0x350da0;});}else{return _0x350da0;}})[_0x3660('0x46')](function(_0x3c8f51){logger['error'](_0x3660('0x4e'),_0x3c8f51);throw _0x3c8f51;});}return _0x350da0;})[_0x3660('0x24')](respondWithResult(_0x5506d5,0xc9))['catch'](handleError(_0x5506d5,null));};exports[_0x3660('0x22')]=function(_0x573c0b,_0x54baa1){if(_0x573c0b[_0x3660('0x4f')]['id']){delete _0x573c0b[_0x3660('0x4f')]['id'];}return db[_0x3660('0x3e')][_0x3660('0x45')]({'where':{'id':_0x573c0b[_0x3660('0x42')]['id']}})[_0x3660('0x24')](handleEntityNotFound(_0x54baa1,null))['then'](saveUpdates(_0x573c0b['body'],null))[_0x3660('0x24')](respondWithResult(_0x54baa1,null))[_0x3660('0x46')](handleError(_0x54baa1,null));};exports[_0x3660('0x23')]=function(_0x3fd281,_0x3b1cff){return db[_0x3660('0x3e')][_0x3660('0x45')]({'where':{'id':_0x3fd281['params']['id']}})[_0x3660('0x24')](handleEntityNotFound(_0x3b1cff,null))[_0x3660('0x24')](removeEntity(_0x3b1cff,null))[_0x3660('0x46')](handleError(_0x3b1cff,null));};