af732779cc79a5b8cb3b9b3cac9e0d61ffc429b8
[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 _0xfd84=['end','status','json','offset','set','Content-Range','apply','reject','then','destroy','stack','name','send','index','SugarcrmField','rawAttributes','fieldName','type','key','query','intersection','model','fields','attributes','length','hasOwnProperty','nolimit','limit','order','sort','filters','pick','where','map','filter','merge','options','count','includeAll','rows','show','params','keys','include','find','catch','create','body','update','html-pdf','eml-format','rimraf','zip-dir','moment','bluebird','mustache','util','squel','crypto','desk.js','to-csv','querystring','papaparse','ioredis','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/utils','../../config/environment','sendStatus'];(function(_0x3e4c23,_0x1cc155){var _0x177a09=function(_0xe25c60){while(--_0xe25c60){_0x3e4c23['push'](_0x3e4c23['shift']());}};_0x177a09(++_0x1cc155);}(_0xfd84,0x76));var _0x4fd8=function(_0x474ebf,_0x509ab3){_0x474ebf=_0x474ebf-0x0;var _0x6b6d68=_0xfd84[_0x474ebf];return _0x6b6d68;};'use strict';var pdf=require(_0x4fd8('0x0'));var emlformat=require(_0x4fd8('0x1'));var rimraf=require(_0x4fd8('0x2'));var zipdir=require(_0x4fd8('0x3'));var jsonpatch=require('fast-json-patch');var rp=require('request-promise');var moment=require(_0x4fd8('0x4'));var BPromise=require(_0x4fd8('0x5'));var Mustache=require(_0x4fd8('0x6'));var util=require(_0x4fd8('0x7'));var path=require('path');var sox=require('sox');var csv=require('to-csv');var ejs=require('ejs');var fs=require('fs');var _=require('lodash');var squel=require(_0x4fd8('0x8'));var crypto=require(_0x4fd8('0x9'));var jsforce=require('jsforce');var deskjs=require(_0x4fd8('0xa'));var toCsv=require(_0x4fd8('0xb'));var querystring=require(_0x4fd8('0xc'));var Papa=require(_0x4fd8('0xd'));var Redis=require(_0x4fd8('0xe'));var authService=require('../../components/auth/service');var qs=require('../../components/parsers/qs');var as=require(_0x4fd8('0xf'));var hardwareService=require(_0x4fd8('0x10'));var logger=require('../../config/logger')('api');var utils=require(_0x4fd8('0x11'));var config=require(_0x4fd8('0x12'));var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x11482e,_0x24b002){_0x24b002=_0x24b002||0xcc;return function(_0x516165){if(_0x516165){return _0x11482e[_0x4fd8('0x13')](_0x24b002);}return _0x11482e['status'](_0x24b002)[_0x4fd8('0x14')]();};}function respondWithResult(_0x360a48,_0x484ec2){_0x484ec2=_0x484ec2||0xc8;return function(_0x49c47c){if(_0x49c47c){return _0x360a48[_0x4fd8('0x15')](_0x484ec2)[_0x4fd8('0x16')](_0x49c47c);}};}function respondWithFilteredResult(_0x513df5,_0x3737fb){return function(_0x144bff){if(_0x144bff){var _0x16c8a1=_0x144bff['count'],_0x22f4f6=_0x3737fb['offset'],_0x59f6d3=_0x3737fb[_0x4fd8('0x17')]+_0x3737fb['limit'],_0x2ebe17;if(_0x59f6d3>=_0x16c8a1){_0x59f6d3=_0x16c8a1;_0x2ebe17=0xc8;}else{_0x2ebe17=0xce;}_0x513df5['status'](_0x2ebe17);return _0x513df5[_0x4fd8('0x18')](_0x4fd8('0x19'),_0x22f4f6+'-'+_0x59f6d3+'/'+_0x16c8a1)[_0x4fd8('0x16')](_0x144bff);}return null;};}function patchUpdates(_0x40c795){return function(_0x39e299){try{jsonpatch[_0x4fd8('0x1a')](_0x39e299,_0x40c795,!![]);}catch(_0x4493c0){return BPromise[_0x4fd8('0x1b')](_0x4493c0);}return _0x39e299['save']();};}function saveUpdates(_0x33f0e3,_0x24e09d){return function(_0x578718){if(_0x578718){return _0x578718['update'](_0x33f0e3)[_0x4fd8('0x1c')](function(_0x2efda2){return _0x2efda2;});}return null;};}function removeEntity(_0x1d90dd,_0x22f74e){return function(_0x335f46){if(_0x335f46){return _0x335f46[_0x4fd8('0x1d')]()[_0x4fd8('0x1c')](function(){_0x1d90dd[_0x4fd8('0x15')](0xcc)[_0x4fd8('0x14')]();});}};}function handleEntityNotFound(_0x19bec0,_0x2f1e9f){return function(_0x1777ab){if(!_0x1777ab){_0x19bec0[_0x4fd8('0x13')](0x194);}return _0x1777ab;};}function handleError(_0x5437ce,_0x1f2289){_0x1f2289=_0x1f2289||0x1f4;return function(_0x1aa724){logger['error'](_0x1aa724[_0x4fd8('0x1e')]);if(_0x1aa724['name']){delete _0x1aa724[_0x4fd8('0x1f')];}_0x5437ce[_0x4fd8('0x15')](_0x1f2289)[_0x4fd8('0x20')](_0x1aa724);};}exports[_0x4fd8('0x21')]=function(_0x3b1b6f,_0x22ccbe){var _0x5a8d94={},_0x28a46e={},_0x56f1c0={'count':0x0,'rows':[]};var _0x510217=_['map'](db[_0x4fd8('0x22')][_0x4fd8('0x23')],function(_0x4a0fef){return{'name':_0x4a0fef[_0x4fd8('0x24')],'type':_0x4a0fef[_0x4fd8('0x25')][_0x4fd8('0x26')]};});_0x28a46e['model']=_['map'](_0x510217,_0x4fd8('0x1f'));_0x28a46e[_0x4fd8('0x27')]=_['keys'](_0x3b1b6f[_0x4fd8('0x27')]);_0x28a46e['filters']=_[_0x4fd8('0x28')](_0x28a46e[_0x4fd8('0x29')],_0x28a46e[_0x4fd8('0x27')]);_0x5a8d94['attributes']=_[_0x4fd8('0x28')](_0x28a46e['model'],qs[_0x4fd8('0x2a')](_0x3b1b6f['query']['fields']));_0x5a8d94[_0x4fd8('0x2b')]=_0x5a8d94['attributes'][_0x4fd8('0x2c')]?_0x5a8d94[_0x4fd8('0x2b')]:_0x28a46e[_0x4fd8('0x29')];if(!_0x3b1b6f['query'][_0x4fd8('0x2d')](_0x4fd8('0x2e'))){_0x5a8d94[_0x4fd8('0x2f')]=qs[_0x4fd8('0x2f')](_0x3b1b6f[_0x4fd8('0x27')][_0x4fd8('0x2f')]);_0x5a8d94[_0x4fd8('0x17')]=qs[_0x4fd8('0x17')](_0x3b1b6f[_0x4fd8('0x27')][_0x4fd8('0x17')]);}_0x5a8d94[_0x4fd8('0x30')]=qs[_0x4fd8('0x31')](_0x3b1b6f[_0x4fd8('0x27')][_0x4fd8('0x31')]);_0x5a8d94['where']=qs[_0x4fd8('0x32')](_[_0x4fd8('0x33')](_0x3b1b6f[_0x4fd8('0x27')],_0x28a46e['filters']),_0x510217);if(_0x3b1b6f[_0x4fd8('0x27')]['filter']){_0x5a8d94[_0x4fd8('0x34')]=_['merge'](_0x5a8d94[_0x4fd8('0x34')],{'$or':_[_0x4fd8('0x35')](_0x510217,function(_0x25777e){if(_0x25777e['type']!=='VIRTUAL'){var _0x2e3cef={};_0x2e3cef[_0x25777e[_0x4fd8('0x1f')]]={'$like':'%'+_0x3b1b6f[_0x4fd8('0x27')][_0x4fd8('0x36')]+'%'};return _0x2e3cef;}})});}_0x5a8d94=_[_0x4fd8('0x37')]({},_0x5a8d94,_0x3b1b6f[_0x4fd8('0x38')]);var _0xc6a87={'where':_0x5a8d94['where']};return db[_0x4fd8('0x22')][_0x4fd8('0x39')](_0xc6a87)['then'](function(_0x1e475f){_0x56f1c0['count']=_0x1e475f;if(_0x3b1b6f[_0x4fd8('0x27')][_0x4fd8('0x3a')]){_0x5a8d94['include']=[{'all':!![]}];}return db[_0x4fd8('0x22')]['findAll'](_0x5a8d94);})[_0x4fd8('0x1c')](function(_0x4e9983){_0x56f1c0[_0x4fd8('0x3b')]=_0x4e9983;return _0x56f1c0;})['then'](respondWithFilteredResult(_0x22ccbe,_0x5a8d94))['catch'](handleError(_0x22ccbe,null));};exports[_0x4fd8('0x3c')]=function(_0x1b55e7,_0x65abac){var _0x5edd0b={'raw':!![],'where':{'id':_0x1b55e7[_0x4fd8('0x3d')]['id']}},_0x51aa20={};_0x51aa20[_0x4fd8('0x29')]=_['keys'](db[_0x4fd8('0x22')][_0x4fd8('0x23')]);_0x51aa20[_0x4fd8('0x27')]=_[_0x4fd8('0x3e')](_0x1b55e7[_0x4fd8('0x27')]);_0x51aa20[_0x4fd8('0x32')]=_[_0x4fd8('0x28')](_0x51aa20['model'],_0x51aa20[_0x4fd8('0x27')]);_0x5edd0b['attributes']=_['intersection'](_0x51aa20['model'],qs[_0x4fd8('0x2a')](_0x1b55e7[_0x4fd8('0x27')]['fields']));_0x5edd0b[_0x4fd8('0x2b')]=_0x5edd0b['attributes'][_0x4fd8('0x2c')]?_0x5edd0b['attributes']:_0x51aa20[_0x4fd8('0x29')];if(_0x1b55e7[_0x4fd8('0x27')]['includeAll']){_0x5edd0b[_0x4fd8('0x3f')]=[{'all':!![]}];}_0x5edd0b=_[_0x4fd8('0x37')]({},_0x5edd0b,_0x1b55e7[_0x4fd8('0x38')]);return db[_0x4fd8('0x22')][_0x4fd8('0x40')](_0x5edd0b)[_0x4fd8('0x1c')](handleEntityNotFound(_0x65abac,null))['then'](respondWithResult(_0x65abac,null))[_0x4fd8('0x41')](handleError(_0x65abac,null));};exports['create']=function(_0x1044ff,_0x330bab){return db[_0x4fd8('0x22')][_0x4fd8('0x42')](_0x1044ff[_0x4fd8('0x43')],{})[_0x4fd8('0x1c')](respondWithResult(_0x330bab,0xc9))[_0x4fd8('0x41')](handleError(_0x330bab,null));};exports[_0x4fd8('0x44')]=function(_0x4adf2f,_0x1bdda8){if(_0x4adf2f[_0x4fd8('0x43')]['id']){delete _0x4adf2f['body']['id'];}return db['SugarcrmField'][_0x4fd8('0x40')]({'where':{'id':_0x4adf2f[_0x4fd8('0x3d')]['id']}})[_0x4fd8('0x1c')](handleEntityNotFound(_0x1bdda8,null))['then'](saveUpdates(_0x4adf2f[_0x4fd8('0x43')],null))[_0x4fd8('0x1c')](respondWithResult(_0x1bdda8,null))[_0x4fd8('0x41')](handleError(_0x1bdda8,null));};exports['destroy']=function(_0x24f991,_0x17a471){return db['SugarcrmField'][_0x4fd8('0x40')]({'where':{'id':_0x24f991[_0x4fd8('0x3d')]['id']}})[_0x4fd8('0x1c')](handleEntityNotFound(_0x17a471,null))[_0x4fd8('0x1c')](removeEntity(_0x17a471,null))[_0x4fd8('0x41')](handleError(_0x17a471,null));};