Built motion from commit 3d3e98f2.|2.6.29
[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 _0x37ac=['VIRTUAL','includeAll','include','rows','catch','show','keys','options','create','body','find','params','eml-format','rimraf','request-promise','moment','bluebird','mustache','util','path','to-csv','fs-extra','squel','crypto','jsforce','desk.js','querystring','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/logger','api','../../config/utils','../../config/license/util','../../mysqldb','sendStatus','end','status','json','offset','limit','undefined','count','set','Content-Range','apply','reject','save','update','then','destroy','error','name','index','map','SugarcrmField','rawAttributes','type','intersection','model','query','attributes','fields','length','nolimit','order','sort','filters','pick','filter','where','merge'];(function(_0x502c7d,_0x2f1285){var _0x30b7ed=function(_0x2d92f3){while(--_0x2d92f3){_0x502c7d['push'](_0x502c7d['shift']());}};_0x30b7ed(++_0x2f1285);}(_0x37ac,0x179));var _0xc37a=function(_0x5c44c9,_0x1bb863){_0x5c44c9=_0x5c44c9-0x0;var _0x512bf0=_0x37ac[_0x5c44c9];return _0x512bf0;};'use strict';var emlformat=require(_0xc37a('0x0'));var rimraf=require(_0xc37a('0x1'));var zipdir=require('zip-dir');var jsonpatch=require('fast-json-patch');var rp=require(_0xc37a('0x2'));var moment=require(_0xc37a('0x3'));var BPromise=require(_0xc37a('0x4'));var Mustache=require(_0xc37a('0x5'));var util=require(_0xc37a('0x6'));var path=require(_0xc37a('0x7'));var sox=require('sox');var csv=require(_0xc37a('0x8'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require(_0xc37a('0x9'));var _=require('lodash');var squel=require(_0xc37a('0xa'));var crypto=require(_0xc37a('0xb'));var jsforce=require(_0xc37a('0xc'));var deskjs=require(_0xc37a('0xd'));var toCsv=require(_0xc37a('0x8'));var querystring=require(_0xc37a('0xe'));var Papa=require('papaparse');var Redis=require(_0xc37a('0xf'));var authService=require(_0xc37a('0x10'));var qs=require(_0xc37a('0x11'));var as=require(_0xc37a('0x12'));var hardwareService=require('../../config/license/hardware');var logger=require(_0xc37a('0x13'))(_0xc37a('0x14'));var utils=require(_0xc37a('0x15'));var config=require('../../config/environment');var licenseUtil=require(_0xc37a('0x16'));var db=require(_0xc37a('0x17'))['db'];function respondWithStatusCode(_0x34a631,_0x4e4264){_0x4e4264=_0x4e4264||0xcc;return function(_0x2c2884){if(_0x2c2884){return _0x34a631[_0xc37a('0x18')](_0x4e4264);}return _0x34a631['status'](_0x4e4264)[_0xc37a('0x19')]();};}function respondWithResult(_0x40b47b,_0x47b61f){_0x47b61f=_0x47b61f||0xc8;return function(_0x3e4842){if(_0x3e4842){return _0x40b47b[_0xc37a('0x1a')](_0x47b61f)[_0xc37a('0x1b')](_0x3e4842);}};}function respondWithFilteredResult(_0x48f143,_0x48940e){return function(_0x33ae8){if(_0x33ae8){var _0x2e38da=typeof _0x48940e[_0xc37a('0x1c')]==='undefined'&&typeof _0x48940e[_0xc37a('0x1d')]===_0xc37a('0x1e');var _0x4a7b7a=_0x33ae8[_0xc37a('0x1f')];var _0x114748=_0x2e38da?0x0:_0x48940e[_0xc37a('0x1c')];var _0x321e2e=_0x2e38da?_0x33ae8[_0xc37a('0x1f')]:_0x48940e[_0xc37a('0x1c')]+_0x48940e[_0xc37a('0x1d')];var _0x727e95;if(_0x321e2e>=_0x4a7b7a){_0x321e2e=_0x4a7b7a;_0x727e95=0xc8;}else{_0x727e95=0xce;}_0x48f143['status'](_0x727e95);return _0x48f143[_0xc37a('0x20')](_0xc37a('0x21'),_0x114748+'-'+_0x321e2e+'/'+_0x4a7b7a)['json'](_0x33ae8);}return null;};}function patchUpdates(_0x2b1c49){return function(_0x40d91c){try{jsonpatch[_0xc37a('0x22')](_0x40d91c,_0x2b1c49,!![]);}catch(_0x34bde0){return BPromise[_0xc37a('0x23')](_0x34bde0);}return _0x40d91c[_0xc37a('0x24')]();};}function saveUpdates(_0xb60cad,_0x15abd8){return function(_0x2795d7){if(_0x2795d7){return _0x2795d7[_0xc37a('0x25')](_0xb60cad)[_0xc37a('0x26')](function(_0x1071dc){return _0x1071dc;});}return null;};}function removeEntity(_0x299209,_0x142a85){return function(_0x2d3c1b){if(_0x2d3c1b){return _0x2d3c1b[_0xc37a('0x27')]()[_0xc37a('0x26')](function(){_0x299209[_0xc37a('0x1a')](0xcc)[_0xc37a('0x19')]();});}};}function handleEntityNotFound(_0x34ce1a,_0x1ade8e){return function(_0x5e5d5a){if(!_0x5e5d5a){_0x34ce1a[_0xc37a('0x18')](0x194);}return _0x5e5d5a;};}function handleError(_0x3ee335,_0x1fa84c){_0x1fa84c=_0x1fa84c||0x1f4;return function(_0x4dce7d){logger[_0xc37a('0x28')](_0x4dce7d['stack']);if(_0x4dce7d[_0xc37a('0x29')]){delete _0x4dce7d['name'];}_0x3ee335[_0xc37a('0x1a')](_0x1fa84c)['send'](_0x4dce7d);};}exports[_0xc37a('0x2a')]=function(_0xbe47e4,_0x1dcc9b){var _0x3e9c91={},_0x27c895={},_0x2e5096={'count':0x0,'rows':[]};var _0x3db6fa=_[_0xc37a('0x2b')](db[_0xc37a('0x2c')][_0xc37a('0x2d')],function(_0x381dc8){return{'name':_0x381dc8['fieldName'],'type':_0x381dc8[_0xc37a('0x2e')]['key']};});_0x27c895['model']=_[_0xc37a('0x2b')](_0x3db6fa,_0xc37a('0x29'));_0x27c895['query']=_['keys'](_0xbe47e4['query']);_0x27c895['filters']=_[_0xc37a('0x2f')](_0x27c895[_0xc37a('0x30')],_0x27c895[_0xc37a('0x31')]);_0x3e9c91[_0xc37a('0x32')]=_[_0xc37a('0x2f')](_0x27c895[_0xc37a('0x30')],qs[_0xc37a('0x33')](_0xbe47e4[_0xc37a('0x31')][_0xc37a('0x33')]));_0x3e9c91[_0xc37a('0x32')]=_0x3e9c91[_0xc37a('0x32')][_0xc37a('0x34')]?_0x3e9c91['attributes']:_0x27c895[_0xc37a('0x30')];if(!_0xbe47e4['query']['hasOwnProperty'](_0xc37a('0x35'))){_0x3e9c91['limit']=qs[_0xc37a('0x1d')](_0xbe47e4[_0xc37a('0x31')][_0xc37a('0x1d')]);_0x3e9c91[_0xc37a('0x1c')]=qs[_0xc37a('0x1c')](_0xbe47e4['query'][_0xc37a('0x1c')]);}_0x3e9c91[_0xc37a('0x36')]=qs[_0xc37a('0x37')](_0xbe47e4[_0xc37a('0x31')][_0xc37a('0x37')]);_0x3e9c91['where']=qs[_0xc37a('0x38')](_[_0xc37a('0x39')](_0xbe47e4['query'],_0x27c895['filters']),_0x3db6fa);if(_0xbe47e4['query'][_0xc37a('0x3a')]){_0x3e9c91[_0xc37a('0x3b')]=_[_0xc37a('0x3c')](_0x3e9c91[_0xc37a('0x3b')],{'$or':_[_0xc37a('0x2b')](_0x3db6fa,function(_0x4fb990){if(_0x4fb990[_0xc37a('0x2e')]!==_0xc37a('0x3d')){var _0x5f5a45={};_0x5f5a45[_0x4fb990[_0xc37a('0x29')]]={'$like':'%'+_0xbe47e4[_0xc37a('0x31')][_0xc37a('0x3a')]+'%'};return _0x5f5a45;}})});}_0x3e9c91=_[_0xc37a('0x3c')]({},_0x3e9c91,_0xbe47e4['options']);var _0x4bcb98={'where':_0x3e9c91[_0xc37a('0x3b')]};return db[_0xc37a('0x2c')][_0xc37a('0x1f')](_0x4bcb98)['then'](function(_0x4335c2){_0x2e5096['count']=_0x4335c2;if(_0xbe47e4[_0xc37a('0x31')][_0xc37a('0x3e')]){_0x3e9c91[_0xc37a('0x3f')]=[{'all':!![]}];}return db[_0xc37a('0x2c')]['findAll'](_0x3e9c91);})[_0xc37a('0x26')](function(_0x31a777){_0x2e5096[_0xc37a('0x40')]=_0x31a777;return _0x2e5096;})['then'](respondWithFilteredResult(_0x1dcc9b,_0x3e9c91))[_0xc37a('0x41')](handleError(_0x1dcc9b,null));};exports[_0xc37a('0x42')]=function(_0x57be37,_0x4cbfe8){var _0x5c4f35={'raw':!![],'where':{'id':_0x57be37['params']['id']}},_0x1f7cf4={};_0x1f7cf4[_0xc37a('0x30')]=_['keys'](db['SugarcrmField'][_0xc37a('0x2d')]);_0x1f7cf4[_0xc37a('0x31')]=_[_0xc37a('0x43')](_0x57be37[_0xc37a('0x31')]);_0x1f7cf4[_0xc37a('0x38')]=_[_0xc37a('0x2f')](_0x1f7cf4[_0xc37a('0x30')],_0x1f7cf4[_0xc37a('0x31')]);_0x5c4f35[_0xc37a('0x32')]=_[_0xc37a('0x2f')](_0x1f7cf4[_0xc37a('0x30')],qs[_0xc37a('0x33')](_0x57be37[_0xc37a('0x31')][_0xc37a('0x33')]));_0x5c4f35['attributes']=_0x5c4f35[_0xc37a('0x32')][_0xc37a('0x34')]?_0x5c4f35[_0xc37a('0x32')]:_0x1f7cf4[_0xc37a('0x30')];if(_0x57be37[_0xc37a('0x31')]['includeAll']){_0x5c4f35[_0xc37a('0x3f')]=[{'all':!![]}];}_0x5c4f35=_[_0xc37a('0x3c')]({},_0x5c4f35,_0x57be37[_0xc37a('0x44')]);return db['SugarcrmField']['find'](_0x5c4f35)['then'](handleEntityNotFound(_0x4cbfe8,null))[_0xc37a('0x26')](respondWithResult(_0x4cbfe8,null))[_0xc37a('0x41')](handleError(_0x4cbfe8,null));};exports[_0xc37a('0x45')]=function(_0x2056c8,_0x40e1be){return db[_0xc37a('0x2c')]['create'](_0x2056c8[_0xc37a('0x46')],{})[_0xc37a('0x26')](respondWithResult(_0x40e1be,0xc9))[_0xc37a('0x41')](handleError(_0x40e1be,null));};exports[_0xc37a('0x25')]=function(_0x1a0157,_0x2d13ac){if(_0x1a0157[_0xc37a('0x46')]['id']){delete _0x1a0157[_0xc37a('0x46')]['id'];}return db['SugarcrmField'][_0xc37a('0x47')]({'where':{'id':_0x1a0157[_0xc37a('0x48')]['id']}})[_0xc37a('0x26')](handleEntityNotFound(_0x2d13ac,null))['then'](saveUpdates(_0x1a0157[_0xc37a('0x46')],null))[_0xc37a('0x26')](respondWithResult(_0x2d13ac,null))[_0xc37a('0x41')](handleError(_0x2d13ac,null));};exports[_0xc37a('0x27')]=function(_0x40caab,_0x49c858){return db[_0xc37a('0x2c')]['find']({'where':{'id':_0x40caab[_0xc37a('0x48')]['id']}})[_0xc37a('0x26')](handleEntityNotFound(_0x49c858,null))['then'](removeEntity(_0x49c858,null))[_0xc37a('0x41')](handleError(_0x49c858,null));};