Built motion from commit 0bd120ac.|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 _0x25e7=['ContactItemTypes','UserProfileResource','error','name','send','map','ContactItemType','rawAttributes','fieldName','type','key','keys','filters','model','query','attributes','intersection','fields','length','hasOwnProperty','nolimit','order','sort','where','pick','filter','VIRTUAL','merge','includeAll','include','findAll','show','options','find','catch','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','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','util','path','ejs','squel','crypto','jsforce','desk.js','to-csv','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/utils','../../config/environment','sendStatus','status','end','json','offset','undefined','count','limit','set','Content-Range','apply','reject','save','then','destroy'];(function(_0x54d4fe,_0x55e869){var _0x1ab5bb=function(_0x5b1af2){while(--_0x5b1af2){_0x54d4fe['push'](_0x54d4fe['shift']());}};_0x1ab5bb(++_0x55e869);}(_0x25e7,0x1d6));var _0x725e=function(_0x1d90ef,_0x39ab6d){_0x1d90ef=_0x1d90ef-0x0;var _0x554777=_0x25e7[_0x1d90ef];return _0x554777;};'use strict';var emlformat=require(_0x725e('0x0'));var rimraf=require(_0x725e('0x1'));var zipdir=require(_0x725e('0x2'));var jsonpatch=require(_0x725e('0x3'));var rp=require(_0x725e('0x4'));var moment=require(_0x725e('0x5'));var BPromise=require(_0x725e('0x6'));var Mustache=require(_0x725e('0x7'));var util=require(_0x725e('0x8'));var path=require(_0x725e('0x9'));var sox=require('sox');var csv=require('to-csv');var ejs=require(_0x725e('0xa'));var fs=require('fs');var fs_extra=require('fs-extra');var _=require('lodash');var squel=require(_0x725e('0xb'));var crypto=require(_0x725e('0xc'));var jsforce=require(_0x725e('0xd'));var deskjs=require(_0x725e('0xe'));var toCsv=require(_0x725e('0xf'));var querystring=require(_0x725e('0x10'));var Papa=require(_0x725e('0x11'));var Redis=require(_0x725e('0x12'));var authService=require(_0x725e('0x13'));var qs=require(_0x725e('0x14'));var as=require(_0x725e('0x15'));var hardwareService=require(_0x725e('0x16'));var logger=require('../../config/logger')('api');var utils=require(_0x725e('0x17'));var config=require(_0x725e('0x18'));var licenseUtil=require('../../config/license/util');var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x11916d,_0x14218e){_0x14218e=_0x14218e||0xcc;return function(_0x5c5e44){if(_0x5c5e44){return _0x11916d[_0x725e('0x19')](_0x14218e);}return _0x11916d[_0x725e('0x1a')](_0x14218e)[_0x725e('0x1b')]();};}function respondWithResult(_0x4e0515,_0x3f8052){_0x3f8052=_0x3f8052||0xc8;return function(_0x221e02){if(_0x221e02){return _0x4e0515[_0x725e('0x1a')](_0x3f8052)[_0x725e('0x1c')](_0x221e02);}};}function respondWithFilteredResult(_0x24c3c1,_0x13fbfe){return function(_0x523422){if(_0x523422){var _0x156b99=typeof _0x13fbfe[_0x725e('0x1d')]===_0x725e('0x1e')&&typeof _0x13fbfe['limit']===_0x725e('0x1e');var _0x125fef=_0x523422[_0x725e('0x1f')];var _0x397e33=_0x156b99?0x0:_0x13fbfe[_0x725e('0x1d')];var _0x2811e7=_0x156b99?_0x523422['count']:_0x13fbfe[_0x725e('0x1d')]+_0x13fbfe[_0x725e('0x20')];var _0x1b8879;if(_0x2811e7>=_0x125fef){_0x2811e7=_0x125fef;_0x1b8879=0xc8;}else{_0x1b8879=0xce;}_0x24c3c1[_0x725e('0x1a')](_0x1b8879);return _0x24c3c1[_0x725e('0x21')](_0x725e('0x22'),_0x397e33+'-'+_0x2811e7+'/'+_0x125fef)['json'](_0x523422);}return null;};}function patchUpdates(_0x2fc416){return function(_0xd30de9){try{jsonpatch[_0x725e('0x23')](_0xd30de9,_0x2fc416,!![]);}catch(_0x40c21b){return BPromise[_0x725e('0x24')](_0x40c21b);}return _0xd30de9[_0x725e('0x25')]();};}function saveUpdates(_0x127c99,_0x262b01){return function(_0x7d0792){if(_0x7d0792){return _0x7d0792['update'](_0x127c99)[_0x725e('0x26')](function(_0x36cbab){return _0x36cbab;});}return null;};}function removeEntity(_0x389668,_0x3facae){return function(_0x5a8191){if(_0x5a8191){return _0x5a8191[_0x725e('0x27')]()['then'](function(){var _0x49a3a6=_0x5a8191['get']({'plain':!![]});var _0x2aad7b=_0x725e('0x28');return db[_0x725e('0x29')]['destroy']({'where':{'type':_0x2aad7b,'resourceId':_0x49a3a6['id']}})[_0x725e('0x26')](function(){return _0x5a8191;});})[_0x725e('0x26')](function(){_0x389668['status'](0xcc)[_0x725e('0x1b')]();});}};}function handleEntityNotFound(_0x339a58,_0x4b0d0c){return function(_0x378ace){if(!_0x378ace){_0x339a58['sendStatus'](0x194);}return _0x378ace;};}function handleError(_0x561656,_0x34b71c){_0x34b71c=_0x34b71c||0x1f4;return function(_0x5b8dec){logger[_0x725e('0x2a')](_0x5b8dec['stack']);if(_0x5b8dec['name']){delete _0x5b8dec[_0x725e('0x2b')];}_0x561656[_0x725e('0x1a')](_0x34b71c)[_0x725e('0x2c')](_0x5b8dec);};}exports['index']=function(_0x2e0534,_0x5b03d9){var _0x85d29c={},_0x1ce9c8={},_0x39932f={'count':0x0,'rows':[]};var _0x28951f=_[_0x725e('0x2d')](db[_0x725e('0x2e')][_0x725e('0x2f')],function(_0x100c63){return{'name':_0x100c63[_0x725e('0x30')],'type':_0x100c63[_0x725e('0x31')][_0x725e('0x32')]};});_0x1ce9c8['model']=_[_0x725e('0x2d')](_0x28951f,_0x725e('0x2b'));_0x1ce9c8['query']=_[_0x725e('0x33')](_0x2e0534['query']);_0x1ce9c8[_0x725e('0x34')]=_['intersection'](_0x1ce9c8[_0x725e('0x35')],_0x1ce9c8[_0x725e('0x36')]);_0x85d29c[_0x725e('0x37')]=_[_0x725e('0x38')](_0x1ce9c8[_0x725e('0x35')],qs[_0x725e('0x39')](_0x2e0534['query']['fields']));_0x85d29c[_0x725e('0x37')]=_0x85d29c[_0x725e('0x37')][_0x725e('0x3a')]?_0x85d29c['attributes']:_0x1ce9c8[_0x725e('0x35')];if(!_0x2e0534['query'][_0x725e('0x3b')](_0x725e('0x3c'))){_0x85d29c[_0x725e('0x20')]=qs[_0x725e('0x20')](_0x2e0534['query']['limit']);_0x85d29c[_0x725e('0x1d')]=qs[_0x725e('0x1d')](_0x2e0534[_0x725e('0x36')]['offset']);}_0x85d29c[_0x725e('0x3d')]=qs[_0x725e('0x3e')](_0x2e0534[_0x725e('0x36')]['sort']);_0x85d29c[_0x725e('0x3f')]=qs['filters'](_[_0x725e('0x40')](_0x2e0534[_0x725e('0x36')],_0x1ce9c8[_0x725e('0x34')]),_0x28951f);if(_0x2e0534[_0x725e('0x36')][_0x725e('0x41')]){_0x85d29c['where']=_['merge'](_0x85d29c[_0x725e('0x3f')],{'$or':_[_0x725e('0x2d')](_0x28951f,function(_0x41c1ed){if(_0x41c1ed['type']!==_0x725e('0x42')){var _0x5be83e={};_0x5be83e[_0x41c1ed[_0x725e('0x2b')]]={'$like':'%'+_0x2e0534[_0x725e('0x36')][_0x725e('0x41')]+'%'};return _0x5be83e;}})});}_0x85d29c=_[_0x725e('0x43')]({},_0x85d29c,_0x2e0534['options']);var _0x448ebc={'where':_0x85d29c[_0x725e('0x3f')]};return db[_0x725e('0x2e')][_0x725e('0x1f')](_0x448ebc)[_0x725e('0x26')](function(_0x19ed0a){_0x39932f[_0x725e('0x1f')]=_0x19ed0a;if(_0x2e0534['query'][_0x725e('0x44')]){_0x85d29c[_0x725e('0x45')]=[{'all':!![]}];}return db['ContactItemType'][_0x725e('0x46')](_0x85d29c);})[_0x725e('0x26')](function(_0x5e719e){_0x39932f['rows']=_0x5e719e;return _0x39932f;})['then'](respondWithFilteredResult(_0x5b03d9,_0x85d29c))['catch'](handleError(_0x5b03d9,null));};exports[_0x725e('0x47')]=function(_0x9c8c57,_0x89a516){var _0x59f6d0={'raw':!![],'where':{'id':_0x9c8c57['params']['id']}},_0x1eee42={};_0x1eee42['model']=_[_0x725e('0x33')](db[_0x725e('0x2e')][_0x725e('0x2f')]);_0x1eee42[_0x725e('0x36')]=_[_0x725e('0x33')](_0x9c8c57[_0x725e('0x36')]);_0x1eee42['filters']=_[_0x725e('0x38')](_0x1eee42['model'],_0x1eee42[_0x725e('0x36')]);_0x59f6d0[_0x725e('0x37')]=_['intersection'](_0x1eee42[_0x725e('0x35')],qs['fields'](_0x9c8c57[_0x725e('0x36')][_0x725e('0x39')]));_0x59f6d0['attributes']=_0x59f6d0['attributes'][_0x725e('0x3a')]?_0x59f6d0['attributes']:_0x1eee42[_0x725e('0x35')];if(_0x9c8c57['query']['includeAll']){_0x59f6d0['include']=[{'all':!![]}];}_0x59f6d0=_[_0x725e('0x43')]({},_0x59f6d0,_0x9c8c57[_0x725e('0x48')]);return db['ContactItemType'][_0x725e('0x49')](_0x59f6d0)[_0x725e('0x26')](handleEntityNotFound(_0x89a516,null))['then'](respondWithResult(_0x89a516,null))[_0x725e('0x4a')](handleError(_0x89a516,null));};exports[_0x725e('0x4b')]=function(_0x4d5415,_0x19f524){return db[_0x725e('0x2e')][_0x725e('0x4b')](_0x4d5415[_0x725e('0x4c')],{})[_0x725e('0x26')](function(_0x432285){var _0x3fdbfd=_0x4d5415[_0x725e('0x4d')][_0x725e('0x4e')]({'plain':!![]});if(!_0x3fdbfd)throw new Error(_0x725e('0x4f'));if(_0x3fdbfd['role']===_0x725e('0x4d')){var _0x5e3678=_0x432285[_0x725e('0x4e')]({'plain':!![]});var _0x1853bc=_0x725e('0x28');return db[_0x725e('0x50')][_0x725e('0x49')]({'where':{'name':_0x1853bc,'userProfileId':_0x3fdbfd[_0x725e('0x51')]},'raw':!![]})[_0x725e('0x26')](function(_0x1a9dca){if(_0x1a9dca&&_0x1a9dca[_0x725e('0x52')]===0x0){return db[_0x725e('0x29')][_0x725e('0x4b')]({'name':_0x5e3678[_0x725e('0x2b')],'resourceId':_0x5e3678['id'],'type':_0x1a9dca[_0x725e('0x2b')],'sectionId':_0x1a9dca['id']},{})[_0x725e('0x26')](function(){return _0x432285;});}else{return _0x432285;}})[_0x725e('0x4a')](function(_0x3c994e){logger[_0x725e('0x2a')](_0x725e('0x53'),_0x3c994e);throw _0x3c994e;});}return _0x432285;})['then'](respondWithResult(_0x19f524,0xc9))[_0x725e('0x4a')](handleError(_0x19f524,null));};exports['update']=function(_0x20e3ec,_0x41a343){if(_0x20e3ec['body']['id']){delete _0x20e3ec[_0x725e('0x4c')]['id'];}return db['ContactItemType'][_0x725e('0x49')]({'where':{'id':_0x20e3ec[_0x725e('0x54')]['id']}})[_0x725e('0x26')](handleEntityNotFound(_0x41a343,null))['then'](saveUpdates(_0x20e3ec[_0x725e('0x4c')],null))[_0x725e('0x26')](respondWithResult(_0x41a343,null))[_0x725e('0x4a')](handleError(_0x41a343,null));};exports[_0x725e('0x27')]=function(_0x2afb6e,_0x19c780){return db[_0x725e('0x2e')][_0x725e('0x49')]({'where':{'id':_0x2afb6e['params']['id']}})[_0x725e('0x26')](handleEntityNotFound(_0x19c780,null))[_0x725e('0x26')](db['CmContactHasItem']['update']({'ItemTypeId':null},{'where':{'ItemTypeId':_0x2afb6e[_0x725e('0x54')]['id']}}))[_0x725e('0x26')](removeEntity(_0x19c780,null))['catch'](handleError(_0x19c780,null));};