Built motion from commit 13c3002c.|2.6.9
[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 _0x3fd7=['offset','undefined','limit','count','set','Content-Range','apply','save','update','then','destroy','stack','name','send','map','SugarcrmField','rawAttributes','fieldName','type','key','model','query','keys','filters','attributes','intersection','length','hasOwnProperty','sort','where','filter','VIRTUAL','options','includeAll','include','findAll','rows','show','params','fields','merge','catch','create','body','find','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','util','path','sox','fs-extra','lodash','crypto','to-csv','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../config/logger','../../config/utils','../../config/environment','../../mysqldb','sendStatus','status','end','json'];(function(_0x19950b,_0x53d0d7){var _0x3c6b41=function(_0x3924ad){while(--_0x3924ad){_0x19950b['push'](_0x19950b['shift']());}};_0x3c6b41(++_0x53d0d7);}(_0x3fd7,0x102));var _0x73fd=function(_0x416320,_0x36fb4f){_0x416320=_0x416320-0x0;var _0xfd38ca=_0x3fd7[_0x416320];return _0xfd38ca;};'use strict';var emlformat=require(_0x73fd('0x0'));var rimraf=require(_0x73fd('0x1'));var zipdir=require(_0x73fd('0x2'));var jsonpatch=require(_0x73fd('0x3'));var rp=require(_0x73fd('0x4'));var moment=require(_0x73fd('0x5'));var BPromise=require(_0x73fd('0x6'));var Mustache=require('mustache');var util=require(_0x73fd('0x7'));var path=require(_0x73fd('0x8'));var sox=require(_0x73fd('0x9'));var csv=require('to-csv');var ejs=require('ejs');var fs=require('fs');var fs_extra=require(_0x73fd('0xa'));var _=require(_0x73fd('0xb'));var squel=require('squel');var crypto=require(_0x73fd('0xc'));var jsforce=require('jsforce');var deskjs=require('desk.js');var toCsv=require(_0x73fd('0xd'));var querystring=require('querystring');var Papa=require(_0x73fd('0xe'));var Redis=require(_0x73fd('0xf'));var authService=require(_0x73fd('0x10'));var qs=require(_0x73fd('0x11'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require('../../config/license/hardware');var logger=require(_0x73fd('0x12'))('api');var utils=require(_0x73fd('0x13'));var config=require(_0x73fd('0x14'));var licenseUtil=require('../../config/license/util');var db=require(_0x73fd('0x15'))['db'];function respondWithStatusCode(_0x162163,_0x297e79){_0x297e79=_0x297e79||0xcc;return function(_0x43e77e){if(_0x43e77e){return _0x162163[_0x73fd('0x16')](_0x297e79);}return _0x162163[_0x73fd('0x17')](_0x297e79)[_0x73fd('0x18')]();};}function respondWithResult(_0x2c305a,_0x3a1709){_0x3a1709=_0x3a1709||0xc8;return function(_0x264366){if(_0x264366){return _0x2c305a[_0x73fd('0x17')](_0x3a1709)[_0x73fd('0x19')](_0x264366);}};}function respondWithFilteredResult(_0x5b999b,_0x4596e1){return function(_0x271c04){if(_0x271c04){var _0x200256=typeof _0x4596e1[_0x73fd('0x1a')]===_0x73fd('0x1b')&&typeof _0x4596e1[_0x73fd('0x1c')]===_0x73fd('0x1b');var _0x34436b=_0x271c04[_0x73fd('0x1d')];var _0x2545ce=_0x200256?0x0:_0x4596e1[_0x73fd('0x1a')];var _0x1afed8=_0x200256?_0x271c04['count']:_0x4596e1[_0x73fd('0x1a')]+_0x4596e1[_0x73fd('0x1c')];var _0x349102;if(_0x1afed8>=_0x34436b){_0x1afed8=_0x34436b;_0x349102=0xc8;}else{_0x349102=0xce;}_0x5b999b['status'](_0x349102);return _0x5b999b[_0x73fd('0x1e')](_0x73fd('0x1f'),_0x2545ce+'-'+_0x1afed8+'/'+_0x34436b)[_0x73fd('0x19')](_0x271c04);}return null;};}function patchUpdates(_0x1366cf){return function(_0x22aed4){try{jsonpatch[_0x73fd('0x20')](_0x22aed4,_0x1366cf,!![]);}catch(_0x49b52d){return BPromise['reject'](_0x49b52d);}return _0x22aed4[_0x73fd('0x21')]();};}function saveUpdates(_0x5146dc,_0xc1e32f){return function(_0x41981b){if(_0x41981b){return _0x41981b[_0x73fd('0x22')](_0x5146dc)[_0x73fd('0x23')](function(_0x559a9e){return _0x559a9e;});}return null;};}function removeEntity(_0x2317d9,_0x2832b6){return function(_0x3cd940){if(_0x3cd940){return _0x3cd940[_0x73fd('0x24')]()['then'](function(){_0x2317d9[_0x73fd('0x17')](0xcc)[_0x73fd('0x18')]();});}};}function handleEntityNotFound(_0x24f1a5,_0x5544c0){return function(_0x366d10){if(!_0x366d10){_0x24f1a5[_0x73fd('0x16')](0x194);}return _0x366d10;};}function handleError(_0x58b812,_0x3cc51c){_0x3cc51c=_0x3cc51c||0x1f4;return function(_0x129d19){logger['error'](_0x129d19[_0x73fd('0x25')]);if(_0x129d19[_0x73fd('0x26')]){delete _0x129d19[_0x73fd('0x26')];}_0x58b812['status'](_0x3cc51c)[_0x73fd('0x27')](_0x129d19);};}exports['index']=function(_0x20cdae,_0x3be47e){var _0x5c9718={},_0x37596d={},_0xcb2fc9={'count':0x0,'rows':[]};var _0x50915f=_[_0x73fd('0x28')](db[_0x73fd('0x29')][_0x73fd('0x2a')],function(_0x2ab808){return{'name':_0x2ab808[_0x73fd('0x2b')],'type':_0x2ab808[_0x73fd('0x2c')][_0x73fd('0x2d')]};});_0x37596d[_0x73fd('0x2e')]=_[_0x73fd('0x28')](_0x50915f,_0x73fd('0x26'));_0x37596d[_0x73fd('0x2f')]=_[_0x73fd('0x30')](_0x20cdae[_0x73fd('0x2f')]);_0x37596d[_0x73fd('0x31')]=_['intersection'](_0x37596d['model'],_0x37596d[_0x73fd('0x2f')]);_0x5c9718[_0x73fd('0x32')]=_[_0x73fd('0x33')](_0x37596d['model'],qs['fields'](_0x20cdae['query']['fields']));_0x5c9718[_0x73fd('0x32')]=_0x5c9718[_0x73fd('0x32')][_0x73fd('0x34')]?_0x5c9718[_0x73fd('0x32')]:_0x37596d[_0x73fd('0x2e')];if(!_0x20cdae[_0x73fd('0x2f')][_0x73fd('0x35')]('nolimit')){_0x5c9718['limit']=qs[_0x73fd('0x1c')](_0x20cdae[_0x73fd('0x2f')]['limit']);_0x5c9718['offset']=qs[_0x73fd('0x1a')](_0x20cdae[_0x73fd('0x2f')][_0x73fd('0x1a')]);}_0x5c9718['order']=qs[_0x73fd('0x36')](_0x20cdae[_0x73fd('0x2f')][_0x73fd('0x36')]);_0x5c9718[_0x73fd('0x37')]=qs['filters'](_['pick'](_0x20cdae[_0x73fd('0x2f')],_0x37596d['filters']),_0x50915f);if(_0x20cdae[_0x73fd('0x2f')][_0x73fd('0x38')]){_0x5c9718[_0x73fd('0x37')]=_['merge'](_0x5c9718[_0x73fd('0x37')],{'$or':_['map'](_0x50915f,function(_0x42fc27){if(_0x42fc27[_0x73fd('0x2c')]!==_0x73fd('0x39')){var _0x570155={};_0x570155[_0x42fc27[_0x73fd('0x26')]]={'$like':'%'+_0x20cdae['query']['filter']+'%'};return _0x570155;}})});}_0x5c9718=_['merge']({},_0x5c9718,_0x20cdae[_0x73fd('0x3a')]);var _0x1e78aa={'where':_0x5c9718[_0x73fd('0x37')]};return db[_0x73fd('0x29')][_0x73fd('0x1d')](_0x1e78aa)[_0x73fd('0x23')](function(_0x209a94){_0xcb2fc9[_0x73fd('0x1d')]=_0x209a94;if(_0x20cdae[_0x73fd('0x2f')][_0x73fd('0x3b')]){_0x5c9718[_0x73fd('0x3c')]=[{'all':!![]}];}return db['SugarcrmField'][_0x73fd('0x3d')](_0x5c9718);})[_0x73fd('0x23')](function(_0x3ee56f){_0xcb2fc9[_0x73fd('0x3e')]=_0x3ee56f;return _0xcb2fc9;})[_0x73fd('0x23')](respondWithFilteredResult(_0x3be47e,_0x5c9718))['catch'](handleError(_0x3be47e,null));};exports[_0x73fd('0x3f')]=function(_0x4008df,_0x2b32ad){var _0x5b764e={'raw':!![],'where':{'id':_0x4008df[_0x73fd('0x40')]['id']}},_0x50a57e={};_0x50a57e[_0x73fd('0x2e')]=_[_0x73fd('0x30')](db['SugarcrmField'][_0x73fd('0x2a')]);_0x50a57e['query']=_['keys'](_0x4008df[_0x73fd('0x2f')]);_0x50a57e[_0x73fd('0x31')]=_[_0x73fd('0x33')](_0x50a57e['model'],_0x50a57e['query']);_0x5b764e[_0x73fd('0x32')]=_[_0x73fd('0x33')](_0x50a57e[_0x73fd('0x2e')],qs[_0x73fd('0x41')](_0x4008df[_0x73fd('0x2f')][_0x73fd('0x41')]));_0x5b764e[_0x73fd('0x32')]=_0x5b764e['attributes']['length']?_0x5b764e[_0x73fd('0x32')]:_0x50a57e[_0x73fd('0x2e')];if(_0x4008df[_0x73fd('0x2f')][_0x73fd('0x3b')]){_0x5b764e[_0x73fd('0x3c')]=[{'all':!![]}];}_0x5b764e=_[_0x73fd('0x42')]({},_0x5b764e,_0x4008df[_0x73fd('0x3a')]);return db[_0x73fd('0x29')]['find'](_0x5b764e)[_0x73fd('0x23')](handleEntityNotFound(_0x2b32ad,null))[_0x73fd('0x23')](respondWithResult(_0x2b32ad,null))[_0x73fd('0x43')](handleError(_0x2b32ad,null));};exports['create']=function(_0xb88f32,_0x1e11b1){return db[_0x73fd('0x29')][_0x73fd('0x44')](_0xb88f32['body'],{})[_0x73fd('0x23')](respondWithResult(_0x1e11b1,0xc9))[_0x73fd('0x43')](handleError(_0x1e11b1,null));};exports['update']=function(_0x46bc5f,_0x12da52){if(_0x46bc5f['body']['id']){delete _0x46bc5f[_0x73fd('0x45')]['id'];}return db[_0x73fd('0x29')][_0x73fd('0x46')]({'where':{'id':_0x46bc5f['params']['id']}})['then'](handleEntityNotFound(_0x12da52,null))[_0x73fd('0x23')](saveUpdates(_0x46bc5f['body'],null))['then'](respondWithResult(_0x12da52,null))[_0x73fd('0x43')](handleError(_0x12da52,null));};exports[_0x73fd('0x24')]=function(_0x3c36bc,_0x2b84e7){return db['SugarcrmField'][_0x73fd('0x46')]({'where':{'id':_0x3c36bc[_0x73fd('0x40')]['id']}})[_0x73fd('0x23')](handleEntityNotFound(_0x2b84e7,null))['then'](removeEntity(_0x2b84e7,null))[_0x73fd('0x43')](handleError(_0x2b84e7,null));};