1cfaec8bd72cc3f9919c0e53ddb0cd6a3f473ab9
[motion2.git] / server / api / contactItemType / contactItemType.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 _0xb7cb=['ContactItemTypes','UserProfileResource','stack','name','send','merge','body','contact','message','agent','interaction','account','index','ContactItemType','rawAttributes','fieldName','type','query','filters','intersection','model','attributes','fields','hasOwnProperty','nolimit','order','sort','where','pick','map','VIRTUAL','filter','options','includeAll','include','findAll','rows','catch','show','keys','length','create','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','UserProfileSection','userProfileId','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','params','find','eml-format','rimraf','fast-json-patch','request-promise','moment','bluebird','mustache','util','path','sox','to-csv','ejs','fs-extra','lodash','crypto','jsforce','desk.js','querystring','ioredis','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','../../config/utils','../../config/environment','../../config/license/util','sendStatus','status','end','json','offset','undefined','limit','count','set','Content-Range','apply','reject','save','update','then','destroy','get'];(function(_0x474bc0,_0x26989c){var _0x4b24cf=function(_0x4be866){while(--_0x4be866){_0x474bc0['push'](_0x474bc0['shift']());}};_0x4b24cf(++_0x26989c);}(_0xb7cb,0xec));var _0xbb7c=function(_0x197837,_0x439ae2){_0x197837=_0x197837-0x0;var _0x3eed5f=_0xb7cb[_0x197837];return _0x3eed5f;};'use strict';var emlformat=require(_0xbb7c('0x0'));var rimraf=require(_0xbb7c('0x1'));var zipdir=require('zip-dir');var jsonpatch=require(_0xbb7c('0x2'));var rp=require(_0xbb7c('0x3'));var moment=require(_0xbb7c('0x4'));var BPromise=require(_0xbb7c('0x5'));var Mustache=require(_0xbb7c('0x6'));var util=require(_0xbb7c('0x7'));var path=require(_0xbb7c('0x8'));var sox=require(_0xbb7c('0x9'));var csv=require(_0xbb7c('0xa'));var ejs=require(_0xbb7c('0xb'));var fs=require('fs');var fs_extra=require(_0xbb7c('0xc'));var _=require(_0xbb7c('0xd'));var squel=require('squel');var crypto=require(_0xbb7c('0xe'));var jsforce=require(_0xbb7c('0xf'));var deskjs=require(_0xbb7c('0x10'));var toCsv=require(_0xbb7c('0xa'));var querystring=require(_0xbb7c('0x11'));var Papa=require('papaparse');var Redis=require(_0xbb7c('0x12'));var authService=require('../../components/auth/service');var qs=require(_0xbb7c('0x13'));var as=require(_0xbb7c('0x14'));var hardwareService=require(_0xbb7c('0x15'));var logger=require(_0xbb7c('0x16'))('api');var utils=require(_0xbb7c('0x17'));var config=require(_0xbb7c('0x18'));var licenseUtil=require(_0xbb7c('0x19'));var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x235a81,_0x47a880){_0x47a880=_0x47a880||0xcc;return function(_0x58457f){if(_0x58457f){return _0x235a81[_0xbb7c('0x1a')](_0x47a880);}return _0x235a81[_0xbb7c('0x1b')](_0x47a880)[_0xbb7c('0x1c')]();};}function respondWithResult(_0x272ea8,_0x29bfd6){_0x29bfd6=_0x29bfd6||0xc8;return function(_0x292147){if(_0x292147){return _0x272ea8[_0xbb7c('0x1b')](_0x29bfd6)[_0xbb7c('0x1d')](_0x292147);}};}function respondWithFilteredResult(_0x32d490,_0x3b0731){return function(_0x1bea3f){if(_0x1bea3f){var _0x554d69=typeof _0x3b0731[_0xbb7c('0x1e')]===_0xbb7c('0x1f')&&typeof _0x3b0731[_0xbb7c('0x20')]==='undefined';var _0x264ca5=_0x1bea3f[_0xbb7c('0x21')];var _0x55b2e5=_0x554d69?0x0:_0x3b0731[_0xbb7c('0x1e')];var _0x34e375=_0x554d69?_0x1bea3f[_0xbb7c('0x21')]:_0x3b0731[_0xbb7c('0x1e')]+_0x3b0731['limit'];var _0x555810;if(_0x34e375>=_0x264ca5){_0x34e375=_0x264ca5;_0x555810=0xc8;}else{_0x555810=0xce;}_0x32d490[_0xbb7c('0x1b')](_0x555810);return _0x32d490[_0xbb7c('0x22')](_0xbb7c('0x23'),_0x55b2e5+'-'+_0x34e375+'/'+_0x264ca5)[_0xbb7c('0x1d')](_0x1bea3f);}return null;};}function patchUpdates(_0x1a2cca){return function(_0x4cbd44){try{jsonpatch[_0xbb7c('0x24')](_0x4cbd44,_0x1a2cca,!![]);}catch(_0x15443d){return BPromise[_0xbb7c('0x25')](_0x15443d);}return _0x4cbd44[_0xbb7c('0x26')]();};}function saveUpdates(_0x43eae5,_0x5efb2e){return function(_0x31037c){if(_0x31037c){return _0x31037c[_0xbb7c('0x27')](_0x43eae5)[_0xbb7c('0x28')](function(_0x4c009d){return _0x4c009d;});}return null;};}function removeEntity(_0x44b89c,_0x18717c){return function(_0x5786da){if(_0x5786da){return _0x5786da[_0xbb7c('0x29')]()[_0xbb7c('0x28')](function(){var _0x1c3bc0=_0x5786da[_0xbb7c('0x2a')]({'plain':!![]});var _0x281c09=_0xbb7c('0x2b');return db[_0xbb7c('0x2c')]['destroy']({'where':{'type':_0x281c09,'resourceId':_0x1c3bc0['id']}})[_0xbb7c('0x28')](function(){return _0x5786da;});})[_0xbb7c('0x28')](function(){_0x44b89c['status'](0xcc)[_0xbb7c('0x1c')]();});}};}function handleEntityNotFound(_0x1b5d9c,_0x2f8b37){return function(_0x48676c){if(!_0x48676c){_0x1b5d9c[_0xbb7c('0x1a')](0x194);}return _0x48676c;};}function handleError(_0x212c1e,_0x3f4480){_0x3f4480=_0x3f4480||0x1f4;return function(_0x26216e){logger['error'](_0x26216e[_0xbb7c('0x2d')]);if(_0x26216e[_0xbb7c('0x2e')]){delete _0x26216e['name'];}_0x212c1e[_0xbb7c('0x1b')](_0x3f4480)[_0xbb7c('0x2f')](_0x26216e);};}function getMustacheRender(_0x2d3651,_0xff6b05){return Mustache['render'](_0x2d3651,_[_0xbb7c('0x30')](_0xff6b05[_0xbb7c('0x31')],{'contact':_0xff6b05[_0xbb7c('0x32')],'message':_0xff6b05[_0xbb7c('0x33')],'agent':_0xff6b05[_0xbb7c('0x34')],'interaction':_0xff6b05[_0xbb7c('0x35')],'account':_0xff6b05[_0xbb7c('0x36')]}))||'';}exports[_0xbb7c('0x37')]=function(_0x3136e6,_0x4231e0){var _0x208576={},_0x2580ab={},_0x54a7fe={'count':0x0,'rows':[]};var _0x39a8a7=_['map'](db[_0xbb7c('0x38')][_0xbb7c('0x39')],function(_0x1daa40){return{'name':_0x1daa40[_0xbb7c('0x3a')],'type':_0x1daa40[_0xbb7c('0x3b')]['key']};});_0x2580ab['model']=_['map'](_0x39a8a7,'name');_0x2580ab[_0xbb7c('0x3c')]=_['keys'](_0x3136e6['query']);_0x2580ab[_0xbb7c('0x3d')]=_[_0xbb7c('0x3e')](_0x2580ab[_0xbb7c('0x3f')],_0x2580ab[_0xbb7c('0x3c')]);_0x208576[_0xbb7c('0x40')]=_['intersection'](_0x2580ab[_0xbb7c('0x3f')],qs[_0xbb7c('0x41')](_0x3136e6[_0xbb7c('0x3c')][_0xbb7c('0x41')]));_0x208576[_0xbb7c('0x40')]=_0x208576[_0xbb7c('0x40')]['length']?_0x208576[_0xbb7c('0x40')]:_0x2580ab[_0xbb7c('0x3f')];if(!_0x3136e6[_0xbb7c('0x3c')][_0xbb7c('0x42')](_0xbb7c('0x43'))){_0x208576[_0xbb7c('0x20')]=qs[_0xbb7c('0x20')](_0x3136e6[_0xbb7c('0x3c')][_0xbb7c('0x20')]);_0x208576['offset']=qs[_0xbb7c('0x1e')](_0x3136e6['query'][_0xbb7c('0x1e')]);}_0x208576[_0xbb7c('0x44')]=qs[_0xbb7c('0x45')](_0x3136e6[_0xbb7c('0x3c')][_0xbb7c('0x45')]);_0x208576[_0xbb7c('0x46')]=qs[_0xbb7c('0x3d')](_[_0xbb7c('0x47')](_0x3136e6[_0xbb7c('0x3c')],_0x2580ab[_0xbb7c('0x3d')]),_0x39a8a7);if(_0x3136e6[_0xbb7c('0x3c')]['filter']){_0x208576[_0xbb7c('0x46')]=_[_0xbb7c('0x30')](_0x208576[_0xbb7c('0x46')],{'$or':_[_0xbb7c('0x48')](_0x39a8a7,function(_0x4c339b){if(_0x4c339b[_0xbb7c('0x3b')]!==_0xbb7c('0x49')){var _0x31e306={};_0x31e306[_0x4c339b[_0xbb7c('0x2e')]]={'$like':'%'+_0x3136e6[_0xbb7c('0x3c')][_0xbb7c('0x4a')]+'%'};return _0x31e306;}})});}_0x208576=_[_0xbb7c('0x30')]({},_0x208576,_0x3136e6[_0xbb7c('0x4b')]);var _0x5eb8f0={'where':_0x208576['where']};return db['ContactItemType']['count'](_0x5eb8f0)[_0xbb7c('0x28')](function(_0x4cdee0){_0x54a7fe['count']=_0x4cdee0;if(_0x3136e6[_0xbb7c('0x3c')][_0xbb7c('0x4c')]){_0x208576[_0xbb7c('0x4d')]=[{'all':!![]}];}return db['ContactItemType'][_0xbb7c('0x4e')](_0x208576);})[_0xbb7c('0x28')](function(_0x51e009){_0x54a7fe[_0xbb7c('0x4f')]=_0x51e009;return _0x54a7fe;})[_0xbb7c('0x28')](respondWithFilteredResult(_0x4231e0,_0x208576))[_0xbb7c('0x50')](handleError(_0x4231e0,null));};exports[_0xbb7c('0x51')]=function(_0x301506,_0x3c9f5b){var _0x37482f={'raw':!![],'where':{'id':_0x301506['params']['id']}},_0x5b9b0b={};_0x5b9b0b['model']=_[_0xbb7c('0x52')](db[_0xbb7c('0x38')][_0xbb7c('0x39')]);_0x5b9b0b[_0xbb7c('0x3c')]=_[_0xbb7c('0x52')](_0x301506[_0xbb7c('0x3c')]);_0x5b9b0b['filters']=_['intersection'](_0x5b9b0b['model'],_0x5b9b0b[_0xbb7c('0x3c')]);_0x37482f['attributes']=_[_0xbb7c('0x3e')](_0x5b9b0b[_0xbb7c('0x3f')],qs[_0xbb7c('0x41')](_0x301506[_0xbb7c('0x3c')][_0xbb7c('0x41')]));_0x37482f['attributes']=_0x37482f[_0xbb7c('0x40')][_0xbb7c('0x53')]?_0x37482f[_0xbb7c('0x40')]:_0x5b9b0b[_0xbb7c('0x3f')];if(_0x301506[_0xbb7c('0x3c')][_0xbb7c('0x4c')]){_0x37482f[_0xbb7c('0x4d')]=[{'all':!![]}];}_0x37482f=_['merge']({},_0x37482f,_0x301506[_0xbb7c('0x4b')]);return db['ContactItemType']['find'](_0x37482f)['then'](handleEntityNotFound(_0x3c9f5b,null))['then'](respondWithResult(_0x3c9f5b,null))[_0xbb7c('0x50')](handleError(_0x3c9f5b,null));};exports[_0xbb7c('0x54')]=function(_0x253e81,_0x577236){return db[_0xbb7c('0x38')][_0xbb7c('0x54')](_0x253e81['body'],{})[_0xbb7c('0x28')](function(_0xfe905c){var _0x5abc56=_0x253e81[_0xbb7c('0x55')][_0xbb7c('0x2a')]({'plain':!![]});if(!_0x5abc56)throw new Error(_0xbb7c('0x56'));if(_0x5abc56[_0xbb7c('0x57')]===_0xbb7c('0x55')){var _0x472eec=_0xfe905c['get']({'plain':!![]});var _0x1634a2=_0xbb7c('0x2b');return db[_0xbb7c('0x58')]['find']({'where':{'name':_0x1634a2,'userProfileId':_0x5abc56[_0xbb7c('0x59')]},'raw':!![]})[_0xbb7c('0x28')](function(_0x4e31a7){if(_0x4e31a7&&_0x4e31a7['autoAssociation']===0x0){return db['UserProfileResource'][_0xbb7c('0x54')]({'name':_0x472eec[_0xbb7c('0x2e')],'resourceId':_0x472eec['id'],'type':_0x4e31a7[_0xbb7c('0x2e')],'sectionId':_0x4e31a7['id']},{})[_0xbb7c('0x28')](function(){return _0xfe905c;});}else{return _0xfe905c;}})[_0xbb7c('0x50')](function(_0x2f124b){logger['error'](_0xbb7c('0x5a'),_0x2f124b);throw _0x2f124b;});}return _0xfe905c;})['then'](respondWithResult(_0x577236,0xc9))[_0xbb7c('0x50')](handleError(_0x577236,null));};exports['update']=function(_0x218438,_0x906332){if(_0x218438[_0xbb7c('0x31')]['id']){delete _0x218438['body']['id'];}return db[_0xbb7c('0x38')]['find']({'where':{'id':_0x218438[_0xbb7c('0x5b')]['id']}})[_0xbb7c('0x28')](handleEntityNotFound(_0x906332,null))[_0xbb7c('0x28')](saveUpdates(_0x218438[_0xbb7c('0x31')],null))[_0xbb7c('0x28')](respondWithResult(_0x906332,null))[_0xbb7c('0x50')](handleError(_0x906332,null));};exports['destroy']=function(_0x4b3a9d,_0x10225a){return db[_0xbb7c('0x38')][_0xbb7c('0x5c')]({'where':{'id':_0x4b3a9d['params']['id']}})['then'](handleEntityNotFound(_0x10225a,null))[_0xbb7c('0x28')](removeEntity(_0x10225a,null))[_0xbb7c('0x50')](handleError(_0x10225a,null));};