Built motion from commit b4f7ded2.|2.0.69
[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 _0x44fe=['DeskField','include','findAll','rows','catch','show','rawAttributes','includeAll','find','create','body','params','fast-json-patch','request-promise','moment','bluebird','mustache','util','path','sox','to-csv','ejs','lodash','jsforce','desk.js','querystring','papaparse','../../components/parsers/qs','../../config/logger','api','../../config/environment','../../mysqldb','sendStatus','status','end','count','offset','limit','set','Content-Range','json','apply','reject','save','update','then','destroy','error','stack','name','send','index','model','keys','dateStart','dateEnd','query','filters','attributes','intersection','fields','length','nolimit','sort','where','add','day','filter','merge','map','options'];(function(_0x3d5ad9,_0x1457cd){var _0x4f08be=function(_0x248917){while(--_0x248917){_0x3d5ad9['push'](_0x3d5ad9['shift']());}};_0x4f08be(++_0x1457cd);}(_0x44fe,0x16f));var _0xe44f=function(_0x1d5888,_0x24a909){_0x1d5888=_0x1d5888-0x0;var _0x40566b=_0x44fe[_0x1d5888];return _0x40566b;};'use strict';var jsonpatch=require(_0xe44f('0x0'));var rp=require(_0xe44f('0x1'));var moment=require(_0xe44f('0x2'));var BPromise=require(_0xe44f('0x3'));var Mustache=require(_0xe44f('0x4'));var util=require(_0xe44f('0x5'));var path=require(_0xe44f('0x6'));var sox=require(_0xe44f('0x7'));var csv=require(_0xe44f('0x8'));var ejs=require(_0xe44f('0x9'));var fs=require('fs');var _=require(_0xe44f('0xa'));var squel=require('squel');var crypto=require('crypto');var jsforce=require(_0xe44f('0xb'));var deskjs=require(_0xe44f('0xc'));var toCsv=require('to-csv');var querystring=require(_0xe44f('0xd'));var Papa=require(_0xe44f('0xe'));var qs=require(_0xe44f('0xf'));var logger=require(_0xe44f('0x10'))(_0xe44f('0x11'));var utils=require('../../config/utils');var config=require(_0xe44f('0x12'));var db=require(_0xe44f('0x13'))['db'];function respondWithStatusCode(_0x44b180,_0x447184){_0x447184=_0x447184||0xcc;return function(_0x2d6ec5){if(_0x2d6ec5){return _0x44b180[_0xe44f('0x14')](_0x447184);}return _0x44b180[_0xe44f('0x15')](_0x447184)[_0xe44f('0x16')]();};}function respondWithResult(_0x3b41c3,_0x4971ab){_0x4971ab=_0x4971ab||0xc8;return function(_0x1972ce){if(_0x1972ce){return _0x3b41c3[_0xe44f('0x15')](_0x4971ab)['json'](_0x1972ce);}};}function respondWithFilteredResult(_0x3883b0,_0x59bf6a){return function(_0x12cdf1){if(_0x12cdf1){var _0x307146=_0x12cdf1[_0xe44f('0x17')],_0x3c78e1=_0x59bf6a['offset'],_0x2e2942=_0x59bf6a[_0xe44f('0x18')]+_0x59bf6a[_0xe44f('0x19')],_0x3ec218;if(_0x2e2942>=_0x307146){_0x2e2942=_0x307146;_0x3ec218=0xc8;}else{_0x3ec218=0xce;}_0x3883b0[_0xe44f('0x15')](_0x3ec218);return _0x3883b0[_0xe44f('0x1a')](_0xe44f('0x1b'),_0x3c78e1+'-'+_0x2e2942+'/'+_0x307146)[_0xe44f('0x1c')](_0x12cdf1);}return null;};}function patchUpdates(_0x3ee3f9){return function(_0x4029fe){try{jsonpatch[_0xe44f('0x1d')](_0x4029fe,_0x3ee3f9,!![]);}catch(_0x1678e2){return BPromise[_0xe44f('0x1e')](_0x1678e2);}return _0x4029fe[_0xe44f('0x1f')]();};}function saveUpdates(_0x4c70e5,_0x5d027a){return function(_0xf3b4df){if(_0xf3b4df){return _0xf3b4df[_0xe44f('0x20')](_0x4c70e5)[_0xe44f('0x21')](function(_0x117a30){return _0x117a30;});}return null;};}function removeEntity(_0x467cda,_0x5723ed){return function(_0x42ed0a){if(_0x42ed0a){return _0x42ed0a[_0xe44f('0x22')]()[_0xe44f('0x21')](function(){_0x467cda['status'](0xcc)['end']();});}};}function handleEntityNotFound(_0x2756e3,_0x3fe450){return function(_0x298b90){if(!_0x298b90){_0x2756e3[_0xe44f('0x14')](0x194);}return _0x298b90;};}function handleError(_0xf3c259,_0x538a03){_0x538a03=_0x538a03||0x1f4;return function(_0x5a90e3){logger[_0xe44f('0x23')](_0x5a90e3[_0xe44f('0x24')]);if(_0x5a90e3[_0xe44f('0x25')]){delete _0x5a90e3[_0xe44f('0x25')];}_0xf3c259['status'](_0x538a03)[_0xe44f('0x26')](_0x5a90e3);};}exports[_0xe44f('0x27')]=function(_0x384c82,_0x90d216){var _0x59667c={},_0x45a632={},_0x162443={'count':0x0,'rows':[]};var _0x2659fa=db['DeskField']['rawAttributes'];_0x45a632[_0xe44f('0x28')]=_[_0xe44f('0x29')](_0x2659fa);var _0x466e26={'dateStart':_0x384c82['query'][_0xe44f('0x2a')],'dateEnd':_0x384c82['query'][_0xe44f('0x2b')]};delete _0x384c82[_0xe44f('0x2c')][_0xe44f('0x2a')];delete _0x384c82['query']['dateEnd'];_0x45a632['query']=_['keys'](_0x384c82[_0xe44f('0x2c')]);_0x45a632[_0xe44f('0x2d')]=_['intersection'](_0x45a632[_0xe44f('0x28')],_0x45a632[_0xe44f('0x2c')]);_0x59667c[_0xe44f('0x2e')]=_[_0xe44f('0x2f')](_0x45a632[_0xe44f('0x28')],qs[_0xe44f('0x30')](_0x384c82['query'][_0xe44f('0x30')]));_0x59667c['attributes']=_0x59667c[_0xe44f('0x2e')][_0xe44f('0x31')]?_0x59667c[_0xe44f('0x2e')]:_0x45a632['model'];if(!_0x384c82[_0xe44f('0x2c')]['hasOwnProperty'](_0xe44f('0x32'))){_0x59667c[_0xe44f('0x19')]=qs[_0xe44f('0x19')](_0x384c82['query']['limit']);_0x59667c[_0xe44f('0x18')]=qs[_0xe44f('0x18')](_0x384c82[_0xe44f('0x2c')][_0xe44f('0x18')]);}_0x59667c['order']=qs[_0xe44f('0x33')](_0x384c82[_0xe44f('0x2c')]['sort']);_0x59667c[_0xe44f('0x34')]=qs[_0xe44f('0x2d')](_['pick'](_0x384c82[_0xe44f('0x2c')],_0x45a632[_0xe44f('0x2d')]));if(_0x466e26[_0xe44f('0x2a')]){if(_0x466e26[_0xe44f('0x2b')]){_0x466e26[_0xe44f('0x2b')]=moment(_0x466e26[_0xe44f('0x2b')])['add'](0x1,'day');}else{_0x466e26[_0xe44f('0x2b')]=moment(_0x466e26['dateStart'])[_0xe44f('0x35')](0x1,_0xe44f('0x36'));}_['merge'](_0x59667c[_0xe44f('0x34')],{'createdAt':{'$gte':_0x466e26[_0xe44f('0x2a')],'$lte':_0x466e26[_0xe44f('0x2b')]}});}if(_0x384c82[_0xe44f('0x2c')][_0xe44f('0x37')]){_0x59667c[_0xe44f('0x34')]=_[_0xe44f('0x38')](_0x59667c[_0xe44f('0x34')],{'$or':_[_0xe44f('0x39')](_0x59667c[_0xe44f('0x2e')],function(_0x34a7ce){var _0x5b64cd={};_0x5b64cd[_0x34a7ce]={'$like':'%'+_0x384c82[_0xe44f('0x2c')][_0xe44f('0x37')]+'%'};return _0x5b64cd;})});}_0x59667c=_[_0xe44f('0x38')]({},_0x59667c,_0x384c82[_0xe44f('0x3a')]);var _0x37a15f={'where':_0x59667c[_0xe44f('0x34')]};return db[_0xe44f('0x3b')]['count'](_0x37a15f)['then'](function(_0x22d813){_0x162443[_0xe44f('0x17')]=_0x22d813;if(_0x384c82['query']['includeAll']){_0x59667c[_0xe44f('0x3c')]=[{'all':!![]}];}return db[_0xe44f('0x3b')][_0xe44f('0x3d')](_0x59667c);})[_0xe44f('0x21')](function(_0x5b38ac){_0x162443[_0xe44f('0x3e')]=_0x5b38ac;return _0x162443;})[_0xe44f('0x21')](respondWithFilteredResult(_0x90d216,_0x59667c))[_0xe44f('0x3f')](handleError(_0x90d216,null));};exports[_0xe44f('0x40')]=function(_0x102abe,_0x3b85a9){var _0x481d88={'raw':!![],'where':{'id':_0x102abe['params']['id']}},_0x1012ee={};_0x1012ee[_0xe44f('0x28')]=_[_0xe44f('0x29')](db[_0xe44f('0x3b')][_0xe44f('0x41')]);_0x1012ee['query']=_['keys'](_0x102abe[_0xe44f('0x2c')]);_0x1012ee[_0xe44f('0x2d')]=_['intersection'](_0x1012ee['model'],_0x1012ee['query']);_0x481d88[_0xe44f('0x2e')]=_[_0xe44f('0x2f')](_0x1012ee['model'],qs[_0xe44f('0x30')](_0x102abe['query'][_0xe44f('0x30')]));_0x481d88['attributes']=_0x481d88['attributes'][_0xe44f('0x31')]?_0x481d88[_0xe44f('0x2e')]:_0x1012ee[_0xe44f('0x28')];if(_0x102abe[_0xe44f('0x2c')][_0xe44f('0x42')]){_0x481d88[_0xe44f('0x3c')]=[{'all':!![]}];}_0x481d88=_['merge']({},_0x481d88,_0x102abe[_0xe44f('0x3a')]);return db['DeskField'][_0xe44f('0x43')](_0x481d88)[_0xe44f('0x21')](handleEntityNotFound(_0x3b85a9,null))[_0xe44f('0x21')](respondWithResult(_0x3b85a9,null))[_0xe44f('0x3f')](handleError(_0x3b85a9,null));};exports[_0xe44f('0x44')]=function(_0x4ff26c,_0x1258b7){return db['DeskField']['create'](_0x4ff26c['body'],{})[_0xe44f('0x21')](respondWithResult(_0x1258b7,0xc9))[_0xe44f('0x3f')](handleError(_0x1258b7,null));};exports[_0xe44f('0x20')]=function(_0x3581af,_0x5a64e0){if(_0x3581af[_0xe44f('0x45')]['id']){delete _0x3581af[_0xe44f('0x45')]['id'];}return db['DeskField'][_0xe44f('0x43')]({'where':{'id':_0x3581af[_0xe44f('0x46')]['id']}})[_0xe44f('0x21')](handleEntityNotFound(_0x5a64e0,null))[_0xe44f('0x21')](saveUpdates(_0x3581af['body'],null))[_0xe44f('0x21')](respondWithResult(_0x5a64e0,null))[_0xe44f('0x3f')](handleError(_0x5a64e0,null));};exports[_0xe44f('0x22')]=function(_0x10d6f1,_0xfdba22){return db['DeskField'][_0xe44f('0x43')]({'where':{'id':_0x10d6f1[_0xe44f('0x46')]['id']}})[_0xe44f('0x21')](handleEntityNotFound(_0xfdba22,null))[_0xe44f('0x21')](removeEntity(_0xfdba22,null))[_0xe44f('0x3f')](handleError(_0xfdba22,null));};