Built motion from commit bab6f49e.|2.6.17
[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 _0xb4d3=['lodash','squel','crypto','jsforce','desk.js','querystring','papaparse','../../components/auth/service','../../components/parsers/qs','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','sendStatus','status','offset','undefined','count','limit','set','json','apply','reject','save','update','then','destroy','end','error','name','send','index','map','SugarcrmField','rawAttributes','type','key','query','keys','intersection','attributes','model','fields','length','hasOwnProperty','nolimit','order','sort','where','filters','pick','merge','VIRTUAL','filter','options','include','findAll','rows','catch','show','params','includeAll','find','create','body','eml-format','zip-dir','fast-json-patch','moment','mustache','path','sox','to-csv','ejs'];(function(_0x52c669,_0x177cf9){var _0x23c9ec=function(_0x376e94){while(--_0x376e94){_0x52c669['push'](_0x52c669['shift']());}};_0x23c9ec(++_0x177cf9);}(_0xb4d3,0xdb));var _0x3b4d=function(_0xa3e0f7,_0x1b06db){_0xa3e0f7=_0xa3e0f7-0x0;var _0x4ce604=_0xb4d3[_0xa3e0f7];return _0x4ce604;};'use strict';var emlformat=require(_0x3b4d('0x0'));var rimraf=require('rimraf');var zipdir=require(_0x3b4d('0x1'));var jsonpatch=require(_0x3b4d('0x2'));var rp=require('request-promise');var moment=require(_0x3b4d('0x3'));var BPromise=require('bluebird');var Mustache=require(_0x3b4d('0x4'));var util=require('util');var path=require(_0x3b4d('0x5'));var sox=require(_0x3b4d('0x6'));var csv=require(_0x3b4d('0x7'));var ejs=require(_0x3b4d('0x8'));var fs=require('fs');var fs_extra=require('fs-extra');var _=require(_0x3b4d('0x9'));var squel=require(_0x3b4d('0xa'));var crypto=require(_0x3b4d('0xb'));var jsforce=require(_0x3b4d('0xc'));var deskjs=require(_0x3b4d('0xd'));var toCsv=require(_0x3b4d('0x7'));var querystring=require(_0x3b4d('0xe'));var Papa=require(_0x3b4d('0xf'));var Redis=require('ioredis');var authService=require(_0x3b4d('0x10'));var qs=require(_0x3b4d('0x11'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0x3b4d('0x12'));var logger=require(_0x3b4d('0x13'))(_0x3b4d('0x14'));var utils=require(_0x3b4d('0x15'));var config=require(_0x3b4d('0x16'));var licenseUtil=require(_0x3b4d('0x17'));var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x4d6f14,_0x24be98){_0x24be98=_0x24be98||0xcc;return function(_0x31cafd){if(_0x31cafd){return _0x4d6f14[_0x3b4d('0x18')](_0x24be98);}return _0x4d6f14[_0x3b4d('0x19')](_0x24be98)['end']();};}function respondWithResult(_0x135bce,_0x3b6af5){_0x3b6af5=_0x3b6af5||0xc8;return function(_0x1e813a){if(_0x1e813a){return _0x135bce[_0x3b4d('0x19')](_0x3b6af5)['json'](_0x1e813a);}};}function respondWithFilteredResult(_0x56895b,_0x47064c){return function(_0x18d221){if(_0x18d221){var _0x4491fc=typeof _0x47064c[_0x3b4d('0x1a')]===_0x3b4d('0x1b')&&typeof _0x47064c['limit']==='undefined';var _0x3193ea=_0x18d221['count'];var _0x3386db=_0x4491fc?0x0:_0x47064c[_0x3b4d('0x1a')];var _0x40f5e0=_0x4491fc?_0x18d221[_0x3b4d('0x1c')]:_0x47064c[_0x3b4d('0x1a')]+_0x47064c[_0x3b4d('0x1d')];var _0x17162a;if(_0x40f5e0>=_0x3193ea){_0x40f5e0=_0x3193ea;_0x17162a=0xc8;}else{_0x17162a=0xce;}_0x56895b[_0x3b4d('0x19')](_0x17162a);return _0x56895b[_0x3b4d('0x1e')]('Content-Range',_0x3386db+'-'+_0x40f5e0+'/'+_0x3193ea)[_0x3b4d('0x1f')](_0x18d221);}return null;};}function patchUpdates(_0x2bd9a3){return function(_0x547af2){try{jsonpatch[_0x3b4d('0x20')](_0x547af2,_0x2bd9a3,!![]);}catch(_0x2d7700){return BPromise[_0x3b4d('0x21')](_0x2d7700);}return _0x547af2[_0x3b4d('0x22')]();};}function saveUpdates(_0x270317,_0x723ad0){return function(_0x5a3be2){if(_0x5a3be2){return _0x5a3be2[_0x3b4d('0x23')](_0x270317)[_0x3b4d('0x24')](function(_0x3da986){return _0x3da986;});}return null;};}function removeEntity(_0xbfbe19,_0x398e00){return function(_0x5e3d81){if(_0x5e3d81){return _0x5e3d81[_0x3b4d('0x25')]()[_0x3b4d('0x24')](function(){_0xbfbe19[_0x3b4d('0x19')](0xcc)[_0x3b4d('0x26')]();});}};}function handleEntityNotFound(_0x31ab30,_0x444d2f){return function(_0x33d333){if(!_0x33d333){_0x31ab30['sendStatus'](0x194);}return _0x33d333;};}function handleError(_0x45f051,_0x489bad){_0x489bad=_0x489bad||0x1f4;return function(_0x4181dd){logger[_0x3b4d('0x27')](_0x4181dd['stack']);if(_0x4181dd[_0x3b4d('0x28')]){delete _0x4181dd[_0x3b4d('0x28')];}_0x45f051[_0x3b4d('0x19')](_0x489bad)[_0x3b4d('0x29')](_0x4181dd);};}exports[_0x3b4d('0x2a')]=function(_0x419c02,_0x343681){var _0x6b1ed7={},_0x15c0ed={},_0x43b657={'count':0x0,'rows':[]};var _0x449e12=_[_0x3b4d('0x2b')](db[_0x3b4d('0x2c')][_0x3b4d('0x2d')],function(_0x11b7aa){return{'name':_0x11b7aa['fieldName'],'type':_0x11b7aa[_0x3b4d('0x2e')][_0x3b4d('0x2f')]};});_0x15c0ed['model']=_[_0x3b4d('0x2b')](_0x449e12,_0x3b4d('0x28'));_0x15c0ed[_0x3b4d('0x30')]=_[_0x3b4d('0x31')](_0x419c02[_0x3b4d('0x30')]);_0x15c0ed['filters']=_[_0x3b4d('0x32')](_0x15c0ed['model'],_0x15c0ed['query']);_0x6b1ed7[_0x3b4d('0x33')]=_['intersection'](_0x15c0ed[_0x3b4d('0x34')],qs[_0x3b4d('0x35')](_0x419c02[_0x3b4d('0x30')]['fields']));_0x6b1ed7['attributes']=_0x6b1ed7[_0x3b4d('0x33')][_0x3b4d('0x36')]?_0x6b1ed7[_0x3b4d('0x33')]:_0x15c0ed['model'];if(!_0x419c02['query'][_0x3b4d('0x37')](_0x3b4d('0x38'))){_0x6b1ed7[_0x3b4d('0x1d')]=qs[_0x3b4d('0x1d')](_0x419c02['query'][_0x3b4d('0x1d')]);_0x6b1ed7[_0x3b4d('0x1a')]=qs[_0x3b4d('0x1a')](_0x419c02[_0x3b4d('0x30')][_0x3b4d('0x1a')]);}_0x6b1ed7[_0x3b4d('0x39')]=qs['sort'](_0x419c02[_0x3b4d('0x30')][_0x3b4d('0x3a')]);_0x6b1ed7[_0x3b4d('0x3b')]=qs[_0x3b4d('0x3c')](_[_0x3b4d('0x3d')](_0x419c02['query'],_0x15c0ed[_0x3b4d('0x3c')]),_0x449e12);if(_0x419c02[_0x3b4d('0x30')]['filter']){_0x6b1ed7[_0x3b4d('0x3b')]=_[_0x3b4d('0x3e')](_0x6b1ed7[_0x3b4d('0x3b')],{'$or':_['map'](_0x449e12,function(_0x4683e4){if(_0x4683e4[_0x3b4d('0x2e')]!==_0x3b4d('0x3f')){var _0x1f6899={};_0x1f6899[_0x4683e4[_0x3b4d('0x28')]]={'$like':'%'+_0x419c02[_0x3b4d('0x30')][_0x3b4d('0x40')]+'%'};return _0x1f6899;}})});}_0x6b1ed7=_[_0x3b4d('0x3e')]({},_0x6b1ed7,_0x419c02[_0x3b4d('0x41')]);var _0x1dc688={'where':_0x6b1ed7[_0x3b4d('0x3b')]};return db[_0x3b4d('0x2c')][_0x3b4d('0x1c')](_0x1dc688)[_0x3b4d('0x24')](function(_0x2a3bfc){_0x43b657[_0x3b4d('0x1c')]=_0x2a3bfc;if(_0x419c02[_0x3b4d('0x30')]['includeAll']){_0x6b1ed7[_0x3b4d('0x42')]=[{'all':!![]}];}return db[_0x3b4d('0x2c')][_0x3b4d('0x43')](_0x6b1ed7);})[_0x3b4d('0x24')](function(_0x3dd288){_0x43b657[_0x3b4d('0x44')]=_0x3dd288;return _0x43b657;})[_0x3b4d('0x24')](respondWithFilteredResult(_0x343681,_0x6b1ed7))[_0x3b4d('0x45')](handleError(_0x343681,null));};exports[_0x3b4d('0x46')]=function(_0x2502fe,_0x12a921){var _0x6ec960={'raw':!![],'where':{'id':_0x2502fe[_0x3b4d('0x47')]['id']}},_0x3ec675={};_0x3ec675[_0x3b4d('0x34')]=_[_0x3b4d('0x31')](db[_0x3b4d('0x2c')][_0x3b4d('0x2d')]);_0x3ec675[_0x3b4d('0x30')]=_[_0x3b4d('0x31')](_0x2502fe[_0x3b4d('0x30')]);_0x3ec675['filters']=_[_0x3b4d('0x32')](_0x3ec675[_0x3b4d('0x34')],_0x3ec675['query']);_0x6ec960[_0x3b4d('0x33')]=_[_0x3b4d('0x32')](_0x3ec675[_0x3b4d('0x34')],qs[_0x3b4d('0x35')](_0x2502fe[_0x3b4d('0x30')][_0x3b4d('0x35')]));_0x6ec960[_0x3b4d('0x33')]=_0x6ec960[_0x3b4d('0x33')][_0x3b4d('0x36')]?_0x6ec960[_0x3b4d('0x33')]:_0x3ec675[_0x3b4d('0x34')];if(_0x2502fe[_0x3b4d('0x30')][_0x3b4d('0x48')]){_0x6ec960['include']=[{'all':!![]}];}_0x6ec960=_[_0x3b4d('0x3e')]({},_0x6ec960,_0x2502fe['options']);return db['SugarcrmField'][_0x3b4d('0x49')](_0x6ec960)[_0x3b4d('0x24')](handleEntityNotFound(_0x12a921,null))['then'](respondWithResult(_0x12a921,null))['catch'](handleError(_0x12a921,null));};exports[_0x3b4d('0x4a')]=function(_0xb3c22a,_0x469ef2){return db[_0x3b4d('0x2c')][_0x3b4d('0x4a')](_0xb3c22a[_0x3b4d('0x4b')],{})['then'](respondWithResult(_0x469ef2,0xc9))[_0x3b4d('0x45')](handleError(_0x469ef2,null));};exports[_0x3b4d('0x23')]=function(_0x169dec,_0x5bc7fd){if(_0x169dec[_0x3b4d('0x4b')]['id']){delete _0x169dec[_0x3b4d('0x4b')]['id'];}return db[_0x3b4d('0x2c')][_0x3b4d('0x49')]({'where':{'id':_0x169dec['params']['id']}})[_0x3b4d('0x24')](handleEntityNotFound(_0x5bc7fd,null))[_0x3b4d('0x24')](saveUpdates(_0x169dec[_0x3b4d('0x4b')],null))[_0x3b4d('0x24')](respondWithResult(_0x5bc7fd,null))[_0x3b4d('0x45')](handleError(_0x5bc7fd,null));};exports[_0x3b4d('0x25')]=function(_0x2ed60c,_0x3c5cce){return db[_0x3b4d('0x2c')][_0x3b4d('0x49')]({'where':{'id':_0x2ed60c[_0x3b4d('0x47')]['id']}})['then'](handleEntityNotFound(_0x3c5cce,null))[_0x3b4d('0x24')](removeEntity(_0x3c5cce,null))[_0x3b4d('0x45')](handleError(_0x3c5cce,null));};