75eba644e9d67385a4608f4b2c83ee76f7b70bf1
[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 _0x28c8=['papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../config/license/hardware','../../config/logger','../../config/utils','../../config/environment','../../mysqldb','sendStatus','status','end','json','offset','undefined','count','limit','set','Content-Range','apply','reject','save','update','destroy','then','stack','name','index','SugarcrmField','fieldName','type','model','map','query','intersection','attributes','fields','order','sort','where','filter','merge','VIRTUAL','options','include','findAll','catch','params','keys','filters','length','find','create','body','rimraf','zip-dir','request-promise','bluebird','mustache','util','path','to-csv','ejs','squel','querystring'];(function(_0x54363f,_0x20c05b){var _0x1fa7b9=function(_0x285f07){while(--_0x285f07){_0x54363f['push'](_0x54363f['shift']());}};_0x1fa7b9(++_0x20c05b);}(_0x28c8,0xf9));var _0x828c=function(_0x5caf7e,_0x52e1bc){_0x5caf7e=_0x5caf7e-0x0;var _0x5c3435=_0x28c8[_0x5caf7e];return _0x5c3435;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0x828c('0x0'));var zipdir=require(_0x828c('0x1'));var jsonpatch=require('fast-json-patch');var rp=require(_0x828c('0x2'));var moment=require('moment');var BPromise=require(_0x828c('0x3'));var Mustache=require(_0x828c('0x4'));var util=require(_0x828c('0x5'));var path=require(_0x828c('0x6'));var sox=require('sox');var csv=require(_0x828c('0x7'));var ejs=require(_0x828c('0x8'));var fs=require('fs');var fs_extra=require('fs-extra');var _=require('lodash');var squel=require(_0x828c('0x9'));var crypto=require('crypto');var jsforce=require('jsforce');var deskjs=require('desk.js');var toCsv=require('to-csv');var querystring=require(_0x828c('0xa'));var Papa=require(_0x828c('0xb'));var Redis=require(_0x828c('0xc'));var authService=require(_0x828c('0xd'));var qs=require(_0x828c('0xe'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0x828c('0xf'));var logger=require(_0x828c('0x10'))('api');var utils=require(_0x828c('0x11'));var config=require(_0x828c('0x12'));var licenseUtil=require('../../config/license/util');var db=require(_0x828c('0x13'))['db'];function respondWithStatusCode(_0x3bc037,_0xb5279a){_0xb5279a=_0xb5279a||0xcc;return function(_0xf445ba){if(_0xf445ba){return _0x3bc037[_0x828c('0x14')](_0xb5279a);}return _0x3bc037[_0x828c('0x15')](_0xb5279a)[_0x828c('0x16')]();};}function respondWithResult(_0xd82223,_0x5492c5){_0x5492c5=_0x5492c5||0xc8;return function(_0x46cd15){if(_0x46cd15){return _0xd82223[_0x828c('0x15')](_0x5492c5)[_0x828c('0x17')](_0x46cd15);}};}function respondWithFilteredResult(_0x4b803c,_0x225e39){return function(_0x5e869b){if(_0x5e869b){var _0x133cf9=typeof _0x225e39[_0x828c('0x18')]===_0x828c('0x19')&&typeof _0x225e39['limit']===_0x828c('0x19');var _0x5aa3f9=_0x5e869b['count'];var _0x53539f=_0x133cf9?0x0:_0x225e39[_0x828c('0x18')];var _0x3ec04b=_0x133cf9?_0x5e869b[_0x828c('0x1a')]:_0x225e39[_0x828c('0x18')]+_0x225e39[_0x828c('0x1b')];var _0x21b2ea;if(_0x3ec04b>=_0x5aa3f9){_0x3ec04b=_0x5aa3f9;_0x21b2ea=0xc8;}else{_0x21b2ea=0xce;}_0x4b803c[_0x828c('0x15')](_0x21b2ea);return _0x4b803c[_0x828c('0x1c')](_0x828c('0x1d'),_0x53539f+'-'+_0x3ec04b+'/'+_0x5aa3f9)[_0x828c('0x17')](_0x5e869b);}return null;};}function patchUpdates(_0x685f2d){return function(_0x497f29){try{jsonpatch[_0x828c('0x1e')](_0x497f29,_0x685f2d,!![]);}catch(_0x270c4f){return BPromise[_0x828c('0x1f')](_0x270c4f);}return _0x497f29[_0x828c('0x20')]();};}function saveUpdates(_0x130b65,_0x225dd7){return function(_0xa3f9b3){if(_0xa3f9b3){return _0xa3f9b3[_0x828c('0x21')](_0x130b65)['then'](function(_0x1e73e5){return _0x1e73e5;});}return null;};}function removeEntity(_0x3c3000,_0x1bd56e){return function(_0x5c4d5e){if(_0x5c4d5e){return _0x5c4d5e[_0x828c('0x22')]()[_0x828c('0x23')](function(){_0x3c3000[_0x828c('0x15')](0xcc)['end']();});}};}function handleEntityNotFound(_0xdf5cb8,_0x4d2025){return function(_0x5f2fa5){if(!_0x5f2fa5){_0xdf5cb8[_0x828c('0x14')](0x194);}return _0x5f2fa5;};}function handleError(_0x3639e9,_0x46bd3e){_0x46bd3e=_0x46bd3e||0x1f4;return function(_0x16a12e){logger['error'](_0x16a12e[_0x828c('0x24')]);if(_0x16a12e[_0x828c('0x25')]){delete _0x16a12e[_0x828c('0x25')];}_0x3639e9[_0x828c('0x15')](_0x46bd3e)['send'](_0x16a12e);};}exports[_0x828c('0x26')]=function(_0x3c060b,_0x363f99){var _0x507e5e={},_0x2b8cd0={},_0x58919e={'count':0x0,'rows':[]};var _0x565e88=_['map'](db[_0x828c('0x27')]['rawAttributes'],function(_0xbf7048){return{'name':_0xbf7048[_0x828c('0x28')],'type':_0xbf7048[_0x828c('0x29')]['key']};});_0x2b8cd0[_0x828c('0x2a')]=_[_0x828c('0x2b')](_0x565e88,_0x828c('0x25'));_0x2b8cd0[_0x828c('0x2c')]=_['keys'](_0x3c060b[_0x828c('0x2c')]);_0x2b8cd0['filters']=_[_0x828c('0x2d')](_0x2b8cd0[_0x828c('0x2a')],_0x2b8cd0['query']);_0x507e5e[_0x828c('0x2e')]=_['intersection'](_0x2b8cd0[_0x828c('0x2a')],qs[_0x828c('0x2f')](_0x3c060b[_0x828c('0x2c')][_0x828c('0x2f')]));_0x507e5e['attributes']=_0x507e5e[_0x828c('0x2e')]['length']?_0x507e5e[_0x828c('0x2e')]:_0x2b8cd0[_0x828c('0x2a')];if(!_0x3c060b[_0x828c('0x2c')]['hasOwnProperty']('nolimit')){_0x507e5e[_0x828c('0x1b')]=qs[_0x828c('0x1b')](_0x3c060b['query'][_0x828c('0x1b')]);_0x507e5e[_0x828c('0x18')]=qs['offset'](_0x3c060b[_0x828c('0x2c')][_0x828c('0x18')]);}_0x507e5e[_0x828c('0x30')]=qs[_0x828c('0x31')](_0x3c060b[_0x828c('0x2c')][_0x828c('0x31')]);_0x507e5e[_0x828c('0x32')]=qs['filters'](_['pick'](_0x3c060b[_0x828c('0x2c')],_0x2b8cd0['filters']),_0x565e88);if(_0x3c060b[_0x828c('0x2c')][_0x828c('0x33')]){_0x507e5e[_0x828c('0x32')]=_[_0x828c('0x34')](_0x507e5e['where'],{'$or':_['map'](_0x565e88,function(_0x39bb13){if(_0x39bb13[_0x828c('0x29')]!==_0x828c('0x35')){var _0x155882={};_0x155882[_0x39bb13['name']]={'$like':'%'+_0x3c060b[_0x828c('0x2c')]['filter']+'%'};return _0x155882;}})});}_0x507e5e=_[_0x828c('0x34')]({},_0x507e5e,_0x3c060b[_0x828c('0x36')]);var _0x20c03d={'where':_0x507e5e[_0x828c('0x32')]};return db[_0x828c('0x27')][_0x828c('0x1a')](_0x20c03d)['then'](function(_0x460ba2){_0x58919e[_0x828c('0x1a')]=_0x460ba2;if(_0x3c060b[_0x828c('0x2c')]['includeAll']){_0x507e5e[_0x828c('0x37')]=[{'all':!![]}];}return db[_0x828c('0x27')][_0x828c('0x38')](_0x507e5e);})[_0x828c('0x23')](function(_0xc50bcd){_0x58919e['rows']=_0xc50bcd;return _0x58919e;})[_0x828c('0x23')](respondWithFilteredResult(_0x363f99,_0x507e5e))[_0x828c('0x39')](handleError(_0x363f99,null));};exports['show']=function(_0x3bd913,_0x35f3bf){var _0x257497={'raw':!![],'where':{'id':_0x3bd913[_0x828c('0x3a')]['id']}},_0x5694ed={};_0x5694ed[_0x828c('0x2a')]=_[_0x828c('0x3b')](db[_0x828c('0x27')]['rawAttributes']);_0x5694ed['query']=_[_0x828c('0x3b')](_0x3bd913['query']);_0x5694ed[_0x828c('0x3c')]=_[_0x828c('0x2d')](_0x5694ed[_0x828c('0x2a')],_0x5694ed[_0x828c('0x2c')]);_0x257497[_0x828c('0x2e')]=_[_0x828c('0x2d')](_0x5694ed['model'],qs['fields'](_0x3bd913[_0x828c('0x2c')]['fields']));_0x257497[_0x828c('0x2e')]=_0x257497['attributes'][_0x828c('0x3d')]?_0x257497[_0x828c('0x2e')]:_0x5694ed['model'];if(_0x3bd913['query']['includeAll']){_0x257497['include']=[{'all':!![]}];}_0x257497=_[_0x828c('0x34')]({},_0x257497,_0x3bd913[_0x828c('0x36')]);return db[_0x828c('0x27')][_0x828c('0x3e')](_0x257497)[_0x828c('0x23')](handleEntityNotFound(_0x35f3bf,null))['then'](respondWithResult(_0x35f3bf,null))[_0x828c('0x39')](handleError(_0x35f3bf,null));};exports[_0x828c('0x3f')]=function(_0x273f9e,_0xed7d64){return db[_0x828c('0x27')][_0x828c('0x3f')](_0x273f9e[_0x828c('0x40')],{})[_0x828c('0x23')](respondWithResult(_0xed7d64,0xc9))[_0x828c('0x39')](handleError(_0xed7d64,null));};exports[_0x828c('0x21')]=function(_0x20caa1,_0x6c0dd1){if(_0x20caa1['body']['id']){delete _0x20caa1[_0x828c('0x40')]['id'];}return db['SugarcrmField'][_0x828c('0x3e')]({'where':{'id':_0x20caa1[_0x828c('0x3a')]['id']}})[_0x828c('0x23')](handleEntityNotFound(_0x6c0dd1,null))['then'](saveUpdates(_0x20caa1[_0x828c('0x40')],null))[_0x828c('0x23')](respondWithResult(_0x6c0dd1,null))[_0x828c('0x39')](handleError(_0x6c0dd1,null));};exports['destroy']=function(_0x1553b1,_0x5352bb){return db[_0x828c('0x27')][_0x828c('0x3e')]({'where':{'id':_0x1553b1[_0x828c('0x3a')]['id']}})[_0x828c('0x23')](handleEntityNotFound(_0x5352bb,null))['then'](removeEntity(_0x5352bb,null))[_0x828c('0x39')](handleError(_0x5352bb,null));};