5b6714a62ad9f7435b7686ee2a82eab52307d5d0
[motion2.git] / server / api / intSugarcrmField / intSugarcrmField.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 _0xbc31=['hasOwnProperty','nolimit','order','sort','filter','where','merge','VIRTUAL','options','include','findAll','rows','show','params','includeAll','catch','create','body','find','destroy','rimraf','zip-dir','fast-json-patch','request-promise','bluebird','util','path','sox','ejs','fs-extra','squel','crypto','jsforce','to-csv','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','sendStatus','status','json','limit','undefined','count','offset','Content-Range','reject','save','update','then','end','error','stack','name','send','index','map','SugarcrmField','rawAttributes','fieldName','type','query','keys','filters','model','intersection','fields','attributes','length'];(function(_0x40220a,_0x22feb1){var _0x3903cc=function(_0x33a296){while(--_0x33a296){_0x40220a['push'](_0x40220a['shift']());}};_0x3903cc(++_0x22feb1);}(_0xbc31,0xa6));var _0x1bc3=function(_0x4a5f54,_0x52b134){_0x4a5f54=_0x4a5f54-0x0;var _0x36b486=_0xbc31[_0x4a5f54];return _0x36b486;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0x1bc3('0x0'));var zipdir=require(_0x1bc3('0x1'));var jsonpatch=require(_0x1bc3('0x2'));var rp=require(_0x1bc3('0x3'));var moment=require('moment');var BPromise=require(_0x1bc3('0x4'));var Mustache=require('mustache');var util=require(_0x1bc3('0x5'));var path=require(_0x1bc3('0x6'));var sox=require(_0x1bc3('0x7'));var csv=require('to-csv');var ejs=require(_0x1bc3('0x8'));var fs=require('fs');var fs_extra=require(_0x1bc3('0x9'));var _=require('lodash');var squel=require(_0x1bc3('0xa'));var crypto=require(_0x1bc3('0xb'));var jsforce=require(_0x1bc3('0xc'));var deskjs=require('desk.js');var toCsv=require(_0x1bc3('0xd'));var querystring=require('querystring');var Papa=require('papaparse');var Redis=require(_0x1bc3('0xe'));var authService=require(_0x1bc3('0xf'));var qs=require(_0x1bc3('0x10'));var as=require(_0x1bc3('0x11'));var hardwareService=require(_0x1bc3('0x12'));var logger=require(_0x1bc3('0x13'))(_0x1bc3('0x14'));var utils=require(_0x1bc3('0x15'));var config=require('../../config/environment');var licenseUtil=require('../../config/license/util');var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x574896,_0x405510){_0x405510=_0x405510||0xcc;return function(_0x244223){if(_0x244223){return _0x574896[_0x1bc3('0x16')](_0x405510);}return _0x574896[_0x1bc3('0x17')](_0x405510)['end']();};}function respondWithResult(_0x2965ef,_0x14e24a){_0x14e24a=_0x14e24a||0xc8;return function(_0x253f40){if(_0x253f40){return _0x2965ef[_0x1bc3('0x17')](_0x14e24a)[_0x1bc3('0x18')](_0x253f40);}};}function respondWithFilteredResult(_0xcf56b5,_0xe93eec){return function(_0xb2b084){if(_0xb2b084){var _0xb2ada8=typeof _0xe93eec['offset']==='undefined'&&typeof _0xe93eec[_0x1bc3('0x19')]===_0x1bc3('0x1a');var _0x164961=_0xb2b084[_0x1bc3('0x1b')];var _0x1aa101=_0xb2ada8?0x0:_0xe93eec[_0x1bc3('0x1c')];var _0x5db585=_0xb2ada8?_0xb2b084['count']:_0xe93eec['offset']+_0xe93eec[_0x1bc3('0x19')];var _0x2e30db;if(_0x5db585>=_0x164961){_0x5db585=_0x164961;_0x2e30db=0xc8;}else{_0x2e30db=0xce;}_0xcf56b5[_0x1bc3('0x17')](_0x2e30db);return _0xcf56b5['set'](_0x1bc3('0x1d'),_0x1aa101+'-'+_0x5db585+'/'+_0x164961)[_0x1bc3('0x18')](_0xb2b084);}return null;};}function patchUpdates(_0x5d8193){return function(_0x200157){try{jsonpatch['apply'](_0x200157,_0x5d8193,!![]);}catch(_0x94a3c5){return BPromise[_0x1bc3('0x1e')](_0x94a3c5);}return _0x200157[_0x1bc3('0x1f')]();};}function saveUpdates(_0x4e760a,_0x4e8c7c){return function(_0x27cbb4){if(_0x27cbb4){return _0x27cbb4[_0x1bc3('0x20')](_0x4e760a)[_0x1bc3('0x21')](function(_0x345374){return _0x345374;});}return null;};}function removeEntity(_0x2cbb50,_0x55071b){return function(_0x535f79){if(_0x535f79){return _0x535f79['destroy']()[_0x1bc3('0x21')](function(){_0x2cbb50[_0x1bc3('0x17')](0xcc)[_0x1bc3('0x22')]();});}};}function handleEntityNotFound(_0x5db2eb,_0x3d107a){return function(_0x238581){if(!_0x238581){_0x5db2eb['sendStatus'](0x194);}return _0x238581;};}function handleError(_0x5ca27b,_0x56e6c2){_0x56e6c2=_0x56e6c2||0x1f4;return function(_0x1e8c93){logger[_0x1bc3('0x23')](_0x1e8c93[_0x1bc3('0x24')]);if(_0x1e8c93[_0x1bc3('0x25')]){delete _0x1e8c93[_0x1bc3('0x25')];}_0x5ca27b[_0x1bc3('0x17')](_0x56e6c2)[_0x1bc3('0x26')](_0x1e8c93);};}exports[_0x1bc3('0x27')]=function(_0xcde2e2,_0x1ac17){var _0x5c90e2={},_0x5bca43={},_0x385cfa={'count':0x0,'rows':[]};var _0x54063c=_[_0x1bc3('0x28')](db[_0x1bc3('0x29')][_0x1bc3('0x2a')],function(_0x435ecd){return{'name':_0x435ecd[_0x1bc3('0x2b')],'type':_0x435ecd[_0x1bc3('0x2c')]['key']};});_0x5bca43['model']=_[_0x1bc3('0x28')](_0x54063c,_0x1bc3('0x25'));_0x5bca43[_0x1bc3('0x2d')]=_[_0x1bc3('0x2e')](_0xcde2e2['query']);_0x5bca43[_0x1bc3('0x2f')]=_['intersection'](_0x5bca43[_0x1bc3('0x30')],_0x5bca43[_0x1bc3('0x2d')]);_0x5c90e2['attributes']=_[_0x1bc3('0x31')](_0x5bca43[_0x1bc3('0x30')],qs[_0x1bc3('0x32')](_0xcde2e2[_0x1bc3('0x2d')][_0x1bc3('0x32')]));_0x5c90e2['attributes']=_0x5c90e2[_0x1bc3('0x33')][_0x1bc3('0x34')]?_0x5c90e2[_0x1bc3('0x33')]:_0x5bca43[_0x1bc3('0x30')];if(!_0xcde2e2[_0x1bc3('0x2d')][_0x1bc3('0x35')](_0x1bc3('0x36'))){_0x5c90e2['limit']=qs['limit'](_0xcde2e2[_0x1bc3('0x2d')][_0x1bc3('0x19')]);_0x5c90e2[_0x1bc3('0x1c')]=qs[_0x1bc3('0x1c')](_0xcde2e2[_0x1bc3('0x2d')][_0x1bc3('0x1c')]);}_0x5c90e2[_0x1bc3('0x37')]=qs[_0x1bc3('0x38')](_0xcde2e2[_0x1bc3('0x2d')][_0x1bc3('0x38')]);_0x5c90e2['where']=qs[_0x1bc3('0x2f')](_['pick'](_0xcde2e2[_0x1bc3('0x2d')],_0x5bca43[_0x1bc3('0x2f')]),_0x54063c);if(_0xcde2e2['query'][_0x1bc3('0x39')]){_0x5c90e2[_0x1bc3('0x3a')]=_[_0x1bc3('0x3b')](_0x5c90e2[_0x1bc3('0x3a')],{'$or':_[_0x1bc3('0x28')](_0x54063c,function(_0x5705b9){if(_0x5705b9[_0x1bc3('0x2c')]!==_0x1bc3('0x3c')){var _0x32e290={};_0x32e290[_0x5705b9[_0x1bc3('0x25')]]={'$like':'%'+_0xcde2e2['query'][_0x1bc3('0x39')]+'%'};return _0x32e290;}})});}_0x5c90e2=_[_0x1bc3('0x3b')]({},_0x5c90e2,_0xcde2e2[_0x1bc3('0x3d')]);var _0x385982={'where':_0x5c90e2[_0x1bc3('0x3a')]};return db[_0x1bc3('0x29')][_0x1bc3('0x1b')](_0x385982)[_0x1bc3('0x21')](function(_0x1015e6){_0x385cfa['count']=_0x1015e6;if(_0xcde2e2[_0x1bc3('0x2d')]['includeAll']){_0x5c90e2[_0x1bc3('0x3e')]=[{'all':!![]}];}return db['SugarcrmField'][_0x1bc3('0x3f')](_0x5c90e2);})[_0x1bc3('0x21')](function(_0x100895){_0x385cfa[_0x1bc3('0x40')]=_0x100895;return _0x385cfa;})[_0x1bc3('0x21')](respondWithFilteredResult(_0x1ac17,_0x5c90e2))['catch'](handleError(_0x1ac17,null));};exports[_0x1bc3('0x41')]=function(_0x3f2370,_0x5cf7b1){var _0x5ace5e={'raw':!![],'where':{'id':_0x3f2370[_0x1bc3('0x42')]['id']}},_0x1a85eb={};_0x1a85eb[_0x1bc3('0x30')]=_[_0x1bc3('0x2e')](db[_0x1bc3('0x29')][_0x1bc3('0x2a')]);_0x1a85eb[_0x1bc3('0x2d')]=_[_0x1bc3('0x2e')](_0x3f2370[_0x1bc3('0x2d')]);_0x1a85eb['filters']=_[_0x1bc3('0x31')](_0x1a85eb[_0x1bc3('0x30')],_0x1a85eb[_0x1bc3('0x2d')]);_0x5ace5e[_0x1bc3('0x33')]=_[_0x1bc3('0x31')](_0x1a85eb[_0x1bc3('0x30')],qs['fields'](_0x3f2370['query'][_0x1bc3('0x32')]));_0x5ace5e[_0x1bc3('0x33')]=_0x5ace5e[_0x1bc3('0x33')][_0x1bc3('0x34')]?_0x5ace5e[_0x1bc3('0x33')]:_0x1a85eb[_0x1bc3('0x30')];if(_0x3f2370['query'][_0x1bc3('0x43')]){_0x5ace5e[_0x1bc3('0x3e')]=[{'all':!![]}];}_0x5ace5e=_['merge']({},_0x5ace5e,_0x3f2370['options']);return db[_0x1bc3('0x29')]['find'](_0x5ace5e)[_0x1bc3('0x21')](handleEntityNotFound(_0x5cf7b1,null))[_0x1bc3('0x21')](respondWithResult(_0x5cf7b1,null))[_0x1bc3('0x44')](handleError(_0x5cf7b1,null));};exports[_0x1bc3('0x45')]=function(_0x36814b,_0x3f6d88){return db['SugarcrmField']['create'](_0x36814b[_0x1bc3('0x46')],{})[_0x1bc3('0x21')](respondWithResult(_0x3f6d88,0xc9))['catch'](handleError(_0x3f6d88,null));};exports['update']=function(_0x3a329f,_0x40b5fe){if(_0x3a329f[_0x1bc3('0x46')]['id']){delete _0x3a329f['body']['id'];}return db['SugarcrmField'][_0x1bc3('0x47')]({'where':{'id':_0x3a329f['params']['id']}})[_0x1bc3('0x21')](handleEntityNotFound(_0x40b5fe,null))['then'](saveUpdates(_0x3a329f[_0x1bc3('0x46')],null))['then'](respondWithResult(_0x40b5fe,null))['catch'](handleError(_0x40b5fe,null));};exports[_0x1bc3('0x48')]=function(_0x18f95e,_0x4e2f9a){return db[_0x1bc3('0x29')][_0x1bc3('0x47')]({'where':{'id':_0x18f95e[_0x1bc3('0x42')]['id']}})['then'](handleEntityNotFound(_0x4e2f9a,null))[_0x1bc3('0x21')](removeEntity(_0x4e2f9a,null))[_0x1bc3('0x44')](handleError(_0x4e2f9a,null));};