Built motion from commit (unavailable).|2.5.14
[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 _0x277c=['name','send','index','rawAttributes','fieldName','type','key','map','query','keys','filters','model','attributes','intersection','fields','length','hasOwnProperty','nolimit','limit','order','sort','where','pick','VIRTUAL','filter','merge','options','SugarcrmField','count','include','findAll','rows','show','includeAll','find','catch','create','body','params','html-pdf','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','util','to-csv','lodash','crypto','jsforce','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../config/logger','api','../../config/utils','../../config/environment','../../mysqldb','sendStatus','status','offset','set','Content-Range','json','apply','update','then','destroy','end','error','stack'];(function(_0x485aaf,_0x2f55a4){var _0x5c655f=function(_0x26efe4){while(--_0x26efe4){_0x485aaf['push'](_0x485aaf['shift']());}};_0x5c655f(++_0x2f55a4);}(_0x277c,0x153));var _0xc277=function(_0x24ccc4,_0x59822a){_0x24ccc4=_0x24ccc4-0x0;var _0x20afb0=_0x277c[_0x24ccc4];return _0x20afb0;};'use strict';var pdf=require(_0xc277('0x0'));var emlformat=require('eml-format');var rimraf=require(_0xc277('0x1'));var zipdir=require(_0xc277('0x2'));var jsonpatch=require(_0xc277('0x3'));var rp=require(_0xc277('0x4'));var moment=require(_0xc277('0x5'));var BPromise=require(_0xc277('0x6'));var Mustache=require(_0xc277('0x7'));var util=require(_0xc277('0x8'));var path=require('path');var sox=require('sox');var csv=require(_0xc277('0x9'));var ejs=require('ejs');var fs=require('fs');var _=require(_0xc277('0xa'));var squel=require('squel');var crypto=require(_0xc277('0xb'));var jsforce=require(_0xc277('0xc'));var deskjs=require('desk.js');var toCsv=require(_0xc277('0x9'));var querystring=require(_0xc277('0xd'));var Papa=require(_0xc277('0xe'));var Redis=require(_0xc277('0xf'));var authService=require(_0xc277('0x10'));var qs=require(_0xc277('0x11'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require('../../config/license/hardware');var logger=require(_0xc277('0x12'))(_0xc277('0x13'));var utils=require(_0xc277('0x14'));var config=require(_0xc277('0x15'));var licenseUtil=require('../../config/license/util');var db=require(_0xc277('0x16'))['db'];function respondWithStatusCode(_0x4a7700,_0xb6b933){_0xb6b933=_0xb6b933||0xcc;return function(_0x2bba87){if(_0x2bba87){return _0x4a7700[_0xc277('0x17')](_0xb6b933);}return _0x4a7700[_0xc277('0x18')](_0xb6b933)['end']();};}function respondWithResult(_0x222bc8,_0x182d35){_0x182d35=_0x182d35||0xc8;return function(_0x8895bd){if(_0x8895bd){return _0x222bc8['status'](_0x182d35)['json'](_0x8895bd);}};}function respondWithFilteredResult(_0x178e6d,_0x5c212c){return function(_0x46d20c){if(_0x46d20c){var _0x5d73f8=_0x46d20c['count'],_0x306046=_0x5c212c['offset'],_0x1162b9=_0x5c212c[_0xc277('0x19')]+_0x5c212c['limit'],_0x15f560;if(_0x1162b9>=_0x5d73f8){_0x1162b9=_0x5d73f8;_0x15f560=0xc8;}else{_0x15f560=0xce;}_0x178e6d['status'](_0x15f560);return _0x178e6d[_0xc277('0x1a')](_0xc277('0x1b'),_0x306046+'-'+_0x1162b9+'/'+_0x5d73f8)[_0xc277('0x1c')](_0x46d20c);}return null;};}function patchUpdates(_0x176dfb){return function(_0xe2b7c1){try{jsonpatch[_0xc277('0x1d')](_0xe2b7c1,_0x176dfb,!![]);}catch(_0x391cc3){return BPromise['reject'](_0x391cc3);}return _0xe2b7c1['save']();};}function saveUpdates(_0x697d6f,_0x28900e){return function(_0x2bdc25){if(_0x2bdc25){return _0x2bdc25[_0xc277('0x1e')](_0x697d6f)[_0xc277('0x1f')](function(_0xa3f62e){return _0xa3f62e;});}return null;};}function removeEntity(_0xb4685f,_0x42cb0b){return function(_0x1bc888){if(_0x1bc888){return _0x1bc888[_0xc277('0x20')]()[_0xc277('0x1f')](function(){_0xb4685f['status'](0xcc)[_0xc277('0x21')]();});}};}function handleEntityNotFound(_0x21af1b,_0x54b2e1){return function(_0x463fa6){if(!_0x463fa6){_0x21af1b['sendStatus'](0x194);}return _0x463fa6;};}function handleError(_0x48124d,_0x3292ab){_0x3292ab=_0x3292ab||0x1f4;return function(_0x57b03){logger[_0xc277('0x22')](_0x57b03[_0xc277('0x23')]);if(_0x57b03[_0xc277('0x24')]){delete _0x57b03[_0xc277('0x24')];}_0x48124d[_0xc277('0x18')](_0x3292ab)[_0xc277('0x25')](_0x57b03);};}exports[_0xc277('0x26')]=function(_0x3e04cb,_0x40d17a){var _0x5e480e={},_0x5f3933={},_0x31b6d4={'count':0x0,'rows':[]};var _0x4318f4=_['map'](db['SugarcrmField'][_0xc277('0x27')],function(_0x3bc773){return{'name':_0x3bc773[_0xc277('0x28')],'type':_0x3bc773[_0xc277('0x29')][_0xc277('0x2a')]};});_0x5f3933['model']=_[_0xc277('0x2b')](_0x4318f4,'name');_0x5f3933[_0xc277('0x2c')]=_[_0xc277('0x2d')](_0x3e04cb[_0xc277('0x2c')]);_0x5f3933[_0xc277('0x2e')]=_['intersection'](_0x5f3933[_0xc277('0x2f')],_0x5f3933['query']);_0x5e480e[_0xc277('0x30')]=_[_0xc277('0x31')](_0x5f3933[_0xc277('0x2f')],qs[_0xc277('0x32')](_0x3e04cb['query'][_0xc277('0x32')]));_0x5e480e[_0xc277('0x30')]=_0x5e480e['attributes'][_0xc277('0x33')]?_0x5e480e['attributes']:_0x5f3933[_0xc277('0x2f')];if(!_0x3e04cb[_0xc277('0x2c')][_0xc277('0x34')](_0xc277('0x35'))){_0x5e480e[_0xc277('0x36')]=qs[_0xc277('0x36')](_0x3e04cb[_0xc277('0x2c')][_0xc277('0x36')]);_0x5e480e[_0xc277('0x19')]=qs[_0xc277('0x19')](_0x3e04cb[_0xc277('0x2c')]['offset']);}_0x5e480e[_0xc277('0x37')]=qs[_0xc277('0x38')](_0x3e04cb[_0xc277('0x2c')]['sort']);_0x5e480e[_0xc277('0x39')]=qs[_0xc277('0x2e')](_[_0xc277('0x3a')](_0x3e04cb[_0xc277('0x2c')],_0x5f3933[_0xc277('0x2e')]),_0x4318f4);if(_0x3e04cb['query']['filter']){_0x5e480e[_0xc277('0x39')]=_['merge'](_0x5e480e[_0xc277('0x39')],{'$or':_[_0xc277('0x2b')](_0x4318f4,function(_0x112a89){if(_0x112a89[_0xc277('0x29')]!==_0xc277('0x3b')){var _0x3a2bbd={};_0x3a2bbd[_0x112a89[_0xc277('0x24')]]={'$like':'%'+_0x3e04cb[_0xc277('0x2c')][_0xc277('0x3c')]+'%'};return _0x3a2bbd;}})});}_0x5e480e=_[_0xc277('0x3d')]({},_0x5e480e,_0x3e04cb[_0xc277('0x3e')]);var _0x4eaa6c={'where':_0x5e480e[_0xc277('0x39')]};return db[_0xc277('0x3f')][_0xc277('0x40')](_0x4eaa6c)['then'](function(_0x1dcd88){_0x31b6d4[_0xc277('0x40')]=_0x1dcd88;if(_0x3e04cb['query']['includeAll']){_0x5e480e[_0xc277('0x41')]=[{'all':!![]}];}return db[_0xc277('0x3f')][_0xc277('0x42')](_0x5e480e);})[_0xc277('0x1f')](function(_0x114eec){_0x31b6d4[_0xc277('0x43')]=_0x114eec;return _0x31b6d4;})[_0xc277('0x1f')](respondWithFilteredResult(_0x40d17a,_0x5e480e))['catch'](handleError(_0x40d17a,null));};exports[_0xc277('0x44')]=function(_0x450842,_0x142ca6){var _0x5f4487={'raw':!![],'where':{'id':_0x450842['params']['id']}},_0x4d4c4a={};_0x4d4c4a['model']=_['keys'](db[_0xc277('0x3f')]['rawAttributes']);_0x4d4c4a[_0xc277('0x2c')]=_[_0xc277('0x2d')](_0x450842[_0xc277('0x2c')]);_0x4d4c4a['filters']=_[_0xc277('0x31')](_0x4d4c4a[_0xc277('0x2f')],_0x4d4c4a[_0xc277('0x2c')]);_0x5f4487[_0xc277('0x30')]=_['intersection'](_0x4d4c4a[_0xc277('0x2f')],qs[_0xc277('0x32')](_0x450842['query'][_0xc277('0x32')]));_0x5f4487[_0xc277('0x30')]=_0x5f4487[_0xc277('0x30')][_0xc277('0x33')]?_0x5f4487[_0xc277('0x30')]:_0x4d4c4a[_0xc277('0x2f')];if(_0x450842[_0xc277('0x2c')][_0xc277('0x45')]){_0x5f4487[_0xc277('0x41')]=[{'all':!![]}];}_0x5f4487=_[_0xc277('0x3d')]({},_0x5f4487,_0x450842[_0xc277('0x3e')]);return db['SugarcrmField'][_0xc277('0x46')](_0x5f4487)[_0xc277('0x1f')](handleEntityNotFound(_0x142ca6,null))[_0xc277('0x1f')](respondWithResult(_0x142ca6,null))[_0xc277('0x47')](handleError(_0x142ca6,null));};exports['create']=function(_0x401684,_0x4d7702){return db[_0xc277('0x3f')][_0xc277('0x48')](_0x401684[_0xc277('0x49')],{})[_0xc277('0x1f')](respondWithResult(_0x4d7702,0xc9))[_0xc277('0x47')](handleError(_0x4d7702,null));};exports['update']=function(_0x37fb3f,_0x40868b){if(_0x37fb3f[_0xc277('0x49')]['id']){delete _0x37fb3f[_0xc277('0x49')]['id'];}return db['SugarcrmField'][_0xc277('0x46')]({'where':{'id':_0x37fb3f[_0xc277('0x4a')]['id']}})[_0xc277('0x1f')](handleEntityNotFound(_0x40868b,null))['then'](saveUpdates(_0x37fb3f[_0xc277('0x49')],null))['then'](respondWithResult(_0x40868b,null))[_0xc277('0x47')](handleError(_0x40868b,null));};exports[_0xc277('0x20')]=function(_0x2265d3,_0x2df8dd){return db[_0xc277('0x3f')][_0xc277('0x46')]({'where':{'id':_0x2265d3[_0xc277('0x4a')]['id']}})[_0xc277('0x1f')](handleEntityNotFound(_0x2df8dd,null))[_0xc277('0x1f')](removeEntity(_0x2df8dd,null))[_0xc277('0x47')](handleError(_0x2df8dd,null));};