0770d7c5121dce1848c6d6686c2c64e18e5393e8
[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 _0x4887=['reject','save','update','then','error','name','index','map','rawAttributes','fieldName','type','key','query','intersection','model','attributes','fields','length','hasOwnProperty','nolimit','limit','order','sort','pick','filters','filter','merge','SugarcrmField','includeAll','include','findAll','params','keys','options','find','body','catch','html-pdf','eml-format','fast-json-patch','moment','bluebird','mustache','util','sox','to-csv','ejs','crypto','desk.js','querystring','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','../../config/utils','../../mysqldb','sendStatus','status','end','json','count','offset','set','Content-Range','apply'];(function(_0x3ac827,_0x2f013a){var _0x46b499=function(_0x12f1b2){while(--_0x12f1b2){_0x3ac827['push'](_0x3ac827['shift']());}};_0x46b499(++_0x2f013a);}(_0x4887,0x131));var _0x7488=function(_0x2cda25,_0x81ae5f){_0x2cda25=_0x2cda25-0x0;var _0x291282=_0x4887[_0x2cda25];return _0x291282;};'use strict';var pdf=require(_0x7488('0x0'));var emlformat=require(_0x7488('0x1'));var rimraf=require('rimraf');var zipdir=require('zip-dir');var jsonpatch=require(_0x7488('0x2'));var rp=require('request-promise');var moment=require(_0x7488('0x3'));var BPromise=require(_0x7488('0x4'));var Mustache=require(_0x7488('0x5'));var util=require(_0x7488('0x6'));var path=require('path');var sox=require(_0x7488('0x7'));var csv=require(_0x7488('0x8'));var ejs=require(_0x7488('0x9'));var fs=require('fs');var _=require('lodash');var squel=require('squel');var crypto=require(_0x7488('0xa'));var jsforce=require('jsforce');var deskjs=require(_0x7488('0xb'));var toCsv=require(_0x7488('0x8'));var querystring=require(_0x7488('0xc'));var Papa=require('papaparse');var Redis=require(_0x7488('0xd'));var authService=require(_0x7488('0xe'));var qs=require(_0x7488('0xf'));var as=require(_0x7488('0x10'));var hardwareService=require(_0x7488('0x11'));var logger=require(_0x7488('0x12'))('api');var utils=require(_0x7488('0x13'));var config=require('../../config/environment');var db=require(_0x7488('0x14'))['db'];function respondWithStatusCode(_0x274384,_0x2c5950){_0x2c5950=_0x2c5950||0xcc;return function(_0x37dd8c){if(_0x37dd8c){return _0x274384[_0x7488('0x15')](_0x2c5950);}return _0x274384[_0x7488('0x16')](_0x2c5950)[_0x7488('0x17')]();};}function respondWithResult(_0x365f8f,_0x4771ec){_0x4771ec=_0x4771ec||0xc8;return function(_0xf03c2c){if(_0xf03c2c){return _0x365f8f['status'](_0x4771ec)[_0x7488('0x18')](_0xf03c2c);}};}function respondWithFilteredResult(_0x3483db,_0x447e87){return function(_0x476280){if(_0x476280){var _0x4d8f1a=_0x476280[_0x7488('0x19')],_0x219373=_0x447e87[_0x7488('0x1a')],_0x21f963=_0x447e87['offset']+_0x447e87['limit'],_0x348ccd;if(_0x21f963>=_0x4d8f1a){_0x21f963=_0x4d8f1a;_0x348ccd=0xc8;}else{_0x348ccd=0xce;}_0x3483db[_0x7488('0x16')](_0x348ccd);return _0x3483db[_0x7488('0x1b')](_0x7488('0x1c'),_0x219373+'-'+_0x21f963+'/'+_0x4d8f1a)[_0x7488('0x18')](_0x476280);}return null;};}function patchUpdates(_0x490a95){return function(_0x20a12f){try{jsonpatch[_0x7488('0x1d')](_0x20a12f,_0x490a95,!![]);}catch(_0x1850d3){return BPromise[_0x7488('0x1e')](_0x1850d3);}return _0x20a12f[_0x7488('0x1f')]();};}function saveUpdates(_0x26638d,_0x3c3b08){return function(_0xb1f838){if(_0xb1f838){return _0xb1f838[_0x7488('0x20')](_0x26638d)[_0x7488('0x21')](function(_0x4396e5){return _0x4396e5;});}return null;};}function removeEntity(_0x5ef3b1,_0xf3aeb4){return function(_0x2f73e9){if(_0x2f73e9){return _0x2f73e9['destroy']()[_0x7488('0x21')](function(){_0x5ef3b1[_0x7488('0x16')](0xcc)[_0x7488('0x17')]();});}};}function handleEntityNotFound(_0x3c7f5f,_0x1b001e){return function(_0x21ea57){if(!_0x21ea57){_0x3c7f5f[_0x7488('0x15')](0x194);}return _0x21ea57;};}function handleError(_0x43160e,_0x32193){_0x32193=_0x32193||0x1f4;return function(_0xc30d24){logger[_0x7488('0x22')](_0xc30d24['stack']);if(_0xc30d24[_0x7488('0x23')]){delete _0xc30d24['name'];}_0x43160e[_0x7488('0x16')](_0x32193)['send'](_0xc30d24);};}exports[_0x7488('0x24')]=function(_0x485532,_0x41cf9e){var _0x5511c5={},_0x52e052={},_0x2b9a24={'count':0x0,'rows':[]};var _0x2f9caa=_[_0x7488('0x25')](db['SugarcrmField'][_0x7488('0x26')],function(_0x41bb61){return{'name':_0x41bb61[_0x7488('0x27')],'type':_0x41bb61[_0x7488('0x28')][_0x7488('0x29')]};});_0x52e052['model']=_['map'](_0x2f9caa,'name');_0x52e052[_0x7488('0x2a')]=_['keys'](_0x485532[_0x7488('0x2a')]);_0x52e052['filters']=_[_0x7488('0x2b')](_0x52e052[_0x7488('0x2c')],_0x52e052[_0x7488('0x2a')]);_0x5511c5[_0x7488('0x2d')]=_['intersection'](_0x52e052[_0x7488('0x2c')],qs[_0x7488('0x2e')](_0x485532[_0x7488('0x2a')][_0x7488('0x2e')]));_0x5511c5[_0x7488('0x2d')]=_0x5511c5[_0x7488('0x2d')][_0x7488('0x2f')]?_0x5511c5[_0x7488('0x2d')]:_0x52e052['model'];if(!_0x485532['query'][_0x7488('0x30')](_0x7488('0x31'))){_0x5511c5[_0x7488('0x32')]=qs[_0x7488('0x32')](_0x485532[_0x7488('0x2a')][_0x7488('0x32')]);_0x5511c5[_0x7488('0x1a')]=qs[_0x7488('0x1a')](_0x485532[_0x7488('0x2a')][_0x7488('0x1a')]);}_0x5511c5[_0x7488('0x33')]=qs[_0x7488('0x34')](_0x485532[_0x7488('0x2a')]['sort']);_0x5511c5['where']=qs['filters'](_[_0x7488('0x35')](_0x485532[_0x7488('0x2a')],_0x52e052[_0x7488('0x36')]),_0x2f9caa);if(_0x485532[_0x7488('0x2a')][_0x7488('0x37')]){_0x5511c5['where']=_[_0x7488('0x38')](_0x5511c5['where'],{'$or':_[_0x7488('0x25')](_0x2f9caa,function(_0x1d69e7){if(_0x1d69e7[_0x7488('0x28')]!=='VIRTUAL'){var _0x4f1490={};_0x4f1490[_0x1d69e7[_0x7488('0x23')]]={'$like':'%'+_0x485532[_0x7488('0x2a')][_0x7488('0x37')]+'%'};return _0x4f1490;}})});}_0x5511c5=_[_0x7488('0x38')]({},_0x5511c5,_0x485532['options']);var _0x361baf={'where':_0x5511c5['where']};return db[_0x7488('0x39')][_0x7488('0x19')](_0x361baf)[_0x7488('0x21')](function(_0x1bc2a2){_0x2b9a24[_0x7488('0x19')]=_0x1bc2a2;if(_0x485532[_0x7488('0x2a')][_0x7488('0x3a')]){_0x5511c5[_0x7488('0x3b')]=[{'all':!![]}];}return db[_0x7488('0x39')][_0x7488('0x3c')](_0x5511c5);})[_0x7488('0x21')](function(_0x3dbc0d){_0x2b9a24['rows']=_0x3dbc0d;return _0x2b9a24;})[_0x7488('0x21')](respondWithFilteredResult(_0x41cf9e,_0x5511c5))['catch'](handleError(_0x41cf9e,null));};exports['show']=function(_0x2618ea,_0xd5293d){var _0x5b34f1={'raw':!![],'where':{'id':_0x2618ea[_0x7488('0x3d')]['id']}},_0x373acc={};_0x373acc['model']=_[_0x7488('0x3e')](db['SugarcrmField']['rawAttributes']);_0x373acc[_0x7488('0x2a')]=_['keys'](_0x2618ea[_0x7488('0x2a')]);_0x373acc['filters']=_[_0x7488('0x2b')](_0x373acc['model'],_0x373acc[_0x7488('0x2a')]);_0x5b34f1[_0x7488('0x2d')]=_[_0x7488('0x2b')](_0x373acc[_0x7488('0x2c')],qs[_0x7488('0x2e')](_0x2618ea[_0x7488('0x2a')]['fields']));_0x5b34f1[_0x7488('0x2d')]=_0x5b34f1[_0x7488('0x2d')]['length']?_0x5b34f1[_0x7488('0x2d')]:_0x373acc[_0x7488('0x2c')];if(_0x2618ea[_0x7488('0x2a')]['includeAll']){_0x5b34f1[_0x7488('0x3b')]=[{'all':!![]}];}_0x5b34f1=_['merge']({},_0x5b34f1,_0x2618ea[_0x7488('0x3f')]);return db[_0x7488('0x39')][_0x7488('0x40')](_0x5b34f1)[_0x7488('0x21')](handleEntityNotFound(_0xd5293d,null))[_0x7488('0x21')](respondWithResult(_0xd5293d,null))['catch'](handleError(_0xd5293d,null));};exports['create']=function(_0x15f07f,_0x22ec42){return db['SugarcrmField']['create'](_0x15f07f[_0x7488('0x41')],{})[_0x7488('0x21')](respondWithResult(_0x22ec42,0xc9))[_0x7488('0x42')](handleError(_0x22ec42,null));};exports[_0x7488('0x20')]=function(_0x37ea86,_0x18e0a2){if(_0x37ea86[_0x7488('0x41')]['id']){delete _0x37ea86[_0x7488('0x41')]['id'];}return db[_0x7488('0x39')]['find']({'where':{'id':_0x37ea86[_0x7488('0x3d')]['id']}})[_0x7488('0x21')](handleEntityNotFound(_0x18e0a2,null))[_0x7488('0x21')](saveUpdates(_0x37ea86[_0x7488('0x41')],null))[_0x7488('0x21')](respondWithResult(_0x18e0a2,null))['catch'](handleError(_0x18e0a2,null));};exports['destroy']=function(_0x469fb6,_0x56611b){return db[_0x7488('0x39')][_0x7488('0x40')]({'where':{'id':_0x469fb6[_0x7488('0x3d')]['id']}})[_0x7488('0x21')](handleEntityNotFound(_0x56611b,null))[_0x7488('0x21')](removeEntity(_0x56611b,null))['catch'](handleError(_0x56611b,null));};