f567d8b62bacdd5dd9c4d962c636904286ca2b22
[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 _0x0154=['create','SugarcrmField','body','html-pdf','eml-format','rimraf','request-promise','bluebird','mustache','util','sox','to-csv','squel','crypto','querystring','papaparse','../../components/auth/service','../../components/parsers/qs','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../mysqldb','sendStatus','status','json','count','offset','limit','set','Content-Range','apply','reject','update','then','destroy','end','name','index','rawAttributes','model','keys','query','attributes','intersection','length','nolimit','sort','where','pick','filters','filter','merge','map','type','key','VIRTUAL','field','options','include','findAll','catch','show','params','fields','includeAll','find'];(function(_0x89cbab,_0x4e7a06){var _0x1e83ec=function(_0x1f9912){while(--_0x1f9912){_0x89cbab['push'](_0x89cbab['shift']());}};_0x1e83ec(++_0x4e7a06);}(_0x0154,0xcf));var _0x4015=function(_0x34ab63,_0x1e8b26){_0x34ab63=_0x34ab63-0x0;var _0x240f0c=_0x0154[_0x34ab63];return _0x240f0c;};'use strict';var pdf=require(_0x4015('0x0'));var emlformat=require(_0x4015('0x1'));var rimraf=require(_0x4015('0x2'));var zipdir=require('zip-dir');var jsonpatch=require('fast-json-patch');var rp=require(_0x4015('0x3'));var moment=require('moment');var BPromise=require(_0x4015('0x4'));var Mustache=require(_0x4015('0x5'));var util=require(_0x4015('0x6'));var path=require('path');var sox=require(_0x4015('0x7'));var csv=require(_0x4015('0x8'));var ejs=require('ejs');var fs=require('fs');var _=require('lodash');var squel=require(_0x4015('0x9'));var crypto=require(_0x4015('0xa'));var jsforce=require('jsforce');var deskjs=require('desk.js');var toCsv=require('to-csv');var querystring=require(_0x4015('0xb'));var Papa=require(_0x4015('0xc'));var Redis=require('ioredis');var authService=require(_0x4015('0xd'));var qs=require(_0x4015('0xe'));var hardwareService=require(_0x4015('0xf'));var logger=require(_0x4015('0x10'))(_0x4015('0x11'));var utils=require(_0x4015('0x12'));var config=require(_0x4015('0x13'));var db=require(_0x4015('0x14'))['db'];function respondWithStatusCode(_0x284140,_0x3d2250){_0x3d2250=_0x3d2250||0xcc;return function(_0x5682f7){if(_0x5682f7){return _0x284140[_0x4015('0x15')](_0x3d2250);}return _0x284140[_0x4015('0x16')](_0x3d2250)['end']();};}function respondWithResult(_0x52b85,_0x2606ac){_0x2606ac=_0x2606ac||0xc8;return function(_0x4e4788){if(_0x4e4788){return _0x52b85[_0x4015('0x16')](_0x2606ac)[_0x4015('0x17')](_0x4e4788);}};}function respondWithFilteredResult(_0x49666d,_0x5484b5){return function(_0x4ddfc7){if(_0x4ddfc7){var _0xbd82e0=_0x4ddfc7[_0x4015('0x18')],_0xd862c2=_0x5484b5[_0x4015('0x19')],_0x3ebf97=_0x5484b5['offset']+_0x5484b5[_0x4015('0x1a')],_0x1ee633;if(_0x3ebf97>=_0xbd82e0){_0x3ebf97=_0xbd82e0;_0x1ee633=0xc8;}else{_0x1ee633=0xce;}_0x49666d[_0x4015('0x16')](_0x1ee633);return _0x49666d[_0x4015('0x1b')](_0x4015('0x1c'),_0xd862c2+'-'+_0x3ebf97+'/'+_0xbd82e0)[_0x4015('0x17')](_0x4ddfc7);}return null;};}function patchUpdates(_0x21c296){return function(_0x51404f){try{jsonpatch[_0x4015('0x1d')](_0x51404f,_0x21c296,!![]);}catch(_0x5b53a3){return BPromise[_0x4015('0x1e')](_0x5b53a3);}return _0x51404f['save']();};}function saveUpdates(_0xeeb0cd,_0x62125e){return function(_0x2c6f13){if(_0x2c6f13){return _0x2c6f13[_0x4015('0x1f')](_0xeeb0cd)[_0x4015('0x20')](function(_0x4967e){return _0x4967e;});}return null;};}function removeEntity(_0x5101d6,_0x2d67df){return function(_0x5a6cb3){if(_0x5a6cb3){return _0x5a6cb3[_0x4015('0x21')]()[_0x4015('0x20')](function(){_0x5101d6[_0x4015('0x16')](0xcc)[_0x4015('0x22')]();});}};}function handleEntityNotFound(_0x4e4973,_0x50e37b){return function(_0x3d2505){if(!_0x3d2505){_0x4e4973[_0x4015('0x15')](0x194);}return _0x3d2505;};}function handleError(_0x4330c1,_0x2e9b05){_0x2e9b05=_0x2e9b05||0x1f4;return function(_0x5b059d){logger['error'](_0x5b059d['stack']);if(_0x5b059d[_0x4015('0x23')]){delete _0x5b059d[_0x4015('0x23')];}_0x4330c1[_0x4015('0x16')](_0x2e9b05)['send'](_0x5b059d);};}exports[_0x4015('0x24')]=function(_0x5328c9,_0x289043){var _0x59cd19={},_0x5b4515={},_0x23cacb={'count':0x0,'rows':[]};var _0x18e977=db['SugarcrmField'][_0x4015('0x25')];_0x5b4515[_0x4015('0x26')]=_[_0x4015('0x27')](_0x18e977);_0x5b4515[_0x4015('0x28')]=_[_0x4015('0x27')](_0x5328c9[_0x4015('0x28')]);_0x5b4515['filters']=_['intersection'](_0x5b4515[_0x4015('0x26')],_0x5b4515[_0x4015('0x28')]);_0x59cd19[_0x4015('0x29')]=_[_0x4015('0x2a')](_0x5b4515[_0x4015('0x26')],qs['fields'](_0x5328c9['query']['fields']));_0x59cd19[_0x4015('0x29')]=_0x59cd19[_0x4015('0x29')][_0x4015('0x2b')]?_0x59cd19['attributes']:_0x5b4515[_0x4015('0x26')];if(!_0x5328c9['query']['hasOwnProperty'](_0x4015('0x2c'))){_0x59cd19['limit']=qs[_0x4015('0x1a')](_0x5328c9[_0x4015('0x28')]['limit']);_0x59cd19[_0x4015('0x19')]=qs['offset'](_0x5328c9[_0x4015('0x28')][_0x4015('0x19')]);}_0x59cd19['order']=qs[_0x4015('0x2d')](_0x5328c9[_0x4015('0x28')][_0x4015('0x2d')]);_0x59cd19[_0x4015('0x2e')]=qs['filters'](_[_0x4015('0x2f')](_0x5328c9[_0x4015('0x28')],_0x5b4515[_0x4015('0x30')]));if(_0x5328c9[_0x4015('0x28')][_0x4015('0x31')]){_0x59cd19[_0x4015('0x2e')]=_[_0x4015('0x32')](_0x59cd19[_0x4015('0x2e')],{'$or':_[_0x4015('0x33')](_0x18e977,function(_0x7c5f5){if(_0x7c5f5[_0x4015('0x34')][_0x4015('0x35')]!==_0x4015('0x36')){var _0x370f50={};_0x370f50[_0x7c5f5[_0x4015('0x37')]]={'$like':'%'+_0x5328c9['query'][_0x4015('0x31')]+'%'};return _0x370f50;}})});}_0x59cd19=_[_0x4015('0x32')]({},_0x59cd19,_0x5328c9[_0x4015('0x38')]);var _0x15c98e={'where':_0x59cd19[_0x4015('0x2e')]};return db['SugarcrmField'][_0x4015('0x18')](_0x15c98e)[_0x4015('0x20')](function(_0x45d61b){_0x23cacb[_0x4015('0x18')]=_0x45d61b;if(_0x5328c9[_0x4015('0x28')]['includeAll']){_0x59cd19[_0x4015('0x39')]=[{'all':!![]}];}return db['SugarcrmField'][_0x4015('0x3a')](_0x59cd19);})[_0x4015('0x20')](function(_0xb1ee72){_0x23cacb['rows']=_0xb1ee72;return _0x23cacb;})[_0x4015('0x20')](respondWithFilteredResult(_0x289043,_0x59cd19))[_0x4015('0x3b')](handleError(_0x289043,null));};exports[_0x4015('0x3c')]=function(_0x2f72be,_0x30b04c){var _0x2e7782={'raw':!![],'where':{'id':_0x2f72be[_0x4015('0x3d')]['id']}},_0x5a041c={};_0x5a041c[_0x4015('0x26')]=_[_0x4015('0x27')](db['SugarcrmField'][_0x4015('0x25')]);_0x5a041c[_0x4015('0x28')]=_[_0x4015('0x27')](_0x2f72be['query']);_0x5a041c[_0x4015('0x30')]=_[_0x4015('0x2a')](_0x5a041c[_0x4015('0x26')],_0x5a041c[_0x4015('0x28')]);_0x2e7782[_0x4015('0x29')]=_['intersection'](_0x5a041c['model'],qs[_0x4015('0x3e')](_0x2f72be[_0x4015('0x28')][_0x4015('0x3e')]));_0x2e7782[_0x4015('0x29')]=_0x2e7782[_0x4015('0x29')]['length']?_0x2e7782['attributes']:_0x5a041c['model'];if(_0x2f72be[_0x4015('0x28')][_0x4015('0x3f')]){_0x2e7782[_0x4015('0x39')]=[{'all':!![]}];}_0x2e7782=_[_0x4015('0x32')]({},_0x2e7782,_0x2f72be['options']);return db['SugarcrmField'][_0x4015('0x40')](_0x2e7782)[_0x4015('0x20')](handleEntityNotFound(_0x30b04c,null))['then'](respondWithResult(_0x30b04c,null))[_0x4015('0x3b')](handleError(_0x30b04c,null));};exports[_0x4015('0x41')]=function(_0x35568c,_0x53cf23){return db[_0x4015('0x42')][_0x4015('0x41')](_0x35568c[_0x4015('0x43')],{})[_0x4015('0x20')](respondWithResult(_0x53cf23,0xc9))[_0x4015('0x3b')](handleError(_0x53cf23,null));};exports[_0x4015('0x1f')]=function(_0x307e1b,_0x5f182d){if(_0x307e1b['body']['id']){delete _0x307e1b[_0x4015('0x43')]['id'];}return db[_0x4015('0x42')][_0x4015('0x40')]({'where':{'id':_0x307e1b[_0x4015('0x3d')]['id']}})[_0x4015('0x20')](handleEntityNotFound(_0x5f182d,null))[_0x4015('0x20')](saveUpdates(_0x307e1b[_0x4015('0x43')],null))[_0x4015('0x20')](respondWithResult(_0x5f182d,null))[_0x4015('0x3b')](handleError(_0x5f182d,null));};exports[_0x4015('0x21')]=function(_0x1cbdec,_0x34b4da){return db[_0x4015('0x42')][_0x4015('0x40')]({'where':{'id':_0x1cbdec['params']['id']}})[_0x4015('0x20')](handleEntityNotFound(_0x34b4da,null))[_0x4015('0x20')](removeEntity(_0x34b4da,null))['catch'](handleError(_0x34b4da,null));};