c954fc9bbf798ea679d6955bc06db7ab0da28758
[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 _0x39af=['body','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','mustache','util','path','sox','to-csv','ejs','fs-extra','lodash','squel','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','end','status','offset','undefined','limit','count','set','Content-Range','json','apply','reject','save','update','then','destroy','stack','name','map','SugarcrmField','rawAttributes','fieldName','type','key','model','query','filters','attributes','intersection','fields','length','hasOwnProperty','order','sort','where','pick','filter','merge','VIRTUAL','options','includeAll','rows','catch','show','params','keys','include','find','create'];(function(_0x115d8c,_0xcb6b48){var _0x4c523b=function(_0x37e715){while(--_0x37e715){_0x115d8c['push'](_0x115d8c['shift']());}};_0x4c523b(++_0xcb6b48);}(_0x39af,0x9b));var _0xf39a=function(_0x43ef00,_0x1ad584){_0x43ef00=_0x43ef00-0x0;var _0x3303c1=_0x39af[_0x43ef00];return _0x3303c1;};'use strict';var emlformat=require(_0xf39a('0x0'));var rimraf=require(_0xf39a('0x1'));var zipdir=require(_0xf39a('0x2'));var jsonpatch=require(_0xf39a('0x3'));var rp=require(_0xf39a('0x4'));var moment=require('moment');var BPromise=require('bluebird');var Mustache=require(_0xf39a('0x5'));var util=require(_0xf39a('0x6'));var path=require(_0xf39a('0x7'));var sox=require(_0xf39a('0x8'));var csv=require(_0xf39a('0x9'));var ejs=require(_0xf39a('0xa'));var fs=require('fs');var fs_extra=require(_0xf39a('0xb'));var _=require(_0xf39a('0xc'));var squel=require(_0xf39a('0xd'));var crypto=require('crypto');var jsforce=require(_0xf39a('0xe'));var deskjs=require(_0xf39a('0xf'));var toCsv=require(_0xf39a('0x9'));var querystring=require(_0xf39a('0x10'));var Papa=require(_0xf39a('0x11'));var Redis=require(_0xf39a('0x12'));var authService=require(_0xf39a('0x13'));var qs=require('../../components/parsers/qs');var as=require(_0xf39a('0x14'));var hardwareService=require(_0xf39a('0x15'));var logger=require(_0xf39a('0x16'))(_0xf39a('0x17'));var utils=require('../../config/utils');var config=require(_0xf39a('0x18'));var licenseUtil=require(_0xf39a('0x19'));var db=require(_0xf39a('0x1a'))['db'];function respondWithStatusCode(_0x32f703,_0x434723){_0x434723=_0x434723||0xcc;return function(_0x45a297){if(_0x45a297){return _0x32f703[_0xf39a('0x1b')](_0x434723);}return _0x32f703['status'](_0x434723)[_0xf39a('0x1c')]();};}function respondWithResult(_0x587eac,_0x592080){_0x592080=_0x592080||0xc8;return function(_0x1595c8){if(_0x1595c8){return _0x587eac[_0xf39a('0x1d')](_0x592080)['json'](_0x1595c8);}};}function respondWithFilteredResult(_0x529e57,_0x17f11b){return function(_0x1fd4bd){if(_0x1fd4bd){var _0x5f4de4=typeof _0x17f11b[_0xf39a('0x1e')]===_0xf39a('0x1f')&&typeof _0x17f11b[_0xf39a('0x20')]===_0xf39a('0x1f');var _0x30955b=_0x1fd4bd[_0xf39a('0x21')];var _0x5a30df=_0x5f4de4?0x0:_0x17f11b[_0xf39a('0x1e')];var _0x3155d4=_0x5f4de4?_0x1fd4bd[_0xf39a('0x21')]:_0x17f11b['offset']+_0x17f11b['limit'];var _0x397310;if(_0x3155d4>=_0x30955b){_0x3155d4=_0x30955b;_0x397310=0xc8;}else{_0x397310=0xce;}_0x529e57[_0xf39a('0x1d')](_0x397310);return _0x529e57[_0xf39a('0x22')](_0xf39a('0x23'),_0x5a30df+'-'+_0x3155d4+'/'+_0x30955b)[_0xf39a('0x24')](_0x1fd4bd);}return null;};}function patchUpdates(_0x30c380){return function(_0x5ed7ee){try{jsonpatch[_0xf39a('0x25')](_0x5ed7ee,_0x30c380,!![]);}catch(_0x1b6e35){return BPromise[_0xf39a('0x26')](_0x1b6e35);}return _0x5ed7ee[_0xf39a('0x27')]();};}function saveUpdates(_0x4cf067,_0x1c0230){return function(_0x3e6a98){if(_0x3e6a98){return _0x3e6a98[_0xf39a('0x28')](_0x4cf067)[_0xf39a('0x29')](function(_0x4efb44){return _0x4efb44;});}return null;};}function removeEntity(_0x14a529,_0x2764d1){return function(_0x282588){if(_0x282588){return _0x282588[_0xf39a('0x2a')]()[_0xf39a('0x29')](function(){_0x14a529[_0xf39a('0x1d')](0xcc)[_0xf39a('0x1c')]();});}};}function handleEntityNotFound(_0x4642a0,_0x2cc078){return function(_0x33a02e){if(!_0x33a02e){_0x4642a0[_0xf39a('0x1b')](0x194);}return _0x33a02e;};}function handleError(_0x34130c,_0x4592f1){_0x4592f1=_0x4592f1||0x1f4;return function(_0x1603fd){logger['error'](_0x1603fd[_0xf39a('0x2b')]);if(_0x1603fd['name']){delete _0x1603fd[_0xf39a('0x2c')];}_0x34130c[_0xf39a('0x1d')](_0x4592f1)['send'](_0x1603fd);};}exports['index']=function(_0x1f523f,_0x58fcbf){var _0x4a024d={},_0x170109={},_0x24f72f={'count':0x0,'rows':[]};var _0x33c533=_[_0xf39a('0x2d')](db[_0xf39a('0x2e')][_0xf39a('0x2f')],function(_0x5add75){return{'name':_0x5add75[_0xf39a('0x30')],'type':_0x5add75[_0xf39a('0x31')][_0xf39a('0x32')]};});_0x170109[_0xf39a('0x33')]=_[_0xf39a('0x2d')](_0x33c533,_0xf39a('0x2c'));_0x170109['query']=_['keys'](_0x1f523f[_0xf39a('0x34')]);_0x170109[_0xf39a('0x35')]=_['intersection'](_0x170109[_0xf39a('0x33')],_0x170109['query']);_0x4a024d[_0xf39a('0x36')]=_[_0xf39a('0x37')](_0x170109['model'],qs[_0xf39a('0x38')](_0x1f523f[_0xf39a('0x34')][_0xf39a('0x38')]));_0x4a024d['attributes']=_0x4a024d[_0xf39a('0x36')][_0xf39a('0x39')]?_0x4a024d['attributes']:_0x170109[_0xf39a('0x33')];if(!_0x1f523f[_0xf39a('0x34')][_0xf39a('0x3a')]('nolimit')){_0x4a024d['limit']=qs[_0xf39a('0x20')](_0x1f523f['query'][_0xf39a('0x20')]);_0x4a024d[_0xf39a('0x1e')]=qs[_0xf39a('0x1e')](_0x1f523f[_0xf39a('0x34')][_0xf39a('0x1e')]);}_0x4a024d[_0xf39a('0x3b')]=qs[_0xf39a('0x3c')](_0x1f523f[_0xf39a('0x34')]['sort']);_0x4a024d[_0xf39a('0x3d')]=qs[_0xf39a('0x35')](_[_0xf39a('0x3e')](_0x1f523f[_0xf39a('0x34')],_0x170109[_0xf39a('0x35')]),_0x33c533);if(_0x1f523f[_0xf39a('0x34')][_0xf39a('0x3f')]){_0x4a024d[_0xf39a('0x3d')]=_[_0xf39a('0x40')](_0x4a024d['where'],{'$or':_['map'](_0x33c533,function(_0x5574e5){if(_0x5574e5[_0xf39a('0x31')]!==_0xf39a('0x41')){var _0x6238d2={};_0x6238d2[_0x5574e5[_0xf39a('0x2c')]]={'$like':'%'+_0x1f523f[_0xf39a('0x34')]['filter']+'%'};return _0x6238d2;}})});}_0x4a024d=_[_0xf39a('0x40')]({},_0x4a024d,_0x1f523f[_0xf39a('0x42')]);var _0x24d69e={'where':_0x4a024d[_0xf39a('0x3d')]};return db[_0xf39a('0x2e')][_0xf39a('0x21')](_0x24d69e)[_0xf39a('0x29')](function(_0x1db0d2){_0x24f72f[_0xf39a('0x21')]=_0x1db0d2;if(_0x1f523f[_0xf39a('0x34')][_0xf39a('0x43')]){_0x4a024d['include']=[{'all':!![]}];}return db[_0xf39a('0x2e')]['findAll'](_0x4a024d);})[_0xf39a('0x29')](function(_0x5f12f5){_0x24f72f[_0xf39a('0x44')]=_0x5f12f5;return _0x24f72f;})['then'](respondWithFilteredResult(_0x58fcbf,_0x4a024d))[_0xf39a('0x45')](handleError(_0x58fcbf,null));};exports[_0xf39a('0x46')]=function(_0x36eec6,_0x40c1b2){var _0x2b7792={'raw':!![],'where':{'id':_0x36eec6[_0xf39a('0x47')]['id']}},_0x37495e={};_0x37495e[_0xf39a('0x33')]=_[_0xf39a('0x48')](db[_0xf39a('0x2e')][_0xf39a('0x2f')]);_0x37495e[_0xf39a('0x34')]=_[_0xf39a('0x48')](_0x36eec6[_0xf39a('0x34')]);_0x37495e[_0xf39a('0x35')]=_[_0xf39a('0x37')](_0x37495e[_0xf39a('0x33')],_0x37495e[_0xf39a('0x34')]);_0x2b7792[_0xf39a('0x36')]=_[_0xf39a('0x37')](_0x37495e[_0xf39a('0x33')],qs['fields'](_0x36eec6[_0xf39a('0x34')]['fields']));_0x2b7792[_0xf39a('0x36')]=_0x2b7792[_0xf39a('0x36')][_0xf39a('0x39')]?_0x2b7792[_0xf39a('0x36')]:_0x37495e[_0xf39a('0x33')];if(_0x36eec6[_0xf39a('0x34')][_0xf39a('0x43')]){_0x2b7792[_0xf39a('0x49')]=[{'all':!![]}];}_0x2b7792=_['merge']({},_0x2b7792,_0x36eec6['options']);return db[_0xf39a('0x2e')][_0xf39a('0x4a')](_0x2b7792)['then'](handleEntityNotFound(_0x40c1b2,null))[_0xf39a('0x29')](respondWithResult(_0x40c1b2,null))[_0xf39a('0x45')](handleError(_0x40c1b2,null));};exports[_0xf39a('0x4b')]=function(_0x1bffdb,_0x161402){return db[_0xf39a('0x2e')]['create'](_0x1bffdb[_0xf39a('0x4c')],{})[_0xf39a('0x29')](respondWithResult(_0x161402,0xc9))[_0xf39a('0x45')](handleError(_0x161402,null));};exports[_0xf39a('0x28')]=function(_0x324b28,_0x329a14){if(_0x324b28[_0xf39a('0x4c')]['id']){delete _0x324b28[_0xf39a('0x4c')]['id'];}return db[_0xf39a('0x2e')][_0xf39a('0x4a')]({'where':{'id':_0x324b28['params']['id']}})[_0xf39a('0x29')](handleEntityNotFound(_0x329a14,null))[_0xf39a('0x29')](saveUpdates(_0x324b28[_0xf39a('0x4c')],null))[_0xf39a('0x29')](respondWithResult(_0x329a14,null))[_0xf39a('0x45')](handleError(_0x329a14,null));};exports[_0xf39a('0x2a')]=function(_0x31abf8,_0xd48bcd){return db[_0xf39a('0x2e')]['find']({'where':{'id':_0x31abf8[_0xf39a('0x47')]['id']}})[_0xf39a('0x29')](handleEntityNotFound(_0xd48bcd,null))[_0xf39a('0x29')](removeEntity(_0xd48bcd,null))['catch'](handleError(_0xd48bcd,null));};