Built motion from commit c738b9ac.|2.6.25
[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 _0x078c=['show','params','includeAll','find','create','body','destroy','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','util','to-csv','ejs','lodash','squel','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','api','../../config/utils','../../config/environment','../../config/license/util','sendStatus','status','end','json','offset','undefined','limit','count','reject','save','then','error','stack','name','map','SugarcrmField','rawAttributes','fieldName','keys','query','filters','intersection','model','attributes','fields','length','hasOwnProperty','nolimit','order','sort','pick','filter','where','merge','type','VIRTUAL','options','include','findAll','rows','catch'];(function(_0x2ce852,_0x33114f){var _0x28132c=function(_0x40efeb){while(--_0x40efeb){_0x2ce852['push'](_0x2ce852['shift']());}};_0x28132c(++_0x33114f);}(_0x078c,0x1c9));var _0xc078=function(_0x29b609,_0x19d388){_0x29b609=_0x29b609-0x0;var _0x54c952=_0x078c[_0x29b609];return _0x54c952;};'use strict';var emlformat=require(_0xc078('0x0'));var rimraf=require(_0xc078('0x1'));var zipdir=require(_0xc078('0x2'));var jsonpatch=require(_0xc078('0x3'));var rp=require(_0xc078('0x4'));var moment=require(_0xc078('0x5'));var BPromise=require(_0xc078('0x6'));var Mustache=require(_0xc078('0x7'));var util=require(_0xc078('0x8'));var path=require('path');var sox=require('sox');var csv=require(_0xc078('0x9'));var ejs=require(_0xc078('0xa'));var fs=require('fs');var fs_extra=require('fs-extra');var _=require(_0xc078('0xb'));var squel=require(_0xc078('0xc'));var crypto=require(_0xc078('0xd'));var jsforce=require(_0xc078('0xe'));var deskjs=require(_0xc078('0xf'));var toCsv=require('to-csv');var querystring=require(_0xc078('0x10'));var Papa=require(_0xc078('0x11'));var Redis=require(_0xc078('0x12'));var authService=require(_0xc078('0x13'));var qs=require(_0xc078('0x14'));var as=require(_0xc078('0x15'));var hardwareService=require(_0xc078('0x16'));var logger=require('../../config/logger')(_0xc078('0x17'));var utils=require(_0xc078('0x18'));var config=require(_0xc078('0x19'));var licenseUtil=require(_0xc078('0x1a'));var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x694f80,_0x403486){_0x403486=_0x403486||0xcc;return function(_0x1fdee4){if(_0x1fdee4){return _0x694f80[_0xc078('0x1b')](_0x403486);}return _0x694f80[_0xc078('0x1c')](_0x403486)[_0xc078('0x1d')]();};}function respondWithResult(_0x64cf1b,_0x15afff){_0x15afff=_0x15afff||0xc8;return function(_0x3fdfee){if(_0x3fdfee){return _0x64cf1b[_0xc078('0x1c')](_0x15afff)[_0xc078('0x1e')](_0x3fdfee);}};}function respondWithFilteredResult(_0x18a1d3,_0x552838){return function(_0x5db74a){if(_0x5db74a){var _0x226787=typeof _0x552838[_0xc078('0x1f')]===_0xc078('0x20')&&typeof _0x552838[_0xc078('0x21')]===_0xc078('0x20');var _0x385743=_0x5db74a[_0xc078('0x22')];var _0x12446f=_0x226787?0x0:_0x552838['offset'];var _0x5a0d48=_0x226787?_0x5db74a[_0xc078('0x22')]:_0x552838[_0xc078('0x1f')]+_0x552838[_0xc078('0x21')];var _0x4fba09;if(_0x5a0d48>=_0x385743){_0x5a0d48=_0x385743;_0x4fba09=0xc8;}else{_0x4fba09=0xce;}_0x18a1d3['status'](_0x4fba09);return _0x18a1d3['set']('Content-Range',_0x12446f+'-'+_0x5a0d48+'/'+_0x385743)['json'](_0x5db74a);}return null;};}function patchUpdates(_0x117c27){return function(_0x55557c){try{jsonpatch['apply'](_0x55557c,_0x117c27,!![]);}catch(_0x4e98c5){return BPromise[_0xc078('0x23')](_0x4e98c5);}return _0x55557c[_0xc078('0x24')]();};}function saveUpdates(_0x3d2217,_0x36abfd){return function(_0x14bb9d){if(_0x14bb9d){return _0x14bb9d['update'](_0x3d2217)[_0xc078('0x25')](function(_0x3cb249){return _0x3cb249;});}return null;};}function removeEntity(_0x13480b,_0x2155d7){return function(_0x4d3167){if(_0x4d3167){return _0x4d3167['destroy']()[_0xc078('0x25')](function(){_0x13480b['status'](0xcc)[_0xc078('0x1d')]();});}};}function handleEntityNotFound(_0x5e21ef,_0x4076f8){return function(_0x2d027e){if(!_0x2d027e){_0x5e21ef[_0xc078('0x1b')](0x194);}return _0x2d027e;};}function handleError(_0x2cc494,_0x4d3c3f){_0x4d3c3f=_0x4d3c3f||0x1f4;return function(_0x561bfa){logger[_0xc078('0x26')](_0x561bfa[_0xc078('0x27')]);if(_0x561bfa[_0xc078('0x28')]){delete _0x561bfa[_0xc078('0x28')];}_0x2cc494['status'](_0x4d3c3f)['send'](_0x561bfa);};}exports['index']=function(_0x5b76e7,_0x59319a){var _0x241ad4={},_0x48a51b={},_0x42ed7f={'count':0x0,'rows':[]};var _0x1bc950=_[_0xc078('0x29')](db[_0xc078('0x2a')][_0xc078('0x2b')],function(_0x31091e){return{'name':_0x31091e[_0xc078('0x2c')],'type':_0x31091e['type']['key']};});_0x48a51b['model']=_[_0xc078('0x29')](_0x1bc950,_0xc078('0x28'));_0x48a51b['query']=_[_0xc078('0x2d')](_0x5b76e7[_0xc078('0x2e')]);_0x48a51b[_0xc078('0x2f')]=_[_0xc078('0x30')](_0x48a51b[_0xc078('0x31')],_0x48a51b[_0xc078('0x2e')]);_0x241ad4[_0xc078('0x32')]=_[_0xc078('0x30')](_0x48a51b[_0xc078('0x31')],qs[_0xc078('0x33')](_0x5b76e7[_0xc078('0x2e')][_0xc078('0x33')]));_0x241ad4[_0xc078('0x32')]=_0x241ad4[_0xc078('0x32')][_0xc078('0x34')]?_0x241ad4['attributes']:_0x48a51b[_0xc078('0x31')];if(!_0x5b76e7[_0xc078('0x2e')][_0xc078('0x35')](_0xc078('0x36'))){_0x241ad4[_0xc078('0x21')]=qs['limit'](_0x5b76e7[_0xc078('0x2e')][_0xc078('0x21')]);_0x241ad4[_0xc078('0x1f')]=qs[_0xc078('0x1f')](_0x5b76e7[_0xc078('0x2e')][_0xc078('0x1f')]);}_0x241ad4[_0xc078('0x37')]=qs[_0xc078('0x38')](_0x5b76e7[_0xc078('0x2e')][_0xc078('0x38')]);_0x241ad4['where']=qs[_0xc078('0x2f')](_[_0xc078('0x39')](_0x5b76e7[_0xc078('0x2e')],_0x48a51b[_0xc078('0x2f')]),_0x1bc950);if(_0x5b76e7[_0xc078('0x2e')][_0xc078('0x3a')]){_0x241ad4[_0xc078('0x3b')]=_[_0xc078('0x3c')](_0x241ad4[_0xc078('0x3b')],{'$or':_['map'](_0x1bc950,function(_0x58390b){if(_0x58390b[_0xc078('0x3d')]!==_0xc078('0x3e')){var _0x3e56fb={};_0x3e56fb[_0x58390b['name']]={'$like':'%'+_0x5b76e7[_0xc078('0x2e')][_0xc078('0x3a')]+'%'};return _0x3e56fb;}})});}_0x241ad4=_['merge']({},_0x241ad4,_0x5b76e7[_0xc078('0x3f')]);var _0x55f81a={'where':_0x241ad4['where']};return db[_0xc078('0x2a')]['count'](_0x55f81a)[_0xc078('0x25')](function(_0x3012f7){_0x42ed7f['count']=_0x3012f7;if(_0x5b76e7[_0xc078('0x2e')]['includeAll']){_0x241ad4[_0xc078('0x40')]=[{'all':!![]}];}return db[_0xc078('0x2a')][_0xc078('0x41')](_0x241ad4);})[_0xc078('0x25')](function(_0x404d65){_0x42ed7f[_0xc078('0x42')]=_0x404d65;return _0x42ed7f;})['then'](respondWithFilteredResult(_0x59319a,_0x241ad4))[_0xc078('0x43')](handleError(_0x59319a,null));};exports[_0xc078('0x44')]=function(_0x5dd9ba,_0x2e9248){var _0x27beff={'raw':!![],'where':{'id':_0x5dd9ba[_0xc078('0x45')]['id']}},_0x361e40={};_0x361e40[_0xc078('0x31')]=_[_0xc078('0x2d')](db['SugarcrmField'][_0xc078('0x2b')]);_0x361e40['query']=_['keys'](_0x5dd9ba[_0xc078('0x2e')]);_0x361e40['filters']=_[_0xc078('0x30')](_0x361e40[_0xc078('0x31')],_0x361e40['query']);_0x27beff[_0xc078('0x32')]=_['intersection'](_0x361e40[_0xc078('0x31')],qs[_0xc078('0x33')](_0x5dd9ba['query'][_0xc078('0x33')]));_0x27beff['attributes']=_0x27beff[_0xc078('0x32')][_0xc078('0x34')]?_0x27beff['attributes']:_0x361e40[_0xc078('0x31')];if(_0x5dd9ba[_0xc078('0x2e')][_0xc078('0x46')]){_0x27beff['include']=[{'all':!![]}];}_0x27beff=_[_0xc078('0x3c')]({},_0x27beff,_0x5dd9ba[_0xc078('0x3f')]);return db[_0xc078('0x2a')][_0xc078('0x47')](_0x27beff)[_0xc078('0x25')](handleEntityNotFound(_0x2e9248,null))[_0xc078('0x25')](respondWithResult(_0x2e9248,null))[_0xc078('0x43')](handleError(_0x2e9248,null));};exports[_0xc078('0x48')]=function(_0x9e7892,_0x33606b){return db['SugarcrmField'][_0xc078('0x48')](_0x9e7892['body'],{})[_0xc078('0x25')](respondWithResult(_0x33606b,0xc9))[_0xc078('0x43')](handleError(_0x33606b,null));};exports['update']=function(_0x23d324,_0x48cf68){if(_0x23d324[_0xc078('0x49')]['id']){delete _0x23d324[_0xc078('0x49')]['id'];}return db[_0xc078('0x2a')][_0xc078('0x47')]({'where':{'id':_0x23d324[_0xc078('0x45')]['id']}})[_0xc078('0x25')](handleEntityNotFound(_0x48cf68,null))[_0xc078('0x25')](saveUpdates(_0x23d324[_0xc078('0x49')],null))[_0xc078('0x25')](respondWithResult(_0x48cf68,null))[_0xc078('0x43')](handleError(_0x48cf68,null));};exports[_0xc078('0x4a')]=function(_0x3995b9,_0x2588b3){return db[_0xc078('0x2a')][_0xc078('0x47')]({'where':{'id':_0x3995b9['params']['id']}})['then'](handleEntityNotFound(_0x2588b3,null))[_0xc078('0x25')](removeEntity(_0x2588b3,null))[_0xc078('0x43')](handleError(_0x2588b3,null));};