2ad831182337a1c90eb305a44dbc508d6cdc6e5f
[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 _0x80b6=['merge','includeAll','include','findAll','rows','catch','show','length','options','body','get','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','UserProfileSection','find','autoAssociation','create','params','eml-format','rimraf','fast-json-patch','request-promise','moment','bluebird','mustache','path','sox','to-csv','ejs','lodash','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/parsers/qs','../../config/logger','api','../../config/utils','../../config/environment','../../mysqldb','status','end','json','undefined','limit','count','offset','set','Content-Range','apply','reject','save','update','then','destroy','CmContactHasItems','UserProfileResource','sendStatus','error','stack','name','send','index','map','CmContactHasItem','rawAttributes','fieldName','type','key','query','keys','filters','intersection','model','attributes','fields','hasOwnProperty','nolimit','order','sort','where','filter'];(function(_0x325501,_0x5242f6){var _0x2c1626=function(_0x4270b2){while(--_0x4270b2){_0x325501['push'](_0x325501['shift']());}};_0x2c1626(++_0x5242f6);}(_0x80b6,0x162));var _0x680b=function(_0x5b320e,_0x4c182d){_0x5b320e=_0x5b320e-0x0;var _0x22a7c4=_0x80b6[_0x5b320e];return _0x22a7c4;};'use strict';var emlformat=require(_0x680b('0x0'));var rimraf=require(_0x680b('0x1'));var zipdir=require('zip-dir');var jsonpatch=require(_0x680b('0x2'));var rp=require(_0x680b('0x3'));var moment=require(_0x680b('0x4'));var BPromise=require(_0x680b('0x5'));var Mustache=require(_0x680b('0x6'));var util=require('util');var path=require(_0x680b('0x7'));var sox=require(_0x680b('0x8'));var csv=require(_0x680b('0x9'));var ejs=require(_0x680b('0xa'));var fs=require('fs');var fs_extra=require('fs-extra');var _=require(_0x680b('0xb'));var squel=require('squel');var crypto=require(_0x680b('0xc'));var jsforce=require(_0x680b('0xd'));var deskjs=require(_0x680b('0xe'));var toCsv=require(_0x680b('0x9'));var querystring=require(_0x680b('0xf'));var Papa=require(_0x680b('0x10'));var Redis=require(_0x680b('0x11'));var authService=require('../../components/auth/service');var qs=require(_0x680b('0x12'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require('../../config/license/hardware');var logger=require(_0x680b('0x13'))(_0x680b('0x14'));var utils=require(_0x680b('0x15'));var config=require(_0x680b('0x16'));var licenseUtil=require('../../config/license/util');var db=require(_0x680b('0x17'))['db'];function respondWithStatusCode(_0x3d409e,_0x40abd5){_0x40abd5=_0x40abd5||0xcc;return function(_0x139953){if(_0x139953){return _0x3d409e['sendStatus'](_0x40abd5);}return _0x3d409e[_0x680b('0x18')](_0x40abd5)[_0x680b('0x19')]();};}function respondWithResult(_0x3dd58d,_0x20ea7d){_0x20ea7d=_0x20ea7d||0xc8;return function(_0x3f6450){if(_0x3f6450){return _0x3dd58d[_0x680b('0x18')](_0x20ea7d)[_0x680b('0x1a')](_0x3f6450);}};}function respondWithFilteredResult(_0x1e09ca,_0x457075){return function(_0x5d4aad){if(_0x5d4aad){var _0xdaaa0f=typeof _0x457075['offset']===_0x680b('0x1b')&&typeof _0x457075[_0x680b('0x1c')]===_0x680b('0x1b');var _0x5f4101=_0x5d4aad[_0x680b('0x1d')];var _0x573760=_0xdaaa0f?0x0:_0x457075[_0x680b('0x1e')];var _0x398e26=_0xdaaa0f?_0x5d4aad['count']:_0x457075[_0x680b('0x1e')]+_0x457075[_0x680b('0x1c')];var _0x2f4437;if(_0x398e26>=_0x5f4101){_0x398e26=_0x5f4101;_0x2f4437=0xc8;}else{_0x2f4437=0xce;}_0x1e09ca[_0x680b('0x18')](_0x2f4437);return _0x1e09ca[_0x680b('0x1f')](_0x680b('0x20'),_0x573760+'-'+_0x398e26+'/'+_0x5f4101)['json'](_0x5d4aad);}return null;};}function patchUpdates(_0x1d7a43){return function(_0x89fcc6){try{jsonpatch[_0x680b('0x21')](_0x89fcc6,_0x1d7a43,!![]);}catch(_0x153431){return BPromise[_0x680b('0x22')](_0x153431);}return _0x89fcc6[_0x680b('0x23')]();};}function saveUpdates(_0x402d99,_0x8fe28f){return function(_0x4c1430){if(_0x4c1430){return _0x4c1430[_0x680b('0x24')](_0x402d99)[_0x680b('0x25')](function(_0x4e507d){return _0x4e507d;});}return null;};}function removeEntity(_0x1a5dea,_0x1657c1){return function(_0x9ff5ec){if(_0x9ff5ec){return _0x9ff5ec[_0x680b('0x26')]()[_0x680b('0x25')](function(){var _0x50024f=_0x9ff5ec['get']({'plain':!![]});var _0x4a95cc=_0x680b('0x27');return db[_0x680b('0x28')][_0x680b('0x26')]({'where':{'type':_0x4a95cc,'resourceId':_0x50024f['id']}})['then'](function(){return _0x9ff5ec;});})[_0x680b('0x25')](function(){_0x1a5dea[_0x680b('0x18')](0xcc)['end']();});}};}function handleEntityNotFound(_0x344312,_0x87a337){return function(_0x112d48){if(!_0x112d48){_0x344312[_0x680b('0x29')](0x194);}return _0x112d48;};}function handleError(_0x31145f,_0x530f6c){_0x530f6c=_0x530f6c||0x1f4;return function(_0x5ef0b6){logger[_0x680b('0x2a')](_0x5ef0b6[_0x680b('0x2b')]);if(_0x5ef0b6['name']){delete _0x5ef0b6[_0x680b('0x2c')];}_0x31145f[_0x680b('0x18')](_0x530f6c)[_0x680b('0x2d')](_0x5ef0b6);};}exports[_0x680b('0x2e')]=function(_0x3885c9,_0x3b6a3a){var _0x1119c2={},_0x5a543f={},_0x1246a0={'count':0x0,'rows':[]};var _0x37a7f2=_[_0x680b('0x2f')](db[_0x680b('0x30')][_0x680b('0x31')],function(_0x13d42e){return{'name':_0x13d42e[_0x680b('0x32')],'type':_0x13d42e[_0x680b('0x33')][_0x680b('0x34')]};});_0x5a543f['model']=_[_0x680b('0x2f')](_0x37a7f2,_0x680b('0x2c'));_0x5a543f[_0x680b('0x35')]=_[_0x680b('0x36')](_0x3885c9[_0x680b('0x35')]);_0x5a543f[_0x680b('0x37')]=_[_0x680b('0x38')](_0x5a543f[_0x680b('0x39')],_0x5a543f[_0x680b('0x35')]);_0x1119c2[_0x680b('0x3a')]=_[_0x680b('0x38')](_0x5a543f['model'],qs[_0x680b('0x3b')](_0x3885c9['query'][_0x680b('0x3b')]));_0x1119c2[_0x680b('0x3a')]=_0x1119c2['attributes']['length']?_0x1119c2[_0x680b('0x3a')]:_0x5a543f[_0x680b('0x39')];if(!_0x3885c9[_0x680b('0x35')][_0x680b('0x3c')](_0x680b('0x3d'))){_0x1119c2[_0x680b('0x1c')]=qs[_0x680b('0x1c')](_0x3885c9[_0x680b('0x35')][_0x680b('0x1c')]);_0x1119c2[_0x680b('0x1e')]=qs[_0x680b('0x1e')](_0x3885c9[_0x680b('0x35')][_0x680b('0x1e')]);}_0x1119c2[_0x680b('0x3e')]=qs[_0x680b('0x3f')](_0x3885c9['query'][_0x680b('0x3f')]);_0x1119c2[_0x680b('0x40')]=qs[_0x680b('0x37')](_['pick'](_0x3885c9['query'],_0x5a543f[_0x680b('0x37')]),_0x37a7f2);if(_0x3885c9[_0x680b('0x35')][_0x680b('0x41')]){_0x1119c2['where']=_[_0x680b('0x42')](_0x1119c2['where'],{'$or':_['map'](_0x37a7f2,function(_0x1325a2){if(_0x1325a2[_0x680b('0x33')]!=='VIRTUAL'){var _0x1ae2c9={};_0x1ae2c9[_0x1325a2[_0x680b('0x2c')]]={'$like':'%'+_0x3885c9[_0x680b('0x35')][_0x680b('0x41')]+'%'};return _0x1ae2c9;}})});}_0x1119c2=_[_0x680b('0x42')]({},_0x1119c2,_0x3885c9['options']);var _0x29eeae={'where':_0x1119c2[_0x680b('0x40')]};return db['CmContactHasItem'][_0x680b('0x1d')](_0x29eeae)['then'](function(_0x1273fa){_0x1246a0[_0x680b('0x1d')]=_0x1273fa;if(_0x3885c9[_0x680b('0x35')][_0x680b('0x43')]){_0x1119c2[_0x680b('0x44')]=[{'all':!![]}];}return db[_0x680b('0x30')][_0x680b('0x45')](_0x1119c2);})[_0x680b('0x25')](function(_0x271ca8){_0x1246a0[_0x680b('0x46')]=_0x271ca8;return _0x1246a0;})[_0x680b('0x25')](respondWithFilteredResult(_0x3b6a3a,_0x1119c2))[_0x680b('0x47')](handleError(_0x3b6a3a,null));};exports[_0x680b('0x48')]=function(_0x55fb3d,_0x631930){var _0x4fa6b8={'raw':!![],'where':{'id':_0x55fb3d['params']['id']}},_0x145fee={};_0x145fee[_0x680b('0x39')]=_[_0x680b('0x36')](db[_0x680b('0x30')]['rawAttributes']);_0x145fee['query']=_[_0x680b('0x36')](_0x55fb3d[_0x680b('0x35')]);_0x145fee[_0x680b('0x37')]=_['intersection'](_0x145fee[_0x680b('0x39')],_0x145fee[_0x680b('0x35')]);_0x4fa6b8['attributes']=_[_0x680b('0x38')](_0x145fee[_0x680b('0x39')],qs[_0x680b('0x3b')](_0x55fb3d[_0x680b('0x35')]['fields']));_0x4fa6b8[_0x680b('0x3a')]=_0x4fa6b8['attributes'][_0x680b('0x49')]?_0x4fa6b8[_0x680b('0x3a')]:_0x145fee[_0x680b('0x39')];if(_0x55fb3d[_0x680b('0x35')][_0x680b('0x43')]){_0x4fa6b8[_0x680b('0x44')]=[{'all':!![]}];}_0x4fa6b8=_[_0x680b('0x42')]({},_0x4fa6b8,_0x55fb3d[_0x680b('0x4a')]);return db[_0x680b('0x30')]['find'](_0x4fa6b8)['then'](handleEntityNotFound(_0x631930,null))[_0x680b('0x25')](respondWithResult(_0x631930,null))[_0x680b('0x47')](handleError(_0x631930,null));};exports['create']=function(_0xea6f68,_0x2ca079){return db[_0x680b('0x30')]['create'](_0xea6f68[_0x680b('0x4b')],{})[_0x680b('0x25')](function(_0x40aeac){var _0x20e51d=_0xea6f68['user'][_0x680b('0x4c')]({'plain':!![]});if(!_0x20e51d)throw new Error(_0x680b('0x4d'));if(_0x20e51d[_0x680b('0x4e')]==='user'){var _0x3dd71f=_0x40aeac[_0x680b('0x4c')]({'plain':!![]});var _0x130bf6=_0x680b('0x27');return db[_0x680b('0x4f')][_0x680b('0x50')]({'where':{'name':_0x130bf6,'userProfileId':_0x20e51d['userProfileId']},'raw':!![]})[_0x680b('0x25')](function(_0x16dfff){if(_0x16dfff&&_0x16dfff[_0x680b('0x51')]===0x0){return db[_0x680b('0x28')][_0x680b('0x52')]({'name':_0x3dd71f[_0x680b('0x2c')],'resourceId':_0x3dd71f['id'],'type':_0x16dfff[_0x680b('0x2c')],'sectionId':_0x16dfff['id']},{})[_0x680b('0x25')](function(){return _0x40aeac;});}else{return _0x40aeac;}})[_0x680b('0x47')](function(_0x349df4){logger[_0x680b('0x2a')]('Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s',_0x349df4);throw _0x349df4;});}return _0x40aeac;})[_0x680b('0x25')](respondWithResult(_0x2ca079,0xc9))['catch'](handleError(_0x2ca079,null));};exports[_0x680b('0x24')]=function(_0x1bbe21,_0x18f338){if(_0x1bbe21[_0x680b('0x4b')]['id']){delete _0x1bbe21[_0x680b('0x4b')]['id'];}return db[_0x680b('0x30')]['find']({'where':{'id':_0x1bbe21['params']['id']}})[_0x680b('0x25')](handleEntityNotFound(_0x18f338,null))[_0x680b('0x25')](saveUpdates(_0x1bbe21[_0x680b('0x4b')],null))[_0x680b('0x25')](respondWithResult(_0x18f338,null))[_0x680b('0x47')](handleError(_0x18f338,null));};exports[_0x680b('0x26')]=function(_0x3e6f16,_0x41db29){return db[_0x680b('0x30')][_0x680b('0x50')]({'where':{'id':_0x3e6f16[_0x680b('0x53')]['id']}})[_0x680b('0x25')](handleEntityNotFound(_0x41db29,null))[_0x680b('0x25')](removeEntity(_0x41db29,null))[_0x680b('0x47')](handleError(_0x41db29,null));};