5ba608dae019b2cb220538e645d0a5a814ba9d9b
[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 _0x51ff=['create','body','update','params','html-pdf','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','util','path','to-csv','ejs','lodash','squel','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/utils','../../config/environment','../../mysqldb','status','end','offset','limit','set','Content-Range','json','apply','reject','save','then','destroy','sendStatus','error','stack','index','SugarcrmField','rawAttributes','type','key','map','query','keys','filters','intersection','model','fields','attributes','length','sort','pick','where','merge','VIRTUAL','name','filter','options','includeAll','findAll','rows','catch','show','include','find'];(function(_0x1c1a14,_0x1d917f){var _0x559834=function(_0x14db0b){while(--_0x14db0b){_0x1c1a14['push'](_0x1c1a14['shift']());}};_0x559834(++_0x1d917f);}(_0x51ff,0x1c6));var _0xf51f=function(_0x1c9a88,_0x58b06a){_0x1c9a88=_0x1c9a88-0x0;var _0xf70595=_0x51ff[_0x1c9a88];return _0xf70595;};'use strict';var pdf=require(_0xf51f('0x0'));var emlformat=require(_0xf51f('0x1'));var rimraf=require(_0xf51f('0x2'));var zipdir=require(_0xf51f('0x3'));var jsonpatch=require(_0xf51f('0x4'));var rp=require(_0xf51f('0x5'));var moment=require(_0xf51f('0x6'));var BPromise=require(_0xf51f('0x7'));var Mustache=require(_0xf51f('0x8'));var util=require(_0xf51f('0x9'));var path=require(_0xf51f('0xa'));var sox=require('sox');var csv=require(_0xf51f('0xb'));var ejs=require(_0xf51f('0xc'));var fs=require('fs');var _=require(_0xf51f('0xd'));var squel=require(_0xf51f('0xe'));var crypto=require(_0xf51f('0xf'));var jsforce=require(_0xf51f('0x10'));var deskjs=require(_0xf51f('0x11'));var toCsv=require(_0xf51f('0xb'));var querystring=require(_0xf51f('0x12'));var Papa=require(_0xf51f('0x13'));var Redis=require(_0xf51f('0x14'));var authService=require('../../components/auth/service');var qs=require(_0xf51f('0x15'));var as=require(_0xf51f('0x16'));var hardwareService=require(_0xf51f('0x17'));var logger=require('../../config/logger')('api');var utils=require(_0xf51f('0x18'));var config=require(_0xf51f('0x19'));var db=require(_0xf51f('0x1a'))['db'];function respondWithStatusCode(_0x493510,_0x38da99){_0x38da99=_0x38da99||0xcc;return function(_0x1b399d){if(_0x1b399d){return _0x493510['sendStatus'](_0x38da99);}return _0x493510[_0xf51f('0x1b')](_0x38da99)[_0xf51f('0x1c')]();};}function respondWithResult(_0x204649,_0x195498){_0x195498=_0x195498||0xc8;return function(_0x454a38){if(_0x454a38){return _0x204649['status'](_0x195498)['json'](_0x454a38);}};}function respondWithFilteredResult(_0x20bbec,_0x439454){return function(_0x12cfb0){if(_0x12cfb0){var _0x54ad78=_0x12cfb0['count'],_0x226001=_0x439454['offset'],_0x5e86fb=_0x439454[_0xf51f('0x1d')]+_0x439454[_0xf51f('0x1e')],_0x4eb26f;if(_0x5e86fb>=_0x54ad78){_0x5e86fb=_0x54ad78;_0x4eb26f=0xc8;}else{_0x4eb26f=0xce;}_0x20bbec[_0xf51f('0x1b')](_0x4eb26f);return _0x20bbec[_0xf51f('0x1f')](_0xf51f('0x20'),_0x226001+'-'+_0x5e86fb+'/'+_0x54ad78)[_0xf51f('0x21')](_0x12cfb0);}return null;};}function patchUpdates(_0x55357f){return function(_0x4fcf9f){try{jsonpatch[_0xf51f('0x22')](_0x4fcf9f,_0x55357f,!![]);}catch(_0x254624){return BPromise[_0xf51f('0x23')](_0x254624);}return _0x4fcf9f[_0xf51f('0x24')]();};}function saveUpdates(_0x40457c,_0x3b2d91){return function(_0x3958db){if(_0x3958db){return _0x3958db['update'](_0x40457c)[_0xf51f('0x25')](function(_0x2b1ace){return _0x2b1ace;});}return null;};}function removeEntity(_0x47fa3e,_0x24454f){return function(_0x338215){if(_0x338215){return _0x338215[_0xf51f('0x26')]()[_0xf51f('0x25')](function(){_0x47fa3e[_0xf51f('0x1b')](0xcc)['end']();});}};}function handleEntityNotFound(_0xcea7c6,_0xe9c18){return function(_0x1bbf27){if(!_0x1bbf27){_0xcea7c6[_0xf51f('0x27')](0x194);}return _0x1bbf27;};}function handleError(_0x1423a5,_0x1403ea){_0x1403ea=_0x1403ea||0x1f4;return function(_0x1bf687){logger[_0xf51f('0x28')](_0x1bf687[_0xf51f('0x29')]);if(_0x1bf687['name']){delete _0x1bf687['name'];}_0x1423a5[_0xf51f('0x1b')](_0x1403ea)['send'](_0x1bf687);};}exports[_0xf51f('0x2a')]=function(_0x32022b,_0x138757){var _0x661cb1={},_0x277c86={},_0x544233={'count':0x0,'rows':[]};var _0x3b765e=_['map'](db[_0xf51f('0x2b')][_0xf51f('0x2c')],function(_0x8ca2de){return{'name':_0x8ca2de['fieldName'],'type':_0x8ca2de[_0xf51f('0x2d')][_0xf51f('0x2e')]};});_0x277c86['model']=_[_0xf51f('0x2f')](_0x3b765e,'name');_0x277c86[_0xf51f('0x30')]=_[_0xf51f('0x31')](_0x32022b[_0xf51f('0x30')]);_0x277c86[_0xf51f('0x32')]=_[_0xf51f('0x33')](_0x277c86[_0xf51f('0x34')],_0x277c86[_0xf51f('0x30')]);_0x661cb1['attributes']=_[_0xf51f('0x33')](_0x277c86[_0xf51f('0x34')],qs[_0xf51f('0x35')](_0x32022b[_0xf51f('0x30')][_0xf51f('0x35')]));_0x661cb1[_0xf51f('0x36')]=_0x661cb1[_0xf51f('0x36')][_0xf51f('0x37')]?_0x661cb1['attributes']:_0x277c86['model'];if(!_0x32022b['query']['hasOwnProperty']('nolimit')){_0x661cb1[_0xf51f('0x1e')]=qs['limit'](_0x32022b['query'][_0xf51f('0x1e')]);_0x661cb1[_0xf51f('0x1d')]=qs[_0xf51f('0x1d')](_0x32022b[_0xf51f('0x30')][_0xf51f('0x1d')]);}_0x661cb1['order']=qs['sort'](_0x32022b[_0xf51f('0x30')][_0xf51f('0x38')]);_0x661cb1['where']=qs[_0xf51f('0x32')](_[_0xf51f('0x39')](_0x32022b[_0xf51f('0x30')],_0x277c86[_0xf51f('0x32')]));if(_0x32022b[_0xf51f('0x30')]['filter']){_0x661cb1[_0xf51f('0x3a')]=_[_0xf51f('0x3b')](_0x661cb1['where'],{'$or':_[_0xf51f('0x2f')](_0x3b765e,function(_0x2c0333){if(_0x2c0333[_0xf51f('0x2d')]!==_0xf51f('0x3c')){var _0x45e554={};_0x45e554[_0x2c0333[_0xf51f('0x3d')]]={'$like':'%'+_0x32022b['query'][_0xf51f('0x3e')]+'%'};return _0x45e554;}})});}_0x661cb1=_[_0xf51f('0x3b')]({},_0x661cb1,_0x32022b[_0xf51f('0x3f')]);var _0x52621a={'where':_0x661cb1[_0xf51f('0x3a')]};return db[_0xf51f('0x2b')]['count'](_0x52621a)[_0xf51f('0x25')](function(_0x37fc2b){_0x544233['count']=_0x37fc2b;if(_0x32022b['query'][_0xf51f('0x40')]){_0x661cb1['include']=[{'all':!![]}];}return db[_0xf51f('0x2b')][_0xf51f('0x41')](_0x661cb1);})[_0xf51f('0x25')](function(_0x1dc6c4){_0x544233[_0xf51f('0x42')]=_0x1dc6c4;return _0x544233;})[_0xf51f('0x25')](respondWithFilteredResult(_0x138757,_0x661cb1))[_0xf51f('0x43')](handleError(_0x138757,null));};exports[_0xf51f('0x44')]=function(_0x47599c,_0x5d38cf){var _0x3b592a={'raw':!![],'where':{'id':_0x47599c['params']['id']}},_0x20edce={};_0x20edce['model']=_[_0xf51f('0x31')](db['SugarcrmField'][_0xf51f('0x2c')]);_0x20edce[_0xf51f('0x30')]=_['keys'](_0x47599c[_0xf51f('0x30')]);_0x20edce['filters']=_[_0xf51f('0x33')](_0x20edce['model'],_0x20edce['query']);_0x3b592a[_0xf51f('0x36')]=_[_0xf51f('0x33')](_0x20edce[_0xf51f('0x34')],qs[_0xf51f('0x35')](_0x47599c['query'][_0xf51f('0x35')]));_0x3b592a['attributes']=_0x3b592a[_0xf51f('0x36')][_0xf51f('0x37')]?_0x3b592a[_0xf51f('0x36')]:_0x20edce[_0xf51f('0x34')];if(_0x47599c[_0xf51f('0x30')][_0xf51f('0x40')]){_0x3b592a[_0xf51f('0x45')]=[{'all':!![]}];}_0x3b592a=_['merge']({},_0x3b592a,_0x47599c['options']);return db[_0xf51f('0x2b')][_0xf51f('0x46')](_0x3b592a)[_0xf51f('0x25')](handleEntityNotFound(_0x5d38cf,null))[_0xf51f('0x25')](respondWithResult(_0x5d38cf,null))[_0xf51f('0x43')](handleError(_0x5d38cf,null));};exports['create']=function(_0x4abc4b,_0x144bfe){return db[_0xf51f('0x2b')][_0xf51f('0x47')](_0x4abc4b[_0xf51f('0x48')],{})['then'](respondWithResult(_0x144bfe,0xc9))[_0xf51f('0x43')](handleError(_0x144bfe,null));};exports[_0xf51f('0x49')]=function(_0x4065cc,_0x360d5d){if(_0x4065cc[_0xf51f('0x48')]['id']){delete _0x4065cc[_0xf51f('0x48')]['id'];}return db[_0xf51f('0x2b')][_0xf51f('0x46')]({'where':{'id':_0x4065cc[_0xf51f('0x4a')]['id']}})['then'](handleEntityNotFound(_0x360d5d,null))[_0xf51f('0x25')](saveUpdates(_0x4065cc['body'],null))[_0xf51f('0x25')](respondWithResult(_0x360d5d,null))['catch'](handleError(_0x360d5d,null));};exports['destroy']=function(_0x18ea93,_0x3c19f4){return db[_0xf51f('0x2b')]['find']({'where':{'id':_0x18ea93[_0xf51f('0x4a')]['id']}})[_0xf51f('0x25')](handleEntityNotFound(_0x3c19f4,null))[_0xf51f('0x25')](removeEntity(_0x3c19f4,null))[_0xf51f('0x43')](handleError(_0x3c19f4,null));};