992b222f5eac91ffd12cd3d8b3250e8486c0147f
[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 _0x13bf=['params','length','find','catch','create','body','rimraf','zip-dir','fast-json-patch','bluebird','mustache','path','sox','to-csv','lodash','squel','crypto','jsforce','desk.js','querystring','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','end','offset','undefined','limit','count','set','Content-Range','json','apply','save','update','then','destroy','status','error','stack','send','index','map','SugarcrmField','rawAttributes','fieldName','type','model','query','keys','filters','attributes','intersection','fields','hasOwnProperty','nolimit','order','sort','where','filter','merge','name','options','includeAll','findAll','rows','show'];(function(_0x38a730,_0x2e2b96){var _0x29ee99=function(_0x4ccb4e){while(--_0x4ccb4e){_0x38a730['push'](_0x38a730['shift']());}};_0x29ee99(++_0x2e2b96);}(_0x13bf,0x9a));var _0xf13b=function(_0x3f4683,_0x14102c){_0x3f4683=_0x3f4683-0x0;var _0x24d3c9=_0x13bf[_0x3f4683];return _0x24d3c9;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0xf13b('0x0'));var zipdir=require(_0xf13b('0x1'));var jsonpatch=require(_0xf13b('0x2'));var rp=require('request-promise');var moment=require('moment');var BPromise=require(_0xf13b('0x3'));var Mustache=require(_0xf13b('0x4'));var util=require('util');var path=require(_0xf13b('0x5'));var sox=require(_0xf13b('0x6'));var csv=require(_0xf13b('0x7'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require('fs-extra');var _=require(_0xf13b('0x8'));var squel=require(_0xf13b('0x9'));var crypto=require(_0xf13b('0xa'));var jsforce=require(_0xf13b('0xb'));var deskjs=require(_0xf13b('0xc'));var toCsv=require(_0xf13b('0x7'));var querystring=require(_0xf13b('0xd'));var Papa=require('papaparse');var Redis=require(_0xf13b('0xe'));var authService=require(_0xf13b('0xf'));var qs=require(_0xf13b('0x10'));var as=require(_0xf13b('0x11'));var hardwareService=require(_0xf13b('0x12'));var logger=require(_0xf13b('0x13'))('api');var utils=require(_0xf13b('0x14'));var config=require(_0xf13b('0x15'));var licenseUtil=require(_0xf13b('0x16'));var db=require(_0xf13b('0x17'))['db'];function respondWithStatusCode(_0x2b3bdd,_0x17e32c){_0x17e32c=_0x17e32c||0xcc;return function(_0x58046f){if(_0x58046f){return _0x2b3bdd[_0xf13b('0x18')](_0x17e32c);}return _0x2b3bdd['status'](_0x17e32c)[_0xf13b('0x19')]();};}function respondWithResult(_0x4d7f0c,_0xd435d0){_0xd435d0=_0xd435d0||0xc8;return function(_0xc16067){if(_0xc16067){return _0x4d7f0c['status'](_0xd435d0)['json'](_0xc16067);}};}function respondWithFilteredResult(_0x19e58d,_0x543c87){return function(_0x3fc218){if(_0x3fc218){var _0x2cfad9=typeof _0x543c87[_0xf13b('0x1a')]===_0xf13b('0x1b')&&typeof _0x543c87[_0xf13b('0x1c')]===_0xf13b('0x1b');var _0x28f92f=_0x3fc218['count'];var _0x5d6665=_0x2cfad9?0x0:_0x543c87['offset'];var _0x263188=_0x2cfad9?_0x3fc218[_0xf13b('0x1d')]:_0x543c87[_0xf13b('0x1a')]+_0x543c87['limit'];var _0x2d1dff;if(_0x263188>=_0x28f92f){_0x263188=_0x28f92f;_0x2d1dff=0xc8;}else{_0x2d1dff=0xce;}_0x19e58d['status'](_0x2d1dff);return _0x19e58d[_0xf13b('0x1e')](_0xf13b('0x1f'),_0x5d6665+'-'+_0x263188+'/'+_0x28f92f)[_0xf13b('0x20')](_0x3fc218);}return null;};}function patchUpdates(_0x42f6f6){return function(_0x5d5048){try{jsonpatch[_0xf13b('0x21')](_0x5d5048,_0x42f6f6,!![]);}catch(_0x3f45d8){return BPromise['reject'](_0x3f45d8);}return _0x5d5048[_0xf13b('0x22')]();};}function saveUpdates(_0x2a81d5,_0x1fa8c9){return function(_0x597db5){if(_0x597db5){return _0x597db5[_0xf13b('0x23')](_0x2a81d5)[_0xf13b('0x24')](function(_0x553291){return _0x553291;});}return null;};}function removeEntity(_0x1ae968,_0x3b3562){return function(_0x5e1148){if(_0x5e1148){return _0x5e1148[_0xf13b('0x25')]()[_0xf13b('0x24')](function(){_0x1ae968[_0xf13b('0x26')](0xcc)['end']();});}};}function handleEntityNotFound(_0x3d4f2c,_0x351b45){return function(_0x4d34d0){if(!_0x4d34d0){_0x3d4f2c[_0xf13b('0x18')](0x194);}return _0x4d34d0;};}function handleError(_0x3c7c12,_0x68d414){_0x68d414=_0x68d414||0x1f4;return function(_0x56ccc2){logger[_0xf13b('0x27')](_0x56ccc2[_0xf13b('0x28')]);if(_0x56ccc2['name']){delete _0x56ccc2['name'];}_0x3c7c12[_0xf13b('0x26')](_0x68d414)[_0xf13b('0x29')](_0x56ccc2);};}exports[_0xf13b('0x2a')]=function(_0x3f9236,_0x4b6694){var _0x1b1aff={},_0x2409cd={},_0x2b3ff9={'count':0x0,'rows':[]};var _0x5043a6=_[_0xf13b('0x2b')](db[_0xf13b('0x2c')][_0xf13b('0x2d')],function(_0x466731){return{'name':_0x466731[_0xf13b('0x2e')],'type':_0x466731[_0xf13b('0x2f')]['key']};});_0x2409cd[_0xf13b('0x30')]=_[_0xf13b('0x2b')](_0x5043a6,'name');_0x2409cd[_0xf13b('0x31')]=_[_0xf13b('0x32')](_0x3f9236[_0xf13b('0x31')]);_0x2409cd[_0xf13b('0x33')]=_['intersection'](_0x2409cd[_0xf13b('0x30')],_0x2409cd[_0xf13b('0x31')]);_0x1b1aff[_0xf13b('0x34')]=_[_0xf13b('0x35')](_0x2409cd[_0xf13b('0x30')],qs[_0xf13b('0x36')](_0x3f9236['query'][_0xf13b('0x36')]));_0x1b1aff[_0xf13b('0x34')]=_0x1b1aff[_0xf13b('0x34')]['length']?_0x1b1aff['attributes']:_0x2409cd[_0xf13b('0x30')];if(!_0x3f9236[_0xf13b('0x31')][_0xf13b('0x37')](_0xf13b('0x38'))){_0x1b1aff['limit']=qs['limit'](_0x3f9236[_0xf13b('0x31')][_0xf13b('0x1c')]);_0x1b1aff[_0xf13b('0x1a')]=qs[_0xf13b('0x1a')](_0x3f9236[_0xf13b('0x31')][_0xf13b('0x1a')]);}_0x1b1aff[_0xf13b('0x39')]=qs[_0xf13b('0x3a')](_0x3f9236[_0xf13b('0x31')][_0xf13b('0x3a')]);_0x1b1aff[_0xf13b('0x3b')]=qs['filters'](_['pick'](_0x3f9236[_0xf13b('0x31')],_0x2409cd[_0xf13b('0x33')]),_0x5043a6);if(_0x3f9236[_0xf13b('0x31')][_0xf13b('0x3c')]){_0x1b1aff[_0xf13b('0x3b')]=_[_0xf13b('0x3d')](_0x1b1aff[_0xf13b('0x3b')],{'$or':_[_0xf13b('0x2b')](_0x5043a6,function(_0x76566c){if(_0x76566c[_0xf13b('0x2f')]!=='VIRTUAL'){var _0x421fb0={};_0x421fb0[_0x76566c[_0xf13b('0x3e')]]={'$like':'%'+_0x3f9236[_0xf13b('0x31')]['filter']+'%'};return _0x421fb0;}})});}_0x1b1aff=_['merge']({},_0x1b1aff,_0x3f9236[_0xf13b('0x3f')]);var _0x3e540a={'where':_0x1b1aff[_0xf13b('0x3b')]};return db[_0xf13b('0x2c')][_0xf13b('0x1d')](_0x3e540a)[_0xf13b('0x24')](function(_0x1d66fa){_0x2b3ff9[_0xf13b('0x1d')]=_0x1d66fa;if(_0x3f9236[_0xf13b('0x31')][_0xf13b('0x40')]){_0x1b1aff['include']=[{'all':!![]}];}return db[_0xf13b('0x2c')][_0xf13b('0x41')](_0x1b1aff);})['then'](function(_0x4164d6){_0x2b3ff9[_0xf13b('0x42')]=_0x4164d6;return _0x2b3ff9;})[_0xf13b('0x24')](respondWithFilteredResult(_0x4b6694,_0x1b1aff))['catch'](handleError(_0x4b6694,null));};exports[_0xf13b('0x43')]=function(_0xe2aff3,_0x4d17df){var _0x410306={'raw':!![],'where':{'id':_0xe2aff3[_0xf13b('0x44')]['id']}},_0x5ae862={};_0x5ae862['model']=_['keys'](db[_0xf13b('0x2c')][_0xf13b('0x2d')]);_0x5ae862[_0xf13b('0x31')]=_['keys'](_0xe2aff3[_0xf13b('0x31')]);_0x5ae862['filters']=_['intersection'](_0x5ae862[_0xf13b('0x30')],_0x5ae862[_0xf13b('0x31')]);_0x410306[_0xf13b('0x34')]=_[_0xf13b('0x35')](_0x5ae862['model'],qs[_0xf13b('0x36')](_0xe2aff3[_0xf13b('0x31')]['fields']));_0x410306[_0xf13b('0x34')]=_0x410306[_0xf13b('0x34')][_0xf13b('0x45')]?_0x410306['attributes']:_0x5ae862[_0xf13b('0x30')];if(_0xe2aff3[_0xf13b('0x31')][_0xf13b('0x40')]){_0x410306['include']=[{'all':!![]}];}_0x410306=_[_0xf13b('0x3d')]({},_0x410306,_0xe2aff3[_0xf13b('0x3f')]);return db[_0xf13b('0x2c')][_0xf13b('0x46')](_0x410306)['then'](handleEntityNotFound(_0x4d17df,null))[_0xf13b('0x24')](respondWithResult(_0x4d17df,null))[_0xf13b('0x47')](handleError(_0x4d17df,null));};exports[_0xf13b('0x48')]=function(_0xbc355d,_0x3fcba6){return db[_0xf13b('0x2c')][_0xf13b('0x48')](_0xbc355d[_0xf13b('0x49')],{})['then'](respondWithResult(_0x3fcba6,0xc9))['catch'](handleError(_0x3fcba6,null));};exports[_0xf13b('0x23')]=function(_0x144e8c,_0x1e82ea){if(_0x144e8c[_0xf13b('0x49')]['id']){delete _0x144e8c['body']['id'];}return db[_0xf13b('0x2c')][_0xf13b('0x46')]({'where':{'id':_0x144e8c[_0xf13b('0x44')]['id']}})[_0xf13b('0x24')](handleEntityNotFound(_0x1e82ea,null))[_0xf13b('0x24')](saveUpdates(_0x144e8c['body'],null))[_0xf13b('0x24')](respondWithResult(_0x1e82ea,null))['catch'](handleError(_0x1e82ea,null));};exports['destroy']=function(_0x1c399b,_0x316230){return db[_0xf13b('0x2c')][_0xf13b('0x46')]({'where':{'id':_0x1c399b[_0xf13b('0x44')]['id']}})[_0xf13b('0x24')](handleEntityNotFound(_0x316230,null))[_0xf13b('0x24')](removeEntity(_0x316230,null))[_0xf13b('0x47')](handleError(_0x316230,null));};