Built motion from commit c738b9ac.|2.6.25
[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 _0xef0f=['rows','catch','show','include','find','create','body','user','get','Unable\x20to\x20retrieve\x20the\x20current\x20user','UserProfileSection','userProfileId','autoAssociation','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','params','CmContactHasItem','eml-format','zip-dir','fast-json-patch','request-promise','bluebird','mustache','util','sox','to-csv','ejs','fs-extra','lodash','squel','jsforce','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','end','offset','undefined','limit','count','Content-Range','json','apply','reject','save','update','destroy','then','ContactItemTypes','UserProfileResource','error','stack','name','send','index','type','key','model','keys','filters','intersection','attributes','fields','query','length','hasOwnProperty','nolimit','order','sort','pick','filter','where','map','VIRTUAL','options','ContactItemType'];(function(_0xf01a76,_0x2e242e){var _0x3ecc8c=function(_0x3d56c0){while(--_0x3d56c0){_0xf01a76['push'](_0xf01a76['shift']());}};_0x3ecc8c(++_0x2e242e);}(_0xef0f,0x168));var _0xfef0=function(_0x237e99,_0x20d67e){_0x237e99=_0x237e99-0x0;var _0x36c552=_0xef0f[_0x237e99];return _0x36c552;};'use strict';var emlformat=require(_0xfef0('0x0'));var rimraf=require('rimraf');var zipdir=require(_0xfef0('0x1'));var jsonpatch=require(_0xfef0('0x2'));var rp=require(_0xfef0('0x3'));var moment=require('moment');var BPromise=require(_0xfef0('0x4'));var Mustache=require(_0xfef0('0x5'));var util=require(_0xfef0('0x6'));var path=require('path');var sox=require(_0xfef0('0x7'));var csv=require(_0xfef0('0x8'));var ejs=require(_0xfef0('0x9'));var fs=require('fs');var fs_extra=require(_0xfef0('0xa'));var _=require(_0xfef0('0xb'));var squel=require(_0xfef0('0xc'));var crypto=require('crypto');var jsforce=require(_0xfef0('0xd'));var deskjs=require('desk.js');var toCsv=require(_0xfef0('0x8'));var querystring=require(_0xfef0('0xe'));var Papa=require(_0xfef0('0xf'));var Redis=require(_0xfef0('0x10'));var authService=require(_0xfef0('0x11'));var qs=require(_0xfef0('0x12'));var as=require(_0xfef0('0x13'));var hardwareService=require(_0xfef0('0x14'));var logger=require(_0xfef0('0x15'))(_0xfef0('0x16'));var utils=require(_0xfef0('0x17'));var config=require(_0xfef0('0x18'));var licenseUtil=require(_0xfef0('0x19'));var db=require(_0xfef0('0x1a'))['db'];function respondWithStatusCode(_0x546c7a,_0x3135ab){_0x3135ab=_0x3135ab||0xcc;return function(_0x2f4e23){if(_0x2f4e23){return _0x546c7a[_0xfef0('0x1b')](_0x3135ab);}return _0x546c7a[_0xfef0('0x1c')](_0x3135ab)[_0xfef0('0x1d')]();};}function respondWithResult(_0x45599a,_0xa9f040){_0xa9f040=_0xa9f040||0xc8;return function(_0x573ae7){if(_0x573ae7){return _0x45599a[_0xfef0('0x1c')](_0xa9f040)['json'](_0x573ae7);}};}function respondWithFilteredResult(_0x4b5bcf,_0x5acdd0){return function(_0x118b8d){if(_0x118b8d){var _0x284b6d=typeof _0x5acdd0[_0xfef0('0x1e')]===_0xfef0('0x1f')&&typeof _0x5acdd0[_0xfef0('0x20')]===_0xfef0('0x1f');var _0x155833=_0x118b8d[_0xfef0('0x21')];var _0x581459=_0x284b6d?0x0:_0x5acdd0[_0xfef0('0x1e')];var _0x1642cd=_0x284b6d?_0x118b8d[_0xfef0('0x21')]:_0x5acdd0[_0xfef0('0x1e')]+_0x5acdd0[_0xfef0('0x20')];var _0x55912f;if(_0x1642cd>=_0x155833){_0x1642cd=_0x155833;_0x55912f=0xc8;}else{_0x55912f=0xce;}_0x4b5bcf[_0xfef0('0x1c')](_0x55912f);return _0x4b5bcf['set'](_0xfef0('0x22'),_0x581459+'-'+_0x1642cd+'/'+_0x155833)[_0xfef0('0x23')](_0x118b8d);}return null;};}function patchUpdates(_0x28dee1){return function(_0x48408a){try{jsonpatch[_0xfef0('0x24')](_0x48408a,_0x28dee1,!![]);}catch(_0x4c304d){return BPromise[_0xfef0('0x25')](_0x4c304d);}return _0x48408a[_0xfef0('0x26')]();};}function saveUpdates(_0x52b93b,_0x4897af){return function(_0x4b8b22){if(_0x4b8b22){return _0x4b8b22[_0xfef0('0x27')](_0x52b93b)['then'](function(_0x1f9970){return _0x1f9970;});}return null;};}function removeEntity(_0x46b34a,_0x1a8d66){return function(_0x4483f2){if(_0x4483f2){return _0x4483f2[_0xfef0('0x28')]()[_0xfef0('0x29')](function(){var _0x5c9085=_0x4483f2['get']({'plain':!![]});var _0x316e20=_0xfef0('0x2a');return db[_0xfef0('0x2b')][_0xfef0('0x28')]({'where':{'type':_0x316e20,'resourceId':_0x5c9085['id']}})[_0xfef0('0x29')](function(){return _0x4483f2;});})[_0xfef0('0x29')](function(){_0x46b34a[_0xfef0('0x1c')](0xcc)[_0xfef0('0x1d')]();});}};}function handleEntityNotFound(_0x391279,_0x529d86){return function(_0x1a6758){if(!_0x1a6758){_0x391279[_0xfef0('0x1b')](0x194);}return _0x1a6758;};}function handleError(_0xca0cce,_0x956de8){_0x956de8=_0x956de8||0x1f4;return function(_0x37921f){logger[_0xfef0('0x2c')](_0x37921f[_0xfef0('0x2d')]);if(_0x37921f[_0xfef0('0x2e')]){delete _0x37921f[_0xfef0('0x2e')];}_0xca0cce[_0xfef0('0x1c')](_0x956de8)[_0xfef0('0x2f')](_0x37921f);};}exports[_0xfef0('0x30')]=function(_0x51af0f,_0x445625){var _0x5806bd={},_0x4eaf74={},_0x7d1692={'count':0x0,'rows':[]};var _0x2ae54a=_['map'](db['ContactItemType']['rawAttributes'],function(_0x4f65cd){return{'name':_0x4f65cd['fieldName'],'type':_0x4f65cd[_0xfef0('0x31')][_0xfef0('0x32')]};});_0x4eaf74[_0xfef0('0x33')]=_['map'](_0x2ae54a,'name');_0x4eaf74['query']=_[_0xfef0('0x34')](_0x51af0f['query']);_0x4eaf74[_0xfef0('0x35')]=_[_0xfef0('0x36')](_0x4eaf74[_0xfef0('0x33')],_0x4eaf74['query']);_0x5806bd[_0xfef0('0x37')]=_['intersection'](_0x4eaf74[_0xfef0('0x33')],qs[_0xfef0('0x38')](_0x51af0f[_0xfef0('0x39')][_0xfef0('0x38')]));_0x5806bd[_0xfef0('0x37')]=_0x5806bd[_0xfef0('0x37')][_0xfef0('0x3a')]?_0x5806bd[_0xfef0('0x37')]:_0x4eaf74['model'];if(!_0x51af0f[_0xfef0('0x39')][_0xfef0('0x3b')](_0xfef0('0x3c'))){_0x5806bd[_0xfef0('0x20')]=qs[_0xfef0('0x20')](_0x51af0f[_0xfef0('0x39')][_0xfef0('0x20')]);_0x5806bd[_0xfef0('0x1e')]=qs[_0xfef0('0x1e')](_0x51af0f[_0xfef0('0x39')][_0xfef0('0x1e')]);}_0x5806bd[_0xfef0('0x3d')]=qs[_0xfef0('0x3e')](_0x51af0f['query'][_0xfef0('0x3e')]);_0x5806bd['where']=qs[_0xfef0('0x35')](_[_0xfef0('0x3f')](_0x51af0f[_0xfef0('0x39')],_0x4eaf74['filters']),_0x2ae54a);if(_0x51af0f[_0xfef0('0x39')][_0xfef0('0x40')]){_0x5806bd[_0xfef0('0x41')]=_['merge'](_0x5806bd[_0xfef0('0x41')],{'$or':_[_0xfef0('0x42')](_0x2ae54a,function(_0x39b5c2){if(_0x39b5c2['type']!==_0xfef0('0x43')){var _0x492b90={};_0x492b90[_0x39b5c2['name']]={'$like':'%'+_0x51af0f[_0xfef0('0x39')]['filter']+'%'};return _0x492b90;}})});}_0x5806bd=_['merge']({},_0x5806bd,_0x51af0f[_0xfef0('0x44')]);var _0x61f1ce={'where':_0x5806bd[_0xfef0('0x41')]};return db[_0xfef0('0x45')][_0xfef0('0x21')](_0x61f1ce)[_0xfef0('0x29')](function(_0x4dd8f8){_0x7d1692[_0xfef0('0x21')]=_0x4dd8f8;if(_0x51af0f[_0xfef0('0x39')]['includeAll']){_0x5806bd['include']=[{'all':!![]}];}return db[_0xfef0('0x45')]['findAll'](_0x5806bd);})[_0xfef0('0x29')](function(_0x22c940){_0x7d1692[_0xfef0('0x46')]=_0x22c940;return _0x7d1692;})[_0xfef0('0x29')](respondWithFilteredResult(_0x445625,_0x5806bd))[_0xfef0('0x47')](handleError(_0x445625,null));};exports[_0xfef0('0x48')]=function(_0x166a7b,_0x15b4a6){var _0x4e63f3={'raw':!![],'where':{'id':_0x166a7b['params']['id']}},_0x1813dc={};_0x1813dc['model']=_[_0xfef0('0x34')](db[_0xfef0('0x45')]['rawAttributes']);_0x1813dc[_0xfef0('0x39')]=_['keys'](_0x166a7b[_0xfef0('0x39')]);_0x1813dc[_0xfef0('0x35')]=_[_0xfef0('0x36')](_0x1813dc[_0xfef0('0x33')],_0x1813dc['query']);_0x4e63f3[_0xfef0('0x37')]=_[_0xfef0('0x36')](_0x1813dc['model'],qs['fields'](_0x166a7b[_0xfef0('0x39')]['fields']));_0x4e63f3[_0xfef0('0x37')]=_0x4e63f3[_0xfef0('0x37')][_0xfef0('0x3a')]?_0x4e63f3[_0xfef0('0x37')]:_0x1813dc[_0xfef0('0x33')];if(_0x166a7b[_0xfef0('0x39')]['includeAll']){_0x4e63f3[_0xfef0('0x49')]=[{'all':!![]}];}_0x4e63f3=_['merge']({},_0x4e63f3,_0x166a7b['options']);return db[_0xfef0('0x45')][_0xfef0('0x4a')](_0x4e63f3)[_0xfef0('0x29')](handleEntityNotFound(_0x15b4a6,null))['then'](respondWithResult(_0x15b4a6,null))[_0xfef0('0x47')](handleError(_0x15b4a6,null));};exports['create']=function(_0x5dd26b,_0x51f207){return db[_0xfef0('0x45')][_0xfef0('0x4b')](_0x5dd26b[_0xfef0('0x4c')],{})[_0xfef0('0x29')](function(_0x2712e9){var _0xa23cc8=_0x5dd26b[_0xfef0('0x4d')][_0xfef0('0x4e')]({'plain':!![]});if(!_0xa23cc8)throw new Error(_0xfef0('0x4f'));if(_0xa23cc8['role']==='user'){var _0x2bebec=_0x2712e9[_0xfef0('0x4e')]({'plain':!![]});var _0x34e9ed=_0xfef0('0x2a');return db[_0xfef0('0x50')][_0xfef0('0x4a')]({'where':{'name':_0x34e9ed,'userProfileId':_0xa23cc8[_0xfef0('0x51')]},'raw':!![]})[_0xfef0('0x29')](function(_0x5e989f){if(_0x5e989f&&_0x5e989f[_0xfef0('0x52')]===0x0){return db[_0xfef0('0x2b')][_0xfef0('0x4b')]({'name':_0x2bebec[_0xfef0('0x2e')],'resourceId':_0x2bebec['id'],'type':_0x5e989f[_0xfef0('0x2e')],'sectionId':_0x5e989f['id']},{})['then'](function(){return _0x2712e9;});}else{return _0x2712e9;}})['catch'](function(_0x523763){logger[_0xfef0('0x2c')](_0xfef0('0x53'),_0x523763);throw _0x523763;});}return _0x2712e9;})[_0xfef0('0x29')](respondWithResult(_0x51f207,0xc9))[_0xfef0('0x47')](handleError(_0x51f207,null));};exports['update']=function(_0x18a6ee,_0x2b5c33){if(_0x18a6ee[_0xfef0('0x4c')]['id']){delete _0x18a6ee[_0xfef0('0x4c')]['id'];}return db[_0xfef0('0x45')][_0xfef0('0x4a')]({'where':{'id':_0x18a6ee[_0xfef0('0x54')]['id']}})['then'](handleEntityNotFound(_0x2b5c33,null))[_0xfef0('0x29')](saveUpdates(_0x18a6ee[_0xfef0('0x4c')],null))['then'](respondWithResult(_0x2b5c33,null))[_0xfef0('0x47')](handleError(_0x2b5c33,null));};exports['destroy']=function(_0x175e97,_0x3f3fd5){return db['ContactItemType'][_0xfef0('0x4a')]({'where':{'id':_0x175e97['params']['id']}})['then'](handleEntityNotFound(_0x3f3fd5,null))['then'](db[_0xfef0('0x55')][_0xfef0('0x27')]({'ItemTypeId':null},{'where':{'ItemTypeId':_0x175e97[_0xfef0('0x54')]['id']}}))[_0xfef0('0x29')](removeEntity(_0x3f3fd5,null))[_0xfef0('0x47')](handleError(_0x3f3fd5,null));};