1d81590adb3f91357cee8290b1adf787250bd1e1
[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 _0x0cbc=['html-pdf','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','sox','to-csv','ejs','lodash','jsforce','desk.js','querystring','papaparse','ioredis','../../components/parsers/qs','../../config/logger','api','../../config/utils','../../config/environment','../../mysqldb','status','json','count','offset','limit','Content-Range','apply','reject','save','update','then','CmContactHasItems','UserProfileResource','destroy','end','sendStatus','error','stack','name','index','map','CmContactHasItem','fieldName','key','model','query','keys','filters','intersection','attributes','fields','hasOwnProperty','order','sort','pick','where','merge','type','VIRTUAL','options','includeAll','findAll','catch','rawAttributes','find','body','role','user','get','userProfileId','autoAssociation','create','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','params'];(function(_0x37a79c,_0x2b19f0){var _0x561d89=function(_0x19bee3){while(--_0x19bee3){_0x37a79c['push'](_0x37a79c['shift']());}};_0x561d89(++_0x2b19f0);}(_0x0cbc,0x130));var _0xc0cb=function(_0x1d87fc,_0x1e5321){_0x1d87fc=_0x1d87fc-0x0;var _0x492b56=_0x0cbc[_0x1d87fc];return _0x492b56;};'use strict';var pdf=require(_0xc0cb('0x0'));var emlformat=require(_0xc0cb('0x1'));var rimraf=require(_0xc0cb('0x2'));var zipdir=require(_0xc0cb('0x3'));var jsonpatch=require(_0xc0cb('0x4'));var rp=require(_0xc0cb('0x5'));var moment=require(_0xc0cb('0x6'));var BPromise=require('bluebird');var Mustache=require('mustache');var util=require('util');var path=require('path');var sox=require(_0xc0cb('0x7'));var csv=require(_0xc0cb('0x8'));var ejs=require(_0xc0cb('0x9'));var fs=require('fs');var _=require(_0xc0cb('0xa'));var squel=require('squel');var crypto=require('crypto');var jsforce=require(_0xc0cb('0xb'));var deskjs=require(_0xc0cb('0xc'));var toCsv=require(_0xc0cb('0x8'));var querystring=require(_0xc0cb('0xd'));var Papa=require(_0xc0cb('0xe'));var Redis=require(_0xc0cb('0xf'));var authService=require('../../components/auth/service');var qs=require(_0xc0cb('0x10'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require('../../config/license/hardware');var logger=require(_0xc0cb('0x11'))(_0xc0cb('0x12'));var utils=require(_0xc0cb('0x13'));var config=require(_0xc0cb('0x14'));var db=require(_0xc0cb('0x15'))['db'];function respondWithStatusCode(_0x93bd20,_0x22d4c3){_0x22d4c3=_0x22d4c3||0xcc;return function(_0x59d3ab){if(_0x59d3ab){return _0x93bd20['sendStatus'](_0x22d4c3);}return _0x93bd20[_0xc0cb('0x16')](_0x22d4c3)['end']();};}function respondWithResult(_0x4b5322,_0xd9ac8b){_0xd9ac8b=_0xd9ac8b||0xc8;return function(_0xeba819){if(_0xeba819){return _0x4b5322['status'](_0xd9ac8b)[_0xc0cb('0x17')](_0xeba819);}};}function respondWithFilteredResult(_0x32bccd,_0xa25902){return function(_0xf60530){if(_0xf60530){var _0x1d3290=_0xf60530[_0xc0cb('0x18')],_0x837e03=_0xa25902[_0xc0cb('0x19')],_0x2e896a=_0xa25902[_0xc0cb('0x19')]+_0xa25902[_0xc0cb('0x1a')],_0xfb6831;if(_0x2e896a>=_0x1d3290){_0x2e896a=_0x1d3290;_0xfb6831=0xc8;}else{_0xfb6831=0xce;}_0x32bccd[_0xc0cb('0x16')](_0xfb6831);return _0x32bccd['set'](_0xc0cb('0x1b'),_0x837e03+'-'+_0x2e896a+'/'+_0x1d3290)['json'](_0xf60530);}return null;};}function patchUpdates(_0x58d522){return function(_0x17e658){try{jsonpatch[_0xc0cb('0x1c')](_0x17e658,_0x58d522,!![]);}catch(_0x20df06){return BPromise[_0xc0cb('0x1d')](_0x20df06);}return _0x17e658[_0xc0cb('0x1e')]();};}function saveUpdates(_0x249a71,_0x3ebf85){return function(_0xad9025){if(_0xad9025){return _0xad9025[_0xc0cb('0x1f')](_0x249a71)[_0xc0cb('0x20')](function(_0x149d18){return _0x149d18;});}return null;};}function removeEntity(_0x10fd5d,_0x37d583){return function(_0x5c3232){if(_0x5c3232){return _0x5c3232['destroy']()[_0xc0cb('0x20')](function(){var _0x1bbd3e=_0x5c3232['get']({'plain':!![]});var _0x58c585=_0xc0cb('0x21');return db[_0xc0cb('0x22')][_0xc0cb('0x23')]({'where':{'type':_0x58c585,'resourceId':_0x1bbd3e['id']}})[_0xc0cb('0x20')](function(){return _0x5c3232;});})[_0xc0cb('0x20')](function(){_0x10fd5d['status'](0xcc)[_0xc0cb('0x24')]();});}};}function handleEntityNotFound(_0x5028c3,_0x2536b3){return function(_0x338557){if(!_0x338557){_0x5028c3[_0xc0cb('0x25')](0x194);}return _0x338557;};}function handleError(_0x48055c,_0x2f174b){_0x2f174b=_0x2f174b||0x1f4;return function(_0xcfd354){logger[_0xc0cb('0x26')](_0xcfd354[_0xc0cb('0x27')]);if(_0xcfd354[_0xc0cb('0x28')]){delete _0xcfd354[_0xc0cb('0x28')];}_0x48055c[_0xc0cb('0x16')](_0x2f174b)['send'](_0xcfd354);};}exports[_0xc0cb('0x29')]=function(_0xed7baf,_0x89ce41){var _0x16d2c4={},_0x3e8f2f={},_0x3c7c3e={'count':0x0,'rows':[]};var _0x5ac1a1=_[_0xc0cb('0x2a')](db[_0xc0cb('0x2b')]['rawAttributes'],function(_0x5dcc9c){return{'name':_0x5dcc9c[_0xc0cb('0x2c')],'type':_0x5dcc9c['type'][_0xc0cb('0x2d')]};});_0x3e8f2f[_0xc0cb('0x2e')]=_['map'](_0x5ac1a1,_0xc0cb('0x28'));_0x3e8f2f[_0xc0cb('0x2f')]=_[_0xc0cb('0x30')](_0xed7baf[_0xc0cb('0x2f')]);_0x3e8f2f[_0xc0cb('0x31')]=_[_0xc0cb('0x32')](_0x3e8f2f['model'],_0x3e8f2f['query']);_0x16d2c4[_0xc0cb('0x33')]=_[_0xc0cb('0x32')](_0x3e8f2f[_0xc0cb('0x2e')],qs[_0xc0cb('0x34')](_0xed7baf[_0xc0cb('0x2f')][_0xc0cb('0x34')]));_0x16d2c4[_0xc0cb('0x33')]=_0x16d2c4[_0xc0cb('0x33')]['length']?_0x16d2c4['attributes']:_0x3e8f2f['model'];if(!_0xed7baf['query'][_0xc0cb('0x35')]('nolimit')){_0x16d2c4[_0xc0cb('0x1a')]=qs[_0xc0cb('0x1a')](_0xed7baf[_0xc0cb('0x2f')][_0xc0cb('0x1a')]);_0x16d2c4[_0xc0cb('0x19')]=qs[_0xc0cb('0x19')](_0xed7baf[_0xc0cb('0x2f')][_0xc0cb('0x19')]);}_0x16d2c4[_0xc0cb('0x36')]=qs[_0xc0cb('0x37')](_0xed7baf['query'][_0xc0cb('0x37')]);_0x16d2c4['where']=qs[_0xc0cb('0x31')](_[_0xc0cb('0x38')](_0xed7baf[_0xc0cb('0x2f')],_0x3e8f2f[_0xc0cb('0x31')]),_0x5ac1a1);if(_0xed7baf[_0xc0cb('0x2f')]['filter']){_0x16d2c4[_0xc0cb('0x39')]=_[_0xc0cb('0x3a')](_0x16d2c4[_0xc0cb('0x39')],{'$or':_['map'](_0x5ac1a1,function(_0x42608b){if(_0x42608b[_0xc0cb('0x3b')]!==_0xc0cb('0x3c')){var _0x862ee2={};_0x862ee2[_0x42608b[_0xc0cb('0x28')]]={'$like':'%'+_0xed7baf['query']['filter']+'%'};return _0x862ee2;}})});}_0x16d2c4=_[_0xc0cb('0x3a')]({},_0x16d2c4,_0xed7baf[_0xc0cb('0x3d')]);var _0xdd832f={'where':_0x16d2c4['where']};return db[_0xc0cb('0x2b')]['count'](_0xdd832f)[_0xc0cb('0x20')](function(_0x35c9f8){_0x3c7c3e[_0xc0cb('0x18')]=_0x35c9f8;if(_0xed7baf[_0xc0cb('0x2f')][_0xc0cb('0x3e')]){_0x16d2c4['include']=[{'all':!![]}];}return db[_0xc0cb('0x2b')][_0xc0cb('0x3f')](_0x16d2c4);})[_0xc0cb('0x20')](function(_0x2eaaa8){_0x3c7c3e['rows']=_0x2eaaa8;return _0x3c7c3e;})[_0xc0cb('0x20')](respondWithFilteredResult(_0x89ce41,_0x16d2c4))[_0xc0cb('0x40')](handleError(_0x89ce41,null));};exports['show']=function(_0x432cc0,_0xbaab40){var _0x17ec8f={'raw':!![],'where':{'id':_0x432cc0['params']['id']}},_0x281de8={};_0x281de8[_0xc0cb('0x2e')]=_['keys'](db[_0xc0cb('0x2b')][_0xc0cb('0x41')]);_0x281de8[_0xc0cb('0x2f')]=_[_0xc0cb('0x30')](_0x432cc0[_0xc0cb('0x2f')]);_0x281de8[_0xc0cb('0x31')]=_['intersection'](_0x281de8[_0xc0cb('0x2e')],_0x281de8[_0xc0cb('0x2f')]);_0x17ec8f['attributes']=_[_0xc0cb('0x32')](_0x281de8[_0xc0cb('0x2e')],qs[_0xc0cb('0x34')](_0x432cc0[_0xc0cb('0x2f')][_0xc0cb('0x34')]));_0x17ec8f[_0xc0cb('0x33')]=_0x17ec8f[_0xc0cb('0x33')]['length']?_0x17ec8f[_0xc0cb('0x33')]:_0x281de8['model'];if(_0x432cc0['query']['includeAll']){_0x17ec8f['include']=[{'all':!![]}];}_0x17ec8f=_[_0xc0cb('0x3a')]({},_0x17ec8f,_0x432cc0[_0xc0cb('0x3d')]);return db['CmContactHasItem'][_0xc0cb('0x42')](_0x17ec8f)['then'](handleEntityNotFound(_0xbaab40,null))['then'](respondWithResult(_0xbaab40,null))[_0xc0cb('0x40')](handleError(_0xbaab40,null));};exports['create']=function(_0x16fc37,_0x5b9eda){return db[_0xc0cb('0x2b')]['create'](_0x16fc37[_0xc0cb('0x43')],{})['then'](function(_0x398f61){var _0x50711d=_0x16fc37['user']['get']({'plain':!![]});if(!_0x50711d)throw new Error('Unable\x20to\x20retrieve\x20the\x20current\x20user');if(_0x50711d[_0xc0cb('0x44')]===_0xc0cb('0x45')){var _0x5b9aec=_0x398f61[_0xc0cb('0x46')]({'plain':!![]});var _0xa0b8e=_0xc0cb('0x21');return db['UserProfileSection'][_0xc0cb('0x42')]({'where':{'name':_0xa0b8e,'userProfileId':_0x50711d[_0xc0cb('0x47')]},'raw':!![]})[_0xc0cb('0x20')](function(_0x1c0ecc){if(_0x1c0ecc&&_0x1c0ecc[_0xc0cb('0x48')]===0x0){return db['UserProfileResource'][_0xc0cb('0x49')]({'name':_0x5b9aec[_0xc0cb('0x28')],'resourceId':_0x5b9aec['id'],'type':_0x1c0ecc[_0xc0cb('0x28')],'sectionId':_0x1c0ecc['id']},{})[_0xc0cb('0x20')](function(){return _0x398f61;});}else{return _0x398f61;}})[_0xc0cb('0x40')](function(_0x223a40){logger[_0xc0cb('0x26')](_0xc0cb('0x4a'),_0x223a40);throw _0x223a40;});}return _0x398f61;})[_0xc0cb('0x20')](respondWithResult(_0x5b9eda,0xc9))['catch'](handleError(_0x5b9eda,null));};exports[_0xc0cb('0x1f')]=function(_0x3e96de,_0x476641){if(_0x3e96de[_0xc0cb('0x43')]['id']){delete _0x3e96de['body']['id'];}return db[_0xc0cb('0x2b')][_0xc0cb('0x42')]({'where':{'id':_0x3e96de[_0xc0cb('0x4b')]['id']}})[_0xc0cb('0x20')](handleEntityNotFound(_0x476641,null))['then'](saveUpdates(_0x3e96de[_0xc0cb('0x43')],null))['then'](respondWithResult(_0x476641,null))[_0xc0cb('0x40')](handleError(_0x476641,null));};exports[_0xc0cb('0x23')]=function(_0x430c99,_0x3109aa){return db['CmContactHasItem'][_0xc0cb('0x42')]({'where':{'id':_0x430c99[_0xc0cb('0x4b')]['id']}})[_0xc0cb('0x20')](handleEntityNotFound(_0x3109aa,null))['then'](removeEntity(_0x3109aa,null))['catch'](handleError(_0x3109aa,null));};