Built motion from commit f57cc866.|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 _0xf806=['undefined','limit','count','status','set','apply','save','destroy','then','get','CmContactHasItems','error','stack','name','send','map','CmContactHasItem','fieldName','key','model','query','filters','intersection','attributes','fields','nolimit','order','sort','where','merge','VIRTUAL','options','include','findAll','rows','catch','show','params','rawAttributes','keys','includeAll','find','create','body','Unable\x20to\x20retrieve\x20the\x20current\x20user','user','UserProfileSection','userProfileId','autoAssociation','UserProfileResource','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','update','eml-format','rimraf','zip-dir','request-promise','moment','bluebird','mustache','util','path','ejs','lodash','squel','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','../../config/environment','../../mysqldb','sendStatus','end','json','offset'];(function(_0x553612,_0xbba591){var _0x13b597=function(_0x340cf7){while(--_0x340cf7){_0x553612['push'](_0x553612['shift']());}};_0x13b597(++_0xbba591);}(_0xf806,0x85));var _0x6f80=function(_0x3dd15e,_0x1f0015){_0x3dd15e=_0x3dd15e-0x0;var _0x231fd0=_0xf806[_0x3dd15e];return _0x231fd0;};'use strict';var emlformat=require(_0x6f80('0x0'));var rimraf=require(_0x6f80('0x1'));var zipdir=require(_0x6f80('0x2'));var jsonpatch=require('fast-json-patch');var rp=require(_0x6f80('0x3'));var moment=require(_0x6f80('0x4'));var BPromise=require(_0x6f80('0x5'));var Mustache=require(_0x6f80('0x6'));var util=require(_0x6f80('0x7'));var path=require(_0x6f80('0x8'));var sox=require('sox');var csv=require('to-csv');var ejs=require(_0x6f80('0x9'));var fs=require('fs');var fs_extra=require('fs-extra');var _=require(_0x6f80('0xa'));var squel=require(_0x6f80('0xb'));var crypto=require(_0x6f80('0xc'));var jsforce=require(_0x6f80('0xd'));var deskjs=require(_0x6f80('0xe'));var toCsv=require('to-csv');var querystring=require(_0x6f80('0xf'));var Papa=require(_0x6f80('0x10'));var Redis=require(_0x6f80('0x11'));var authService=require(_0x6f80('0x12'));var qs=require(_0x6f80('0x13'));var as=require(_0x6f80('0x14'));var hardwareService=require(_0x6f80('0x15'));var logger=require(_0x6f80('0x16'))('api');var utils=require('../../config/utils');var config=require(_0x6f80('0x17'));var licenseUtil=require('../../config/license/util');var db=require(_0x6f80('0x18'))['db'];function respondWithStatusCode(_0x363fa4,_0xbb6263){_0xbb6263=_0xbb6263||0xcc;return function(_0x420935){if(_0x420935){return _0x363fa4[_0x6f80('0x19')](_0xbb6263);}return _0x363fa4['status'](_0xbb6263)[_0x6f80('0x1a')]();};}function respondWithResult(_0x21f11a,_0x1bb84d){_0x1bb84d=_0x1bb84d||0xc8;return function(_0x34dd3b){if(_0x34dd3b){return _0x21f11a['status'](_0x1bb84d)[_0x6f80('0x1b')](_0x34dd3b);}};}function respondWithFilteredResult(_0x28357d,_0x21da22){return function(_0x4e4269){if(_0x4e4269){var _0x5439c2=typeof _0x21da22[_0x6f80('0x1c')]===_0x6f80('0x1d')&&typeof _0x21da22[_0x6f80('0x1e')]===_0x6f80('0x1d');var _0x55df4b=_0x4e4269['count'];var _0x43cfb1=_0x5439c2?0x0:_0x21da22[_0x6f80('0x1c')];var _0x223677=_0x5439c2?_0x4e4269[_0x6f80('0x1f')]:_0x21da22[_0x6f80('0x1c')]+_0x21da22['limit'];var _0x4bb78d;if(_0x223677>=_0x55df4b){_0x223677=_0x55df4b;_0x4bb78d=0xc8;}else{_0x4bb78d=0xce;}_0x28357d[_0x6f80('0x20')](_0x4bb78d);return _0x28357d[_0x6f80('0x21')]('Content-Range',_0x43cfb1+'-'+_0x223677+'/'+_0x55df4b)[_0x6f80('0x1b')](_0x4e4269);}return null;};}function patchUpdates(_0x51974d){return function(_0x10cf0b){try{jsonpatch[_0x6f80('0x22')](_0x10cf0b,_0x51974d,!![]);}catch(_0x4bb72c){return BPromise['reject'](_0x4bb72c);}return _0x10cf0b[_0x6f80('0x23')]();};}function saveUpdates(_0x3b102b,_0x3543eb){return function(_0x5b74b3){if(_0x5b74b3){return _0x5b74b3['update'](_0x3b102b)['then'](function(_0x3f77f6){return _0x3f77f6;});}return null;};}function removeEntity(_0xf26d1f,_0x3a7318){return function(_0x1162dd){if(_0x1162dd){return _0x1162dd[_0x6f80('0x24')]()[_0x6f80('0x25')](function(){var _0x54e542=_0x1162dd[_0x6f80('0x26')]({'plain':!![]});var _0x148ca9=_0x6f80('0x27');return db['UserProfileResource'][_0x6f80('0x24')]({'where':{'type':_0x148ca9,'resourceId':_0x54e542['id']}})[_0x6f80('0x25')](function(){return _0x1162dd;});})[_0x6f80('0x25')](function(){_0xf26d1f[_0x6f80('0x20')](0xcc)['end']();});}};}function handleEntityNotFound(_0x48ea35,_0xa79c1f){return function(_0x8439f6){if(!_0x8439f6){_0x48ea35[_0x6f80('0x19')](0x194);}return _0x8439f6;};}function handleError(_0x850b7b,_0x1f5140){_0x1f5140=_0x1f5140||0x1f4;return function(_0x29b45e){logger[_0x6f80('0x28')](_0x29b45e[_0x6f80('0x29')]);if(_0x29b45e[_0x6f80('0x2a')]){delete _0x29b45e[_0x6f80('0x2a')];}_0x850b7b[_0x6f80('0x20')](_0x1f5140)[_0x6f80('0x2b')](_0x29b45e);};}exports['index']=function(_0x1dc1a1,_0x3f23fa){var _0x1be326={},_0x38b6b3={},_0x2dae5c={'count':0x0,'rows':[]};var _0x5cdd4c=_[_0x6f80('0x2c')](db[_0x6f80('0x2d')]['rawAttributes'],function(_0x145979){return{'name':_0x145979[_0x6f80('0x2e')],'type':_0x145979['type'][_0x6f80('0x2f')]};});_0x38b6b3[_0x6f80('0x30')]=_[_0x6f80('0x2c')](_0x5cdd4c,_0x6f80('0x2a'));_0x38b6b3[_0x6f80('0x31')]=_['keys'](_0x1dc1a1[_0x6f80('0x31')]);_0x38b6b3[_0x6f80('0x32')]=_[_0x6f80('0x33')](_0x38b6b3['model'],_0x38b6b3[_0x6f80('0x31')]);_0x1be326[_0x6f80('0x34')]=_[_0x6f80('0x33')](_0x38b6b3['model'],qs[_0x6f80('0x35')](_0x1dc1a1[_0x6f80('0x31')][_0x6f80('0x35')]));_0x1be326[_0x6f80('0x34')]=_0x1be326[_0x6f80('0x34')]['length']?_0x1be326[_0x6f80('0x34')]:_0x38b6b3[_0x6f80('0x30')];if(!_0x1dc1a1['query']['hasOwnProperty'](_0x6f80('0x36'))){_0x1be326[_0x6f80('0x1e')]=qs[_0x6f80('0x1e')](_0x1dc1a1[_0x6f80('0x31')]['limit']);_0x1be326[_0x6f80('0x1c')]=qs[_0x6f80('0x1c')](_0x1dc1a1[_0x6f80('0x31')]['offset']);}_0x1be326[_0x6f80('0x37')]=qs[_0x6f80('0x38')](_0x1dc1a1['query']['sort']);_0x1be326[_0x6f80('0x39')]=qs[_0x6f80('0x32')](_['pick'](_0x1dc1a1[_0x6f80('0x31')],_0x38b6b3['filters']),_0x5cdd4c);if(_0x1dc1a1[_0x6f80('0x31')]['filter']){_0x1be326[_0x6f80('0x39')]=_[_0x6f80('0x3a')](_0x1be326[_0x6f80('0x39')],{'$or':_[_0x6f80('0x2c')](_0x5cdd4c,function(_0x5d218c){if(_0x5d218c['type']!==_0x6f80('0x3b')){var _0x572e03={};_0x572e03[_0x5d218c['name']]={'$like':'%'+_0x1dc1a1[_0x6f80('0x31')]['filter']+'%'};return _0x572e03;}})});}_0x1be326=_['merge']({},_0x1be326,_0x1dc1a1[_0x6f80('0x3c')]);var _0x417bf4={'where':_0x1be326[_0x6f80('0x39')]};return db['CmContactHasItem'][_0x6f80('0x1f')](_0x417bf4)['then'](function(_0x2cfb65){_0x2dae5c[_0x6f80('0x1f')]=_0x2cfb65;if(_0x1dc1a1[_0x6f80('0x31')]['includeAll']){_0x1be326[_0x6f80('0x3d')]=[{'all':!![]}];}return db[_0x6f80('0x2d')][_0x6f80('0x3e')](_0x1be326);})['then'](function(_0x3a1855){_0x2dae5c[_0x6f80('0x3f')]=_0x3a1855;return _0x2dae5c;})['then'](respondWithFilteredResult(_0x3f23fa,_0x1be326))[_0x6f80('0x40')](handleError(_0x3f23fa,null));};exports[_0x6f80('0x41')]=function(_0x3f4e11,_0x45b59b){var _0x4b0dcd={'raw':!![],'where':{'id':_0x3f4e11[_0x6f80('0x42')]['id']}},_0xf31b39={};_0xf31b39[_0x6f80('0x30')]=_['keys'](db['CmContactHasItem'][_0x6f80('0x43')]);_0xf31b39[_0x6f80('0x31')]=_[_0x6f80('0x44')](_0x3f4e11['query']);_0xf31b39[_0x6f80('0x32')]=_[_0x6f80('0x33')](_0xf31b39[_0x6f80('0x30')],_0xf31b39[_0x6f80('0x31')]);_0x4b0dcd[_0x6f80('0x34')]=_[_0x6f80('0x33')](_0xf31b39[_0x6f80('0x30')],qs[_0x6f80('0x35')](_0x3f4e11[_0x6f80('0x31')]['fields']));_0x4b0dcd['attributes']=_0x4b0dcd[_0x6f80('0x34')]['length']?_0x4b0dcd[_0x6f80('0x34')]:_0xf31b39[_0x6f80('0x30')];if(_0x3f4e11['query'][_0x6f80('0x45')]){_0x4b0dcd[_0x6f80('0x3d')]=[{'all':!![]}];}_0x4b0dcd=_[_0x6f80('0x3a')]({},_0x4b0dcd,_0x3f4e11[_0x6f80('0x3c')]);return db[_0x6f80('0x2d')][_0x6f80('0x46')](_0x4b0dcd)[_0x6f80('0x25')](handleEntityNotFound(_0x45b59b,null))[_0x6f80('0x25')](respondWithResult(_0x45b59b,null))[_0x6f80('0x40')](handleError(_0x45b59b,null));};exports[_0x6f80('0x47')]=function(_0x3cbc47,_0x3022b3){return db[_0x6f80('0x2d')][_0x6f80('0x47')](_0x3cbc47[_0x6f80('0x48')],{})['then'](function(_0x3f9a36){var _0xdb42b9=_0x3cbc47['user'][_0x6f80('0x26')]({'plain':!![]});if(!_0xdb42b9)throw new Error(_0x6f80('0x49'));if(_0xdb42b9['role']===_0x6f80('0x4a')){var _0x95c69b=_0x3f9a36[_0x6f80('0x26')]({'plain':!![]});var _0xaf91fc=_0x6f80('0x27');return db[_0x6f80('0x4b')][_0x6f80('0x46')]({'where':{'name':_0xaf91fc,'userProfileId':_0xdb42b9[_0x6f80('0x4c')]},'raw':!![]})['then'](function(_0x2d9704){if(_0x2d9704&&_0x2d9704[_0x6f80('0x4d')]===0x0){return db[_0x6f80('0x4e')][_0x6f80('0x47')]({'name':_0x95c69b[_0x6f80('0x2a')],'resourceId':_0x95c69b['id'],'type':_0x2d9704['name'],'sectionId':_0x2d9704['id']},{})[_0x6f80('0x25')](function(){return _0x3f9a36;});}else{return _0x3f9a36;}})[_0x6f80('0x40')](function(_0x3a2f05){logger['error'](_0x6f80('0x4f'),_0x3a2f05);throw _0x3a2f05;});}return _0x3f9a36;})[_0x6f80('0x25')](respondWithResult(_0x3022b3,0xc9))['catch'](handleError(_0x3022b3,null));};exports[_0x6f80('0x50')]=function(_0x126f47,_0x4f7bc7){if(_0x126f47[_0x6f80('0x48')]['id']){delete _0x126f47['body']['id'];}return db[_0x6f80('0x2d')]['find']({'where':{'id':_0x126f47[_0x6f80('0x42')]['id']}})['then'](handleEntityNotFound(_0x4f7bc7,null))[_0x6f80('0x25')](saveUpdates(_0x126f47['body'],null))[_0x6f80('0x25')](respondWithResult(_0x4f7bc7,null))['catch'](handleError(_0x4f7bc7,null));};exports[_0x6f80('0x24')]=function(_0x215027,_0x14722f){return db[_0x6f80('0x2d')][_0x6f80('0x46')]({'where':{'id':_0x215027[_0x6f80('0x42')]['id']}})[_0x6f80('0x25')](handleEntityNotFound(_0x14722f,null))['then'](removeEntity(_0x14722f,null))['catch'](handleError(_0x14722f,null));};