Built motion from commit b5996064.|2.6.21
[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 _0xcb07=['VIRTUAL','options','includeAll','include','findAll','rows','catch','params','find','create','body','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','mustache','path','ejs','fs-extra','lodash','squel','jsforce','desk.js','querystring','ioredis','../../components/auth/service','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../mysqldb','sendStatus','status','json','offset','limit','count','set','Content-Range','apply','reject','save','update','destroy','then','error','stack','name','map','SugarcrmField','rawAttributes','type','query','keys','filters','model','attributes','intersection','fields','length','hasOwnProperty','order','sort','where','filter','merge'];(function(_0x27af45,_0x1b57aa){var _0x18df21=function(_0x4b7679){while(--_0x4b7679){_0x27af45['push'](_0x27af45['shift']());}};_0x18df21(++_0x1b57aa);}(_0xcb07,0x97));var _0x7cb0=function(_0x4ed520,_0x21be63){_0x4ed520=_0x4ed520-0x0;var _0x4415a6=_0xcb07[_0x4ed520];return _0x4415a6;};'use strict';var emlformat=require(_0x7cb0('0x0'));var rimraf=require(_0x7cb0('0x1'));var zipdir=require(_0x7cb0('0x2'));var jsonpatch=require(_0x7cb0('0x3'));var rp=require(_0x7cb0('0x4'));var moment=require(_0x7cb0('0x5'));var BPromise=require('bluebird');var Mustache=require(_0x7cb0('0x6'));var util=require('util');var path=require(_0x7cb0('0x7'));var sox=require('sox');var csv=require('to-csv');var ejs=require(_0x7cb0('0x8'));var fs=require('fs');var fs_extra=require(_0x7cb0('0x9'));var _=require(_0x7cb0('0xa'));var squel=require(_0x7cb0('0xb'));var crypto=require('crypto');var jsforce=require(_0x7cb0('0xc'));var deskjs=require(_0x7cb0('0xd'));var toCsv=require('to-csv');var querystring=require(_0x7cb0('0xe'));var Papa=require('papaparse');var Redis=require(_0x7cb0('0xf'));var authService=require(_0x7cb0('0x10'));var qs=require('../../components/parsers/qs');var as=require(_0x7cb0('0x11'));var hardwareService=require(_0x7cb0('0x12'));var logger=require(_0x7cb0('0x13'))(_0x7cb0('0x14'));var utils=require(_0x7cb0('0x15'));var config=require(_0x7cb0('0x16'));var licenseUtil=require('../../config/license/util');var db=require(_0x7cb0('0x17'))['db'];function respondWithStatusCode(_0x152917,_0x5b9b72){_0x5b9b72=_0x5b9b72||0xcc;return function(_0x481dec){if(_0x481dec){return _0x152917[_0x7cb0('0x18')](_0x5b9b72);}return _0x152917[_0x7cb0('0x19')](_0x5b9b72)['end']();};}function respondWithResult(_0x2bc649,_0x42a2c3){_0x42a2c3=_0x42a2c3||0xc8;return function(_0x43d358){if(_0x43d358){return _0x2bc649['status'](_0x42a2c3)[_0x7cb0('0x1a')](_0x43d358);}};}function respondWithFilteredResult(_0x5d5775,_0x72a81f){return function(_0x5b2e66){if(_0x5b2e66){var _0x5167b9=typeof _0x72a81f[_0x7cb0('0x1b')]==='undefined'&&typeof _0x72a81f[_0x7cb0('0x1c')]==='undefined';var _0x5c75f0=_0x5b2e66['count'];var _0x139be1=_0x5167b9?0x0:_0x72a81f[_0x7cb0('0x1b')];var _0x34069e=_0x5167b9?_0x5b2e66[_0x7cb0('0x1d')]:_0x72a81f[_0x7cb0('0x1b')]+_0x72a81f[_0x7cb0('0x1c')];var _0x558c9a;if(_0x34069e>=_0x5c75f0){_0x34069e=_0x5c75f0;_0x558c9a=0xc8;}else{_0x558c9a=0xce;}_0x5d5775[_0x7cb0('0x19')](_0x558c9a);return _0x5d5775[_0x7cb0('0x1e')](_0x7cb0('0x1f'),_0x139be1+'-'+_0x34069e+'/'+_0x5c75f0)[_0x7cb0('0x1a')](_0x5b2e66);}return null;};}function patchUpdates(_0x3b6c8e){return function(_0x3fdc7f){try{jsonpatch[_0x7cb0('0x20')](_0x3fdc7f,_0x3b6c8e,!![]);}catch(_0x11296f){return BPromise[_0x7cb0('0x21')](_0x11296f);}return _0x3fdc7f[_0x7cb0('0x22')]();};}function saveUpdates(_0x2053b2,_0x47b868){return function(_0x544e46){if(_0x544e46){return _0x544e46[_0x7cb0('0x23')](_0x2053b2)['then'](function(_0x3c98bc){return _0x3c98bc;});}return null;};}function removeEntity(_0x1a78f8,_0x3bf3d1){return function(_0x36518f){if(_0x36518f){return _0x36518f[_0x7cb0('0x24')]()[_0x7cb0('0x25')](function(){_0x1a78f8['status'](0xcc)['end']();});}};}function handleEntityNotFound(_0x8b6f08,_0x497ebf){return function(_0x5b8c08){if(!_0x5b8c08){_0x8b6f08[_0x7cb0('0x18')](0x194);}return _0x5b8c08;};}function handleError(_0x307957,_0x379323){_0x379323=_0x379323||0x1f4;return function(_0x1d32f1){logger[_0x7cb0('0x26')](_0x1d32f1[_0x7cb0('0x27')]);if(_0x1d32f1[_0x7cb0('0x28')]){delete _0x1d32f1[_0x7cb0('0x28')];}_0x307957[_0x7cb0('0x19')](_0x379323)['send'](_0x1d32f1);};}exports['index']=function(_0x5df027,_0x5e7809){var _0x36bfa4={},_0x2cb463={},_0x541212={'count':0x0,'rows':[]};var _0x54841e=_[_0x7cb0('0x29')](db[_0x7cb0('0x2a')][_0x7cb0('0x2b')],function(_0x2b8235){return{'name':_0x2b8235['fieldName'],'type':_0x2b8235[_0x7cb0('0x2c')]['key']};});_0x2cb463['model']=_[_0x7cb0('0x29')](_0x54841e,_0x7cb0('0x28'));_0x2cb463[_0x7cb0('0x2d')]=_[_0x7cb0('0x2e')](_0x5df027['query']);_0x2cb463[_0x7cb0('0x2f')]=_['intersection'](_0x2cb463[_0x7cb0('0x30')],_0x2cb463[_0x7cb0('0x2d')]);_0x36bfa4[_0x7cb0('0x31')]=_[_0x7cb0('0x32')](_0x2cb463['model'],qs[_0x7cb0('0x33')](_0x5df027[_0x7cb0('0x2d')][_0x7cb0('0x33')]));_0x36bfa4['attributes']=_0x36bfa4['attributes'][_0x7cb0('0x34')]?_0x36bfa4[_0x7cb0('0x31')]:_0x2cb463[_0x7cb0('0x30')];if(!_0x5df027[_0x7cb0('0x2d')][_0x7cb0('0x35')]('nolimit')){_0x36bfa4[_0x7cb0('0x1c')]=qs['limit'](_0x5df027[_0x7cb0('0x2d')][_0x7cb0('0x1c')]);_0x36bfa4[_0x7cb0('0x1b')]=qs[_0x7cb0('0x1b')](_0x5df027[_0x7cb0('0x2d')][_0x7cb0('0x1b')]);}_0x36bfa4[_0x7cb0('0x36')]=qs[_0x7cb0('0x37')](_0x5df027[_0x7cb0('0x2d')][_0x7cb0('0x37')]);_0x36bfa4[_0x7cb0('0x38')]=qs[_0x7cb0('0x2f')](_['pick'](_0x5df027['query'],_0x2cb463[_0x7cb0('0x2f')]),_0x54841e);if(_0x5df027[_0x7cb0('0x2d')][_0x7cb0('0x39')]){_0x36bfa4[_0x7cb0('0x38')]=_[_0x7cb0('0x3a')](_0x36bfa4[_0x7cb0('0x38')],{'$or':_[_0x7cb0('0x29')](_0x54841e,function(_0x39c3ba){if(_0x39c3ba[_0x7cb0('0x2c')]!==_0x7cb0('0x3b')){var _0x12e87d={};_0x12e87d[_0x39c3ba['name']]={'$like':'%'+_0x5df027[_0x7cb0('0x2d')][_0x7cb0('0x39')]+'%'};return _0x12e87d;}})});}_0x36bfa4=_[_0x7cb0('0x3a')]({},_0x36bfa4,_0x5df027[_0x7cb0('0x3c')]);var _0x1f69be={'where':_0x36bfa4[_0x7cb0('0x38')]};return db[_0x7cb0('0x2a')]['count'](_0x1f69be)[_0x7cb0('0x25')](function(_0x2342df){_0x541212['count']=_0x2342df;if(_0x5df027[_0x7cb0('0x2d')][_0x7cb0('0x3d')]){_0x36bfa4[_0x7cb0('0x3e')]=[{'all':!![]}];}return db[_0x7cb0('0x2a')][_0x7cb0('0x3f')](_0x36bfa4);})[_0x7cb0('0x25')](function(_0x4b44cc){_0x541212[_0x7cb0('0x40')]=_0x4b44cc;return _0x541212;})[_0x7cb0('0x25')](respondWithFilteredResult(_0x5e7809,_0x36bfa4))[_0x7cb0('0x41')](handleError(_0x5e7809,null));};exports['show']=function(_0x19746b,_0x1bae0f){var _0x3b0148={'raw':!![],'where':{'id':_0x19746b[_0x7cb0('0x42')]['id']}},_0x4cd347={};_0x4cd347[_0x7cb0('0x30')]=_[_0x7cb0('0x2e')](db['SugarcrmField']['rawAttributes']);_0x4cd347[_0x7cb0('0x2d')]=_[_0x7cb0('0x2e')](_0x19746b[_0x7cb0('0x2d')]);_0x4cd347[_0x7cb0('0x2f')]=_['intersection'](_0x4cd347[_0x7cb0('0x30')],_0x4cd347[_0x7cb0('0x2d')]);_0x3b0148[_0x7cb0('0x31')]=_[_0x7cb0('0x32')](_0x4cd347[_0x7cb0('0x30')],qs[_0x7cb0('0x33')](_0x19746b[_0x7cb0('0x2d')][_0x7cb0('0x33')]));_0x3b0148[_0x7cb0('0x31')]=_0x3b0148[_0x7cb0('0x31')][_0x7cb0('0x34')]?_0x3b0148['attributes']:_0x4cd347[_0x7cb0('0x30')];if(_0x19746b[_0x7cb0('0x2d')][_0x7cb0('0x3d')]){_0x3b0148[_0x7cb0('0x3e')]=[{'all':!![]}];}_0x3b0148=_['merge']({},_0x3b0148,_0x19746b[_0x7cb0('0x3c')]);return db[_0x7cb0('0x2a')][_0x7cb0('0x43')](_0x3b0148)[_0x7cb0('0x25')](handleEntityNotFound(_0x1bae0f,null))[_0x7cb0('0x25')](respondWithResult(_0x1bae0f,null))[_0x7cb0('0x41')](handleError(_0x1bae0f,null));};exports[_0x7cb0('0x44')]=function(_0x596b59,_0x56e573){return db[_0x7cb0('0x2a')][_0x7cb0('0x44')](_0x596b59[_0x7cb0('0x45')],{})['then'](respondWithResult(_0x56e573,0xc9))['catch'](handleError(_0x56e573,null));};exports[_0x7cb0('0x23')]=function(_0x19477b,_0x37a91e){if(_0x19477b[_0x7cb0('0x45')]['id']){delete _0x19477b[_0x7cb0('0x45')]['id'];}return db[_0x7cb0('0x2a')][_0x7cb0('0x43')]({'where':{'id':_0x19477b[_0x7cb0('0x42')]['id']}})[_0x7cb0('0x25')](handleEntityNotFound(_0x37a91e,null))[_0x7cb0('0x25')](saveUpdates(_0x19477b['body'],null))[_0x7cb0('0x25')](respondWithResult(_0x37a91e,null))['catch'](handleError(_0x37a91e,null));};exports[_0x7cb0('0x24')]=function(_0x28917e,_0x311475){return db[_0x7cb0('0x2a')][_0x7cb0('0x43')]({'where':{'id':_0x28917e[_0x7cb0('0x42')]['id']}})['then'](handleEntityNotFound(_0x311475,null))[_0x7cb0('0x25')](removeEntity(_0x311475,null))[_0x7cb0('0x41')](handleError(_0x311475,null));};