Built motion from commit da617fac.|2.6.6
[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 _0x0079=['filter','VIRTUAL','merge','options','includeAll','include','findAll','rows','catch','show','params','length','find','create','body','destroy','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','util','sox','to-csv','fs-extra','lodash','squel','crypto','jsforce','desk.js','querystring','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','status','end','json','undefined','offset','count','limit','set','Content-Range','apply','reject','save','update','then','sendStatus','error','name','send','index','SugarcrmField','rawAttributes','fieldName','type','key','model','map','query','keys','filters','intersection','fields','attributes','hasOwnProperty','nolimit','order','sort','where','pick'];(function(_0x314bab,_0x4a35fb){var _0x2c65fb=function(_0x56ec40){while(--_0x56ec40){_0x314bab['push'](_0x314bab['shift']());}};_0x2c65fb(++_0x4a35fb);}(_0x0079,0x1a0));var _0x9007=function(_0x33126f,_0x22aaf2){_0x33126f=_0x33126f-0x0;var _0x1b6025=_0x0079[_0x33126f];return _0x1b6025;};'use strict';var emlformat=require(_0x9007('0x0'));var rimraf=require(_0x9007('0x1'));var zipdir=require(_0x9007('0x2'));var jsonpatch=require(_0x9007('0x3'));var rp=require(_0x9007('0x4'));var moment=require(_0x9007('0x5'));var BPromise=require(_0x9007('0x6'));var Mustache=require(_0x9007('0x7'));var util=require(_0x9007('0x8'));var path=require('path');var sox=require(_0x9007('0x9'));var csv=require(_0x9007('0xa'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require(_0x9007('0xb'));var _=require(_0x9007('0xc'));var squel=require(_0x9007('0xd'));var crypto=require(_0x9007('0xe'));var jsforce=require(_0x9007('0xf'));var deskjs=require(_0x9007('0x10'));var toCsv=require(_0x9007('0xa'));var querystring=require(_0x9007('0x11'));var Papa=require('papaparse');var Redis=require('ioredis');var authService=require('../../components/auth/service');var qs=require(_0x9007('0x12'));var as=require(_0x9007('0x13'));var hardwareService=require(_0x9007('0x14'));var logger=require('../../config/logger')(_0x9007('0x15'));var utils=require(_0x9007('0x16'));var config=require(_0x9007('0x17'));var licenseUtil=require(_0x9007('0x18'));var db=require(_0x9007('0x19'))['db'];function respondWithStatusCode(_0x54c3bd,_0xfa6cfd){_0xfa6cfd=_0xfa6cfd||0xcc;return function(_0x4f9aab){if(_0x4f9aab){return _0x54c3bd['sendStatus'](_0xfa6cfd);}return _0x54c3bd[_0x9007('0x1a')](_0xfa6cfd)[_0x9007('0x1b')]();};}function respondWithResult(_0x44bba5,_0x4bb933){_0x4bb933=_0x4bb933||0xc8;return function(_0x1edb4e){if(_0x1edb4e){return _0x44bba5[_0x9007('0x1a')](_0x4bb933)[_0x9007('0x1c')](_0x1edb4e);}};}function respondWithFilteredResult(_0x5e6560,_0x297bf9){return function(_0x47ea37){if(_0x47ea37){var _0x4e8e38=typeof _0x297bf9['offset']===_0x9007('0x1d')&&typeof _0x297bf9['limit']===_0x9007('0x1d');var _0x4fe175=_0x47ea37['count'];var _0x27c47f=_0x4e8e38?0x0:_0x297bf9[_0x9007('0x1e')];var _0x2eb5c3=_0x4e8e38?_0x47ea37[_0x9007('0x1f')]:_0x297bf9['offset']+_0x297bf9[_0x9007('0x20')];var _0x2201ca;if(_0x2eb5c3>=_0x4fe175){_0x2eb5c3=_0x4fe175;_0x2201ca=0xc8;}else{_0x2201ca=0xce;}_0x5e6560[_0x9007('0x1a')](_0x2201ca);return _0x5e6560[_0x9007('0x21')](_0x9007('0x22'),_0x27c47f+'-'+_0x2eb5c3+'/'+_0x4fe175)[_0x9007('0x1c')](_0x47ea37);}return null;};}function patchUpdates(_0x55538d){return function(_0x20076a){try{jsonpatch[_0x9007('0x23')](_0x20076a,_0x55538d,!![]);}catch(_0x2453cf){return BPromise[_0x9007('0x24')](_0x2453cf);}return _0x20076a[_0x9007('0x25')]();};}function saveUpdates(_0x5b2140,_0x248c2c){return function(_0x48e596){if(_0x48e596){return _0x48e596[_0x9007('0x26')](_0x5b2140)[_0x9007('0x27')](function(_0x241ff4){return _0x241ff4;});}return null;};}function removeEntity(_0x3b689d,_0x3b41d1){return function(_0x59a4f5){if(_0x59a4f5){return _0x59a4f5['destroy']()[_0x9007('0x27')](function(){_0x3b689d[_0x9007('0x1a')](0xcc)[_0x9007('0x1b')]();});}};}function handleEntityNotFound(_0x3f7800,_0x2f7ad1){return function(_0x485d89){if(!_0x485d89){_0x3f7800[_0x9007('0x28')](0x194);}return _0x485d89;};}function handleError(_0x4027fb,_0x285db5){_0x285db5=_0x285db5||0x1f4;return function(_0x1414d8){logger[_0x9007('0x29')](_0x1414d8['stack']);if(_0x1414d8[_0x9007('0x2a')]){delete _0x1414d8['name'];}_0x4027fb['status'](_0x285db5)[_0x9007('0x2b')](_0x1414d8);};}exports[_0x9007('0x2c')]=function(_0x44b487,_0x609829){var _0x562dc4={},_0xe0628={},_0x43f7a7={'count':0x0,'rows':[]};var _0x5ad2ad=_['map'](db[_0x9007('0x2d')][_0x9007('0x2e')],function(_0x1fde9f){return{'name':_0x1fde9f[_0x9007('0x2f')],'type':_0x1fde9f[_0x9007('0x30')][_0x9007('0x31')]};});_0xe0628[_0x9007('0x32')]=_[_0x9007('0x33')](_0x5ad2ad,'name');_0xe0628[_0x9007('0x34')]=_[_0x9007('0x35')](_0x44b487['query']);_0xe0628[_0x9007('0x36')]=_[_0x9007('0x37')](_0xe0628[_0x9007('0x32')],_0xe0628['query']);_0x562dc4['attributes']=_[_0x9007('0x37')](_0xe0628[_0x9007('0x32')],qs[_0x9007('0x38')](_0x44b487[_0x9007('0x34')]['fields']));_0x562dc4[_0x9007('0x39')]=_0x562dc4[_0x9007('0x39')]['length']?_0x562dc4['attributes']:_0xe0628[_0x9007('0x32')];if(!_0x44b487[_0x9007('0x34')][_0x9007('0x3a')](_0x9007('0x3b'))){_0x562dc4['limit']=qs[_0x9007('0x20')](_0x44b487[_0x9007('0x34')][_0x9007('0x20')]);_0x562dc4[_0x9007('0x1e')]=qs[_0x9007('0x1e')](_0x44b487['query'][_0x9007('0x1e')]);}_0x562dc4[_0x9007('0x3c')]=qs[_0x9007('0x3d')](_0x44b487[_0x9007('0x34')]['sort']);_0x562dc4[_0x9007('0x3e')]=qs[_0x9007('0x36')](_[_0x9007('0x3f')](_0x44b487[_0x9007('0x34')],_0xe0628['filters']),_0x5ad2ad);if(_0x44b487[_0x9007('0x34')][_0x9007('0x40')]){_0x562dc4[_0x9007('0x3e')]=_['merge'](_0x562dc4['where'],{'$or':_[_0x9007('0x33')](_0x5ad2ad,function(_0x33b677){if(_0x33b677[_0x9007('0x30')]!==_0x9007('0x41')){var _0x1e0e39={};_0x1e0e39[_0x33b677[_0x9007('0x2a')]]={'$like':'%'+_0x44b487[_0x9007('0x34')][_0x9007('0x40')]+'%'};return _0x1e0e39;}})});}_0x562dc4=_[_0x9007('0x42')]({},_0x562dc4,_0x44b487[_0x9007('0x43')]);var _0x57ebfa={'where':_0x562dc4[_0x9007('0x3e')]};return db[_0x9007('0x2d')]['count'](_0x57ebfa)[_0x9007('0x27')](function(_0x485f42){_0x43f7a7['count']=_0x485f42;if(_0x44b487[_0x9007('0x34')][_0x9007('0x44')]){_0x562dc4[_0x9007('0x45')]=[{'all':!![]}];}return db[_0x9007('0x2d')][_0x9007('0x46')](_0x562dc4);})['then'](function(_0x304443){_0x43f7a7[_0x9007('0x47')]=_0x304443;return _0x43f7a7;})['then'](respondWithFilteredResult(_0x609829,_0x562dc4))[_0x9007('0x48')](handleError(_0x609829,null));};exports[_0x9007('0x49')]=function(_0x50bd77,_0xf64a06){var _0x2c1bf0={'raw':!![],'where':{'id':_0x50bd77[_0x9007('0x4a')]['id']}},_0x2cecbf={};_0x2cecbf[_0x9007('0x32')]=_[_0x9007('0x35')](db['SugarcrmField']['rawAttributes']);_0x2cecbf['query']=_['keys'](_0x50bd77['query']);_0x2cecbf[_0x9007('0x36')]=_[_0x9007('0x37')](_0x2cecbf[_0x9007('0x32')],_0x2cecbf['query']);_0x2c1bf0[_0x9007('0x39')]=_[_0x9007('0x37')](_0x2cecbf[_0x9007('0x32')],qs[_0x9007('0x38')](_0x50bd77[_0x9007('0x34')]['fields']));_0x2c1bf0[_0x9007('0x39')]=_0x2c1bf0[_0x9007('0x39')][_0x9007('0x4b')]?_0x2c1bf0['attributes']:_0x2cecbf[_0x9007('0x32')];if(_0x50bd77[_0x9007('0x34')][_0x9007('0x44')]){_0x2c1bf0[_0x9007('0x45')]=[{'all':!![]}];}_0x2c1bf0=_[_0x9007('0x42')]({},_0x2c1bf0,_0x50bd77[_0x9007('0x43')]);return db[_0x9007('0x2d')][_0x9007('0x4c')](_0x2c1bf0)['then'](handleEntityNotFound(_0xf64a06,null))['then'](respondWithResult(_0xf64a06,null))[_0x9007('0x48')](handleError(_0xf64a06,null));};exports[_0x9007('0x4d')]=function(_0x7aaa34,_0x3cc5a2){return db['SugarcrmField']['create'](_0x7aaa34[_0x9007('0x4e')],{})[_0x9007('0x27')](respondWithResult(_0x3cc5a2,0xc9))[_0x9007('0x48')](handleError(_0x3cc5a2,null));};exports[_0x9007('0x26')]=function(_0x251c64,_0x1d279e){if(_0x251c64[_0x9007('0x4e')]['id']){delete _0x251c64[_0x9007('0x4e')]['id'];}return db[_0x9007('0x2d')][_0x9007('0x4c')]({'where':{'id':_0x251c64[_0x9007('0x4a')]['id']}})[_0x9007('0x27')](handleEntityNotFound(_0x1d279e,null))[_0x9007('0x27')](saveUpdates(_0x251c64[_0x9007('0x4e')],null))[_0x9007('0x27')](respondWithResult(_0x1d279e,null))[_0x9007('0x48')](handleError(_0x1d279e,null));};exports[_0x9007('0x4f')]=function(_0x53a04f,_0x21aa8e){return db['SugarcrmField']['find']({'where':{'id':_0x53a04f[_0x9007('0x4a')]['id']}})[_0x9007('0x27')](handleEntityNotFound(_0x21aa8e,null))[_0x9007('0x27')](removeEntity(_0x21aa8e,null))[_0x9007('0x48')](handleError(_0x21aa8e,null));};