9a05874e7acb35a9ea0e42c3bdcb0bb3d5642de6
[motion2.git] / server / api / intSalesforceField / intSalesforceField.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 _0x7225=['includeAll','include','rows','catch','params','find','create','body','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','util','sox','fs-extra','lodash','squel','crypto','to-csv','querystring','papaparse','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/logger','api','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','json','offset','undefined','limit','set','Content-Range','apply','reject','save','update','destroy','then','end','stack','name','send','index','SalesforceField','rawAttributes','type','model','map','keys','query','intersection','attributes','fields','length','hasOwnProperty','nolimit','order','where','filters','pick','filter','merge','VIRTUAL','options','count'];(function(_0x3b1393,_0xa70d84){var _0x564aa7=function(_0x2d0320){while(--_0x2d0320){_0x3b1393['push'](_0x3b1393['shift']());}};_0x564aa7(++_0xa70d84);}(_0x7225,0x128));var _0x5722=function(_0x14aad6,_0x446bb7){_0x14aad6=_0x14aad6-0x0;var _0x2feb6c=_0x7225[_0x14aad6];return _0x2feb6c;};'use strict';var emlformat=require(_0x5722('0x0'));var rimraf=require(_0x5722('0x1'));var zipdir=require(_0x5722('0x2'));var jsonpatch=require(_0x5722('0x3'));var rp=require(_0x5722('0x4'));var moment=require(_0x5722('0x5'));var BPromise=require('bluebird');var Mustache=require('mustache');var util=require(_0x5722('0x6'));var path=require('path');var sox=require(_0x5722('0x7'));var csv=require('to-csv');var ejs=require('ejs');var fs=require('fs');var fs_extra=require(_0x5722('0x8'));var _=require(_0x5722('0x9'));var squel=require(_0x5722('0xa'));var crypto=require(_0x5722('0xb'));var jsforce=require('jsforce');var deskjs=require('desk.js');var toCsv=require(_0x5722('0xc'));var querystring=require(_0x5722('0xd'));var Papa=require(_0x5722('0xe'));var Redis=require('ioredis');var authService=require(_0x5722('0xf'));var qs=require(_0x5722('0x10'));var as=require(_0x5722('0x11'));var hardwareService=require('../../config/license/hardware');var logger=require(_0x5722('0x12'))(_0x5722('0x13'));var utils=require('../../config/utils');var config=require(_0x5722('0x14'));var licenseUtil=require(_0x5722('0x15'));var db=require(_0x5722('0x16'))['db'];function respondWithStatusCode(_0x16f3ae,_0x2847f4){_0x2847f4=_0x2847f4||0xcc;return function(_0x21bf88){if(_0x21bf88){return _0x16f3ae[_0x5722('0x17')](_0x2847f4);}return _0x16f3ae[_0x5722('0x18')](_0x2847f4)['end']();};}function respondWithResult(_0x367781,_0x2a6ed4){_0x2a6ed4=_0x2a6ed4||0xc8;return function(_0x5635cf){if(_0x5635cf){return _0x367781['status'](_0x2a6ed4)[_0x5722('0x19')](_0x5635cf);}};}function respondWithFilteredResult(_0x37135b,_0x1c7b62){return function(_0x4f6d78){if(_0x4f6d78){var _0x2bcfa1=typeof _0x1c7b62[_0x5722('0x1a')]===_0x5722('0x1b')&&typeof _0x1c7b62[_0x5722('0x1c')]===_0x5722('0x1b');var _0x5b6177=_0x4f6d78['count'];var _0x5c9619=_0x2bcfa1?0x0:_0x1c7b62['offset'];var _0x293c62=_0x2bcfa1?_0x4f6d78['count']:_0x1c7b62['offset']+_0x1c7b62['limit'];var _0x55d0a4;if(_0x293c62>=_0x5b6177){_0x293c62=_0x5b6177;_0x55d0a4=0xc8;}else{_0x55d0a4=0xce;}_0x37135b[_0x5722('0x18')](_0x55d0a4);return _0x37135b[_0x5722('0x1d')](_0x5722('0x1e'),_0x5c9619+'-'+_0x293c62+'/'+_0x5b6177)[_0x5722('0x19')](_0x4f6d78);}return null;};}function patchUpdates(_0x45075e){return function(_0x44593e){try{jsonpatch[_0x5722('0x1f')](_0x44593e,_0x45075e,!![]);}catch(_0x42c2af){return BPromise[_0x5722('0x20')](_0x42c2af);}return _0x44593e[_0x5722('0x21')]();};}function saveUpdates(_0x3e0417,_0x108f0c){return function(_0x242340){if(_0x242340){return _0x242340[_0x5722('0x22')](_0x3e0417)['then'](function(_0x54b40a){return _0x54b40a;});}return null;};}function removeEntity(_0x27d29a,_0xa9d374){return function(_0x1e2ec7){if(_0x1e2ec7){return _0x1e2ec7[_0x5722('0x23')]()[_0x5722('0x24')](function(){_0x27d29a['status'](0xcc)[_0x5722('0x25')]();});}};}function handleEntityNotFound(_0xde3759,_0x5ed8f5){return function(_0x4e6c9e){if(!_0x4e6c9e){_0xde3759[_0x5722('0x17')](0x194);}return _0x4e6c9e;};}function handleError(_0x1d83e9,_0x23e3ab){_0x23e3ab=_0x23e3ab||0x1f4;return function(_0x276313){logger['error'](_0x276313[_0x5722('0x26')]);if(_0x276313[_0x5722('0x27')]){delete _0x276313[_0x5722('0x27')];}_0x1d83e9['status'](_0x23e3ab)[_0x5722('0x28')](_0x276313);};}exports[_0x5722('0x29')]=function(_0x9f55dc,_0x2987a9){var _0x5ec1bb={},_0x55cc9f={},_0x500fc2={'count':0x0,'rows':[]};var _0x4dfeeb=_['map'](db[_0x5722('0x2a')][_0x5722('0x2b')],function(_0x35a3d7){return{'name':_0x35a3d7['fieldName'],'type':_0x35a3d7[_0x5722('0x2c')]['key']};});_0x55cc9f[_0x5722('0x2d')]=_[_0x5722('0x2e')](_0x4dfeeb,_0x5722('0x27'));_0x55cc9f['query']=_[_0x5722('0x2f')](_0x9f55dc[_0x5722('0x30')]);_0x55cc9f['filters']=_[_0x5722('0x31')](_0x55cc9f[_0x5722('0x2d')],_0x55cc9f['query']);_0x5ec1bb[_0x5722('0x32')]=_[_0x5722('0x31')](_0x55cc9f[_0x5722('0x2d')],qs[_0x5722('0x33')](_0x9f55dc[_0x5722('0x30')][_0x5722('0x33')]));_0x5ec1bb[_0x5722('0x32')]=_0x5ec1bb[_0x5722('0x32')][_0x5722('0x34')]?_0x5ec1bb[_0x5722('0x32')]:_0x55cc9f[_0x5722('0x2d')];if(!_0x9f55dc[_0x5722('0x30')][_0x5722('0x35')](_0x5722('0x36'))){_0x5ec1bb['limit']=qs[_0x5722('0x1c')](_0x9f55dc[_0x5722('0x30')][_0x5722('0x1c')]);_0x5ec1bb[_0x5722('0x1a')]=qs[_0x5722('0x1a')](_0x9f55dc[_0x5722('0x30')][_0x5722('0x1a')]);}_0x5ec1bb[_0x5722('0x37')]=qs['sort'](_0x9f55dc[_0x5722('0x30')]['sort']);_0x5ec1bb[_0x5722('0x38')]=qs[_0x5722('0x39')](_[_0x5722('0x3a')](_0x9f55dc['query'],_0x55cc9f[_0x5722('0x39')]),_0x4dfeeb);if(_0x9f55dc['query'][_0x5722('0x3b')]){_0x5ec1bb[_0x5722('0x38')]=_[_0x5722('0x3c')](_0x5ec1bb[_0x5722('0x38')],{'$or':_[_0x5722('0x2e')](_0x4dfeeb,function(_0x39ed88){if(_0x39ed88[_0x5722('0x2c')]!==_0x5722('0x3d')){var _0x6e2e1d={};_0x6e2e1d[_0x39ed88[_0x5722('0x27')]]={'$like':'%'+_0x9f55dc[_0x5722('0x30')]['filter']+'%'};return _0x6e2e1d;}})});}_0x5ec1bb=_[_0x5722('0x3c')]({},_0x5ec1bb,_0x9f55dc[_0x5722('0x3e')]);var _0x5e3351={'where':_0x5ec1bb['where']};return db[_0x5722('0x2a')]['count'](_0x5e3351)[_0x5722('0x24')](function(_0x28a66d){_0x500fc2[_0x5722('0x3f')]=_0x28a66d;if(_0x9f55dc[_0x5722('0x30')][_0x5722('0x40')]){_0x5ec1bb[_0x5722('0x41')]=[{'all':!![]}];}return db['SalesforceField']['findAll'](_0x5ec1bb);})[_0x5722('0x24')](function(_0x3ecd19){_0x500fc2[_0x5722('0x42')]=_0x3ecd19;return _0x500fc2;})[_0x5722('0x24')](respondWithFilteredResult(_0x2987a9,_0x5ec1bb))[_0x5722('0x43')](handleError(_0x2987a9,null));};exports['show']=function(_0x75b5ac,_0x12c808){var _0x1aedb9={'raw':!![],'where':{'id':_0x75b5ac[_0x5722('0x44')]['id']}},_0x25e25e={};_0x25e25e[_0x5722('0x2d')]=_[_0x5722('0x2f')](db[_0x5722('0x2a')][_0x5722('0x2b')]);_0x25e25e[_0x5722('0x30')]=_[_0x5722('0x2f')](_0x75b5ac['query']);_0x25e25e[_0x5722('0x39')]=_[_0x5722('0x31')](_0x25e25e[_0x5722('0x2d')],_0x25e25e['query']);_0x1aedb9['attributes']=_[_0x5722('0x31')](_0x25e25e[_0x5722('0x2d')],qs[_0x5722('0x33')](_0x75b5ac['query'][_0x5722('0x33')]));_0x1aedb9[_0x5722('0x32')]=_0x1aedb9[_0x5722('0x32')][_0x5722('0x34')]?_0x1aedb9[_0x5722('0x32')]:_0x25e25e[_0x5722('0x2d')];if(_0x75b5ac['query'][_0x5722('0x40')]){_0x1aedb9['include']=[{'all':!![]}];}_0x1aedb9=_[_0x5722('0x3c')]({},_0x1aedb9,_0x75b5ac['options']);return db[_0x5722('0x2a')][_0x5722('0x45')](_0x1aedb9)[_0x5722('0x24')](handleEntityNotFound(_0x12c808,null))['then'](respondWithResult(_0x12c808,null))[_0x5722('0x43')](handleError(_0x12c808,null));};exports[_0x5722('0x46')]=function(_0x862930,_0xeac43e){return db[_0x5722('0x2a')][_0x5722('0x46')](_0x862930['body'],{})['then'](respondWithResult(_0xeac43e,0xc9))[_0x5722('0x43')](handleError(_0xeac43e,null));};exports['update']=function(_0x2cc6db,_0xacbfd2){if(_0x2cc6db[_0x5722('0x47')]['id']){delete _0x2cc6db['body']['id'];}return db[_0x5722('0x2a')][_0x5722('0x45')]({'where':{'id':_0x2cc6db[_0x5722('0x44')]['id']}})[_0x5722('0x24')](handleEntityNotFound(_0xacbfd2,null))[_0x5722('0x24')](saveUpdates(_0x2cc6db[_0x5722('0x47')],null))['then'](respondWithResult(_0xacbfd2,null))['catch'](handleError(_0xacbfd2,null));};exports[_0x5722('0x23')]=function(_0x293c6f,_0x3d7d5b){return db['SalesforceField'][_0x5722('0x45')]({'where':{'id':_0x293c6f['params']['id']}})[_0x5722('0x24')](handleEntityNotFound(_0x3d7d5b,null))['then'](removeEntity(_0x3d7d5b,null))[_0x5722('0x43')](handleError(_0x3d7d5b,null));};