5cb63b7726a3ca111f7ff9f6d65f182f6547582c
[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 _0x4f5e=['limit','sort','pick','filter','where','merge','VIRTUAL','options','includeAll','include','findAll','rows','show','params','catch','create','body','find','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','path','sox','to-csv','ejs','lodash','desk.js','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../config/license/hardware','api','../../config/utils','../../config/environment','status','end','count','offset','set','Content-Range','json','update','then','destroy','sendStatus','error','stack','name','send','index','map','SugarcrmField','rawAttributes','type','key','model','keys','filters','intersection','attributes','fields','query','length','hasOwnProperty'];(function(_0x3dd15e,_0x1f0015){var _0x231fd0=function(_0x4f680a){while(--_0x4f680a){_0x3dd15e['push'](_0x3dd15e['shift']());}};_0x231fd0(++_0x1f0015);}(_0x4f5e,0x16b));var _0xe4f5=function(_0x2c4ef1,_0x1efcc9){_0x2c4ef1=_0x2c4ef1-0x0;var _0x55e3a4=_0x4f5e[_0x2c4ef1];return _0x55e3a4;};'use strict';var pdf=require('html-pdf');var emlformat=require('eml-format');var rimraf=require(_0xe4f5('0x0'));var zipdir=require(_0xe4f5('0x1'));var jsonpatch=require(_0xe4f5('0x2'));var rp=require(_0xe4f5('0x3'));var moment=require(_0xe4f5('0x4'));var BPromise=require(_0xe4f5('0x5'));var Mustache=require(_0xe4f5('0x6'));var util=require('util');var path=require(_0xe4f5('0x7'));var sox=require(_0xe4f5('0x8'));var csv=require(_0xe4f5('0x9'));var ejs=require(_0xe4f5('0xa'));var fs=require('fs');var _=require(_0xe4f5('0xb'));var squel=require('squel');var crypto=require('crypto');var jsforce=require('jsforce');var deskjs=require(_0xe4f5('0xc'));var toCsv=require(_0xe4f5('0x9'));var querystring=require('querystring');var Papa=require(_0xe4f5('0xd'));var Redis=require(_0xe4f5('0xe'));var authService=require(_0xe4f5('0xf'));var qs=require(_0xe4f5('0x10'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0xe4f5('0x11'));var logger=require('../../config/logger')(_0xe4f5('0x12'));var utils=require(_0xe4f5('0x13'));var config=require(_0xe4f5('0x14'));var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x1036d3,_0xed7321){_0xed7321=_0xed7321||0xcc;return function(_0x5ae826){if(_0x5ae826){return _0x1036d3['sendStatus'](_0xed7321);}return _0x1036d3[_0xe4f5('0x15')](_0xed7321)[_0xe4f5('0x16')]();};}function respondWithResult(_0x43d384,_0xec8483){_0xec8483=_0xec8483||0xc8;return function(_0x40a125){if(_0x40a125){return _0x43d384[_0xe4f5('0x15')](_0xec8483)['json'](_0x40a125);}};}function respondWithFilteredResult(_0x27f7d1,_0x3b4aa4){return function(_0x550895){if(_0x550895){var _0x38e23a=_0x550895[_0xe4f5('0x17')],_0x3ab1a9=_0x3b4aa4[_0xe4f5('0x18')],_0x1be321=_0x3b4aa4[_0xe4f5('0x18')]+_0x3b4aa4['limit'],_0x55376e;if(_0x1be321>=_0x38e23a){_0x1be321=_0x38e23a;_0x55376e=0xc8;}else{_0x55376e=0xce;}_0x27f7d1[_0xe4f5('0x15')](_0x55376e);return _0x27f7d1[_0xe4f5('0x19')](_0xe4f5('0x1a'),_0x3ab1a9+'-'+_0x1be321+'/'+_0x38e23a)[_0xe4f5('0x1b')](_0x550895);}return null;};}function patchUpdates(_0x448bbf){return function(_0x501cc7){try{jsonpatch['apply'](_0x501cc7,_0x448bbf,!![]);}catch(_0x554f1f){return BPromise['reject'](_0x554f1f);}return _0x501cc7['save']();};}function saveUpdates(_0x2e2604,_0x5cc7f7){return function(_0x55ae8a){if(_0x55ae8a){return _0x55ae8a[_0xe4f5('0x1c')](_0x2e2604)[_0xe4f5('0x1d')](function(_0x191191){return _0x191191;});}return null;};}function removeEntity(_0x261aef,_0x2a46b8){return function(_0x577b38){if(_0x577b38){return _0x577b38[_0xe4f5('0x1e')]()[_0xe4f5('0x1d')](function(){_0x261aef[_0xe4f5('0x15')](0xcc)[_0xe4f5('0x16')]();});}};}function handleEntityNotFound(_0x186bfd,_0x24e690){return function(_0x3ed3cd){if(!_0x3ed3cd){_0x186bfd[_0xe4f5('0x1f')](0x194);}return _0x3ed3cd;};}function handleError(_0x31b987,_0x490bde){_0x490bde=_0x490bde||0x1f4;return function(_0x5212be){logger[_0xe4f5('0x20')](_0x5212be[_0xe4f5('0x21')]);if(_0x5212be['name']){delete _0x5212be[_0xe4f5('0x22')];}_0x31b987[_0xe4f5('0x15')](_0x490bde)[_0xe4f5('0x23')](_0x5212be);};}exports[_0xe4f5('0x24')]=function(_0x59d513,_0x40701c){var _0x386853={},_0xd88f94={},_0x27b74b={'count':0x0,'rows':[]};var _0x4436ff=_[_0xe4f5('0x25')](db[_0xe4f5('0x26')][_0xe4f5('0x27')],function(_0x158c96){return{'name':_0x158c96['fieldName'],'type':_0x158c96[_0xe4f5('0x28')][_0xe4f5('0x29')]};});_0xd88f94[_0xe4f5('0x2a')]=_[_0xe4f5('0x25')](_0x4436ff,_0xe4f5('0x22'));_0xd88f94['query']=_[_0xe4f5('0x2b')](_0x59d513['query']);_0xd88f94[_0xe4f5('0x2c')]=_[_0xe4f5('0x2d')](_0xd88f94['model'],_0xd88f94['query']);_0x386853[_0xe4f5('0x2e')]=_[_0xe4f5('0x2d')](_0xd88f94['model'],qs[_0xe4f5('0x2f')](_0x59d513[_0xe4f5('0x30')]['fields']));_0x386853[_0xe4f5('0x2e')]=_0x386853[_0xe4f5('0x2e')][_0xe4f5('0x31')]?_0x386853[_0xe4f5('0x2e')]:_0xd88f94[_0xe4f5('0x2a')];if(!_0x59d513['query'][_0xe4f5('0x32')]('nolimit')){_0x386853[_0xe4f5('0x33')]=qs[_0xe4f5('0x33')](_0x59d513[_0xe4f5('0x30')][_0xe4f5('0x33')]);_0x386853['offset']=qs['offset'](_0x59d513[_0xe4f5('0x30')][_0xe4f5('0x18')]);}_0x386853['order']=qs[_0xe4f5('0x34')](_0x59d513['query']['sort']);_0x386853['where']=qs['filters'](_[_0xe4f5('0x35')](_0x59d513[_0xe4f5('0x30')],_0xd88f94[_0xe4f5('0x2c')]),_0x4436ff);if(_0x59d513['query'][_0xe4f5('0x36')]){_0x386853[_0xe4f5('0x37')]=_[_0xe4f5('0x38')](_0x386853[_0xe4f5('0x37')],{'$or':_[_0xe4f5('0x25')](_0x4436ff,function(_0x512a03){if(_0x512a03['type']!==_0xe4f5('0x39')){var _0x373dd4={};_0x373dd4[_0x512a03[_0xe4f5('0x22')]]={'$like':'%'+_0x59d513[_0xe4f5('0x30')]['filter']+'%'};return _0x373dd4;}})});}_0x386853=_['merge']({},_0x386853,_0x59d513[_0xe4f5('0x3a')]);var _0x40eeb3={'where':_0x386853[_0xe4f5('0x37')]};return db[_0xe4f5('0x26')][_0xe4f5('0x17')](_0x40eeb3)[_0xe4f5('0x1d')](function(_0x253193){_0x27b74b[_0xe4f5('0x17')]=_0x253193;if(_0x59d513[_0xe4f5('0x30')][_0xe4f5('0x3b')]){_0x386853[_0xe4f5('0x3c')]=[{'all':!![]}];}return db[_0xe4f5('0x26')][_0xe4f5('0x3d')](_0x386853);})[_0xe4f5('0x1d')](function(_0x3a288f){_0x27b74b[_0xe4f5('0x3e')]=_0x3a288f;return _0x27b74b;})[_0xe4f5('0x1d')](respondWithFilteredResult(_0x40701c,_0x386853))['catch'](handleError(_0x40701c,null));};exports[_0xe4f5('0x3f')]=function(_0xb5a6bf,_0x240e05){var _0x39f608={'raw':!![],'where':{'id':_0xb5a6bf[_0xe4f5('0x40')]['id']}},_0xd165b2={};_0xd165b2[_0xe4f5('0x2a')]=_[_0xe4f5('0x2b')](db[_0xe4f5('0x26')][_0xe4f5('0x27')]);_0xd165b2['query']=_[_0xe4f5('0x2b')](_0xb5a6bf[_0xe4f5('0x30')]);_0xd165b2[_0xe4f5('0x2c')]=_[_0xe4f5('0x2d')](_0xd165b2[_0xe4f5('0x2a')],_0xd165b2['query']);_0x39f608[_0xe4f5('0x2e')]=_[_0xe4f5('0x2d')](_0xd165b2['model'],qs['fields'](_0xb5a6bf[_0xe4f5('0x30')][_0xe4f5('0x2f')]));_0x39f608[_0xe4f5('0x2e')]=_0x39f608[_0xe4f5('0x2e')][_0xe4f5('0x31')]?_0x39f608[_0xe4f5('0x2e')]:_0xd165b2[_0xe4f5('0x2a')];if(_0xb5a6bf[_0xe4f5('0x30')]['includeAll']){_0x39f608['include']=[{'all':!![]}];}_0x39f608=_[_0xe4f5('0x38')]({},_0x39f608,_0xb5a6bf[_0xe4f5('0x3a')]);return db[_0xe4f5('0x26')]['find'](_0x39f608)[_0xe4f5('0x1d')](handleEntityNotFound(_0x240e05,null))[_0xe4f5('0x1d')](respondWithResult(_0x240e05,null))[_0xe4f5('0x41')](handleError(_0x240e05,null));};exports[_0xe4f5('0x42')]=function(_0x40418e,_0x292a72){return db[_0xe4f5('0x26')][_0xe4f5('0x42')](_0x40418e['body'],{})[_0xe4f5('0x1d')](respondWithResult(_0x292a72,0xc9))[_0xe4f5('0x41')](handleError(_0x292a72,null));};exports[_0xe4f5('0x1c')]=function(_0x48b879,_0x90cee5){if(_0x48b879[_0xe4f5('0x43')]['id']){delete _0x48b879[_0xe4f5('0x43')]['id'];}return db[_0xe4f5('0x26')][_0xe4f5('0x44')]({'where':{'id':_0x48b879[_0xe4f5('0x40')]['id']}})[_0xe4f5('0x1d')](handleEntityNotFound(_0x90cee5,null))[_0xe4f5('0x1d')](saveUpdates(_0x48b879['body'],null))[_0xe4f5('0x1d')](respondWithResult(_0x90cee5,null))['catch'](handleError(_0x90cee5,null));};exports[_0xe4f5('0x1e')]=function(_0x28365e,_0x5075e2){return db[_0xe4f5('0x26')][_0xe4f5('0x44')]({'where':{'id':_0x28365e[_0xe4f5('0x40')]['id']}})[_0xe4f5('0x1d')](handleEntityNotFound(_0x5075e2,null))[_0xe4f5('0x1d')](removeEntity(_0x5075e2,null))[_0xe4f5('0x41')](handleError(_0x5075e2,null));};