Built motion from commit 497d3d92.|2.5.43
[motion2.git] / server / api / intDeskField / intDeskField.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 _0x889d=['util','path','sox','to-csv','ejs','fs-extra','crypto','jsforce','desk.js','querystring','papaparse','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','../../config/utils','../../config/environment','../../config/license/util','sendStatus','status','end','json','offset','limit','undefined','count','set','apply','save','update','then','destroy','error','name','send','DeskField','rawAttributes','fieldName','type','key','model','query','keys','filters','intersection','attributes','fields','length','hasOwnProperty','nolimit','order','sort','where','filter','merge','map','VIRTUAL','options','include','findAll','rows','show','params','includeAll','find','catch','create','body','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache'];(function(_0x44bcb0,_0x235aa9){var _0xfaf881=function(_0x25d81d){while(--_0x25d81d){_0x44bcb0['push'](_0x44bcb0['shift']());}};_0xfaf881(++_0x235aa9);}(_0x889d,0x179));var _0xd889=function(_0x290c13,_0x47b4e){_0x290c13=_0x290c13-0x0;var _0x2c8f1d=_0x889d[_0x290c13];return _0x2c8f1d;};'use strict';var emlformat=require(_0xd889('0x0'));var rimraf=require(_0xd889('0x1'));var zipdir=require(_0xd889('0x2'));var jsonpatch=require(_0xd889('0x3'));var rp=require(_0xd889('0x4'));var moment=require(_0xd889('0x5'));var BPromise=require(_0xd889('0x6'));var Mustache=require(_0xd889('0x7'));var util=require(_0xd889('0x8'));var path=require(_0xd889('0x9'));var sox=require(_0xd889('0xa'));var csv=require(_0xd889('0xb'));var ejs=require(_0xd889('0xc'));var fs=require('fs');var fs_extra=require(_0xd889('0xd'));var _=require('lodash');var squel=require('squel');var crypto=require(_0xd889('0xe'));var jsforce=require(_0xd889('0xf'));var deskjs=require(_0xd889('0x10'));var toCsv=require(_0xd889('0xb'));var querystring=require(_0xd889('0x11'));var Papa=require(_0xd889('0x12'));var Redis=require('ioredis');var authService=require(_0xd889('0x13'));var qs=require(_0xd889('0x14'));var as=require(_0xd889('0x15'));var hardwareService=require(_0xd889('0x16'));var logger=require(_0xd889('0x17'))('api');var utils=require(_0xd889('0x18'));var config=require(_0xd889('0x19'));var licenseUtil=require(_0xd889('0x1a'));var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x1a76d1,_0x2783d8){_0x2783d8=_0x2783d8||0xcc;return function(_0x5a2264){if(_0x5a2264){return _0x1a76d1[_0xd889('0x1b')](_0x2783d8);}return _0x1a76d1[_0xd889('0x1c')](_0x2783d8)[_0xd889('0x1d')]();};}function respondWithResult(_0x5818f1,_0x1a3598){_0x1a3598=_0x1a3598||0xc8;return function(_0x55eb92){if(_0x55eb92){return _0x5818f1[_0xd889('0x1c')](_0x1a3598)[_0xd889('0x1e')](_0x55eb92);}};}function respondWithFilteredResult(_0x4b720d,_0x5ba55d){return function(_0x5379be){if(_0x5379be){var _0x41fe0e=typeof _0x5ba55d[_0xd889('0x1f')]==='undefined'&&typeof _0x5ba55d[_0xd889('0x20')]===_0xd889('0x21');var _0x536ba0=_0x5379be[_0xd889('0x22')];var _0x48c3eb=_0x41fe0e?0x0:_0x5ba55d[_0xd889('0x1f')];var _0x3d3ca7=_0x41fe0e?_0x5379be[_0xd889('0x22')]:_0x5ba55d[_0xd889('0x1f')]+_0x5ba55d[_0xd889('0x20')];var _0x1b4cf7;if(_0x3d3ca7>=_0x536ba0){_0x3d3ca7=_0x536ba0;_0x1b4cf7=0xc8;}else{_0x1b4cf7=0xce;}_0x4b720d['status'](_0x1b4cf7);return _0x4b720d[_0xd889('0x23')]('Content-Range',_0x48c3eb+'-'+_0x3d3ca7+'/'+_0x536ba0)[_0xd889('0x1e')](_0x5379be);}return null;};}function patchUpdates(_0x16cde3){return function(_0x18ee92){try{jsonpatch[_0xd889('0x24')](_0x18ee92,_0x16cde3,!![]);}catch(_0x369d52){return BPromise['reject'](_0x369d52);}return _0x18ee92[_0xd889('0x25')]();};}function saveUpdates(_0x38a578,_0x2349af){return function(_0x575074){if(_0x575074){return _0x575074[_0xd889('0x26')](_0x38a578)[_0xd889('0x27')](function(_0x579119){return _0x579119;});}return null;};}function removeEntity(_0x599592,_0x51e6bf){return function(_0x5548f1){if(_0x5548f1){return _0x5548f1[_0xd889('0x28')]()[_0xd889('0x27')](function(){_0x599592[_0xd889('0x1c')](0xcc)[_0xd889('0x1d')]();});}};}function handleEntityNotFound(_0xc2068e,_0xfcd94c){return function(_0x123feb){if(!_0x123feb){_0xc2068e[_0xd889('0x1b')](0x194);}return _0x123feb;};}function handleError(_0x54a550,_0x4ea842){_0x4ea842=_0x4ea842||0x1f4;return function(_0x2e1c15){logger[_0xd889('0x29')](_0x2e1c15['stack']);if(_0x2e1c15[_0xd889('0x2a')]){delete _0x2e1c15[_0xd889('0x2a')];}_0x54a550[_0xd889('0x1c')](_0x4ea842)[_0xd889('0x2b')](_0x2e1c15);};}exports['index']=function(_0x130765,_0x511cb5){var _0x19d465={},_0x1d3b0d={},_0x4bf5d4={'count':0x0,'rows':[]};var _0x307a04=_['map'](db[_0xd889('0x2c')][_0xd889('0x2d')],function(_0x423bf0){return{'name':_0x423bf0[_0xd889('0x2e')],'type':_0x423bf0[_0xd889('0x2f')][_0xd889('0x30')]};});_0x1d3b0d[_0xd889('0x31')]=_['map'](_0x307a04,_0xd889('0x2a'));_0x1d3b0d[_0xd889('0x32')]=_[_0xd889('0x33')](_0x130765['query']);_0x1d3b0d[_0xd889('0x34')]=_[_0xd889('0x35')](_0x1d3b0d[_0xd889('0x31')],_0x1d3b0d[_0xd889('0x32')]);_0x19d465[_0xd889('0x36')]=_[_0xd889('0x35')](_0x1d3b0d['model'],qs[_0xd889('0x37')](_0x130765['query']['fields']));_0x19d465[_0xd889('0x36')]=_0x19d465['attributes'][_0xd889('0x38')]?_0x19d465[_0xd889('0x36')]:_0x1d3b0d['model'];if(!_0x130765[_0xd889('0x32')][_0xd889('0x39')](_0xd889('0x3a'))){_0x19d465[_0xd889('0x20')]=qs['limit'](_0x130765[_0xd889('0x32')][_0xd889('0x20')]);_0x19d465[_0xd889('0x1f')]=qs[_0xd889('0x1f')](_0x130765[_0xd889('0x32')][_0xd889('0x1f')]);}_0x19d465[_0xd889('0x3b')]=qs[_0xd889('0x3c')](_0x130765[_0xd889('0x32')]['sort']);_0x19d465[_0xd889('0x3d')]=qs[_0xd889('0x34')](_['pick'](_0x130765['query'],_0x1d3b0d[_0xd889('0x34')]),_0x307a04);if(_0x130765[_0xd889('0x32')][_0xd889('0x3e')]){_0x19d465[_0xd889('0x3d')]=_[_0xd889('0x3f')](_0x19d465['where'],{'$or':_[_0xd889('0x40')](_0x307a04,function(_0x53bfd7){if(_0x53bfd7[_0xd889('0x2f')]!==_0xd889('0x41')){var _0x20b61b={};_0x20b61b[_0x53bfd7[_0xd889('0x2a')]]={'$like':'%'+_0x130765['query']['filter']+'%'};return _0x20b61b;}})});}_0x19d465=_[_0xd889('0x3f')]({},_0x19d465,_0x130765[_0xd889('0x42')]);var _0x3f3d22={'where':_0x19d465[_0xd889('0x3d')]};return db['DeskField'][_0xd889('0x22')](_0x3f3d22)[_0xd889('0x27')](function(_0x322659){_0x4bf5d4[_0xd889('0x22')]=_0x322659;if(_0x130765['query']['includeAll']){_0x19d465[_0xd889('0x43')]=[{'all':!![]}];}return db[_0xd889('0x2c')][_0xd889('0x44')](_0x19d465);})[_0xd889('0x27')](function(_0x5c504c){_0x4bf5d4[_0xd889('0x45')]=_0x5c504c;return _0x4bf5d4;})[_0xd889('0x27')](respondWithFilteredResult(_0x511cb5,_0x19d465))['catch'](handleError(_0x511cb5,null));};exports[_0xd889('0x46')]=function(_0x5045bb,_0x333236){var _0xc0be41={'raw':!![],'where':{'id':_0x5045bb[_0xd889('0x47')]['id']}},_0x5875a0={};_0x5875a0['model']=_[_0xd889('0x33')](db['DeskField'][_0xd889('0x2d')]);_0x5875a0['query']=_[_0xd889('0x33')](_0x5045bb['query']);_0x5875a0['filters']=_['intersection'](_0x5875a0['model'],_0x5875a0['query']);_0xc0be41[_0xd889('0x36')]=_[_0xd889('0x35')](_0x5875a0[_0xd889('0x31')],qs[_0xd889('0x37')](_0x5045bb['query'][_0xd889('0x37')]));_0xc0be41[_0xd889('0x36')]=_0xc0be41['attributes'][_0xd889('0x38')]?_0xc0be41[_0xd889('0x36')]:_0x5875a0[_0xd889('0x31')];if(_0x5045bb['query'][_0xd889('0x48')]){_0xc0be41[_0xd889('0x43')]=[{'all':!![]}];}_0xc0be41=_['merge']({},_0xc0be41,_0x5045bb[_0xd889('0x42')]);return db[_0xd889('0x2c')][_0xd889('0x49')](_0xc0be41)[_0xd889('0x27')](handleEntityNotFound(_0x333236,null))[_0xd889('0x27')](respondWithResult(_0x333236,null))[_0xd889('0x4a')](handleError(_0x333236,null));};exports[_0xd889('0x4b')]=function(_0x305b05,_0x334da3){return db[_0xd889('0x2c')][_0xd889('0x4b')](_0x305b05['body'],{})['then'](respondWithResult(_0x334da3,0xc9))['catch'](handleError(_0x334da3,null));};exports[_0xd889('0x26')]=function(_0x3d0745,_0x2fcb0d){if(_0x3d0745['body']['id']){delete _0x3d0745[_0xd889('0x4c')]['id'];}return db[_0xd889('0x2c')]['find']({'where':{'id':_0x3d0745[_0xd889('0x47')]['id']}})['then'](handleEntityNotFound(_0x2fcb0d,null))['then'](saveUpdates(_0x3d0745[_0xd889('0x4c')],null))[_0xd889('0x27')](respondWithResult(_0x2fcb0d,null))[_0xd889('0x4a')](handleError(_0x2fcb0d,null));};exports[_0xd889('0x28')]=function(_0x39e390,_0x48c6b7){return db[_0xd889('0x2c')][_0xd889('0x49')]({'where':{'id':_0x39e390['params']['id']}})['then'](handleEntityNotFound(_0x48c6b7,null))[_0xd889('0x27')](removeEntity(_0x48c6b7,null))[_0xd889('0x4a')](handleError(_0x48c6b7,null));};