828431bb8f41e46921ba67c93161bb6b4d12d41c
[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 _0x3839=['sox','to-csv','ejs','fs-extra','lodash','crypto','jsforce','desk.js','querystring','../../components/auth/service','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','sendStatus','status','end','json','offset','undefined','count','Content-Range','apply','reject','save','update','destroy','then','stack','name','send','SugarcrmField','fieldName','type','key','model','query','keys','intersection','attributes','fields','length','limit','order','sort','filters','pick','filter','where','merge','map','VIRTUAL','options','includeAll','findAll','rows','catch','show','params','rawAttributes','find','create','body','rimraf','zip-dir','fast-json-patch','bluebird','mustache'];(function(_0x348e44,_0x21b760){var _0x17930f=function(_0x506fb2){while(--_0x506fb2){_0x348e44['push'](_0x348e44['shift']());}};_0x17930f(++_0x21b760);}(_0x3839,0x159));var _0x9383=function(_0x1b9e70,_0x55954f){_0x1b9e70=_0x1b9e70-0x0;var _0x4d87f7=_0x3839[_0x1b9e70];return _0x4d87f7;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0x9383('0x0'));var zipdir=require(_0x9383('0x1'));var jsonpatch=require(_0x9383('0x2'));var rp=require('request-promise');var moment=require('moment');var BPromise=require(_0x9383('0x3'));var Mustache=require(_0x9383('0x4'));var util=require('util');var path=require('path');var sox=require(_0x9383('0x5'));var csv=require(_0x9383('0x6'));var ejs=require(_0x9383('0x7'));var fs=require('fs');var fs_extra=require(_0x9383('0x8'));var _=require(_0x9383('0x9'));var squel=require('squel');var crypto=require(_0x9383('0xa'));var jsforce=require(_0x9383('0xb'));var deskjs=require(_0x9383('0xc'));var toCsv=require('to-csv');var querystring=require(_0x9383('0xd'));var Papa=require('papaparse');var Redis=require('ioredis');var authService=require(_0x9383('0xe'));var qs=require('../../components/parsers/qs');var as=require(_0x9383('0xf'));var hardwareService=require(_0x9383('0x10'));var logger=require(_0x9383('0x11'))(_0x9383('0x12'));var utils=require(_0x9383('0x13'));var config=require(_0x9383('0x14'));var licenseUtil=require('../../config/license/util');var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x17fc7c,_0x5185c5){_0x5185c5=_0x5185c5||0xcc;return function(_0xb74af4){if(_0xb74af4){return _0x17fc7c[_0x9383('0x15')](_0x5185c5);}return _0x17fc7c[_0x9383('0x16')](_0x5185c5)[_0x9383('0x17')]();};}function respondWithResult(_0x140644,_0x2716b3){_0x2716b3=_0x2716b3||0xc8;return function(_0xf6a4ac){if(_0xf6a4ac){return _0x140644[_0x9383('0x16')](_0x2716b3)[_0x9383('0x18')](_0xf6a4ac);}};}function respondWithFilteredResult(_0x3d3cba,_0x156266){return function(_0x763701){if(_0x763701){var _0x1d98f9=typeof _0x156266[_0x9383('0x19')]===_0x9383('0x1a')&&typeof _0x156266['limit']===_0x9383('0x1a');var _0x10bec4=_0x763701['count'];var _0x498f5f=_0x1d98f9?0x0:_0x156266[_0x9383('0x19')];var _0x3ba7cd=_0x1d98f9?_0x763701[_0x9383('0x1b')]:_0x156266[_0x9383('0x19')]+_0x156266['limit'];var _0x20ce3b;if(_0x3ba7cd>=_0x10bec4){_0x3ba7cd=_0x10bec4;_0x20ce3b=0xc8;}else{_0x20ce3b=0xce;}_0x3d3cba[_0x9383('0x16')](_0x20ce3b);return _0x3d3cba['set'](_0x9383('0x1c'),_0x498f5f+'-'+_0x3ba7cd+'/'+_0x10bec4)['json'](_0x763701);}return null;};}function patchUpdates(_0x556690){return function(_0x49314f){try{jsonpatch[_0x9383('0x1d')](_0x49314f,_0x556690,!![]);}catch(_0xe1abfc){return BPromise[_0x9383('0x1e')](_0xe1abfc);}return _0x49314f[_0x9383('0x1f')]();};}function saveUpdates(_0x4a1d87,_0x372d39){return function(_0x1e761b){if(_0x1e761b){return _0x1e761b[_0x9383('0x20')](_0x4a1d87)['then'](function(_0x48d777){return _0x48d777;});}return null;};}function removeEntity(_0x163cdb,_0xd57a78){return function(_0x351949){if(_0x351949){return _0x351949[_0x9383('0x21')]()[_0x9383('0x22')](function(){_0x163cdb[_0x9383('0x16')](0xcc)[_0x9383('0x17')]();});}};}function handleEntityNotFound(_0x53f7e1,_0x59d74d){return function(_0x5d47f1){if(!_0x5d47f1){_0x53f7e1[_0x9383('0x15')](0x194);}return _0x5d47f1;};}function handleError(_0x173a0c,_0xb44af8){_0xb44af8=_0xb44af8||0x1f4;return function(_0x5ac16f){logger['error'](_0x5ac16f[_0x9383('0x23')]);if(_0x5ac16f[_0x9383('0x24')]){delete _0x5ac16f[_0x9383('0x24')];}_0x173a0c['status'](_0xb44af8)[_0x9383('0x25')](_0x5ac16f);};}exports['index']=function(_0x27b53a,_0x343ef2){var _0x14b080={},_0x12f6ef={},_0x46254c={'count':0x0,'rows':[]};var _0x2f4001=_['map'](db[_0x9383('0x26')]['rawAttributes'],function(_0x267b56){return{'name':_0x267b56[_0x9383('0x27')],'type':_0x267b56[_0x9383('0x28')][_0x9383('0x29')]};});_0x12f6ef[_0x9383('0x2a')]=_['map'](_0x2f4001,_0x9383('0x24'));_0x12f6ef[_0x9383('0x2b')]=_[_0x9383('0x2c')](_0x27b53a['query']);_0x12f6ef['filters']=_[_0x9383('0x2d')](_0x12f6ef[_0x9383('0x2a')],_0x12f6ef['query']);_0x14b080[_0x9383('0x2e')]=_[_0x9383('0x2d')](_0x12f6ef[_0x9383('0x2a')],qs['fields'](_0x27b53a[_0x9383('0x2b')][_0x9383('0x2f')]));_0x14b080[_0x9383('0x2e')]=_0x14b080['attributes'][_0x9383('0x30')]?_0x14b080['attributes']:_0x12f6ef[_0x9383('0x2a')];if(!_0x27b53a[_0x9383('0x2b')]['hasOwnProperty']('nolimit')){_0x14b080['limit']=qs[_0x9383('0x31')](_0x27b53a[_0x9383('0x2b')][_0x9383('0x31')]);_0x14b080[_0x9383('0x19')]=qs[_0x9383('0x19')](_0x27b53a['query'][_0x9383('0x19')]);}_0x14b080[_0x9383('0x32')]=qs[_0x9383('0x33')](_0x27b53a[_0x9383('0x2b')][_0x9383('0x33')]);_0x14b080['where']=qs[_0x9383('0x34')](_[_0x9383('0x35')](_0x27b53a[_0x9383('0x2b')],_0x12f6ef[_0x9383('0x34')]),_0x2f4001);if(_0x27b53a[_0x9383('0x2b')][_0x9383('0x36')]){_0x14b080[_0x9383('0x37')]=_[_0x9383('0x38')](_0x14b080[_0x9383('0x37')],{'$or':_[_0x9383('0x39')](_0x2f4001,function(_0x2b04bb){if(_0x2b04bb['type']!==_0x9383('0x3a')){var _0x22a27d={};_0x22a27d[_0x2b04bb[_0x9383('0x24')]]={'$like':'%'+_0x27b53a[_0x9383('0x2b')][_0x9383('0x36')]+'%'};return _0x22a27d;}})});}_0x14b080=_[_0x9383('0x38')]({},_0x14b080,_0x27b53a[_0x9383('0x3b')]);var _0x4bd404={'where':_0x14b080[_0x9383('0x37')]};return db[_0x9383('0x26')][_0x9383('0x1b')](_0x4bd404)[_0x9383('0x22')](function(_0x34e8c0){_0x46254c[_0x9383('0x1b')]=_0x34e8c0;if(_0x27b53a['query'][_0x9383('0x3c')]){_0x14b080['include']=[{'all':!![]}];}return db[_0x9383('0x26')][_0x9383('0x3d')](_0x14b080);})['then'](function(_0x20a9c4){_0x46254c[_0x9383('0x3e')]=_0x20a9c4;return _0x46254c;})[_0x9383('0x22')](respondWithFilteredResult(_0x343ef2,_0x14b080))[_0x9383('0x3f')](handleError(_0x343ef2,null));};exports[_0x9383('0x40')]=function(_0x20599b,_0x50a2cc){var _0x130522={'raw':!![],'where':{'id':_0x20599b[_0x9383('0x41')]['id']}},_0x2533e4={};_0x2533e4[_0x9383('0x2a')]=_[_0x9383('0x2c')](db[_0x9383('0x26')][_0x9383('0x42')]);_0x2533e4[_0x9383('0x2b')]=_[_0x9383('0x2c')](_0x20599b[_0x9383('0x2b')]);_0x2533e4[_0x9383('0x34')]=_['intersection'](_0x2533e4[_0x9383('0x2a')],_0x2533e4['query']);_0x130522[_0x9383('0x2e')]=_[_0x9383('0x2d')](_0x2533e4[_0x9383('0x2a')],qs['fields'](_0x20599b[_0x9383('0x2b')][_0x9383('0x2f')]));_0x130522[_0x9383('0x2e')]=_0x130522[_0x9383('0x2e')]['length']?_0x130522[_0x9383('0x2e')]:_0x2533e4[_0x9383('0x2a')];if(_0x20599b[_0x9383('0x2b')][_0x9383('0x3c')]){_0x130522['include']=[{'all':!![]}];}_0x130522=_[_0x9383('0x38')]({},_0x130522,_0x20599b[_0x9383('0x3b')]);return db['SugarcrmField'][_0x9383('0x43')](_0x130522)[_0x9383('0x22')](handleEntityNotFound(_0x50a2cc,null))[_0x9383('0x22')](respondWithResult(_0x50a2cc,null))[_0x9383('0x3f')](handleError(_0x50a2cc,null));};exports[_0x9383('0x44')]=function(_0x2c04d6,_0x28b08a){return db['SugarcrmField'][_0x9383('0x44')](_0x2c04d6[_0x9383('0x45')],{})[_0x9383('0x22')](respondWithResult(_0x28b08a,0xc9))[_0x9383('0x3f')](handleError(_0x28b08a,null));};exports['update']=function(_0x1db96b,_0x2c4b42){if(_0x1db96b[_0x9383('0x45')]['id']){delete _0x1db96b[_0x9383('0x45')]['id'];}return db[_0x9383('0x26')][_0x9383('0x43')]({'where':{'id':_0x1db96b['params']['id']}})[_0x9383('0x22')](handleEntityNotFound(_0x2c4b42,null))[_0x9383('0x22')](saveUpdates(_0x1db96b[_0x9383('0x45')],null))[_0x9383('0x22')](respondWithResult(_0x2c4b42,null))['catch'](handleError(_0x2c4b42,null));};exports[_0x9383('0x21')]=function(_0x45f331,_0x53db13){return db[_0x9383('0x26')][_0x9383('0x43')]({'where':{'id':_0x45f331[_0x9383('0x41')]['id']}})[_0x9383('0x22')](handleEntityNotFound(_0x53db13,null))[_0x9383('0x22')](removeEntity(_0x53db13,null))['catch'](handleError(_0x53db13,null));};