Built motion from commit 20b39a97.|2.6.29
[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 _0x2894=['set','Content-Range','apply','reject','save','update','then','destroy','sendStatus','error','stack','name','send','index','map','fieldName','key','model','keys','query','filters','attributes','intersection','fields','length','hasOwnProperty','nolimit','order','sort','filter','where','type','VIRTUAL','options','SugarcrmField','includeAll','include','findAll','rows','catch','show','rawAttributes','merge','find','create','body','params','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','path','sox','to-csv','ejs','fs-extra','squel','crypto','querystring','papaparse','ioredis','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','status','end','offset','undefined','count','limit'];(function(_0x206d44,_0x4f24ed){var _0x42f315=function(_0x3fba62){while(--_0x3fba62){_0x206d44['push'](_0x206d44['shift']());}};_0x42f315(++_0x4f24ed);}(_0x2894,0x1ba));var _0x4289=function(_0x496a45,_0x2de9b2){_0x496a45=_0x496a45-0x0;var _0x5a381f=_0x2894[_0x496a45];return _0x5a381f;};'use strict';var emlformat=require(_0x4289('0x0'));var rimraf=require(_0x4289('0x1'));var zipdir=require(_0x4289('0x2'));var jsonpatch=require(_0x4289('0x3'));var rp=require(_0x4289('0x4'));var moment=require(_0x4289('0x5'));var BPromise=require(_0x4289('0x6'));var Mustache=require(_0x4289('0x7'));var util=require('util');var path=require(_0x4289('0x8'));var sox=require(_0x4289('0x9'));var csv=require(_0x4289('0xa'));var ejs=require(_0x4289('0xb'));var fs=require('fs');var fs_extra=require(_0x4289('0xc'));var _=require('lodash');var squel=require(_0x4289('0xd'));var crypto=require(_0x4289('0xe'));var jsforce=require('jsforce');var deskjs=require('desk.js');var toCsv=require(_0x4289('0xa'));var querystring=require(_0x4289('0xf'));var Papa=require(_0x4289('0x10'));var Redis=require(_0x4289('0x11'));var authService=require('../../components/auth/service');var qs=require(_0x4289('0x12'));var as=require(_0x4289('0x13'));var hardwareService=require(_0x4289('0x14'));var logger=require(_0x4289('0x15'))('api');var utils=require(_0x4289('0x16'));var config=require(_0x4289('0x17'));var licenseUtil=require(_0x4289('0x18'));var db=require(_0x4289('0x19'))['db'];function respondWithStatusCode(_0x27d4be,_0x38e719){_0x38e719=_0x38e719||0xcc;return function(_0x417ec4){if(_0x417ec4){return _0x27d4be['sendStatus'](_0x38e719);}return _0x27d4be[_0x4289('0x1a')](_0x38e719)[_0x4289('0x1b')]();};}function respondWithResult(_0x3f8d9d,_0x1cdb26){_0x1cdb26=_0x1cdb26||0xc8;return function(_0x5964a9){if(_0x5964a9){return _0x3f8d9d['status'](_0x1cdb26)['json'](_0x5964a9);}};}function respondWithFilteredResult(_0x53a98d,_0x7531b6){return function(_0x4591d3){if(_0x4591d3){var _0x224999=typeof _0x7531b6[_0x4289('0x1c')]==='undefined'&&typeof _0x7531b6['limit']===_0x4289('0x1d');var _0x10ee42=_0x4591d3[_0x4289('0x1e')];var _0x576020=_0x224999?0x0:_0x7531b6[_0x4289('0x1c')];var _0x4458dc=_0x224999?_0x4591d3['count']:_0x7531b6[_0x4289('0x1c')]+_0x7531b6[_0x4289('0x1f')];var _0x5a43fd;if(_0x4458dc>=_0x10ee42){_0x4458dc=_0x10ee42;_0x5a43fd=0xc8;}else{_0x5a43fd=0xce;}_0x53a98d[_0x4289('0x1a')](_0x5a43fd);return _0x53a98d[_0x4289('0x20')](_0x4289('0x21'),_0x576020+'-'+_0x4458dc+'/'+_0x10ee42)['json'](_0x4591d3);}return null;};}function patchUpdates(_0x47d2f1){return function(_0x44c005){try{jsonpatch[_0x4289('0x22')](_0x44c005,_0x47d2f1,!![]);}catch(_0x15a6a1){return BPromise[_0x4289('0x23')](_0x15a6a1);}return _0x44c005[_0x4289('0x24')]();};}function saveUpdates(_0x3da11f,_0x5a2f6e){return function(_0x54df75){if(_0x54df75){return _0x54df75[_0x4289('0x25')](_0x3da11f)[_0x4289('0x26')](function(_0x4c3fae){return _0x4c3fae;});}return null;};}function removeEntity(_0x10632e,_0x45fc9c){return function(_0x361893){if(_0x361893){return _0x361893[_0x4289('0x27')]()[_0x4289('0x26')](function(){_0x10632e[_0x4289('0x1a')](0xcc)[_0x4289('0x1b')]();});}};}function handleEntityNotFound(_0x124fe0,_0x21ec93){return function(_0xd895f2){if(!_0xd895f2){_0x124fe0[_0x4289('0x28')](0x194);}return _0xd895f2;};}function handleError(_0x84cc25,_0xf7e7ca){_0xf7e7ca=_0xf7e7ca||0x1f4;return function(_0xbd903c){logger[_0x4289('0x29')](_0xbd903c[_0x4289('0x2a')]);if(_0xbd903c[_0x4289('0x2b')]){delete _0xbd903c[_0x4289('0x2b')];}_0x84cc25['status'](_0xf7e7ca)[_0x4289('0x2c')](_0xbd903c);};}exports[_0x4289('0x2d')]=function(_0x170ab6,_0x3de747){var _0x109472={},_0x5c46f5={},_0x51dd73={'count':0x0,'rows':[]};var _0x6cfe17=_[_0x4289('0x2e')](db['SugarcrmField']['rawAttributes'],function(_0x3e7748){return{'name':_0x3e7748[_0x4289('0x2f')],'type':_0x3e7748['type'][_0x4289('0x30')]};});_0x5c46f5[_0x4289('0x31')]=_[_0x4289('0x2e')](_0x6cfe17,_0x4289('0x2b'));_0x5c46f5['query']=_[_0x4289('0x32')](_0x170ab6[_0x4289('0x33')]);_0x5c46f5[_0x4289('0x34')]=_['intersection'](_0x5c46f5['model'],_0x5c46f5[_0x4289('0x33')]);_0x109472[_0x4289('0x35')]=_[_0x4289('0x36')](_0x5c46f5[_0x4289('0x31')],qs[_0x4289('0x37')](_0x170ab6['query']['fields']));_0x109472[_0x4289('0x35')]=_0x109472[_0x4289('0x35')][_0x4289('0x38')]?_0x109472[_0x4289('0x35')]:_0x5c46f5[_0x4289('0x31')];if(!_0x170ab6['query'][_0x4289('0x39')](_0x4289('0x3a'))){_0x109472[_0x4289('0x1f')]=qs[_0x4289('0x1f')](_0x170ab6[_0x4289('0x33')]['limit']);_0x109472[_0x4289('0x1c')]=qs['offset'](_0x170ab6[_0x4289('0x33')][_0x4289('0x1c')]);}_0x109472[_0x4289('0x3b')]=qs[_0x4289('0x3c')](_0x170ab6[_0x4289('0x33')][_0x4289('0x3c')]);_0x109472['where']=qs[_0x4289('0x34')](_['pick'](_0x170ab6[_0x4289('0x33')],_0x5c46f5[_0x4289('0x34')]),_0x6cfe17);if(_0x170ab6['query'][_0x4289('0x3d')]){_0x109472['where']=_['merge'](_0x109472[_0x4289('0x3e')],{'$or':_['map'](_0x6cfe17,function(_0x36e336){if(_0x36e336[_0x4289('0x3f')]!==_0x4289('0x40')){var _0x36ecd9={};_0x36ecd9[_0x36e336[_0x4289('0x2b')]]={'$like':'%'+_0x170ab6[_0x4289('0x33')]['filter']+'%'};return _0x36ecd9;}})});}_0x109472=_['merge']({},_0x109472,_0x170ab6[_0x4289('0x41')]);var _0x420b67={'where':_0x109472[_0x4289('0x3e')]};return db[_0x4289('0x42')][_0x4289('0x1e')](_0x420b67)[_0x4289('0x26')](function(_0x5eb054){_0x51dd73[_0x4289('0x1e')]=_0x5eb054;if(_0x170ab6[_0x4289('0x33')][_0x4289('0x43')]){_0x109472[_0x4289('0x44')]=[{'all':!![]}];}return db[_0x4289('0x42')][_0x4289('0x45')](_0x109472);})[_0x4289('0x26')](function(_0x5c87a0){_0x51dd73[_0x4289('0x46')]=_0x5c87a0;return _0x51dd73;})[_0x4289('0x26')](respondWithFilteredResult(_0x3de747,_0x109472))[_0x4289('0x47')](handleError(_0x3de747,null));};exports[_0x4289('0x48')]=function(_0x1ef497,_0x1adf2b){var _0x13b4a3={'raw':!![],'where':{'id':_0x1ef497['params']['id']}},_0x384583={};_0x384583['model']=_['keys'](db[_0x4289('0x42')][_0x4289('0x49')]);_0x384583[_0x4289('0x33')]=_[_0x4289('0x32')](_0x1ef497['query']);_0x384583['filters']=_[_0x4289('0x36')](_0x384583['model'],_0x384583['query']);_0x13b4a3['attributes']=_[_0x4289('0x36')](_0x384583['model'],qs[_0x4289('0x37')](_0x1ef497[_0x4289('0x33')][_0x4289('0x37')]));_0x13b4a3[_0x4289('0x35')]=_0x13b4a3[_0x4289('0x35')]['length']?_0x13b4a3[_0x4289('0x35')]:_0x384583[_0x4289('0x31')];if(_0x1ef497[_0x4289('0x33')][_0x4289('0x43')]){_0x13b4a3[_0x4289('0x44')]=[{'all':!![]}];}_0x13b4a3=_[_0x4289('0x4a')]({},_0x13b4a3,_0x1ef497['options']);return db[_0x4289('0x42')][_0x4289('0x4b')](_0x13b4a3)['then'](handleEntityNotFound(_0x1adf2b,null))[_0x4289('0x26')](respondWithResult(_0x1adf2b,null))[_0x4289('0x47')](handleError(_0x1adf2b,null));};exports[_0x4289('0x4c')]=function(_0x27c4ae,_0x353315){return db[_0x4289('0x42')][_0x4289('0x4c')](_0x27c4ae['body'],{})[_0x4289('0x26')](respondWithResult(_0x353315,0xc9))[_0x4289('0x47')](handleError(_0x353315,null));};exports['update']=function(_0x78eed2,_0x2fc284){if(_0x78eed2[_0x4289('0x4d')]['id']){delete _0x78eed2['body']['id'];}return db[_0x4289('0x42')][_0x4289('0x4b')]({'where':{'id':_0x78eed2[_0x4289('0x4e')]['id']}})['then'](handleEntityNotFound(_0x2fc284,null))['then'](saveUpdates(_0x78eed2[_0x4289('0x4d')],null))[_0x4289('0x26')](respondWithResult(_0x2fc284,null))[_0x4289('0x47')](handleError(_0x2fc284,null));};exports['destroy']=function(_0x53ae7f,_0x35f0d4){return db['SugarcrmField'][_0x4289('0x4b')]({'where':{'id':_0x53ae7f[_0x4289('0x4e')]['id']}})[_0x4289('0x26')](handleEntityNotFound(_0x35f0d4,null))['then'](removeEntity(_0x35f0d4,null))[_0x4289('0x47')](handleError(_0x35f0d4,null));};