2609f5e9d13b1afe1061ef5ea39908f406bde854
[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 _0x84fd=['util','sox','to-csv','ejs','lodash','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/environment','../../config/license/util','../../mysqldb','json','offset','undefined','limit','count','set','reject','save','update','destroy','then','status','end','sendStatus','error','stack','name','send','index','map','SugarcrmField','rawAttributes','fieldName','type','key','model','keys','query','filters','intersection','fields','attributes','length','hasOwnProperty','nolimit','order','sort','where','pick','filter','merge','options','includeAll','include','rows','catch','show','params','create','body','find','eml-format','rimraf','fast-json-patch','request-promise','mustache'];(function(_0xfb6186,_0x51cb8c){var _0x5a3189=function(_0x12ba68){while(--_0x12ba68){_0xfb6186['push'](_0xfb6186['shift']());}};_0x5a3189(++_0x51cb8c);}(_0x84fd,0xdf));var _0xd84f=function(_0xd99068,_0x4a5a38){_0xd99068=_0xd99068-0x0;var _0x253e27=_0x84fd[_0xd99068];return _0x253e27;};'use strict';var emlformat=require(_0xd84f('0x0'));var rimraf=require(_0xd84f('0x1'));var zipdir=require('zip-dir');var jsonpatch=require(_0xd84f('0x2'));var rp=require(_0xd84f('0x3'));var moment=require('moment');var BPromise=require('bluebird');var Mustache=require(_0xd84f('0x4'));var util=require(_0xd84f('0x5'));var path=require('path');var sox=require(_0xd84f('0x6'));var csv=require(_0xd84f('0x7'));var ejs=require(_0xd84f('0x8'));var fs=require('fs');var fs_extra=require('fs-extra');var _=require(_0xd84f('0x9'));var squel=require('squel');var crypto=require(_0xd84f('0xa'));var jsforce=require(_0xd84f('0xb'));var deskjs=require(_0xd84f('0xc'));var toCsv=require(_0xd84f('0x7'));var querystring=require(_0xd84f('0xd'));var Papa=require(_0xd84f('0xe'));var Redis=require(_0xd84f('0xf'));var authService=require(_0xd84f('0x10'));var qs=require(_0xd84f('0x11'));var as=require(_0xd84f('0x12'));var hardwareService=require(_0xd84f('0x13'));var logger=require(_0xd84f('0x14'))(_0xd84f('0x15'));var utils=require('../../config/utils');var config=require(_0xd84f('0x16'));var licenseUtil=require(_0xd84f('0x17'));var db=require(_0xd84f('0x18'))['db'];function respondWithStatusCode(_0x601ee,_0x56ae1c){_0x56ae1c=_0x56ae1c||0xcc;return function(_0xb3b288){if(_0xb3b288){return _0x601ee['sendStatus'](_0x56ae1c);}return _0x601ee['status'](_0x56ae1c)['end']();};}function respondWithResult(_0x1790f9,_0xaa8067){_0xaa8067=_0xaa8067||0xc8;return function(_0x22a662){if(_0x22a662){return _0x1790f9['status'](_0xaa8067)[_0xd84f('0x19')](_0x22a662);}};}function respondWithFilteredResult(_0x468653,_0x5dd4f7){return function(_0x38835c){if(_0x38835c){var _0x3b4891=typeof _0x5dd4f7[_0xd84f('0x1a')]===_0xd84f('0x1b')&&typeof _0x5dd4f7[_0xd84f('0x1c')]===_0xd84f('0x1b');var _0x106b5f=_0x38835c['count'];var _0xe65b60=_0x3b4891?0x0:_0x5dd4f7['offset'];var _0x19e565=_0x3b4891?_0x38835c[_0xd84f('0x1d')]:_0x5dd4f7[_0xd84f('0x1a')]+_0x5dd4f7[_0xd84f('0x1c')];var _0x244f0f;if(_0x19e565>=_0x106b5f){_0x19e565=_0x106b5f;_0x244f0f=0xc8;}else{_0x244f0f=0xce;}_0x468653['status'](_0x244f0f);return _0x468653[_0xd84f('0x1e')]('Content-Range',_0xe65b60+'-'+_0x19e565+'/'+_0x106b5f)[_0xd84f('0x19')](_0x38835c);}return null;};}function patchUpdates(_0x1b5a49){return function(_0x36e3c9){try{jsonpatch['apply'](_0x36e3c9,_0x1b5a49,!![]);}catch(_0xf41cc3){return BPromise[_0xd84f('0x1f')](_0xf41cc3);}return _0x36e3c9[_0xd84f('0x20')]();};}function saveUpdates(_0x25a95b,_0x4edf96){return function(_0x4df41c){if(_0x4df41c){return _0x4df41c[_0xd84f('0x21')](_0x25a95b)['then'](function(_0x8abac6){return _0x8abac6;});}return null;};}function removeEntity(_0x448125,_0x4087fe){return function(_0x15b690){if(_0x15b690){return _0x15b690[_0xd84f('0x22')]()[_0xd84f('0x23')](function(){_0x448125[_0xd84f('0x24')](0xcc)[_0xd84f('0x25')]();});}};}function handleEntityNotFound(_0x4ec114,_0x5eea3c){return function(_0x590e88){if(!_0x590e88){_0x4ec114[_0xd84f('0x26')](0x194);}return _0x590e88;};}function handleError(_0x1cced2,_0x23a708){_0x23a708=_0x23a708||0x1f4;return function(_0x4352b6){logger[_0xd84f('0x27')](_0x4352b6[_0xd84f('0x28')]);if(_0x4352b6['name']){delete _0x4352b6[_0xd84f('0x29')];}_0x1cced2[_0xd84f('0x24')](_0x23a708)[_0xd84f('0x2a')](_0x4352b6);};}exports[_0xd84f('0x2b')]=function(_0x566131,_0x1850f5){var _0x2f150a={},_0x526b3f={},_0x478fff={'count':0x0,'rows':[]};var _0x44a423=_[_0xd84f('0x2c')](db[_0xd84f('0x2d')][_0xd84f('0x2e')],function(_0x41b277){return{'name':_0x41b277[_0xd84f('0x2f')],'type':_0x41b277[_0xd84f('0x30')][_0xd84f('0x31')]};});_0x526b3f[_0xd84f('0x32')]=_[_0xd84f('0x2c')](_0x44a423,'name');_0x526b3f['query']=_[_0xd84f('0x33')](_0x566131[_0xd84f('0x34')]);_0x526b3f[_0xd84f('0x35')]=_[_0xd84f('0x36')](_0x526b3f['model'],_0x526b3f[_0xd84f('0x34')]);_0x2f150a['attributes']=_['intersection'](_0x526b3f[_0xd84f('0x32')],qs[_0xd84f('0x37')](_0x566131['query'][_0xd84f('0x37')]));_0x2f150a[_0xd84f('0x38')]=_0x2f150a[_0xd84f('0x38')][_0xd84f('0x39')]?_0x2f150a[_0xd84f('0x38')]:_0x526b3f[_0xd84f('0x32')];if(!_0x566131[_0xd84f('0x34')][_0xd84f('0x3a')](_0xd84f('0x3b'))){_0x2f150a[_0xd84f('0x1c')]=qs[_0xd84f('0x1c')](_0x566131[_0xd84f('0x34')][_0xd84f('0x1c')]);_0x2f150a[_0xd84f('0x1a')]=qs[_0xd84f('0x1a')](_0x566131[_0xd84f('0x34')][_0xd84f('0x1a')]);}_0x2f150a[_0xd84f('0x3c')]=qs[_0xd84f('0x3d')](_0x566131['query']['sort']);_0x2f150a[_0xd84f('0x3e')]=qs[_0xd84f('0x35')](_[_0xd84f('0x3f')](_0x566131[_0xd84f('0x34')],_0x526b3f[_0xd84f('0x35')]),_0x44a423);if(_0x566131['query'][_0xd84f('0x40')]){_0x2f150a['where']=_[_0xd84f('0x41')](_0x2f150a[_0xd84f('0x3e')],{'$or':_['map'](_0x44a423,function(_0x55e0e2){if(_0x55e0e2[_0xd84f('0x30')]!=='VIRTUAL'){var _0x685265={};_0x685265[_0x55e0e2[_0xd84f('0x29')]]={'$like':'%'+_0x566131[_0xd84f('0x34')]['filter']+'%'};return _0x685265;}})});}_0x2f150a=_['merge']({},_0x2f150a,_0x566131[_0xd84f('0x42')]);var _0x43bfe7={'where':_0x2f150a[_0xd84f('0x3e')]};return db[_0xd84f('0x2d')][_0xd84f('0x1d')](_0x43bfe7)[_0xd84f('0x23')](function(_0x491e44){_0x478fff['count']=_0x491e44;if(_0x566131[_0xd84f('0x34')][_0xd84f('0x43')]){_0x2f150a[_0xd84f('0x44')]=[{'all':!![]}];}return db[_0xd84f('0x2d')]['findAll'](_0x2f150a);})[_0xd84f('0x23')](function(_0x375587){_0x478fff[_0xd84f('0x45')]=_0x375587;return _0x478fff;})[_0xd84f('0x23')](respondWithFilteredResult(_0x1850f5,_0x2f150a))[_0xd84f('0x46')](handleError(_0x1850f5,null));};exports[_0xd84f('0x47')]=function(_0x570ab5,_0x30004c){var _0xc95d63={'raw':!![],'where':{'id':_0x570ab5[_0xd84f('0x48')]['id']}},_0x2ccb57={};_0x2ccb57['model']=_[_0xd84f('0x33')](db[_0xd84f('0x2d')][_0xd84f('0x2e')]);_0x2ccb57['query']=_[_0xd84f('0x33')](_0x570ab5[_0xd84f('0x34')]);_0x2ccb57[_0xd84f('0x35')]=_[_0xd84f('0x36')](_0x2ccb57[_0xd84f('0x32')],_0x2ccb57[_0xd84f('0x34')]);_0xc95d63[_0xd84f('0x38')]=_[_0xd84f('0x36')](_0x2ccb57['model'],qs['fields'](_0x570ab5[_0xd84f('0x34')][_0xd84f('0x37')]));_0xc95d63[_0xd84f('0x38')]=_0xc95d63[_0xd84f('0x38')]['length']?_0xc95d63[_0xd84f('0x38')]:_0x2ccb57[_0xd84f('0x32')];if(_0x570ab5[_0xd84f('0x34')][_0xd84f('0x43')]){_0xc95d63[_0xd84f('0x44')]=[{'all':!![]}];}_0xc95d63=_[_0xd84f('0x41')]({},_0xc95d63,_0x570ab5[_0xd84f('0x42')]);return db[_0xd84f('0x2d')]['find'](_0xc95d63)[_0xd84f('0x23')](handleEntityNotFound(_0x30004c,null))[_0xd84f('0x23')](respondWithResult(_0x30004c,null))[_0xd84f('0x46')](handleError(_0x30004c,null));};exports[_0xd84f('0x49')]=function(_0xace34b,_0x5b64af){return db[_0xd84f('0x2d')][_0xd84f('0x49')](_0xace34b[_0xd84f('0x4a')],{})[_0xd84f('0x23')](respondWithResult(_0x5b64af,0xc9))[_0xd84f('0x46')](handleError(_0x5b64af,null));};exports[_0xd84f('0x21')]=function(_0x1e0fa4,_0x32e2c2){if(_0x1e0fa4[_0xd84f('0x4a')]['id']){delete _0x1e0fa4[_0xd84f('0x4a')]['id'];}return db[_0xd84f('0x2d')][_0xd84f('0x4b')]({'where':{'id':_0x1e0fa4[_0xd84f('0x48')]['id']}})[_0xd84f('0x23')](handleEntityNotFound(_0x32e2c2,null))[_0xd84f('0x23')](saveUpdates(_0x1e0fa4[_0xd84f('0x4a')],null))[_0xd84f('0x23')](respondWithResult(_0x32e2c2,null))[_0xd84f('0x46')](handleError(_0x32e2c2,null));};exports[_0xd84f('0x22')]=function(_0x2752b8,_0x45a38c){return db[_0xd84f('0x2d')][_0xd84f('0x4b')]({'where':{'id':_0x2752b8['params']['id']}})[_0xd84f('0x23')](handleEntityNotFound(_0x45a38c,null))[_0xd84f('0x23')](removeEntity(_0x45a38c,null))['catch'](handleError(_0x45a38c,null));};