Built motion from commit (unavailable).|2.5.0
[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 _0x899a=['params','rawAttributes','include','find','create','body','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','Dispositions','UserProfileSection','userProfileId','autoAssociation','UserProfileResource','error','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','html-pdf','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','path','sox','to-csv','ejs','lodash','squel','jsforce','desk.js','papaparse','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/logger','../../config/utils','../../mysqldb','status','end','offset','limit','set','json','apply','reject','save','update','then','destroy','get','sendStatus','stack','name','send','index','Disposition','fieldName','type','model','map','keys','query','filters','intersection','attributes','fields','length','nolimit','order','sort','where','pick','filter','merge','VIRTUAL','options','count','includeAll','findAll','rows','catch','show'];(function(_0x4cd544,_0x565c58){var _0x2bd004=function(_0x13abf2){while(--_0x13abf2){_0x4cd544['push'](_0x4cd544['shift']());}};_0x2bd004(++_0x565c58);}(_0x899a,0x64));var _0xa899=function(_0x5922c2,_0x3352cf){_0x5922c2=_0x5922c2-0x0;var _0x547209=_0x899a[_0x5922c2];return _0x547209;};'use strict';var pdf=require(_0xa899('0x0'));var emlformat=require(_0xa899('0x1'));var rimraf=require(_0xa899('0x2'));var zipdir=require(_0xa899('0x3'));var jsonpatch=require(_0xa899('0x4'));var rp=require(_0xa899('0x5'));var moment=require(_0xa899('0x6'));var BPromise=require(_0xa899('0x7'));var Mustache=require(_0xa899('0x8'));var util=require('util');var path=require(_0xa899('0x9'));var sox=require(_0xa899('0xa'));var csv=require(_0xa899('0xb'));var ejs=require(_0xa899('0xc'));var fs=require('fs');var _=require(_0xa899('0xd'));var squel=require(_0xa899('0xe'));var crypto=require('crypto');var jsforce=require(_0xa899('0xf'));var deskjs=require(_0xa899('0x10'));var toCsv=require(_0xa899('0xb'));var querystring=require('querystring');var Papa=require(_0xa899('0x11'));var Redis=require('ioredis');var authService=require('../../components/auth/service');var qs=require(_0xa899('0x12'));var as=require(_0xa899('0x13'));var hardwareService=require('../../config/license/hardware');var logger=require(_0xa899('0x14'))('api');var utils=require(_0xa899('0x15'));var config=require('../../config/environment');var db=require(_0xa899('0x16'))['db'];function respondWithStatusCode(_0x22170d,_0x2368f9){_0x2368f9=_0x2368f9||0xcc;return function(_0x1f453c){if(_0x1f453c){return _0x22170d['sendStatus'](_0x2368f9);}return _0x22170d[_0xa899('0x17')](_0x2368f9)[_0xa899('0x18')]();};}function respondWithResult(_0x54ee70,_0x137d40){_0x137d40=_0x137d40||0xc8;return function(_0x8d7af4){if(_0x8d7af4){return _0x54ee70['status'](_0x137d40)['json'](_0x8d7af4);}};}function respondWithFilteredResult(_0x3bfda5,_0x1fea1b){return function(_0x25e35c){if(_0x25e35c){var _0x9961ba=_0x25e35c['count'],_0x264118=_0x1fea1b[_0xa899('0x19')],_0x4ecaee=_0x1fea1b[_0xa899('0x19')]+_0x1fea1b[_0xa899('0x1a')],_0x470531;if(_0x4ecaee>=_0x9961ba){_0x4ecaee=_0x9961ba;_0x470531=0xc8;}else{_0x470531=0xce;}_0x3bfda5['status'](_0x470531);return _0x3bfda5[_0xa899('0x1b')]('Content-Range',_0x264118+'-'+_0x4ecaee+'/'+_0x9961ba)[_0xa899('0x1c')](_0x25e35c);}return null;};}function patchUpdates(_0x4fa7ca){return function(_0x5dae28){try{jsonpatch[_0xa899('0x1d')](_0x5dae28,_0x4fa7ca,!![]);}catch(_0x1bce64){return BPromise[_0xa899('0x1e')](_0x1bce64);}return _0x5dae28[_0xa899('0x1f')]();};}function saveUpdates(_0x4ad6bc,_0x522d58){return function(_0x5eaa7d){if(_0x5eaa7d){return _0x5eaa7d[_0xa899('0x20')](_0x4ad6bc)[_0xa899('0x21')](function(_0x53eda3){return _0x53eda3;});}return null;};}function removeEntity(_0x5d4b52,_0xfc64a7){return function(_0x13bb34){if(_0x13bb34){return _0x13bb34[_0xa899('0x22')]()[_0xa899('0x21')](function(){var _0x5c3c05=_0x13bb34[_0xa899('0x23')]({'plain':!![]});var _0x39fc59='Dispositions';return db['UserProfileResource'][_0xa899('0x22')]({'where':{'type':_0x39fc59,'resourceId':_0x5c3c05['id']}})[_0xa899('0x21')](function(){return _0x13bb34;});})['then'](function(){_0x5d4b52['status'](0xcc)['end']();});}};}function handleEntityNotFound(_0x47bf24,_0x68508a){return function(_0x3afd48){if(!_0x3afd48){_0x47bf24[_0xa899('0x24')](0x194);}return _0x3afd48;};}function handleError(_0x570493,_0x53ad1f){_0x53ad1f=_0x53ad1f||0x1f4;return function(_0x326dff){logger['error'](_0x326dff[_0xa899('0x25')]);if(_0x326dff[_0xa899('0x26')]){delete _0x326dff[_0xa899('0x26')];}_0x570493[_0xa899('0x17')](_0x53ad1f)[_0xa899('0x27')](_0x326dff);};}exports[_0xa899('0x28')]=function(_0x131010,_0x372a95){var _0x25a06f={},_0x34b712={},_0x52e48a={'count':0x0,'rows':[]};var _0x3d59cf=_['map'](db[_0xa899('0x29')]['rawAttributes'],function(_0x2c26f6){return{'name':_0x2c26f6[_0xa899('0x2a')],'type':_0x2c26f6[_0xa899('0x2b')]['key']};});_0x34b712[_0xa899('0x2c')]=_[_0xa899('0x2d')](_0x3d59cf,_0xa899('0x26'));_0x34b712['query']=_[_0xa899('0x2e')](_0x131010[_0xa899('0x2f')]);_0x34b712[_0xa899('0x30')]=_[_0xa899('0x31')](_0x34b712['model'],_0x34b712[_0xa899('0x2f')]);_0x25a06f[_0xa899('0x32')]=_[_0xa899('0x31')](_0x34b712['model'],qs[_0xa899('0x33')](_0x131010[_0xa899('0x2f')][_0xa899('0x33')]));_0x25a06f[_0xa899('0x32')]=_0x25a06f[_0xa899('0x32')][_0xa899('0x34')]?_0x25a06f[_0xa899('0x32')]:_0x34b712[_0xa899('0x2c')];if(!_0x131010[_0xa899('0x2f')]['hasOwnProperty'](_0xa899('0x35'))){_0x25a06f['limit']=qs['limit'](_0x131010[_0xa899('0x2f')][_0xa899('0x1a')]);_0x25a06f[_0xa899('0x19')]=qs['offset'](_0x131010['query'][_0xa899('0x19')]);}_0x25a06f[_0xa899('0x36')]=qs['sort'](_0x131010[_0xa899('0x2f')][_0xa899('0x37')]);_0x25a06f[_0xa899('0x38')]=qs[_0xa899('0x30')](_[_0xa899('0x39')](_0x131010[_0xa899('0x2f')],_0x34b712['filters']),_0x3d59cf);if(_0x131010[_0xa899('0x2f')][_0xa899('0x3a')]){_0x25a06f[_0xa899('0x38')]=_[_0xa899('0x3b')](_0x25a06f[_0xa899('0x38')],{'$or':_[_0xa899('0x2d')](_0x3d59cf,function(_0x17057e){if(_0x17057e[_0xa899('0x2b')]!==_0xa899('0x3c')){var _0x1dddc6={};_0x1dddc6[_0x17057e[_0xa899('0x26')]]={'$like':'%'+_0x131010['query'][_0xa899('0x3a')]+'%'};return _0x1dddc6;}})});}_0x25a06f=_[_0xa899('0x3b')]({},_0x25a06f,_0x131010[_0xa899('0x3d')]);var _0xd60d55={'where':_0x25a06f[_0xa899('0x38')]};return db['Disposition'][_0xa899('0x3e')](_0xd60d55)[_0xa899('0x21')](function(_0x1842e7){_0x52e48a[_0xa899('0x3e')]=_0x1842e7;if(_0x131010[_0xa899('0x2f')][_0xa899('0x3f')]){_0x25a06f['include']=[{'all':!![]}];}return db[_0xa899('0x29')][_0xa899('0x40')](_0x25a06f);})[_0xa899('0x21')](function(_0x233b9f){_0x52e48a[_0xa899('0x41')]=_0x233b9f;return _0x52e48a;})[_0xa899('0x21')](respondWithFilteredResult(_0x372a95,_0x25a06f))[_0xa899('0x42')](handleError(_0x372a95,null));};exports[_0xa899('0x43')]=function(_0x1462d8,_0x4ac389){var _0x11a908={'raw':!![],'where':{'id':_0x1462d8[_0xa899('0x44')]['id']}},_0x322d87={};_0x322d87[_0xa899('0x2c')]=_['keys'](db[_0xa899('0x29')][_0xa899('0x45')]);_0x322d87[_0xa899('0x2f')]=_[_0xa899('0x2e')](_0x1462d8['query']);_0x322d87['filters']=_[_0xa899('0x31')](_0x322d87[_0xa899('0x2c')],_0x322d87[_0xa899('0x2f')]);_0x11a908[_0xa899('0x32')]=_[_0xa899('0x31')](_0x322d87[_0xa899('0x2c')],qs[_0xa899('0x33')](_0x1462d8[_0xa899('0x2f')][_0xa899('0x33')]));_0x11a908[_0xa899('0x32')]=_0x11a908[_0xa899('0x32')]['length']?_0x11a908[_0xa899('0x32')]:_0x322d87[_0xa899('0x2c')];if(_0x1462d8['query'][_0xa899('0x3f')]){_0x11a908[_0xa899('0x46')]=[{'all':!![]}];}_0x11a908=_[_0xa899('0x3b')]({},_0x11a908,_0x1462d8['options']);return db['Disposition'][_0xa899('0x47')](_0x11a908)[_0xa899('0x21')](handleEntityNotFound(_0x4ac389,null))[_0xa899('0x21')](respondWithResult(_0x4ac389,null))['catch'](handleError(_0x4ac389,null));};exports[_0xa899('0x48')]=function(_0x1d5009,_0x525177){return db[_0xa899('0x29')][_0xa899('0x48')](_0x1d5009[_0xa899('0x49')],{})[_0xa899('0x21')](function(_0x1528c2){var _0x3a1086=_0x1d5009[_0xa899('0x4a')][_0xa899('0x23')]({'plain':!![]});if(!_0x3a1086)throw new Error(_0xa899('0x4b'));if(_0x3a1086[_0xa899('0x4c')]===_0xa899('0x4a')){var _0x5a82fa=_0x1528c2['get']({'plain':!![]});var _0x2a37f6=_0xa899('0x4d');return db[_0xa899('0x4e')]['find']({'where':{'name':_0x2a37f6,'userProfileId':_0x3a1086[_0xa899('0x4f')]},'raw':!![]})['then'](function(_0x574e73){if(_0x574e73&&_0x574e73[_0xa899('0x50')]===0x0){return db[_0xa899('0x51')][_0xa899('0x48')]({'name':_0x5a82fa[_0xa899('0x26')],'resourceId':_0x5a82fa['id'],'type':_0x574e73[_0xa899('0x26')],'sectionId':_0x574e73['id']},{})[_0xa899('0x21')](function(){return _0x1528c2;});}else{return _0x1528c2;}})[_0xa899('0x42')](function(_0x19b6ef){logger[_0xa899('0x52')](_0xa899('0x53'),_0x19b6ef);throw _0x19b6ef;});}return _0x1528c2;})[_0xa899('0x21')](respondWithResult(_0x525177,0xc9))[_0xa899('0x42')](handleError(_0x525177,null));};exports[_0xa899('0x20')]=function(_0x5bda34,_0x2ad057){if(_0x5bda34[_0xa899('0x49')]['id']){delete _0x5bda34['body']['id'];}return db['Disposition']['find']({'where':{'id':_0x5bda34[_0xa899('0x44')]['id']}})[_0xa899('0x21')](handleEntityNotFound(_0x2ad057,null))['then'](saveUpdates(_0x5bda34[_0xa899('0x49')],null))[_0xa899('0x21')](respondWithResult(_0x2ad057,null))[_0xa899('0x42')](handleError(_0x2ad057,null));};exports[_0xa899('0x22')]=function(_0xd2f3e5,_0x30de31){return db[_0xa899('0x29')][_0xa899('0x47')]({'where':{'id':_0xd2f3e5['params']['id']}})[_0xa899('0x21')](handleEntityNotFound(_0x30de31,null))[_0xa899('0x21')](removeEntity(_0x30de31,null))[_0xa899('0x42')](handleError(_0x30de31,null));};