f83d27b878cd8179a9fd85636e58012169da26ee
[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 _0x430c=['merge','options','includeAll','include','rows','catch','show','params','rawAttributes','find','create','body','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','UserProfileSection','userProfileId','autoAssociation','UserProfileResource','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','update','CmContactHasItem','eml-format','fast-json-patch','request-promise','moment','sox','to-csv','fs-extra','squel','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/advancedSearch','../../config/license/hardware','api','../../config/environment','../../mysqldb','sendStatus','status','end','json','limit','undefined','offset','count','set','Content-Range','then','destroy','get','ContactItemTypes','error','name','index','map','ContactItemType','fieldName','key','query','keys','filters','intersection','model','fields','attributes','length','hasOwnProperty','order','sort','where','pick','filter','type','VIRTUAL'];(function(_0x40a045,_0x516f0e){var _0x1a687c=function(_0x48c9fe){while(--_0x48c9fe){_0x40a045['push'](_0x40a045['shift']());}};_0x1a687c(++_0x516f0e);}(_0x430c,0x1a1));var _0xc430=function(_0x273f77,_0xe5b0cb){_0x273f77=_0x273f77-0x0;var _0x71e147=_0x430c[_0x273f77];return _0x71e147;};'use strict';var emlformat=require(_0xc430('0x0'));var rimraf=require('rimraf');var zipdir=require('zip-dir');var jsonpatch=require(_0xc430('0x1'));var rp=require(_0xc430('0x2'));var moment=require(_0xc430('0x3'));var BPromise=require('bluebird');var Mustache=require('mustache');var util=require('util');var path=require('path');var sox=require(_0xc430('0x4'));var csv=require(_0xc430('0x5'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require(_0xc430('0x6'));var _=require('lodash');var squel=require(_0xc430('0x7'));var crypto=require(_0xc430('0x8'));var jsforce=require(_0xc430('0x9'));var deskjs=require(_0xc430('0xa'));var toCsv=require(_0xc430('0x5'));var querystring=require(_0xc430('0xb'));var Papa=require(_0xc430('0xc'));var Redis=require(_0xc430('0xd'));var authService=require(_0xc430('0xe'));var qs=require('../../components/parsers/qs');var as=require(_0xc430('0xf'));var hardwareService=require(_0xc430('0x10'));var logger=require('../../config/logger')(_0xc430('0x11'));var utils=require('../../config/utils');var config=require(_0xc430('0x12'));var licenseUtil=require('../../config/license/util');var db=require(_0xc430('0x13'))['db'];function respondWithStatusCode(_0x8aa2e6,_0xc5f92){_0xc5f92=_0xc5f92||0xcc;return function(_0x1fb8ce){if(_0x1fb8ce){return _0x8aa2e6[_0xc430('0x14')](_0xc5f92);}return _0x8aa2e6[_0xc430('0x15')](_0xc5f92)[_0xc430('0x16')]();};}function respondWithResult(_0x54d851,_0x4e9134){_0x4e9134=_0x4e9134||0xc8;return function(_0x3f359c){if(_0x3f359c){return _0x54d851[_0xc430('0x15')](_0x4e9134)[_0xc430('0x17')](_0x3f359c);}};}function respondWithFilteredResult(_0x2ef538,_0x31d3b7){return function(_0x55cc6c){if(_0x55cc6c){var _0x111598=typeof _0x31d3b7['offset']==='undefined'&&typeof _0x31d3b7[_0xc430('0x18')]===_0xc430('0x19');var _0x2327c5=_0x55cc6c['count'];var _0x5d3acc=_0x111598?0x0:_0x31d3b7[_0xc430('0x1a')];var _0x4c1937=_0x111598?_0x55cc6c[_0xc430('0x1b')]:_0x31d3b7['offset']+_0x31d3b7['limit'];var _0x2f3203;if(_0x4c1937>=_0x2327c5){_0x4c1937=_0x2327c5;_0x2f3203=0xc8;}else{_0x2f3203=0xce;}_0x2ef538['status'](_0x2f3203);return _0x2ef538[_0xc430('0x1c')](_0xc430('0x1d'),_0x5d3acc+'-'+_0x4c1937+'/'+_0x2327c5)[_0xc430('0x17')](_0x55cc6c);}return null;};}function patchUpdates(_0x1f90bb){return function(_0x2a1ea1){try{jsonpatch['apply'](_0x2a1ea1,_0x1f90bb,!![]);}catch(_0x388a2f){return BPromise['reject'](_0x388a2f);}return _0x2a1ea1['save']();};}function saveUpdates(_0x3b7c3d,_0x2ea352){return function(_0x3c7afa){if(_0x3c7afa){return _0x3c7afa['update'](_0x3b7c3d)[_0xc430('0x1e')](function(_0x57d26e){return _0x57d26e;});}return null;};}function removeEntity(_0x23425d,_0x22ebfb){return function(_0x4efecd){if(_0x4efecd){return _0x4efecd[_0xc430('0x1f')]()[_0xc430('0x1e')](function(){var _0x48f67a=_0x4efecd[_0xc430('0x20')]({'plain':!![]});var _0x59c498=_0xc430('0x21');return db['UserProfileResource'][_0xc430('0x1f')]({'where':{'type':_0x59c498,'resourceId':_0x48f67a['id']}})[_0xc430('0x1e')](function(){return _0x4efecd;});})['then'](function(){_0x23425d[_0xc430('0x15')](0xcc)[_0xc430('0x16')]();});}};}function handleEntityNotFound(_0x2c0422,_0x44833e){return function(_0x285407){if(!_0x285407){_0x2c0422['sendStatus'](0x194);}return _0x285407;};}function handleError(_0x2ccc13,_0x1a9512){_0x1a9512=_0x1a9512||0x1f4;return function(_0x1c1da9){logger[_0xc430('0x22')](_0x1c1da9['stack']);if(_0x1c1da9[_0xc430('0x23')]){delete _0x1c1da9['name'];}_0x2ccc13[_0xc430('0x15')](_0x1a9512)['send'](_0x1c1da9);};}exports[_0xc430('0x24')]=function(_0x1045c0,_0xfc8767){var _0x3d7ccf={},_0x49977b={},_0x17c975={'count':0x0,'rows':[]};var _0x2a85aa=_[_0xc430('0x25')](db[_0xc430('0x26')]['rawAttributes'],function(_0xfcc12c){return{'name':_0xfcc12c[_0xc430('0x27')],'type':_0xfcc12c['type'][_0xc430('0x28')]};});_0x49977b['model']=_['map'](_0x2a85aa,_0xc430('0x23'));_0x49977b[_0xc430('0x29')]=_[_0xc430('0x2a')](_0x1045c0[_0xc430('0x29')]);_0x49977b[_0xc430('0x2b')]=_[_0xc430('0x2c')](_0x49977b[_0xc430('0x2d')],_0x49977b[_0xc430('0x29')]);_0x3d7ccf['attributes']=_[_0xc430('0x2c')](_0x49977b['model'],qs[_0xc430('0x2e')](_0x1045c0[_0xc430('0x29')][_0xc430('0x2e')]));_0x3d7ccf[_0xc430('0x2f')]=_0x3d7ccf['attributes'][_0xc430('0x30')]?_0x3d7ccf['attributes']:_0x49977b['model'];if(!_0x1045c0[_0xc430('0x29')][_0xc430('0x31')]('nolimit')){_0x3d7ccf[_0xc430('0x18')]=qs[_0xc430('0x18')](_0x1045c0[_0xc430('0x29')][_0xc430('0x18')]);_0x3d7ccf[_0xc430('0x1a')]=qs[_0xc430('0x1a')](_0x1045c0[_0xc430('0x29')][_0xc430('0x1a')]);}_0x3d7ccf[_0xc430('0x32')]=qs[_0xc430('0x33')](_0x1045c0[_0xc430('0x29')][_0xc430('0x33')]);_0x3d7ccf[_0xc430('0x34')]=qs[_0xc430('0x2b')](_[_0xc430('0x35')](_0x1045c0['query'],_0x49977b[_0xc430('0x2b')]),_0x2a85aa);if(_0x1045c0[_0xc430('0x29')][_0xc430('0x36')]){_0x3d7ccf[_0xc430('0x34')]=_['merge'](_0x3d7ccf[_0xc430('0x34')],{'$or':_[_0xc430('0x25')](_0x2a85aa,function(_0x13ac85){if(_0x13ac85[_0xc430('0x37')]!==_0xc430('0x38')){var _0x393f49={};_0x393f49[_0x13ac85['name']]={'$like':'%'+_0x1045c0[_0xc430('0x29')][_0xc430('0x36')]+'%'};return _0x393f49;}})});}_0x3d7ccf=_[_0xc430('0x39')]({},_0x3d7ccf,_0x1045c0[_0xc430('0x3a')]);var _0x1d156c={'where':_0x3d7ccf[_0xc430('0x34')]};return db[_0xc430('0x26')][_0xc430('0x1b')](_0x1d156c)[_0xc430('0x1e')](function(_0x4174d2){_0x17c975[_0xc430('0x1b')]=_0x4174d2;if(_0x1045c0[_0xc430('0x29')][_0xc430('0x3b')]){_0x3d7ccf[_0xc430('0x3c')]=[{'all':!![]}];}return db['ContactItemType']['findAll'](_0x3d7ccf);})['then'](function(_0x262063){_0x17c975[_0xc430('0x3d')]=_0x262063;return _0x17c975;})[_0xc430('0x1e')](respondWithFilteredResult(_0xfc8767,_0x3d7ccf))[_0xc430('0x3e')](handleError(_0xfc8767,null));};exports[_0xc430('0x3f')]=function(_0x3bfb23,_0x26cc86){var _0x270667={'raw':!![],'where':{'id':_0x3bfb23[_0xc430('0x40')]['id']}},_0x2d3473={};_0x2d3473[_0xc430('0x2d')]=_[_0xc430('0x2a')](db[_0xc430('0x26')][_0xc430('0x41')]);_0x2d3473[_0xc430('0x29')]=_[_0xc430('0x2a')](_0x3bfb23['query']);_0x2d3473[_0xc430('0x2b')]=_[_0xc430('0x2c')](_0x2d3473[_0xc430('0x2d')],_0x2d3473[_0xc430('0x29')]);_0x270667[_0xc430('0x2f')]=_[_0xc430('0x2c')](_0x2d3473[_0xc430('0x2d')],qs[_0xc430('0x2e')](_0x3bfb23['query'][_0xc430('0x2e')]));_0x270667['attributes']=_0x270667[_0xc430('0x2f')][_0xc430('0x30')]?_0x270667['attributes']:_0x2d3473['model'];if(_0x3bfb23[_0xc430('0x29')]['includeAll']){_0x270667['include']=[{'all':!![]}];}_0x270667=_[_0xc430('0x39')]({},_0x270667,_0x3bfb23['options']);return db[_0xc430('0x26')][_0xc430('0x42')](_0x270667)[_0xc430('0x1e')](handleEntityNotFound(_0x26cc86,null))['then'](respondWithResult(_0x26cc86,null))[_0xc430('0x3e')](handleError(_0x26cc86,null));};exports[_0xc430('0x43')]=function(_0x19e563,_0x549400){return db[_0xc430('0x26')][_0xc430('0x43')](_0x19e563[_0xc430('0x44')],{})[_0xc430('0x1e')](function(_0x636374){var _0x3b85f6=_0x19e563[_0xc430('0x45')]['get']({'plain':!![]});if(!_0x3b85f6)throw new Error(_0xc430('0x46'));if(_0x3b85f6[_0xc430('0x47')]===_0xc430('0x45')){var _0x4e9aff=_0x636374[_0xc430('0x20')]({'plain':!![]});var _0x4178d7=_0xc430('0x21');return db[_0xc430('0x48')]['find']({'where':{'name':_0x4178d7,'userProfileId':_0x3b85f6[_0xc430('0x49')]},'raw':!![]})['then'](function(_0x110566){if(_0x110566&&_0x110566[_0xc430('0x4a')]===0x0){return db[_0xc430('0x4b')][_0xc430('0x43')]({'name':_0x4e9aff[_0xc430('0x23')],'resourceId':_0x4e9aff['id'],'type':_0x110566[_0xc430('0x23')],'sectionId':_0x110566['id']},{})['then'](function(){return _0x636374;});}else{return _0x636374;}})[_0xc430('0x3e')](function(_0x654bed){logger['error'](_0xc430('0x4c'),_0x654bed);throw _0x654bed;});}return _0x636374;})[_0xc430('0x1e')](respondWithResult(_0x549400,0xc9))[_0xc430('0x3e')](handleError(_0x549400,null));};exports[_0xc430('0x4d')]=function(_0x5e361a,_0x23f2e9){if(_0x5e361a['body']['id']){delete _0x5e361a[_0xc430('0x44')]['id'];}return db[_0xc430('0x26')][_0xc430('0x42')]({'where':{'id':_0x5e361a[_0xc430('0x40')]['id']}})['then'](handleEntityNotFound(_0x23f2e9,null))[_0xc430('0x1e')](saveUpdates(_0x5e361a[_0xc430('0x44')],null))['then'](respondWithResult(_0x23f2e9,null))['catch'](handleError(_0x23f2e9,null));};exports[_0xc430('0x1f')]=function(_0x274760,_0x2d3e0b){return db[_0xc430('0x26')][_0xc430('0x42')]({'where':{'id':_0x274760[_0xc430('0x40')]['id']}})[_0xc430('0x1e')](handleEntityNotFound(_0x2d3e0b,null))['then'](db[_0xc430('0x4e')]['update']({'ItemTypeId':null},{'where':{'ItemTypeId':_0x274760[_0xc430('0x40')]['id']}}))[_0xc430('0x1e')](removeEntity(_0x2d3e0b,null))[_0xc430('0x3e')](handleError(_0x2d3e0b,null));};