d7a6bc922c0e9786012189450e45594471dfe9b5
[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 _0xaa4d=['findAll','catch','show','find','create','body','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','autoAssociation','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','update','params','html-pdf','eml-format','rimraf','zip-dir','fast-json-patch','moment','bluebird','mustache','path','sox','to-csv','ejs','squel','crypto','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','../../config/utils','../../config/environment','../../mysqldb','sendStatus','status','end','json','count','offset','limit','Content-Range','apply','reject','save','then','destroy','get','CmContactHasItems','UserProfileResource','error','name','index','CmContactHasItem','rawAttributes','fieldName','model','map','query','keys','filters','intersection','attributes','fields','length','hasOwnProperty','nolimit','order','sort','where','pick','merge','type','options','include'];(function(_0x36ec34,_0xc60e41){var _0x378aa2=function(_0x3e8b44){while(--_0x3e8b44){_0x36ec34['push'](_0x36ec34['shift']());}};_0x378aa2(++_0xc60e41);}(_0xaa4d,0x19d));var _0xdaa4=function(_0x40ba9d,_0x56f93f){_0x40ba9d=_0x40ba9d-0x0;var _0x78bfee=_0xaa4d[_0x40ba9d];return _0x78bfee;};'use strict';var pdf=require(_0xdaa4('0x0'));var emlformat=require(_0xdaa4('0x1'));var rimraf=require(_0xdaa4('0x2'));var zipdir=require(_0xdaa4('0x3'));var jsonpatch=require(_0xdaa4('0x4'));var rp=require('request-promise');var moment=require(_0xdaa4('0x5'));var BPromise=require(_0xdaa4('0x6'));var Mustache=require(_0xdaa4('0x7'));var util=require('util');var path=require(_0xdaa4('0x8'));var sox=require(_0xdaa4('0x9'));var csv=require(_0xdaa4('0xa'));var ejs=require(_0xdaa4('0xb'));var fs=require('fs');var _=require('lodash');var squel=require(_0xdaa4('0xc'));var crypto=require(_0xdaa4('0xd'));var jsforce=require('jsforce');var deskjs=require(_0xdaa4('0xe'));var toCsv=require(_0xdaa4('0xa'));var querystring=require(_0xdaa4('0xf'));var Papa=require(_0xdaa4('0x10'));var Redis=require(_0xdaa4('0x11'));var authService=require(_0xdaa4('0x12'));var qs=require(_0xdaa4('0x13'));var as=require(_0xdaa4('0x14'));var hardwareService=require(_0xdaa4('0x15'));var logger=require(_0xdaa4('0x16'))('api');var utils=require(_0xdaa4('0x17'));var config=require(_0xdaa4('0x18'));var db=require(_0xdaa4('0x19'))['db'];function respondWithStatusCode(_0x40afeb,_0x3a1ea3){_0x3a1ea3=_0x3a1ea3||0xcc;return function(_0x575b16){if(_0x575b16){return _0x40afeb[_0xdaa4('0x1a')](_0x3a1ea3);}return _0x40afeb[_0xdaa4('0x1b')](_0x3a1ea3)[_0xdaa4('0x1c')]();};}function respondWithResult(_0x320805,_0x3ece33){_0x3ece33=_0x3ece33||0xc8;return function(_0x1c540a){if(_0x1c540a){return _0x320805[_0xdaa4('0x1b')](_0x3ece33)[_0xdaa4('0x1d')](_0x1c540a);}};}function respondWithFilteredResult(_0x2f0ae7,_0x34303a){return function(_0x1080dc){if(_0x1080dc){var _0x361e58=_0x1080dc[_0xdaa4('0x1e')],_0x264c05=_0x34303a['offset'],_0x3e4834=_0x34303a[_0xdaa4('0x1f')]+_0x34303a[_0xdaa4('0x20')],_0x2d924a;if(_0x3e4834>=_0x361e58){_0x3e4834=_0x361e58;_0x2d924a=0xc8;}else{_0x2d924a=0xce;}_0x2f0ae7[_0xdaa4('0x1b')](_0x2d924a);return _0x2f0ae7['set'](_0xdaa4('0x21'),_0x264c05+'-'+_0x3e4834+'/'+_0x361e58)[_0xdaa4('0x1d')](_0x1080dc);}return null;};}function patchUpdates(_0x3213e4){return function(_0x190ab4){try{jsonpatch[_0xdaa4('0x22')](_0x190ab4,_0x3213e4,!![]);}catch(_0x326523){return BPromise[_0xdaa4('0x23')](_0x326523);}return _0x190ab4[_0xdaa4('0x24')]();};}function saveUpdates(_0x3febf9,_0x5dfec2){return function(_0x3f7220){if(_0x3f7220){return _0x3f7220['update'](_0x3febf9)[_0xdaa4('0x25')](function(_0x264027){return _0x264027;});}return null;};}function removeEntity(_0x34ed24,_0x4da2c2){return function(_0x544d19){if(_0x544d19){return _0x544d19[_0xdaa4('0x26')]()[_0xdaa4('0x25')](function(){var _0x10d870=_0x544d19[_0xdaa4('0x27')]({'plain':!![]});var _0x1f73c2=_0xdaa4('0x28');return db[_0xdaa4('0x29')][_0xdaa4('0x26')]({'where':{'type':_0x1f73c2,'resourceId':_0x10d870['id']}})['then'](function(){return _0x544d19;});})[_0xdaa4('0x25')](function(){_0x34ed24['status'](0xcc)[_0xdaa4('0x1c')]();});}};}function handleEntityNotFound(_0x3c1c3f,_0x31899d){return function(_0x583ab5){if(!_0x583ab5){_0x3c1c3f['sendStatus'](0x194);}return _0x583ab5;};}function handleError(_0xb17f36,_0x14aa60){_0x14aa60=_0x14aa60||0x1f4;return function(_0x1b2ba4){logger[_0xdaa4('0x2a')](_0x1b2ba4['stack']);if(_0x1b2ba4[_0xdaa4('0x2b')]){delete _0x1b2ba4['name'];}_0xb17f36[_0xdaa4('0x1b')](_0x14aa60)['send'](_0x1b2ba4);};}exports[_0xdaa4('0x2c')]=function(_0xb37247,_0x574d04){var _0x1df68a={},_0x504c67={},_0x93d5a8={'count':0x0,'rows':[]};var _0xd0e5d2=_['map'](db[_0xdaa4('0x2d')][_0xdaa4('0x2e')],function(_0x1a1ef1){return{'name':_0x1a1ef1[_0xdaa4('0x2f')],'type':_0x1a1ef1['type']['key']};});_0x504c67[_0xdaa4('0x30')]=_[_0xdaa4('0x31')](_0xd0e5d2,'name');_0x504c67[_0xdaa4('0x32')]=_[_0xdaa4('0x33')](_0xb37247[_0xdaa4('0x32')]);_0x504c67[_0xdaa4('0x34')]=_[_0xdaa4('0x35')](_0x504c67[_0xdaa4('0x30')],_0x504c67[_0xdaa4('0x32')]);_0x1df68a[_0xdaa4('0x36')]=_[_0xdaa4('0x35')](_0x504c67[_0xdaa4('0x30')],qs[_0xdaa4('0x37')](_0xb37247['query'][_0xdaa4('0x37')]));_0x1df68a['attributes']=_0x1df68a[_0xdaa4('0x36')][_0xdaa4('0x38')]?_0x1df68a[_0xdaa4('0x36')]:_0x504c67[_0xdaa4('0x30')];if(!_0xb37247[_0xdaa4('0x32')][_0xdaa4('0x39')](_0xdaa4('0x3a'))){_0x1df68a[_0xdaa4('0x20')]=qs[_0xdaa4('0x20')](_0xb37247[_0xdaa4('0x32')][_0xdaa4('0x20')]);_0x1df68a[_0xdaa4('0x1f')]=qs[_0xdaa4('0x1f')](_0xb37247['query'][_0xdaa4('0x1f')]);}_0x1df68a[_0xdaa4('0x3b')]=qs['sort'](_0xb37247[_0xdaa4('0x32')][_0xdaa4('0x3c')]);_0x1df68a[_0xdaa4('0x3d')]=qs[_0xdaa4('0x34')](_[_0xdaa4('0x3e')](_0xb37247[_0xdaa4('0x32')],_0x504c67[_0xdaa4('0x34')]),_0xd0e5d2);if(_0xb37247[_0xdaa4('0x32')]['filter']){_0x1df68a[_0xdaa4('0x3d')]=_[_0xdaa4('0x3f')](_0x1df68a[_0xdaa4('0x3d')],{'$or':_[_0xdaa4('0x31')](_0xd0e5d2,function(_0x5bd8d7){if(_0x5bd8d7[_0xdaa4('0x40')]!=='VIRTUAL'){var _0x4e55ed={};_0x4e55ed[_0x5bd8d7[_0xdaa4('0x2b')]]={'$like':'%'+_0xb37247[_0xdaa4('0x32')]['filter']+'%'};return _0x4e55ed;}})});}_0x1df68a=_[_0xdaa4('0x3f')]({},_0x1df68a,_0xb37247[_0xdaa4('0x41')]);var _0x22f612={'where':_0x1df68a['where']};return db[_0xdaa4('0x2d')]['count'](_0x22f612)[_0xdaa4('0x25')](function(_0x5eab17){_0x93d5a8['count']=_0x5eab17;if(_0xb37247[_0xdaa4('0x32')]['includeAll']){_0x1df68a[_0xdaa4('0x42')]=[{'all':!![]}];}return db['CmContactHasItem'][_0xdaa4('0x43')](_0x1df68a);})[_0xdaa4('0x25')](function(_0x49a186){_0x93d5a8['rows']=_0x49a186;return _0x93d5a8;})[_0xdaa4('0x25')](respondWithFilteredResult(_0x574d04,_0x1df68a))[_0xdaa4('0x44')](handleError(_0x574d04,null));};exports[_0xdaa4('0x45')]=function(_0x34ba14,_0x467bee){var _0x5cbe50={'raw':!![],'where':{'id':_0x34ba14['params']['id']}},_0x4c14b2={};_0x4c14b2[_0xdaa4('0x30')]=_[_0xdaa4('0x33')](db[_0xdaa4('0x2d')][_0xdaa4('0x2e')]);_0x4c14b2[_0xdaa4('0x32')]=_['keys'](_0x34ba14[_0xdaa4('0x32')]);_0x4c14b2[_0xdaa4('0x34')]=_['intersection'](_0x4c14b2[_0xdaa4('0x30')],_0x4c14b2[_0xdaa4('0x32')]);_0x5cbe50[_0xdaa4('0x36')]=_[_0xdaa4('0x35')](_0x4c14b2[_0xdaa4('0x30')],qs['fields'](_0x34ba14[_0xdaa4('0x32')][_0xdaa4('0x37')]));_0x5cbe50[_0xdaa4('0x36')]=_0x5cbe50[_0xdaa4('0x36')][_0xdaa4('0x38')]?_0x5cbe50[_0xdaa4('0x36')]:_0x4c14b2['model'];if(_0x34ba14['query']['includeAll']){_0x5cbe50['include']=[{'all':!![]}];}_0x5cbe50=_['merge']({},_0x5cbe50,_0x34ba14[_0xdaa4('0x41')]);return db[_0xdaa4('0x2d')][_0xdaa4('0x46')](_0x5cbe50)[_0xdaa4('0x25')](handleEntityNotFound(_0x467bee,null))['then'](respondWithResult(_0x467bee,null))[_0xdaa4('0x44')](handleError(_0x467bee,null));};exports[_0xdaa4('0x47')]=function(_0x176897,_0x3df076){return db[_0xdaa4('0x2d')][_0xdaa4('0x47')](_0x176897[_0xdaa4('0x48')],{})[_0xdaa4('0x25')](function(_0x58ab92){var _0x5db5f1=_0x176897[_0xdaa4('0x49')]['get']({'plain':!![]});if(!_0x5db5f1)throw new Error(_0xdaa4('0x4a'));if(_0x5db5f1[_0xdaa4('0x4b')]==='user'){var _0x485359=_0x58ab92[_0xdaa4('0x27')]({'plain':!![]});var _0x235c9c=_0xdaa4('0x28');return db['UserProfileSection'][_0xdaa4('0x46')]({'where':{'name':_0x235c9c,'userProfileId':_0x5db5f1['userProfileId']},'raw':!![]})[_0xdaa4('0x25')](function(_0x47e413){if(_0x47e413&&_0x47e413[_0xdaa4('0x4c')]===0x0){return db[_0xdaa4('0x29')][_0xdaa4('0x47')]({'name':_0x485359['name'],'resourceId':_0x485359['id'],'type':_0x47e413[_0xdaa4('0x2b')],'sectionId':_0x47e413['id']},{})[_0xdaa4('0x25')](function(){return _0x58ab92;});}else{return _0x58ab92;}})[_0xdaa4('0x44')](function(_0x333144){logger['error'](_0xdaa4('0x4d'),_0x333144);throw _0x333144;});}return _0x58ab92;})[_0xdaa4('0x25')](respondWithResult(_0x3df076,0xc9))['catch'](handleError(_0x3df076,null));};exports[_0xdaa4('0x4e')]=function(_0x299f76,_0x59aa02){if(_0x299f76['body']['id']){delete _0x299f76[_0xdaa4('0x48')]['id'];}return db['CmContactHasItem'][_0xdaa4('0x46')]({'where':{'id':_0x299f76[_0xdaa4('0x4f')]['id']}})[_0xdaa4('0x25')](handleEntityNotFound(_0x59aa02,null))['then'](saveUpdates(_0x299f76['body'],null))['then'](respondWithResult(_0x59aa02,null))['catch'](handleError(_0x59aa02,null));};exports['destroy']=function(_0x12a0c6,_0x45a0c7){return db['CmContactHasItem'][_0xdaa4('0x46')]({'where':{'id':_0x12a0c6[_0xdaa4('0x4f')]['id']}})[_0xdaa4('0x25')](handleEntityNotFound(_0x45a0c7,null))[_0xdaa4('0x25')](removeEntity(_0x45a0c7,null))[_0xdaa4('0x44')](handleError(_0x45a0c7,null));};