7712bd261eea3bc50b506979884dba9f08762757
[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 _0x4977=['create','body','update','find','destroy','eml-format','rimraf','request-promise','moment','mustache','util','path','sox','to-csv','ejs','lodash','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','end','offset','undefined','limit','set','Content-Range','json','apply','reject','save','then','error','stack','name','map','SugarcrmField','rawAttributes','fieldName','type','model','query','keys','filters','intersection','attributes','fields','length','hasOwnProperty','order','sort','pick','filter','where','merge','count','includeAll','include','catch','show','params'];(function(_0x54abca,_0x105466){var _0x83d195=function(_0x58030e){while(--_0x58030e){_0x54abca['push'](_0x54abca['shift']());}};_0x83d195(++_0x105466);}(_0x4977,0x1b5));var _0x7497=function(_0x18bf49,_0x58d76d){_0x18bf49=_0x18bf49-0x0;var _0x587bf0=_0x4977[_0x18bf49];return _0x587bf0;};'use strict';var emlformat=require(_0x7497('0x0'));var rimraf=require(_0x7497('0x1'));var zipdir=require('zip-dir');var jsonpatch=require('fast-json-patch');var rp=require(_0x7497('0x2'));var moment=require(_0x7497('0x3'));var BPromise=require('bluebird');var Mustache=require(_0x7497('0x4'));var util=require(_0x7497('0x5'));var path=require(_0x7497('0x6'));var sox=require(_0x7497('0x7'));var csv=require(_0x7497('0x8'));var ejs=require(_0x7497('0x9'));var fs=require('fs');var fs_extra=require('fs-extra');var _=require(_0x7497('0xa'));var squel=require('squel');var crypto=require(_0x7497('0xb'));var jsforce=require(_0x7497('0xc'));var deskjs=require(_0x7497('0xd'));var toCsv=require('to-csv');var querystring=require(_0x7497('0xe'));var Papa=require(_0x7497('0xf'));var Redis=require(_0x7497('0x10'));var authService=require('../../components/auth/service');var qs=require('../../components/parsers/qs');var as=require(_0x7497('0x11'));var hardwareService=require(_0x7497('0x12'));var logger=require(_0x7497('0x13'))(_0x7497('0x14'));var utils=require(_0x7497('0x15'));var config=require(_0x7497('0x16'));var licenseUtil=require(_0x7497('0x17'));var db=require(_0x7497('0x18'))['db'];function respondWithStatusCode(_0x2b5f9c,_0x1142b6){_0x1142b6=_0x1142b6||0xcc;return function(_0x395117){if(_0x395117){return _0x2b5f9c[_0x7497('0x19')](_0x1142b6);}return _0x2b5f9c[_0x7497('0x1a')](_0x1142b6)[_0x7497('0x1b')]();};}function respondWithResult(_0x17eb3e,_0x84818f){_0x84818f=_0x84818f||0xc8;return function(_0xced380){if(_0xced380){return _0x17eb3e[_0x7497('0x1a')](_0x84818f)['json'](_0xced380);}};}function respondWithFilteredResult(_0x384278,_0x15fe5b){return function(_0x16b11c){if(_0x16b11c){var _0xb9321e=typeof _0x15fe5b[_0x7497('0x1c')]==='undefined'&&typeof _0x15fe5b['limit']===_0x7497('0x1d');var _0x543d57=_0x16b11c['count'];var _0x245309=_0xb9321e?0x0:_0x15fe5b[_0x7497('0x1c')];var _0x3dc882=_0xb9321e?_0x16b11c['count']:_0x15fe5b[_0x7497('0x1c')]+_0x15fe5b[_0x7497('0x1e')];var _0x5b7043;if(_0x3dc882>=_0x543d57){_0x3dc882=_0x543d57;_0x5b7043=0xc8;}else{_0x5b7043=0xce;}_0x384278[_0x7497('0x1a')](_0x5b7043);return _0x384278[_0x7497('0x1f')](_0x7497('0x20'),_0x245309+'-'+_0x3dc882+'/'+_0x543d57)[_0x7497('0x21')](_0x16b11c);}return null;};}function patchUpdates(_0x391b1b){return function(_0x53be1d){try{jsonpatch[_0x7497('0x22')](_0x53be1d,_0x391b1b,!![]);}catch(_0x224445){return BPromise[_0x7497('0x23')](_0x224445);}return _0x53be1d[_0x7497('0x24')]();};}function saveUpdates(_0x5044eb,_0x2fd8f2){return function(_0x31a28d){if(_0x31a28d){return _0x31a28d['update'](_0x5044eb)[_0x7497('0x25')](function(_0x11edc4){return _0x11edc4;});}return null;};}function removeEntity(_0x22af93,_0x1c6a89){return function(_0x5966ce){if(_0x5966ce){return _0x5966ce['destroy']()[_0x7497('0x25')](function(){_0x22af93[_0x7497('0x1a')](0xcc)[_0x7497('0x1b')]();});}};}function handleEntityNotFound(_0x22d850,_0x182621){return function(_0x154e7b){if(!_0x154e7b){_0x22d850[_0x7497('0x19')](0x194);}return _0x154e7b;};}function handleError(_0x5275e9,_0x41e1ce){_0x41e1ce=_0x41e1ce||0x1f4;return function(_0x390a0d){logger[_0x7497('0x26')](_0x390a0d[_0x7497('0x27')]);if(_0x390a0d[_0x7497('0x28')]){delete _0x390a0d['name'];}_0x5275e9['status'](_0x41e1ce)['send'](_0x390a0d);};}exports['index']=function(_0x352e6f,_0x2c9a23){var _0x1ad097={},_0x1f4f40={},_0x3387e8={'count':0x0,'rows':[]};var _0x21525e=_[_0x7497('0x29')](db[_0x7497('0x2a')][_0x7497('0x2b')],function(_0x20f9c8){return{'name':_0x20f9c8[_0x7497('0x2c')],'type':_0x20f9c8[_0x7497('0x2d')]['key']};});_0x1f4f40[_0x7497('0x2e')]=_[_0x7497('0x29')](_0x21525e,'name');_0x1f4f40[_0x7497('0x2f')]=_[_0x7497('0x30')](_0x352e6f[_0x7497('0x2f')]);_0x1f4f40[_0x7497('0x31')]=_[_0x7497('0x32')](_0x1f4f40['model'],_0x1f4f40['query']);_0x1ad097[_0x7497('0x33')]=_[_0x7497('0x32')](_0x1f4f40['model'],qs[_0x7497('0x34')](_0x352e6f['query']['fields']));_0x1ad097[_0x7497('0x33')]=_0x1ad097[_0x7497('0x33')][_0x7497('0x35')]?_0x1ad097['attributes']:_0x1f4f40[_0x7497('0x2e')];if(!_0x352e6f[_0x7497('0x2f')][_0x7497('0x36')]('nolimit')){_0x1ad097[_0x7497('0x1e')]=qs[_0x7497('0x1e')](_0x352e6f[_0x7497('0x2f')][_0x7497('0x1e')]);_0x1ad097['offset']=qs[_0x7497('0x1c')](_0x352e6f[_0x7497('0x2f')][_0x7497('0x1c')]);}_0x1ad097[_0x7497('0x37')]=qs['sort'](_0x352e6f['query'][_0x7497('0x38')]);_0x1ad097['where']=qs[_0x7497('0x31')](_[_0x7497('0x39')](_0x352e6f['query'],_0x1f4f40[_0x7497('0x31')]),_0x21525e);if(_0x352e6f[_0x7497('0x2f')][_0x7497('0x3a')]){_0x1ad097[_0x7497('0x3b')]=_[_0x7497('0x3c')](_0x1ad097[_0x7497('0x3b')],{'$or':_[_0x7497('0x29')](_0x21525e,function(_0x5364a9){if(_0x5364a9[_0x7497('0x2d')]!=='VIRTUAL'){var _0x13ff17={};_0x13ff17[_0x5364a9[_0x7497('0x28')]]={'$like':'%'+_0x352e6f[_0x7497('0x2f')]['filter']+'%'};return _0x13ff17;}})});}_0x1ad097=_[_0x7497('0x3c')]({},_0x1ad097,_0x352e6f['options']);var _0x584fce={'where':_0x1ad097[_0x7497('0x3b')]};return db[_0x7497('0x2a')][_0x7497('0x3d')](_0x584fce)[_0x7497('0x25')](function(_0x41ac2d){_0x3387e8[_0x7497('0x3d')]=_0x41ac2d;if(_0x352e6f[_0x7497('0x2f')][_0x7497('0x3e')]){_0x1ad097[_0x7497('0x3f')]=[{'all':!![]}];}return db[_0x7497('0x2a')]['findAll'](_0x1ad097);})['then'](function(_0x5c83ad){_0x3387e8['rows']=_0x5c83ad;return _0x3387e8;})['then'](respondWithFilteredResult(_0x2c9a23,_0x1ad097))[_0x7497('0x40')](handleError(_0x2c9a23,null));};exports[_0x7497('0x41')]=function(_0x410ec5,_0x2075a3){var _0x2a8764={'raw':!![],'where':{'id':_0x410ec5[_0x7497('0x42')]['id']}},_0x1604cc={};_0x1604cc[_0x7497('0x2e')]=_['keys'](db[_0x7497('0x2a')][_0x7497('0x2b')]);_0x1604cc[_0x7497('0x2f')]=_['keys'](_0x410ec5[_0x7497('0x2f')]);_0x1604cc[_0x7497('0x31')]=_[_0x7497('0x32')](_0x1604cc[_0x7497('0x2e')],_0x1604cc[_0x7497('0x2f')]);_0x2a8764['attributes']=_['intersection'](_0x1604cc['model'],qs[_0x7497('0x34')](_0x410ec5[_0x7497('0x2f')][_0x7497('0x34')]));_0x2a8764[_0x7497('0x33')]=_0x2a8764['attributes'][_0x7497('0x35')]?_0x2a8764[_0x7497('0x33')]:_0x1604cc['model'];if(_0x410ec5[_0x7497('0x2f')][_0x7497('0x3e')]){_0x2a8764[_0x7497('0x3f')]=[{'all':!![]}];}_0x2a8764=_['merge']({},_0x2a8764,_0x410ec5['options']);return db[_0x7497('0x2a')]['find'](_0x2a8764)[_0x7497('0x25')](handleEntityNotFound(_0x2075a3,null))[_0x7497('0x25')](respondWithResult(_0x2075a3,null))['catch'](handleError(_0x2075a3,null));};exports[_0x7497('0x43')]=function(_0x53961f,_0x5d5b6e){return db['SugarcrmField'][_0x7497('0x43')](_0x53961f[_0x7497('0x44')],{})[_0x7497('0x25')](respondWithResult(_0x5d5b6e,0xc9))[_0x7497('0x40')](handleError(_0x5d5b6e,null));};exports[_0x7497('0x45')]=function(_0x15d36b,_0x2b12c5){if(_0x15d36b[_0x7497('0x44')]['id']){delete _0x15d36b[_0x7497('0x44')]['id'];}return db[_0x7497('0x2a')][_0x7497('0x46')]({'where':{'id':_0x15d36b[_0x7497('0x42')]['id']}})[_0x7497('0x25')](handleEntityNotFound(_0x2b12c5,null))[_0x7497('0x25')](saveUpdates(_0x15d36b[_0x7497('0x44')],null))[_0x7497('0x25')](respondWithResult(_0x2b12c5,null))[_0x7497('0x40')](handleError(_0x2b12c5,null));};exports[_0x7497('0x47')]=function(_0x40abc9,_0x344575){return db['SugarcrmField'][_0x7497('0x46')]({'where':{'id':_0x40abc9[_0x7497('0x42')]['id']}})[_0x7497('0x25')](handleEntityNotFound(_0x344575,null))[_0x7497('0x25')](removeEntity(_0x344575,null))[_0x7497('0x40')](handleError(_0x344575,null));};