e20c881d13275848c73472c5a3ae09f28162f8e4
[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 _0x1a0a=['error','stack','name','map','fieldName','key','model','query','filters','intersection','fields','attributes','length','hasOwnProperty','nolimit','where','pick','filter','merge','type','VIRTUAL','options','SugarcrmField','include','findAll','rows','show','params','keys','rawAttributes','includeAll','find','catch','create','update','body','html-pdf','rimraf','zip-dir','request-promise','moment','mustache','util','path','sox','to-csv','ejs','lodash','squel','crypto','jsforce','desk.js','querystring','ioredis','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../mysqldb','status','end','json','count','offset','limit','Content-Range','reject','save','then','destroy','sendStatus'];(function(_0x706815,_0x290016){var _0x4764ce=function(_0x99638c){while(--_0x99638c){_0x706815['push'](_0x706815['shift']());}};_0x4764ce(++_0x290016);}(_0x1a0a,0x196));var _0xa1a0=function(_0x571852,_0x34ae1f){_0x571852=_0x571852-0x0;var _0x1ec365=_0x1a0a[_0x571852];return _0x1ec365;};'use strict';var pdf=require(_0xa1a0('0x0'));var emlformat=require('eml-format');var rimraf=require(_0xa1a0('0x1'));var zipdir=require(_0xa1a0('0x2'));var jsonpatch=require('fast-json-patch');var rp=require(_0xa1a0('0x3'));var moment=require(_0xa1a0('0x4'));var BPromise=require('bluebird');var Mustache=require(_0xa1a0('0x5'));var util=require(_0xa1a0('0x6'));var path=require(_0xa1a0('0x7'));var sox=require(_0xa1a0('0x8'));var csv=require(_0xa1a0('0x9'));var ejs=require(_0xa1a0('0xa'));var fs=require('fs');var _=require(_0xa1a0('0xb'));var squel=require(_0xa1a0('0xc'));var crypto=require(_0xa1a0('0xd'));var jsforce=require(_0xa1a0('0xe'));var deskjs=require(_0xa1a0('0xf'));var toCsv=require('to-csv');var querystring=require(_0xa1a0('0x10'));var Papa=require('papaparse');var Redis=require(_0xa1a0('0x11'));var authService=require('../../components/auth/service');var qs=require(_0xa1a0('0x12'));var as=require(_0xa1a0('0x13'));var hardwareService=require(_0xa1a0('0x14'));var logger=require(_0xa1a0('0x15'))(_0xa1a0('0x16'));var utils=require(_0xa1a0('0x17'));var config=require(_0xa1a0('0x18'));var licenseUtil=require('../../config/license/util');var db=require(_0xa1a0('0x19'))['db'];function respondWithStatusCode(_0x17643c,_0x213394){_0x213394=_0x213394||0xcc;return function(_0x1afa9d){if(_0x1afa9d){return _0x17643c['sendStatus'](_0x213394);}return _0x17643c[_0xa1a0('0x1a')](_0x213394)[_0xa1a0('0x1b')]();};}function respondWithResult(_0x2c3f9f,_0x260431){_0x260431=_0x260431||0xc8;return function(_0x8c2a5f){if(_0x8c2a5f){return _0x2c3f9f['status'](_0x260431)[_0xa1a0('0x1c')](_0x8c2a5f);}};}function respondWithFilteredResult(_0x52d5e5,_0x224380){return function(_0x55605b){if(_0x55605b){var _0x3e22e3=_0x55605b[_0xa1a0('0x1d')],_0x9bc910=_0x224380[_0xa1a0('0x1e')],_0x2b2d52=_0x224380[_0xa1a0('0x1e')]+_0x224380[_0xa1a0('0x1f')],_0x5c86b4;if(_0x2b2d52>=_0x3e22e3){_0x2b2d52=_0x3e22e3;_0x5c86b4=0xc8;}else{_0x5c86b4=0xce;}_0x52d5e5[_0xa1a0('0x1a')](_0x5c86b4);return _0x52d5e5['set'](_0xa1a0('0x20'),_0x9bc910+'-'+_0x2b2d52+'/'+_0x3e22e3)[_0xa1a0('0x1c')](_0x55605b);}return null;};}function patchUpdates(_0x1392d0){return function(_0x548350){try{jsonpatch['apply'](_0x548350,_0x1392d0,!![]);}catch(_0x3c63bc){return BPromise[_0xa1a0('0x21')](_0x3c63bc);}return _0x548350[_0xa1a0('0x22')]();};}function saveUpdates(_0x432847,_0x55ad03){return function(_0x1024a2){if(_0x1024a2){return _0x1024a2['update'](_0x432847)[_0xa1a0('0x23')](function(_0xb67e19){return _0xb67e19;});}return null;};}function removeEntity(_0x65d81d,_0x4c564d){return function(_0x37e5fc){if(_0x37e5fc){return _0x37e5fc[_0xa1a0('0x24')]()[_0xa1a0('0x23')](function(){_0x65d81d[_0xa1a0('0x1a')](0xcc)[_0xa1a0('0x1b')]();});}};}function handleEntityNotFound(_0x5ce41b,_0x241180){return function(_0x57c92a){if(!_0x57c92a){_0x5ce41b[_0xa1a0('0x25')](0x194);}return _0x57c92a;};}function handleError(_0xa2242f,_0x437f68){_0x437f68=_0x437f68||0x1f4;return function(_0x3a05a9){logger[_0xa1a0('0x26')](_0x3a05a9[_0xa1a0('0x27')]);if(_0x3a05a9['name']){delete _0x3a05a9[_0xa1a0('0x28')];}_0xa2242f[_0xa1a0('0x1a')](_0x437f68)['send'](_0x3a05a9);};}exports['index']=function(_0x12ce20,_0x2fcc85){var _0x4d6ffe={},_0x1118cd={},_0x363766={'count':0x0,'rows':[]};var _0xe9d5f0=_[_0xa1a0('0x29')](db['SugarcrmField']['rawAttributes'],function(_0x3a7fec){return{'name':_0x3a7fec[_0xa1a0('0x2a')],'type':_0x3a7fec['type'][_0xa1a0('0x2b')]};});_0x1118cd[_0xa1a0('0x2c')]=_['map'](_0xe9d5f0,'name');_0x1118cd[_0xa1a0('0x2d')]=_['keys'](_0x12ce20['query']);_0x1118cd[_0xa1a0('0x2e')]=_[_0xa1a0('0x2f')](_0x1118cd[_0xa1a0('0x2c')],_0x1118cd['query']);_0x4d6ffe['attributes']=_[_0xa1a0('0x2f')](_0x1118cd['model'],qs[_0xa1a0('0x30')](_0x12ce20[_0xa1a0('0x2d')]['fields']));_0x4d6ffe['attributes']=_0x4d6ffe[_0xa1a0('0x31')][_0xa1a0('0x32')]?_0x4d6ffe[_0xa1a0('0x31')]:_0x1118cd['model'];if(!_0x12ce20[_0xa1a0('0x2d')][_0xa1a0('0x33')](_0xa1a0('0x34'))){_0x4d6ffe[_0xa1a0('0x1f')]=qs[_0xa1a0('0x1f')](_0x12ce20[_0xa1a0('0x2d')][_0xa1a0('0x1f')]);_0x4d6ffe[_0xa1a0('0x1e')]=qs['offset'](_0x12ce20['query'][_0xa1a0('0x1e')]);}_0x4d6ffe['order']=qs['sort'](_0x12ce20[_0xa1a0('0x2d')]['sort']);_0x4d6ffe[_0xa1a0('0x35')]=qs[_0xa1a0('0x2e')](_[_0xa1a0('0x36')](_0x12ce20[_0xa1a0('0x2d')],_0x1118cd[_0xa1a0('0x2e')]),_0xe9d5f0);if(_0x12ce20[_0xa1a0('0x2d')][_0xa1a0('0x37')]){_0x4d6ffe[_0xa1a0('0x35')]=_[_0xa1a0('0x38')](_0x4d6ffe[_0xa1a0('0x35')],{'$or':_[_0xa1a0('0x29')](_0xe9d5f0,function(_0x57c5ac){if(_0x57c5ac[_0xa1a0('0x39')]!==_0xa1a0('0x3a')){var _0x5699cb={};_0x5699cb[_0x57c5ac[_0xa1a0('0x28')]]={'$like':'%'+_0x12ce20[_0xa1a0('0x2d')][_0xa1a0('0x37')]+'%'};return _0x5699cb;}})});}_0x4d6ffe=_['merge']({},_0x4d6ffe,_0x12ce20[_0xa1a0('0x3b')]);var _0xf5c5c6={'where':_0x4d6ffe['where']};return db[_0xa1a0('0x3c')][_0xa1a0('0x1d')](_0xf5c5c6)[_0xa1a0('0x23')](function(_0x84b31){_0x363766[_0xa1a0('0x1d')]=_0x84b31;if(_0x12ce20[_0xa1a0('0x2d')]['includeAll']){_0x4d6ffe[_0xa1a0('0x3d')]=[{'all':!![]}];}return db[_0xa1a0('0x3c')][_0xa1a0('0x3e')](_0x4d6ffe);})[_0xa1a0('0x23')](function(_0x4f3f9b){_0x363766[_0xa1a0('0x3f')]=_0x4f3f9b;return _0x363766;})[_0xa1a0('0x23')](respondWithFilteredResult(_0x2fcc85,_0x4d6ffe))['catch'](handleError(_0x2fcc85,null));};exports[_0xa1a0('0x40')]=function(_0xaf7e00,_0x638a2c){var _0x747556={'raw':!![],'where':{'id':_0xaf7e00[_0xa1a0('0x41')]['id']}},_0x1d1579={};_0x1d1579[_0xa1a0('0x2c')]=_[_0xa1a0('0x42')](db[_0xa1a0('0x3c')][_0xa1a0('0x43')]);_0x1d1579[_0xa1a0('0x2d')]=_[_0xa1a0('0x42')](_0xaf7e00[_0xa1a0('0x2d')]);_0x1d1579['filtears']=_['intersection'](_0x1d1579['model'],_0x1d1579[_0xa1a0('0x2d')]);_0x747556[_0xa1a0('0x31')]=_[_0xa1a0('0x2f')](_0x1d1579[_0xa1a0('0x2c')],qs[_0xa1a0('0x30')](_0xaf7e00['query'][_0xa1a0('0x30')]));_0x747556['attributes']=_0x747556['attributes']['length']?_0x747556[_0xa1a0('0x31')]:_0x1d1579[_0xa1a0('0x2c')];if(_0xaf7e00[_0xa1a0('0x2d')][_0xa1a0('0x44')]){_0x747556[_0xa1a0('0x3d')]=[{'all':!![]}];}_0x747556=_['merge']({},_0x747556,_0xaf7e00[_0xa1a0('0x3b')]);return db[_0xa1a0('0x3c')][_0xa1a0('0x45')](_0x747556)['then'](handleEntityNotFound(_0x638a2c,null))[_0xa1a0('0x23')](respondWithResult(_0x638a2c,null))[_0xa1a0('0x46')](handleError(_0x638a2c,null));};exports[_0xa1a0('0x47')]=function(_0x1298f4,_0x249abf){return db[_0xa1a0('0x3c')][_0xa1a0('0x47')](_0x1298f4['body'],{})['then'](respondWithResult(_0x249abf,0xc9))[_0xa1a0('0x46')](handleError(_0x249abf,null));};exports[_0xa1a0('0x48')]=function(_0x5dc9cd,_0x3ef39d){if(_0x5dc9cd[_0xa1a0('0x49')]['id']){delete _0x5dc9cd[_0xa1a0('0x49')]['id'];}return db[_0xa1a0('0x3c')][_0xa1a0('0x45')]({'where':{'id':_0x5dc9cd[_0xa1a0('0x41')]['id']}})[_0xa1a0('0x23')](handleEntityNotFound(_0x3ef39d,null))[_0xa1a0('0x23')](saveUpdates(_0x5dc9cd[_0xa1a0('0x49')],null))[_0xa1a0('0x23')](respondWithResult(_0x3ef39d,null))[_0xa1a0('0x46')](handleError(_0x3ef39d,null));};exports[_0xa1a0('0x24')]=function(_0x3e45ac,_0x138a10){return db[_0xa1a0('0x3c')][_0xa1a0('0x45')]({'where':{'id':_0x3e45ac[_0xa1a0('0x41')]['id']}})[_0xa1a0('0x23')](handleEntityNotFound(_0x138a10,null))[_0xa1a0('0x23')](removeEntity(_0x138a10,null))[_0xa1a0('0x46')](handleError(_0x138a10,null));};