a88324363c5507d50cdeecc9c9d50499243f1830
[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 _0xa3b8=['../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','json','offset','undefined','limit','count','set','Content-Range','apply','reject','save','update','then','destroy','end','error','stack','name','index','map','SugarcrmField','rawAttributes','fieldName','model','query','filters','intersection','fields','attributes','length','hasOwnProperty','order','pick','filter','where','merge','VIRTUAL','options','includeAll','include','findAll','rows','catch','show','params','keys','create','body','find','eml-format','rimraf','request-promise','moment','mustache','util','path','sox','to-csv','ejs','fs-extra','lodash','squel','desk.js','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger'];(function(_0x502279,_0x58b16e){var _0x516e7b=function(_0x926829){while(--_0x926829){_0x502279['push'](_0x502279['shift']());}};_0x516e7b(++_0x58b16e);}(_0xa3b8,0xcc));var _0x8a3b=function(_0x1facfa,_0x1acf7d){_0x1facfa=_0x1facfa-0x0;var _0x9ec701=_0xa3b8[_0x1facfa];return _0x9ec701;};'use strict';var emlformat=require(_0x8a3b('0x0'));var rimraf=require(_0x8a3b('0x1'));var zipdir=require('zip-dir');var jsonpatch=require('fast-json-patch');var rp=require(_0x8a3b('0x2'));var moment=require(_0x8a3b('0x3'));var BPromise=require('bluebird');var Mustache=require(_0x8a3b('0x4'));var util=require(_0x8a3b('0x5'));var path=require(_0x8a3b('0x6'));var sox=require(_0x8a3b('0x7'));var csv=require(_0x8a3b('0x8'));var ejs=require(_0x8a3b('0x9'));var fs=require('fs');var fs_extra=require(_0x8a3b('0xa'));var _=require(_0x8a3b('0xb'));var squel=require(_0x8a3b('0xc'));var crypto=require('crypto');var jsforce=require('jsforce');var deskjs=require(_0x8a3b('0xd'));var toCsv=require(_0x8a3b('0x8'));var querystring=require('querystring');var Papa=require(_0x8a3b('0xe'));var Redis=require(_0x8a3b('0xf'));var authService=require(_0x8a3b('0x10'));var qs=require(_0x8a3b('0x11'));var as=require(_0x8a3b('0x12'));var hardwareService=require(_0x8a3b('0x13'));var logger=require(_0x8a3b('0x14'))('api');var utils=require(_0x8a3b('0x15'));var config=require(_0x8a3b('0x16'));var licenseUtil=require(_0x8a3b('0x17'));var db=require(_0x8a3b('0x18'))['db'];function respondWithStatusCode(_0x323dda,_0x4f8006){_0x4f8006=_0x4f8006||0xcc;return function(_0x4c51ac){if(_0x4c51ac){return _0x323dda[_0x8a3b('0x19')](_0x4f8006);}return _0x323dda[_0x8a3b('0x1a')](_0x4f8006)['end']();};}function respondWithResult(_0x3fdee2,_0x492102){_0x492102=_0x492102||0xc8;return function(_0x1313cb){if(_0x1313cb){return _0x3fdee2[_0x8a3b('0x1a')](_0x492102)[_0x8a3b('0x1b')](_0x1313cb);}};}function respondWithFilteredResult(_0x3755a6,_0x2163e3){return function(_0x1df303){if(_0x1df303){var _0x5d5645=typeof _0x2163e3[_0x8a3b('0x1c')]===_0x8a3b('0x1d')&&typeof _0x2163e3[_0x8a3b('0x1e')]===_0x8a3b('0x1d');var _0x54dcba=_0x1df303['count'];var _0x393566=_0x5d5645?0x0:_0x2163e3[_0x8a3b('0x1c')];var _0x318ead=_0x5d5645?_0x1df303[_0x8a3b('0x1f')]:_0x2163e3[_0x8a3b('0x1c')]+_0x2163e3[_0x8a3b('0x1e')];var _0x1390f5;if(_0x318ead>=_0x54dcba){_0x318ead=_0x54dcba;_0x1390f5=0xc8;}else{_0x1390f5=0xce;}_0x3755a6[_0x8a3b('0x1a')](_0x1390f5);return _0x3755a6[_0x8a3b('0x20')](_0x8a3b('0x21'),_0x393566+'-'+_0x318ead+'/'+_0x54dcba)[_0x8a3b('0x1b')](_0x1df303);}return null;};}function patchUpdates(_0x33c889){return function(_0x4e92d5){try{jsonpatch[_0x8a3b('0x22')](_0x4e92d5,_0x33c889,!![]);}catch(_0x5bda7e){return BPromise[_0x8a3b('0x23')](_0x5bda7e);}return _0x4e92d5[_0x8a3b('0x24')]();};}function saveUpdates(_0x2eaca5,_0x368b63){return function(_0x3b2272){if(_0x3b2272){return _0x3b2272[_0x8a3b('0x25')](_0x2eaca5)[_0x8a3b('0x26')](function(_0x4aa16e){return _0x4aa16e;});}return null;};}function removeEntity(_0x216567,_0x596e13){return function(_0x6e85af){if(_0x6e85af){return _0x6e85af[_0x8a3b('0x27')]()[_0x8a3b('0x26')](function(){_0x216567['status'](0xcc)[_0x8a3b('0x28')]();});}};}function handleEntityNotFound(_0x2df7fb,_0x2dff1a){return function(_0x3928ed){if(!_0x3928ed){_0x2df7fb[_0x8a3b('0x19')](0x194);}return _0x3928ed;};}function handleError(_0x4dcaa2,_0x5641dd){_0x5641dd=_0x5641dd||0x1f4;return function(_0xefb4d6){logger[_0x8a3b('0x29')](_0xefb4d6[_0x8a3b('0x2a')]);if(_0xefb4d6[_0x8a3b('0x2b')]){delete _0xefb4d6[_0x8a3b('0x2b')];}_0x4dcaa2['status'](_0x5641dd)['send'](_0xefb4d6);};}exports[_0x8a3b('0x2c')]=function(_0xab251f,_0x5a3331){var _0x22c3b8={},_0x55f305={},_0x4b422c={'count':0x0,'rows':[]};var _0x190d54=_[_0x8a3b('0x2d')](db[_0x8a3b('0x2e')][_0x8a3b('0x2f')],function(_0x446a14){return{'name':_0x446a14[_0x8a3b('0x30')],'type':_0x446a14['type']['key']};});_0x55f305[_0x8a3b('0x31')]=_[_0x8a3b('0x2d')](_0x190d54,_0x8a3b('0x2b'));_0x55f305[_0x8a3b('0x32')]=_['keys'](_0xab251f['query']);_0x55f305[_0x8a3b('0x33')]=_[_0x8a3b('0x34')](_0x55f305[_0x8a3b('0x31')],_0x55f305[_0x8a3b('0x32')]);_0x22c3b8['attributes']=_['intersection'](_0x55f305[_0x8a3b('0x31')],qs[_0x8a3b('0x35')](_0xab251f[_0x8a3b('0x32')]['fields']));_0x22c3b8['attributes']=_0x22c3b8[_0x8a3b('0x36')][_0x8a3b('0x37')]?_0x22c3b8['attributes']:_0x55f305['model'];if(!_0xab251f['query'][_0x8a3b('0x38')]('nolimit')){_0x22c3b8['limit']=qs[_0x8a3b('0x1e')](_0xab251f[_0x8a3b('0x32')][_0x8a3b('0x1e')]);_0x22c3b8[_0x8a3b('0x1c')]=qs[_0x8a3b('0x1c')](_0xab251f[_0x8a3b('0x32')][_0x8a3b('0x1c')]);}_0x22c3b8[_0x8a3b('0x39')]=qs['sort'](_0xab251f[_0x8a3b('0x32')]['sort']);_0x22c3b8['where']=qs[_0x8a3b('0x33')](_[_0x8a3b('0x3a')](_0xab251f['query'],_0x55f305[_0x8a3b('0x33')]),_0x190d54);if(_0xab251f[_0x8a3b('0x32')][_0x8a3b('0x3b')]){_0x22c3b8[_0x8a3b('0x3c')]=_[_0x8a3b('0x3d')](_0x22c3b8['where'],{'$or':_[_0x8a3b('0x2d')](_0x190d54,function(_0x1e33e2){if(_0x1e33e2['type']!==_0x8a3b('0x3e')){var _0x1bfa70={};_0x1bfa70[_0x1e33e2['name']]={'$like':'%'+_0xab251f[_0x8a3b('0x32')][_0x8a3b('0x3b')]+'%'};return _0x1bfa70;}})});}_0x22c3b8=_[_0x8a3b('0x3d')]({},_0x22c3b8,_0xab251f[_0x8a3b('0x3f')]);var _0x2b0274={'where':_0x22c3b8[_0x8a3b('0x3c')]};return db[_0x8a3b('0x2e')][_0x8a3b('0x1f')](_0x2b0274)[_0x8a3b('0x26')](function(_0x1ff24d){_0x4b422c['count']=_0x1ff24d;if(_0xab251f[_0x8a3b('0x32')][_0x8a3b('0x40')]){_0x22c3b8[_0x8a3b('0x41')]=[{'all':!![]}];}return db[_0x8a3b('0x2e')][_0x8a3b('0x42')](_0x22c3b8);})[_0x8a3b('0x26')](function(_0x52103f){_0x4b422c[_0x8a3b('0x43')]=_0x52103f;return _0x4b422c;})[_0x8a3b('0x26')](respondWithFilteredResult(_0x5a3331,_0x22c3b8))[_0x8a3b('0x44')](handleError(_0x5a3331,null));};exports[_0x8a3b('0x45')]=function(_0x4d5e59,_0xbec4bf){var _0x495cce={'raw':!![],'where':{'id':_0x4d5e59[_0x8a3b('0x46')]['id']}},_0x5b7b02={};_0x5b7b02[_0x8a3b('0x31')]=_['keys'](db['SugarcrmField']['rawAttributes']);_0x5b7b02[_0x8a3b('0x32')]=_[_0x8a3b('0x47')](_0x4d5e59[_0x8a3b('0x32')]);_0x5b7b02[_0x8a3b('0x33')]=_[_0x8a3b('0x34')](_0x5b7b02['model'],_0x5b7b02[_0x8a3b('0x32')]);_0x495cce['attributes']=_['intersection'](_0x5b7b02['model'],qs[_0x8a3b('0x35')](_0x4d5e59['query']['fields']));_0x495cce[_0x8a3b('0x36')]=_0x495cce['attributes'][_0x8a3b('0x37')]?_0x495cce[_0x8a3b('0x36')]:_0x5b7b02['model'];if(_0x4d5e59[_0x8a3b('0x32')][_0x8a3b('0x40')]){_0x495cce[_0x8a3b('0x41')]=[{'all':!![]}];}_0x495cce=_[_0x8a3b('0x3d')]({},_0x495cce,_0x4d5e59[_0x8a3b('0x3f')]);return db[_0x8a3b('0x2e')]['find'](_0x495cce)['then'](handleEntityNotFound(_0xbec4bf,null))['then'](respondWithResult(_0xbec4bf,null))['catch'](handleError(_0xbec4bf,null));};exports[_0x8a3b('0x48')]=function(_0x5f4374,_0x2acece){return db[_0x8a3b('0x2e')][_0x8a3b('0x48')](_0x5f4374[_0x8a3b('0x49')],{})[_0x8a3b('0x26')](respondWithResult(_0x2acece,0xc9))[_0x8a3b('0x44')](handleError(_0x2acece,null));};exports[_0x8a3b('0x25')]=function(_0x15c347,_0x2a41d1){if(_0x15c347['body']['id']){delete _0x15c347[_0x8a3b('0x49')]['id'];}return db[_0x8a3b('0x2e')]['find']({'where':{'id':_0x15c347[_0x8a3b('0x46')]['id']}})[_0x8a3b('0x26')](handleEntityNotFound(_0x2a41d1,null))[_0x8a3b('0x26')](saveUpdates(_0x15c347[_0x8a3b('0x49')],null))['then'](respondWithResult(_0x2a41d1,null))[_0x8a3b('0x44')](handleError(_0x2a41d1,null));};exports[_0x8a3b('0x27')]=function(_0x1cfd7a,_0x473dca){return db[_0x8a3b('0x2e')][_0x8a3b('0x4a')]({'where':{'id':_0x1cfd7a['params']['id']}})[_0x8a3b('0x26')](handleEntityNotFound(_0x473dca,null))[_0x8a3b('0x26')](removeEntity(_0x473dca,null))[_0x8a3b('0x44')](handleError(_0x473dca,null));};