Built motion from commit (unavailable).|2.5.11
[motion2.git] / server / api / disposition / disposition.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 _0x9fcd=['set','Content-Range','apply','reject','save','update','then','destroy','get','UserProfileResource','sendStatus','error','stack','name','send','index','Disposition','rawAttributes','type','key','model','map','query','filters','intersection','attributes','fields','length','hasOwnProperty','sort','where','pick','filter','merge','options','includeAll','findAll','rows','catch','show','params','keys','include','create','user','Dispositions','UserProfileSection','find','userProfileId','autoAssociation','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','body','html-pdf','eml-format','fast-json-patch','moment','bluebird','mustache','util','sox','to-csv','ejs','squel','jsforce','desk.js','querystring','ioredis','../../components/auth/service','../../config/license/hardware','../../config/logger','api','../../config/utils','../../mysqldb','status','end','json','count','offset','limit'];(function(_0x20a584,_0xe384a5){var _0x4b41a8=function(_0x2127c6){while(--_0x2127c6){_0x20a584['push'](_0x20a584['shift']());}};_0x4b41a8(++_0xe384a5);}(_0x9fcd,0x170));var _0xd9fc=function(_0x3fa3f0,_0x4da039){_0x3fa3f0=_0x3fa3f0-0x0;var _0x243892=_0x9fcd[_0x3fa3f0];return _0x243892;};'use strict';var pdf=require(_0xd9fc('0x0'));var emlformat=require(_0xd9fc('0x1'));var rimraf=require('rimraf');var zipdir=require('zip-dir');var jsonpatch=require(_0xd9fc('0x2'));var rp=require('request-promise');var moment=require(_0xd9fc('0x3'));var BPromise=require(_0xd9fc('0x4'));var Mustache=require(_0xd9fc('0x5'));var util=require(_0xd9fc('0x6'));var path=require('path');var sox=require(_0xd9fc('0x7'));var csv=require(_0xd9fc('0x8'));var ejs=require(_0xd9fc('0x9'));var fs=require('fs');var _=require('lodash');var squel=require(_0xd9fc('0xa'));var crypto=require('crypto');var jsforce=require(_0xd9fc('0xb'));var deskjs=require(_0xd9fc('0xc'));var toCsv=require(_0xd9fc('0x8'));var querystring=require(_0xd9fc('0xd'));var Papa=require('papaparse');var Redis=require(_0xd9fc('0xe'));var authService=require(_0xd9fc('0xf'));var qs=require('../../components/parsers/qs');var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0xd9fc('0x10'));var logger=require(_0xd9fc('0x11'))(_0xd9fc('0x12'));var utils=require(_0xd9fc('0x13'));var config=require('../../config/environment');var licenseUtil=require('../../config/license/util');var db=require(_0xd9fc('0x14'))['db'];function respondWithStatusCode(_0x33b59d,_0x171d0d){_0x171d0d=_0x171d0d||0xcc;return function(_0x4fd7ad){if(_0x4fd7ad){return _0x33b59d['sendStatus'](_0x171d0d);}return _0x33b59d[_0xd9fc('0x15')](_0x171d0d)[_0xd9fc('0x16')]();};}function respondWithResult(_0x309767,_0x6849bd){_0x6849bd=_0x6849bd||0xc8;return function(_0xd21b85){if(_0xd21b85){return _0x309767[_0xd9fc('0x15')](_0x6849bd)[_0xd9fc('0x17')](_0xd21b85);}};}function respondWithFilteredResult(_0x441b0e,_0x23904b){return function(_0x5dfbaf){if(_0x5dfbaf){var _0x88ba64=_0x5dfbaf[_0xd9fc('0x18')],_0x589aef=_0x23904b[_0xd9fc('0x19')],_0x3182dd=_0x23904b[_0xd9fc('0x19')]+_0x23904b[_0xd9fc('0x1a')],_0x403b3a;if(_0x3182dd>=_0x88ba64){_0x3182dd=_0x88ba64;_0x403b3a=0xc8;}else{_0x403b3a=0xce;}_0x441b0e[_0xd9fc('0x15')](_0x403b3a);return _0x441b0e[_0xd9fc('0x1b')](_0xd9fc('0x1c'),_0x589aef+'-'+_0x3182dd+'/'+_0x88ba64)['json'](_0x5dfbaf);}return null;};}function patchUpdates(_0x39c302){return function(_0xa0f0c9){try{jsonpatch[_0xd9fc('0x1d')](_0xa0f0c9,_0x39c302,!![]);}catch(_0x4d6679){return BPromise[_0xd9fc('0x1e')](_0x4d6679);}return _0xa0f0c9[_0xd9fc('0x1f')]();};}function saveUpdates(_0x135798,_0x2c9f10){return function(_0x5b527d){if(_0x5b527d){return _0x5b527d[_0xd9fc('0x20')](_0x135798)[_0xd9fc('0x21')](function(_0xd7dd02){return _0xd7dd02;});}return null;};}function removeEntity(_0x4ded86,_0x10b15a){return function(_0x818f5b){if(_0x818f5b){return _0x818f5b[_0xd9fc('0x22')]()[_0xd9fc('0x21')](function(){var _0xe6499f=_0x818f5b[_0xd9fc('0x23')]({'plain':!![]});var _0x9e296e='Dispositions';return db[_0xd9fc('0x24')][_0xd9fc('0x22')]({'where':{'type':_0x9e296e,'resourceId':_0xe6499f['id']}})[_0xd9fc('0x21')](function(){return _0x818f5b;});})[_0xd9fc('0x21')](function(){_0x4ded86[_0xd9fc('0x15')](0xcc)[_0xd9fc('0x16')]();});}};}function handleEntityNotFound(_0x97c5dc,_0x58faba){return function(_0x206d9f){if(!_0x206d9f){_0x97c5dc[_0xd9fc('0x25')](0x194);}return _0x206d9f;};}function handleError(_0x1ab831,_0x4d1aa5){_0x4d1aa5=_0x4d1aa5||0x1f4;return function(_0x314ede){logger[_0xd9fc('0x26')](_0x314ede[_0xd9fc('0x27')]);if(_0x314ede['name']){delete _0x314ede[_0xd9fc('0x28')];}_0x1ab831['status'](_0x4d1aa5)[_0xd9fc('0x29')](_0x314ede);};}exports[_0xd9fc('0x2a')]=function(_0x375cb4,_0x168a7b){var _0x3443d5={},_0x297f58={},_0x1b2b57={'count':0x0,'rows':[]};var _0x17b739=_['map'](db[_0xd9fc('0x2b')][_0xd9fc('0x2c')],function(_0x23a85f){return{'name':_0x23a85f['fieldName'],'type':_0x23a85f[_0xd9fc('0x2d')][_0xd9fc('0x2e')]};});_0x297f58[_0xd9fc('0x2f')]=_[_0xd9fc('0x30')](_0x17b739,_0xd9fc('0x28'));_0x297f58[_0xd9fc('0x31')]=_['keys'](_0x375cb4['query']);_0x297f58[_0xd9fc('0x32')]=_[_0xd9fc('0x33')](_0x297f58['model'],_0x297f58[_0xd9fc('0x31')]);_0x3443d5[_0xd9fc('0x34')]=_[_0xd9fc('0x33')](_0x297f58[_0xd9fc('0x2f')],qs[_0xd9fc('0x35')](_0x375cb4[_0xd9fc('0x31')]['fields']));_0x3443d5[_0xd9fc('0x34')]=_0x3443d5[_0xd9fc('0x34')][_0xd9fc('0x36')]?_0x3443d5[_0xd9fc('0x34')]:_0x297f58[_0xd9fc('0x2f')];if(!_0x375cb4[_0xd9fc('0x31')][_0xd9fc('0x37')]('nolimit')){_0x3443d5[_0xd9fc('0x1a')]=qs[_0xd9fc('0x1a')](_0x375cb4[_0xd9fc('0x31')][_0xd9fc('0x1a')]);_0x3443d5[_0xd9fc('0x19')]=qs['offset'](_0x375cb4[_0xd9fc('0x31')]['offset']);}_0x3443d5['order']=qs[_0xd9fc('0x38')](_0x375cb4['query'][_0xd9fc('0x38')]);_0x3443d5[_0xd9fc('0x39')]=qs[_0xd9fc('0x32')](_[_0xd9fc('0x3a')](_0x375cb4[_0xd9fc('0x31')],_0x297f58[_0xd9fc('0x32')]),_0x17b739);if(_0x375cb4[_0xd9fc('0x31')][_0xd9fc('0x3b')]){_0x3443d5[_0xd9fc('0x39')]=_['merge'](_0x3443d5['where'],{'$or':_[_0xd9fc('0x30')](_0x17b739,function(_0x41abdb){if(_0x41abdb[_0xd9fc('0x2d')]!=='VIRTUAL'){var _0x562237={};_0x562237[_0x41abdb['name']]={'$like':'%'+_0x375cb4[_0xd9fc('0x31')][_0xd9fc('0x3b')]+'%'};return _0x562237;}})});}_0x3443d5=_[_0xd9fc('0x3c')]({},_0x3443d5,_0x375cb4[_0xd9fc('0x3d')]);var _0x4784d6={'where':_0x3443d5['where']};return db[_0xd9fc('0x2b')][_0xd9fc('0x18')](_0x4784d6)[_0xd9fc('0x21')](function(_0xc21fab){_0x1b2b57[_0xd9fc('0x18')]=_0xc21fab;if(_0x375cb4[_0xd9fc('0x31')][_0xd9fc('0x3e')]){_0x3443d5['include']=[{'all':!![]}];}return db[_0xd9fc('0x2b')][_0xd9fc('0x3f')](_0x3443d5);})['then'](function(_0x3a2165){_0x1b2b57[_0xd9fc('0x40')]=_0x3a2165;return _0x1b2b57;})[_0xd9fc('0x21')](respondWithFilteredResult(_0x168a7b,_0x3443d5))[_0xd9fc('0x41')](handleError(_0x168a7b,null));};exports[_0xd9fc('0x42')]=function(_0x10ab19,_0x4a49a0){var _0x33ba83={'raw':!![],'where':{'id':_0x10ab19[_0xd9fc('0x43')]['id']}},_0x5a719e={};_0x5a719e[_0xd9fc('0x2f')]=_[_0xd9fc('0x44')](db['Disposition'][_0xd9fc('0x2c')]);_0x5a719e[_0xd9fc('0x31')]=_[_0xd9fc('0x44')](_0x10ab19['query']);_0x5a719e[_0xd9fc('0x32')]=_[_0xd9fc('0x33')](_0x5a719e[_0xd9fc('0x2f')],_0x5a719e['query']);_0x33ba83[_0xd9fc('0x34')]=_[_0xd9fc('0x33')](_0x5a719e[_0xd9fc('0x2f')],qs[_0xd9fc('0x35')](_0x10ab19[_0xd9fc('0x31')]['fields']));_0x33ba83[_0xd9fc('0x34')]=_0x33ba83[_0xd9fc('0x34')][_0xd9fc('0x36')]?_0x33ba83['attributes']:_0x5a719e[_0xd9fc('0x2f')];if(_0x10ab19[_0xd9fc('0x31')][_0xd9fc('0x3e')]){_0x33ba83[_0xd9fc('0x45')]=[{'all':!![]}];}_0x33ba83=_[_0xd9fc('0x3c')]({},_0x33ba83,_0x10ab19[_0xd9fc('0x3d')]);return db[_0xd9fc('0x2b')]['find'](_0x33ba83)[_0xd9fc('0x21')](handleEntityNotFound(_0x4a49a0,null))[_0xd9fc('0x21')](respondWithResult(_0x4a49a0,null))[_0xd9fc('0x41')](handleError(_0x4a49a0,null));};exports['create']=function(_0x6c9ae0,_0x5689a7){return db[_0xd9fc('0x2b')][_0xd9fc('0x46')](_0x6c9ae0['body'],{})[_0xd9fc('0x21')](function(_0x2e75de){var _0x4b91f3=_0x6c9ae0['user']['get']({'plain':!![]});if(!_0x4b91f3)throw new Error('Unable\x20to\x20retrieve\x20the\x20current\x20user');if(_0x4b91f3['role']===_0xd9fc('0x47')){var _0x14f5ee=_0x2e75de['get']({'plain':!![]});var _0x10fd1f=_0xd9fc('0x48');return db[_0xd9fc('0x49')][_0xd9fc('0x4a')]({'where':{'name':_0x10fd1f,'userProfileId':_0x4b91f3[_0xd9fc('0x4b')]},'raw':!![]})[_0xd9fc('0x21')](function(_0x1addf4){if(_0x1addf4&&_0x1addf4[_0xd9fc('0x4c')]===0x0){return db['UserProfileResource'][_0xd9fc('0x46')]({'name':_0x14f5ee[_0xd9fc('0x28')],'resourceId':_0x14f5ee['id'],'type':_0x1addf4['name'],'sectionId':_0x1addf4['id']},{})[_0xd9fc('0x21')](function(){return _0x2e75de;});}else{return _0x2e75de;}})['catch'](function(_0x276145){logger[_0xd9fc('0x26')](_0xd9fc('0x4d'),_0x276145);throw _0x276145;});}return _0x2e75de;})[_0xd9fc('0x21')](respondWithResult(_0x5689a7,0xc9))[_0xd9fc('0x41')](handleError(_0x5689a7,null));};exports[_0xd9fc('0x20')]=function(_0x383bfc,_0x4a2ab7){if(_0x383bfc[_0xd9fc('0x4e')]['id']){delete _0x383bfc['body']['id'];}return db[_0xd9fc('0x2b')]['find']({'where':{'id':_0x383bfc[_0xd9fc('0x43')]['id']}})['then'](handleEntityNotFound(_0x4a2ab7,null))[_0xd9fc('0x21')](saveUpdates(_0x383bfc[_0xd9fc('0x4e')],null))[_0xd9fc('0x21')](respondWithResult(_0x4a2ab7,null))[_0xd9fc('0x41')](handleError(_0x4a2ab7,null));};exports[_0xd9fc('0x22')]=function(_0x6ebd00,_0x4b0420){return db[_0xd9fc('0x2b')][_0xd9fc('0x4a')]({'where':{'id':_0x6ebd00['params']['id']}})[_0xd9fc('0x21')](handleEntityNotFound(_0x4b0420,null))[_0xd9fc('0x21')](removeEntity(_0x4b0420,null))['catch'](handleError(_0x4b0420,null));};