e09c6fa6586aba424fbdaa640666d347041b1d67
[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 _0xeb3b=['autoAssociation','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','update','CmContactHasItem','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','mustache','path','to-csv','ejs','fs-extra','lodash','squel','crypto','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../config/license/hardware','../../config/logger','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','status','end','json','undefined','count','offset','limit','Content-Range','reject','save','then','destroy','get','ContactItemTypes','UserProfileResource','error','name','map','ContactItemType','rawAttributes','fieldName','type','key','keys','query','filters','intersection','attributes','model','fields','hasOwnProperty','nolimit','sort','where','pick','filter','VIRTUAL','merge','options','includeAll','include','rows','catch','show','params','length','create','body','user','role','UserProfileSection','find','userProfileId'];(function(_0x6131cd,_0x4c26a1){var _0x47e916=function(_0x1f2bce){while(--_0x1f2bce){_0x6131cd['push'](_0x6131cd['shift']());}};_0x47e916(++_0x4c26a1);}(_0xeb3b,0x19e));var _0xbeb3=function(_0x155bbf,_0x1bca34){_0x155bbf=_0x155bbf-0x0;var _0x1cb0ac=_0xeb3b[_0x155bbf];return _0x1cb0ac;};'use strict';var emlformat=require(_0xbeb3('0x0'));var rimraf=require(_0xbeb3('0x1'));var zipdir=require(_0xbeb3('0x2'));var jsonpatch=require(_0xbeb3('0x3'));var rp=require(_0xbeb3('0x4'));var moment=require('moment');var BPromise=require('bluebird');var Mustache=require(_0xbeb3('0x5'));var util=require('util');var path=require(_0xbeb3('0x6'));var sox=require('sox');var csv=require(_0xbeb3('0x7'));var ejs=require(_0xbeb3('0x8'));var fs=require('fs');var fs_extra=require(_0xbeb3('0x9'));var _=require(_0xbeb3('0xa'));var squel=require(_0xbeb3('0xb'));var crypto=require(_0xbeb3('0xc'));var jsforce=require('jsforce');var deskjs=require(_0xbeb3('0xd'));var toCsv=require(_0xbeb3('0x7'));var querystring=require(_0xbeb3('0xe'));var Papa=require(_0xbeb3('0xf'));var Redis=require(_0xbeb3('0x10'));var authService=require(_0xbeb3('0x11'));var qs=require(_0xbeb3('0x12'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0xbeb3('0x13'));var logger=require(_0xbeb3('0x14'))('api');var utils=require(_0xbeb3('0x15'));var config=require(_0xbeb3('0x16'));var licenseUtil=require(_0xbeb3('0x17'));var db=require(_0xbeb3('0x18'))['db'];function respondWithStatusCode(_0x19868e,_0x313296){_0x313296=_0x313296||0xcc;return function(_0x5b9ace){if(_0x5b9ace){return _0x19868e['sendStatus'](_0x313296);}return _0x19868e[_0xbeb3('0x19')](_0x313296)[_0xbeb3('0x1a')]();};}function respondWithResult(_0x5f521b,_0x4dfb28){_0x4dfb28=_0x4dfb28||0xc8;return function(_0xed9879){if(_0xed9879){return _0x5f521b[_0xbeb3('0x19')](_0x4dfb28)[_0xbeb3('0x1b')](_0xed9879);}};}function respondWithFilteredResult(_0x43d58a,_0x26daf2){return function(_0x535836){if(_0x535836){var _0x1aeaee=typeof _0x26daf2['offset']===_0xbeb3('0x1c')&&typeof _0x26daf2['limit']==='undefined';var _0x4f8481=_0x535836[_0xbeb3('0x1d')];var _0x44a4bb=_0x1aeaee?0x0:_0x26daf2[_0xbeb3('0x1e')];var _0x10b15d=_0x1aeaee?_0x535836['count']:_0x26daf2[_0xbeb3('0x1e')]+_0x26daf2[_0xbeb3('0x1f')];var _0xe2cc47;if(_0x10b15d>=_0x4f8481){_0x10b15d=_0x4f8481;_0xe2cc47=0xc8;}else{_0xe2cc47=0xce;}_0x43d58a['status'](_0xe2cc47);return _0x43d58a['set'](_0xbeb3('0x20'),_0x44a4bb+'-'+_0x10b15d+'/'+_0x4f8481)['json'](_0x535836);}return null;};}function patchUpdates(_0x1d917b){return function(_0x50b005){try{jsonpatch['apply'](_0x50b005,_0x1d917b,!![]);}catch(_0xfa2736){return BPromise[_0xbeb3('0x21')](_0xfa2736);}return _0x50b005[_0xbeb3('0x22')]();};}function saveUpdates(_0x4bd89e,_0x301899){return function(_0x18ea0f){if(_0x18ea0f){return _0x18ea0f['update'](_0x4bd89e)[_0xbeb3('0x23')](function(_0x366bdb){return _0x366bdb;});}return null;};}function removeEntity(_0x55a59d,_0xfc384a){return function(_0x278fe4){if(_0x278fe4){return _0x278fe4[_0xbeb3('0x24')]()[_0xbeb3('0x23')](function(){var _0x2bc188=_0x278fe4[_0xbeb3('0x25')]({'plain':!![]});var _0x84921a=_0xbeb3('0x26');return db[_0xbeb3('0x27')]['destroy']({'where':{'type':_0x84921a,'resourceId':_0x2bc188['id']}})['then'](function(){return _0x278fe4;});})[_0xbeb3('0x23')](function(){_0x55a59d['status'](0xcc)[_0xbeb3('0x1a')]();});}};}function handleEntityNotFound(_0xda808c,_0x138adf){return function(_0x400f65){if(!_0x400f65){_0xda808c['sendStatus'](0x194);}return _0x400f65;};}function handleError(_0x2fe7ec,_0x5bc3e1){_0x5bc3e1=_0x5bc3e1||0x1f4;return function(_0x26cd8f){logger[_0xbeb3('0x28')](_0x26cd8f['stack']);if(_0x26cd8f['name']){delete _0x26cd8f[_0xbeb3('0x29')];}_0x2fe7ec['status'](_0x5bc3e1)['send'](_0x26cd8f);};}exports['index']=function(_0x5bfef7,_0xf5dbaf){var _0x4e9a04={},_0x3767cc={},_0x3dff2d={'count':0x0,'rows':[]};var _0x1b4c2e=_[_0xbeb3('0x2a')](db[_0xbeb3('0x2b')][_0xbeb3('0x2c')],function(_0x411cd3){return{'name':_0x411cd3[_0xbeb3('0x2d')],'type':_0x411cd3[_0xbeb3('0x2e')][_0xbeb3('0x2f')]};});_0x3767cc['model']=_[_0xbeb3('0x2a')](_0x1b4c2e,_0xbeb3('0x29'));_0x3767cc['query']=_[_0xbeb3('0x30')](_0x5bfef7[_0xbeb3('0x31')]);_0x3767cc[_0xbeb3('0x32')]=_[_0xbeb3('0x33')](_0x3767cc['model'],_0x3767cc[_0xbeb3('0x31')]);_0x4e9a04[_0xbeb3('0x34')]=_[_0xbeb3('0x33')](_0x3767cc[_0xbeb3('0x35')],qs[_0xbeb3('0x36')](_0x5bfef7[_0xbeb3('0x31')][_0xbeb3('0x36')]));_0x4e9a04[_0xbeb3('0x34')]=_0x4e9a04[_0xbeb3('0x34')]['length']?_0x4e9a04[_0xbeb3('0x34')]:_0x3767cc['model'];if(!_0x5bfef7[_0xbeb3('0x31')][_0xbeb3('0x37')](_0xbeb3('0x38'))){_0x4e9a04[_0xbeb3('0x1f')]=qs[_0xbeb3('0x1f')](_0x5bfef7[_0xbeb3('0x31')][_0xbeb3('0x1f')]);_0x4e9a04[_0xbeb3('0x1e')]=qs['offset'](_0x5bfef7[_0xbeb3('0x31')]['offset']);}_0x4e9a04['order']=qs['sort'](_0x5bfef7[_0xbeb3('0x31')][_0xbeb3('0x39')]);_0x4e9a04[_0xbeb3('0x3a')]=qs[_0xbeb3('0x32')](_[_0xbeb3('0x3b')](_0x5bfef7[_0xbeb3('0x31')],_0x3767cc['filters']),_0x1b4c2e);if(_0x5bfef7[_0xbeb3('0x31')][_0xbeb3('0x3c')]){_0x4e9a04[_0xbeb3('0x3a')]=_['merge'](_0x4e9a04['where'],{'$or':_['map'](_0x1b4c2e,function(_0x46f570){if(_0x46f570[_0xbeb3('0x2e')]!==_0xbeb3('0x3d')){var _0x5d5225={};_0x5d5225[_0x46f570[_0xbeb3('0x29')]]={'$like':'%'+_0x5bfef7['query'][_0xbeb3('0x3c')]+'%'};return _0x5d5225;}})});}_0x4e9a04=_[_0xbeb3('0x3e')]({},_0x4e9a04,_0x5bfef7[_0xbeb3('0x3f')]);var _0x44632a={'where':_0x4e9a04['where']};return db['ContactItemType'][_0xbeb3('0x1d')](_0x44632a)[_0xbeb3('0x23')](function(_0x3d4262){_0x3dff2d[_0xbeb3('0x1d')]=_0x3d4262;if(_0x5bfef7[_0xbeb3('0x31')][_0xbeb3('0x40')]){_0x4e9a04[_0xbeb3('0x41')]=[{'all':!![]}];}return db[_0xbeb3('0x2b')]['findAll'](_0x4e9a04);})[_0xbeb3('0x23')](function(_0x39f2d2){_0x3dff2d[_0xbeb3('0x42')]=_0x39f2d2;return _0x3dff2d;})[_0xbeb3('0x23')](respondWithFilteredResult(_0xf5dbaf,_0x4e9a04))[_0xbeb3('0x43')](handleError(_0xf5dbaf,null));};exports[_0xbeb3('0x44')]=function(_0x1ef1cd,_0x5234bc){var _0x284616={'raw':!![],'where':{'id':_0x1ef1cd[_0xbeb3('0x45')]['id']}},_0xd0403f={};_0xd0403f[_0xbeb3('0x35')]=_[_0xbeb3('0x30')](db[_0xbeb3('0x2b')][_0xbeb3('0x2c')]);_0xd0403f[_0xbeb3('0x31')]=_[_0xbeb3('0x30')](_0x1ef1cd[_0xbeb3('0x31')]);_0xd0403f[_0xbeb3('0x32')]=_[_0xbeb3('0x33')](_0xd0403f[_0xbeb3('0x35')],_0xd0403f['query']);_0x284616[_0xbeb3('0x34')]=_[_0xbeb3('0x33')](_0xd0403f[_0xbeb3('0x35')],qs['fields'](_0x1ef1cd['query'][_0xbeb3('0x36')]));_0x284616[_0xbeb3('0x34')]=_0x284616[_0xbeb3('0x34')][_0xbeb3('0x46')]?_0x284616['attributes']:_0xd0403f[_0xbeb3('0x35')];if(_0x1ef1cd['query']['includeAll']){_0x284616[_0xbeb3('0x41')]=[{'all':!![]}];}_0x284616=_[_0xbeb3('0x3e')]({},_0x284616,_0x1ef1cd[_0xbeb3('0x3f')]);return db[_0xbeb3('0x2b')]['find'](_0x284616)[_0xbeb3('0x23')](handleEntityNotFound(_0x5234bc,null))[_0xbeb3('0x23')](respondWithResult(_0x5234bc,null))[_0xbeb3('0x43')](handleError(_0x5234bc,null));};exports['create']=function(_0x3f93ab,_0x58c49f){return db['ContactItemType'][_0xbeb3('0x47')](_0x3f93ab[_0xbeb3('0x48')],{})[_0xbeb3('0x23')](function(_0x55e546){var _0x23d63c=_0x3f93ab[_0xbeb3('0x49')][_0xbeb3('0x25')]({'plain':!![]});if(!_0x23d63c)throw new Error('Unable\x20to\x20retrieve\x20the\x20current\x20user');if(_0x23d63c[_0xbeb3('0x4a')]==='user'){var _0x39605b=_0x55e546['get']({'plain':!![]});var _0x111d0d=_0xbeb3('0x26');return db[_0xbeb3('0x4b')][_0xbeb3('0x4c')]({'where':{'name':_0x111d0d,'userProfileId':_0x23d63c[_0xbeb3('0x4d')]},'raw':!![]})[_0xbeb3('0x23')](function(_0x135ca0){if(_0x135ca0&&_0x135ca0[_0xbeb3('0x4e')]===0x0){return db['UserProfileResource'][_0xbeb3('0x47')]({'name':_0x39605b[_0xbeb3('0x29')],'resourceId':_0x39605b['id'],'type':_0x135ca0[_0xbeb3('0x29')],'sectionId':_0x135ca0['id']},{})[_0xbeb3('0x23')](function(){return _0x55e546;});}else{return _0x55e546;}})['catch'](function(_0x2771e3){logger[_0xbeb3('0x28')](_0xbeb3('0x4f'),_0x2771e3);throw _0x2771e3;});}return _0x55e546;})[_0xbeb3('0x23')](respondWithResult(_0x58c49f,0xc9))['catch'](handleError(_0x58c49f,null));};exports[_0xbeb3('0x50')]=function(_0x5e094f,_0x15d828){if(_0x5e094f[_0xbeb3('0x48')]['id']){delete _0x5e094f[_0xbeb3('0x48')]['id'];}return db['ContactItemType'][_0xbeb3('0x4c')]({'where':{'id':_0x5e094f[_0xbeb3('0x45')]['id']}})[_0xbeb3('0x23')](handleEntityNotFound(_0x15d828,null))[_0xbeb3('0x23')](saveUpdates(_0x5e094f[_0xbeb3('0x48')],null))[_0xbeb3('0x23')](respondWithResult(_0x15d828,null))[_0xbeb3('0x43')](handleError(_0x15d828,null));};exports[_0xbeb3('0x24')]=function(_0x27024e,_0x39fead){return db['ContactItemType'][_0xbeb3('0x4c')]({'where':{'id':_0x27024e[_0xbeb3('0x45')]['id']}})[_0xbeb3('0x23')](handleEntityNotFound(_0x39fead,null))[_0xbeb3('0x23')](db[_0xbeb3('0x51')]['update']({'ItemTypeId':null},{'where':{'ItemTypeId':_0x27024e['params']['id']}}))[_0xbeb3('0x23')](removeEntity(_0x39fead,null))[_0xbeb3('0x43')](handleError(_0x39fead,null));};