c19d800795de478fda3da6d166f18df750249d50
[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 _0x2f2e=['Content-Range','apply','reject','save','then','destroy','error','name','send','index','map','fieldName','type','key','query','keys','filters','model','attributes','fields','length','hasOwnProperty','nolimit','order','sort','pick','where','merge','filter','options','includeAll','include','DeskField','rows','catch','show','params','intersection','find','create','update','body','rimraf','zip-dir','request-promise','bluebird','mustache','util','path','fs-extra','lodash','squel','crypto','querystring','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/logger','api','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','end','json','offset','undefined','limit','count'];(function(_0x2f5ac5,_0x1ee939){var _0x37c9a8=function(_0x15031f){while(--_0x15031f){_0x2f5ac5['push'](_0x2f5ac5['shift']());}};_0x37c9a8(++_0x1ee939);}(_0x2f2e,0x146));var _0xe2f2=function(_0x15fc7a,_0xd21741){_0x15fc7a=_0x15fc7a-0x0;var _0x3aa9f4=_0x2f2e[_0x15fc7a];return _0x3aa9f4;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0xe2f2('0x0'));var zipdir=require(_0xe2f2('0x1'));var jsonpatch=require('fast-json-patch');var rp=require(_0xe2f2('0x2'));var moment=require('moment');var BPromise=require(_0xe2f2('0x3'));var Mustache=require(_0xe2f2('0x4'));var util=require(_0xe2f2('0x5'));var path=require(_0xe2f2('0x6'));var sox=require('sox');var csv=require('to-csv');var ejs=require('ejs');var fs=require('fs');var fs_extra=require(_0xe2f2('0x7'));var _=require(_0xe2f2('0x8'));var squel=require(_0xe2f2('0x9'));var crypto=require(_0xe2f2('0xa'));var jsforce=require('jsforce');var deskjs=require('desk.js');var toCsv=require('to-csv');var querystring=require(_0xe2f2('0xb'));var Papa=require('papaparse');var Redis=require(_0xe2f2('0xc'));var authService=require(_0xe2f2('0xd'));var qs=require(_0xe2f2('0xe'));var as=require(_0xe2f2('0xf'));var hardwareService=require('../../config/license/hardware');var logger=require(_0xe2f2('0x10'))(_0xe2f2('0x11'));var utils=require('../../config/utils');var config=require(_0xe2f2('0x12'));var licenseUtil=require(_0xe2f2('0x13'));var db=require(_0xe2f2('0x14'))['db'];function respondWithStatusCode(_0xec8ce1,_0x46a87e){_0x46a87e=_0x46a87e||0xcc;return function(_0x45c78b){if(_0x45c78b){return _0xec8ce1[_0xe2f2('0x15')](_0x46a87e);}return _0xec8ce1[_0xe2f2('0x16')](_0x46a87e)[_0xe2f2('0x17')]();};}function respondWithResult(_0x3392db,_0x5eb9ef){_0x5eb9ef=_0x5eb9ef||0xc8;return function(_0x3bfa74){if(_0x3bfa74){return _0x3392db[_0xe2f2('0x16')](_0x5eb9ef)[_0xe2f2('0x18')](_0x3bfa74);}};}function respondWithFilteredResult(_0x45cd29,_0x43e4e5){return function(_0x51f710){if(_0x51f710){var _0x5b7f1a=typeof _0x43e4e5[_0xe2f2('0x19')]===_0xe2f2('0x1a')&&typeof _0x43e4e5[_0xe2f2('0x1b')]==='undefined';var _0x86c42b=_0x51f710[_0xe2f2('0x1c')];var _0x22433f=_0x5b7f1a?0x0:_0x43e4e5['offset'];var _0x1cf5ac=_0x5b7f1a?_0x51f710[_0xe2f2('0x1c')]:_0x43e4e5[_0xe2f2('0x19')]+_0x43e4e5[_0xe2f2('0x1b')];var _0xf6ca03;if(_0x1cf5ac>=_0x86c42b){_0x1cf5ac=_0x86c42b;_0xf6ca03=0xc8;}else{_0xf6ca03=0xce;}_0x45cd29[_0xe2f2('0x16')](_0xf6ca03);return _0x45cd29['set'](_0xe2f2('0x1d'),_0x22433f+'-'+_0x1cf5ac+'/'+_0x86c42b)[_0xe2f2('0x18')](_0x51f710);}return null;};}function patchUpdates(_0x34a57c){return function(_0x596dd9){try{jsonpatch[_0xe2f2('0x1e')](_0x596dd9,_0x34a57c,!![]);}catch(_0x2670f6){return BPromise[_0xe2f2('0x1f')](_0x2670f6);}return _0x596dd9[_0xe2f2('0x20')]();};}function saveUpdates(_0x4481b2,_0x3fac5d){return function(_0x1e9829){if(_0x1e9829){return _0x1e9829['update'](_0x4481b2)[_0xe2f2('0x21')](function(_0x3be5af){return _0x3be5af;});}return null;};}function removeEntity(_0x26011d,_0x38c524){return function(_0x124ff2){if(_0x124ff2){return _0x124ff2[_0xe2f2('0x22')]()[_0xe2f2('0x21')](function(){_0x26011d[_0xe2f2('0x16')](0xcc)[_0xe2f2('0x17')]();});}};}function handleEntityNotFound(_0x47a9a8,_0x22e734){return function(_0x56ab92){if(!_0x56ab92){_0x47a9a8[_0xe2f2('0x15')](0x194);}return _0x56ab92;};}function handleError(_0x3df2da,_0x28e8c4){_0x28e8c4=_0x28e8c4||0x1f4;return function(_0x5595b2){logger[_0xe2f2('0x23')](_0x5595b2['stack']);if(_0x5595b2[_0xe2f2('0x24')]){delete _0x5595b2['name'];}_0x3df2da[_0xe2f2('0x16')](_0x28e8c4)[_0xe2f2('0x25')](_0x5595b2);};}exports[_0xe2f2('0x26')]=function(_0x45e3f8,_0x33df93){var _0x377e50={},_0x542e69={},_0xc9e784={'count':0x0,'rows':[]};var _0x18c995=_[_0xe2f2('0x27')](db['DeskField']['rawAttributes'],function(_0xbccb73){return{'name':_0xbccb73[_0xe2f2('0x28')],'type':_0xbccb73[_0xe2f2('0x29')][_0xe2f2('0x2a')]};});_0x542e69['model']=_[_0xe2f2('0x27')](_0x18c995,'name');_0x542e69[_0xe2f2('0x2b')]=_[_0xe2f2('0x2c')](_0x45e3f8[_0xe2f2('0x2b')]);_0x542e69[_0xe2f2('0x2d')]=_['intersection'](_0x542e69[_0xe2f2('0x2e')],_0x542e69[_0xe2f2('0x2b')]);_0x377e50[_0xe2f2('0x2f')]=_['intersection'](_0x542e69['model'],qs['fields'](_0x45e3f8[_0xe2f2('0x2b')][_0xe2f2('0x30')]));_0x377e50[_0xe2f2('0x2f')]=_0x377e50[_0xe2f2('0x2f')][_0xe2f2('0x31')]?_0x377e50['attributes']:_0x542e69[_0xe2f2('0x2e')];if(!_0x45e3f8['query'][_0xe2f2('0x32')](_0xe2f2('0x33'))){_0x377e50['limit']=qs[_0xe2f2('0x1b')](_0x45e3f8[_0xe2f2('0x2b')][_0xe2f2('0x1b')]);_0x377e50[_0xe2f2('0x19')]=qs[_0xe2f2('0x19')](_0x45e3f8[_0xe2f2('0x2b')][_0xe2f2('0x19')]);}_0x377e50[_0xe2f2('0x34')]=qs['sort'](_0x45e3f8['query'][_0xe2f2('0x35')]);_0x377e50['where']=qs[_0xe2f2('0x2d')](_[_0xe2f2('0x36')](_0x45e3f8[_0xe2f2('0x2b')],_0x542e69['filters']),_0x18c995);if(_0x45e3f8[_0xe2f2('0x2b')]['filter']){_0x377e50[_0xe2f2('0x37')]=_[_0xe2f2('0x38')](_0x377e50[_0xe2f2('0x37')],{'$or':_[_0xe2f2('0x27')](_0x18c995,function(_0xd45b){if(_0xd45b[_0xe2f2('0x29')]!=='VIRTUAL'){var _0x2d2990={};_0x2d2990[_0xd45b[_0xe2f2('0x24')]]={'$like':'%'+_0x45e3f8[_0xe2f2('0x2b')][_0xe2f2('0x39')]+'%'};return _0x2d2990;}})});}_0x377e50=_[_0xe2f2('0x38')]({},_0x377e50,_0x45e3f8[_0xe2f2('0x3a')]);var _0x3b3e42={'where':_0x377e50[_0xe2f2('0x37')]};return db['DeskField']['count'](_0x3b3e42)[_0xe2f2('0x21')](function(_0x4e3586){_0xc9e784[_0xe2f2('0x1c')]=_0x4e3586;if(_0x45e3f8['query'][_0xe2f2('0x3b')]){_0x377e50[_0xe2f2('0x3c')]=[{'all':!![]}];}return db[_0xe2f2('0x3d')]['findAll'](_0x377e50);})[_0xe2f2('0x21')](function(_0x2d305d){_0xc9e784[_0xe2f2('0x3e')]=_0x2d305d;return _0xc9e784;})[_0xe2f2('0x21')](respondWithFilteredResult(_0x33df93,_0x377e50))[_0xe2f2('0x3f')](handleError(_0x33df93,null));};exports[_0xe2f2('0x40')]=function(_0x3b4da0,_0x36a312){var _0x5a0ab7={'raw':!![],'where':{'id':_0x3b4da0[_0xe2f2('0x41')]['id']}},_0x1ccd03={};_0x1ccd03['model']=_[_0xe2f2('0x2c')](db['DeskField']['rawAttributes']);_0x1ccd03[_0xe2f2('0x2b')]=_[_0xe2f2('0x2c')](_0x3b4da0['query']);_0x1ccd03[_0xe2f2('0x2d')]=_[_0xe2f2('0x42')](_0x1ccd03[_0xe2f2('0x2e')],_0x1ccd03[_0xe2f2('0x2b')]);_0x5a0ab7['attributes']=_[_0xe2f2('0x42')](_0x1ccd03[_0xe2f2('0x2e')],qs[_0xe2f2('0x30')](_0x3b4da0[_0xe2f2('0x2b')][_0xe2f2('0x30')]));_0x5a0ab7['attributes']=_0x5a0ab7['attributes'][_0xe2f2('0x31')]?_0x5a0ab7[_0xe2f2('0x2f')]:_0x1ccd03[_0xe2f2('0x2e')];if(_0x3b4da0[_0xe2f2('0x2b')][_0xe2f2('0x3b')]){_0x5a0ab7[_0xe2f2('0x3c')]=[{'all':!![]}];}_0x5a0ab7=_[_0xe2f2('0x38')]({},_0x5a0ab7,_0x3b4da0[_0xe2f2('0x3a')]);return db[_0xe2f2('0x3d')][_0xe2f2('0x43')](_0x5a0ab7)[_0xe2f2('0x21')](handleEntityNotFound(_0x36a312,null))['then'](respondWithResult(_0x36a312,null))[_0xe2f2('0x3f')](handleError(_0x36a312,null));};exports[_0xe2f2('0x44')]=function(_0x1e6b67,_0x4e6735){return db[_0xe2f2('0x3d')]['create'](_0x1e6b67['body'],{})['then'](respondWithResult(_0x4e6735,0xc9))[_0xe2f2('0x3f')](handleError(_0x4e6735,null));};exports[_0xe2f2('0x45')]=function(_0x6c0195,_0x34a7fa){if(_0x6c0195[_0xe2f2('0x46')]['id']){delete _0x6c0195[_0xe2f2('0x46')]['id'];}return db[_0xe2f2('0x3d')][_0xe2f2('0x43')]({'where':{'id':_0x6c0195[_0xe2f2('0x41')]['id']}})[_0xe2f2('0x21')](handleEntityNotFound(_0x34a7fa,null))[_0xe2f2('0x21')](saveUpdates(_0x6c0195[_0xe2f2('0x46')],null))[_0xe2f2('0x21')](respondWithResult(_0x34a7fa,null))[_0xe2f2('0x3f')](handleError(_0x34a7fa,null));};exports['destroy']=function(_0xa9f888,_0x383230){return db[_0xe2f2('0x3d')][_0xe2f2('0x43')]({'where':{'id':_0xa9f888[_0xe2f2('0x41')]['id']}})[_0xe2f2('0x21')](handleEntityNotFound(_0x383230,null))['then'](removeEntity(_0x383230,null))[_0xe2f2('0x3f')](handleError(_0x383230,null));};