Built motion from commit 2e4747fd.|2.6.7
[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 _0xf95d=['index','map','SalesforceField','rawAttributes','fieldName','type','key','model','query','keys','filters','intersection','attributes','fields','length','nolimit','order','sort','where','pick','filter','VIRTUAL','merge','includeAll','include','rows','show','params','options','find','catch','create','body','eml-format','rimraf','fast-json-patch','request-promise','bluebird','mustache','util','path','sox','to-csv','crypto','jsforce','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','sendStatus','status','json','offset','undefined','count','limit','set','Content-Range','reject','update','then','destroy','error','name','send'];(function(_0x3b380d,_0x4bf247){var _0x54502b=function(_0x35d207){while(--_0x35d207){_0x3b380d['push'](_0x3b380d['shift']());}};_0x54502b(++_0x4bf247);}(_0xf95d,0x18e));var _0xdf95=function(_0x1a36a5,_0x746928){_0x1a36a5=_0x1a36a5-0x0;var _0x746243=_0xf95d[_0x1a36a5];return _0x746243;};'use strict';var emlformat=require(_0xdf95('0x0'));var rimraf=require(_0xdf95('0x1'));var zipdir=require('zip-dir');var jsonpatch=require(_0xdf95('0x2'));var rp=require(_0xdf95('0x3'));var moment=require('moment');var BPromise=require(_0xdf95('0x4'));var Mustache=require(_0xdf95('0x5'));var util=require(_0xdf95('0x6'));var path=require(_0xdf95('0x7'));var sox=require(_0xdf95('0x8'));var csv=require(_0xdf95('0x9'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require('fs-extra');var _=require('lodash');var squel=require('squel');var crypto=require(_0xdf95('0xa'));var jsforce=require(_0xdf95('0xb'));var deskjs=require('desk.js');var toCsv=require(_0xdf95('0x9'));var querystring=require(_0xdf95('0xc'));var Papa=require(_0xdf95('0xd'));var Redis=require(_0xdf95('0xe'));var authService=require(_0xdf95('0xf'));var qs=require(_0xdf95('0x10'));var as=require(_0xdf95('0x11'));var hardwareService=require(_0xdf95('0x12'));var logger=require(_0xdf95('0x13'))(_0xdf95('0x14'));var utils=require(_0xdf95('0x15'));var config=require(_0xdf95('0x16'));var licenseUtil=require(_0xdf95('0x17'));var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0xf9bb85,_0x148f6f){_0x148f6f=_0x148f6f||0xcc;return function(_0x3bcb67){if(_0x3bcb67){return _0xf9bb85[_0xdf95('0x18')](_0x148f6f);}return _0xf9bb85[_0xdf95('0x19')](_0x148f6f)['end']();};}function respondWithResult(_0x3d600f,_0x40453f){_0x40453f=_0x40453f||0xc8;return function(_0x141cb7){if(_0x141cb7){return _0x3d600f[_0xdf95('0x19')](_0x40453f)[_0xdf95('0x1a')](_0x141cb7);}};}function respondWithFilteredResult(_0xceb399,_0x1ca5c3){return function(_0x31cf29){if(_0x31cf29){var _0x32af46=typeof _0x1ca5c3[_0xdf95('0x1b')]===_0xdf95('0x1c')&&typeof _0x1ca5c3['limit']===_0xdf95('0x1c');var _0x21253c=_0x31cf29[_0xdf95('0x1d')];var _0x23121a=_0x32af46?0x0:_0x1ca5c3[_0xdf95('0x1b')];var _0x333208=_0x32af46?_0x31cf29[_0xdf95('0x1d')]:_0x1ca5c3[_0xdf95('0x1b')]+_0x1ca5c3[_0xdf95('0x1e')];var _0x17d5d7;if(_0x333208>=_0x21253c){_0x333208=_0x21253c;_0x17d5d7=0xc8;}else{_0x17d5d7=0xce;}_0xceb399[_0xdf95('0x19')](_0x17d5d7);return _0xceb399[_0xdf95('0x1f')](_0xdf95('0x20'),_0x23121a+'-'+_0x333208+'/'+_0x21253c)[_0xdf95('0x1a')](_0x31cf29);}return null;};}function patchUpdates(_0x302fe2){return function(_0x301d29){try{jsonpatch['apply'](_0x301d29,_0x302fe2,!![]);}catch(_0x14b026){return BPromise[_0xdf95('0x21')](_0x14b026);}return _0x301d29['save']();};}function saveUpdates(_0x1f4962,_0x5573e2){return function(_0x7774){if(_0x7774){return _0x7774[_0xdf95('0x22')](_0x1f4962)[_0xdf95('0x23')](function(_0x5ba71a){return _0x5ba71a;});}return null;};}function removeEntity(_0x4c2d7f,_0x21cf2a){return function(_0x2ab1a1){if(_0x2ab1a1){return _0x2ab1a1[_0xdf95('0x24')]()[_0xdf95('0x23')](function(){_0x4c2d7f[_0xdf95('0x19')](0xcc)['end']();});}};}function handleEntityNotFound(_0x500dab,_0x13875a){return function(_0x165ce6){if(!_0x165ce6){_0x500dab[_0xdf95('0x18')](0x194);}return _0x165ce6;};}function handleError(_0x5f9eb1,_0x9f6883){_0x9f6883=_0x9f6883||0x1f4;return function(_0x70472c){logger[_0xdf95('0x25')](_0x70472c['stack']);if(_0x70472c[_0xdf95('0x26')]){delete _0x70472c[_0xdf95('0x26')];}_0x5f9eb1['status'](_0x9f6883)[_0xdf95('0x27')](_0x70472c);};}exports[_0xdf95('0x28')]=function(_0x2ee6f2,_0x3d17c4){var _0x2e7e4c={},_0x6448e8={},_0x511b5b={'count':0x0,'rows':[]};var _0x4eb637=_[_0xdf95('0x29')](db[_0xdf95('0x2a')][_0xdf95('0x2b')],function(_0x5562e7){return{'name':_0x5562e7[_0xdf95('0x2c')],'type':_0x5562e7[_0xdf95('0x2d')][_0xdf95('0x2e')]};});_0x6448e8[_0xdf95('0x2f')]=_['map'](_0x4eb637,'name');_0x6448e8[_0xdf95('0x30')]=_[_0xdf95('0x31')](_0x2ee6f2[_0xdf95('0x30')]);_0x6448e8[_0xdf95('0x32')]=_[_0xdf95('0x33')](_0x6448e8[_0xdf95('0x2f')],_0x6448e8[_0xdf95('0x30')]);_0x2e7e4c[_0xdf95('0x34')]=_['intersection'](_0x6448e8[_0xdf95('0x2f')],qs['fields'](_0x2ee6f2[_0xdf95('0x30')][_0xdf95('0x35')]));_0x2e7e4c[_0xdf95('0x34')]=_0x2e7e4c[_0xdf95('0x34')][_0xdf95('0x36')]?_0x2e7e4c[_0xdf95('0x34')]:_0x6448e8[_0xdf95('0x2f')];if(!_0x2ee6f2[_0xdf95('0x30')]['hasOwnProperty'](_0xdf95('0x37'))){_0x2e7e4c['limit']=qs[_0xdf95('0x1e')](_0x2ee6f2['query'][_0xdf95('0x1e')]);_0x2e7e4c['offset']=qs['offset'](_0x2ee6f2['query']['offset']);}_0x2e7e4c[_0xdf95('0x38')]=qs[_0xdf95('0x39')](_0x2ee6f2[_0xdf95('0x30')][_0xdf95('0x39')]);_0x2e7e4c[_0xdf95('0x3a')]=qs['filters'](_[_0xdf95('0x3b')](_0x2ee6f2['query'],_0x6448e8[_0xdf95('0x32')]),_0x4eb637);if(_0x2ee6f2[_0xdf95('0x30')][_0xdf95('0x3c')]){_0x2e7e4c['where']=_['merge'](_0x2e7e4c['where'],{'$or':_['map'](_0x4eb637,function(_0x4ff0a6){if(_0x4ff0a6[_0xdf95('0x2d')]!==_0xdf95('0x3d')){var _0x1bc7ce={};_0x1bc7ce[_0x4ff0a6['name']]={'$like':'%'+_0x2ee6f2[_0xdf95('0x30')]['filter']+'%'};return _0x1bc7ce;}})});}_0x2e7e4c=_[_0xdf95('0x3e')]({},_0x2e7e4c,_0x2ee6f2['options']);var _0x3e8063={'where':_0x2e7e4c[_0xdf95('0x3a')]};return db[_0xdf95('0x2a')][_0xdf95('0x1d')](_0x3e8063)[_0xdf95('0x23')](function(_0x5eff1c){_0x511b5b['count']=_0x5eff1c;if(_0x2ee6f2[_0xdf95('0x30')][_0xdf95('0x3f')]){_0x2e7e4c[_0xdf95('0x40')]=[{'all':!![]}];}return db['SalesforceField']['findAll'](_0x2e7e4c);})[_0xdf95('0x23')](function(_0x4ab085){_0x511b5b[_0xdf95('0x41')]=_0x4ab085;return _0x511b5b;})[_0xdf95('0x23')](respondWithFilteredResult(_0x3d17c4,_0x2e7e4c))['catch'](handleError(_0x3d17c4,null));};exports[_0xdf95('0x42')]=function(_0x3f04a7,_0x121a93){var _0x17cc36={'raw':!![],'where':{'id':_0x3f04a7[_0xdf95('0x43')]['id']}},_0x1761d2={};_0x1761d2[_0xdf95('0x2f')]=_[_0xdf95('0x31')](db['SalesforceField']['rawAttributes']);_0x1761d2[_0xdf95('0x30')]=_[_0xdf95('0x31')](_0x3f04a7['query']);_0x1761d2[_0xdf95('0x32')]=_[_0xdf95('0x33')](_0x1761d2[_0xdf95('0x2f')],_0x1761d2[_0xdf95('0x30')]);_0x17cc36[_0xdf95('0x34')]=_['intersection'](_0x1761d2[_0xdf95('0x2f')],qs[_0xdf95('0x35')](_0x3f04a7['query'][_0xdf95('0x35')]));_0x17cc36[_0xdf95('0x34')]=_0x17cc36[_0xdf95('0x34')][_0xdf95('0x36')]?_0x17cc36[_0xdf95('0x34')]:_0x1761d2[_0xdf95('0x2f')];if(_0x3f04a7['query'][_0xdf95('0x3f')]){_0x17cc36[_0xdf95('0x40')]=[{'all':!![]}];}_0x17cc36=_[_0xdf95('0x3e')]({},_0x17cc36,_0x3f04a7[_0xdf95('0x44')]);return db[_0xdf95('0x2a')][_0xdf95('0x45')](_0x17cc36)['then'](handleEntityNotFound(_0x121a93,null))[_0xdf95('0x23')](respondWithResult(_0x121a93,null))[_0xdf95('0x46')](handleError(_0x121a93,null));};exports[_0xdf95('0x47')]=function(_0x414eab,_0x18e6d5){return db[_0xdf95('0x2a')][_0xdf95('0x47')](_0x414eab[_0xdf95('0x48')],{})['then'](respondWithResult(_0x18e6d5,0xc9))[_0xdf95('0x46')](handleError(_0x18e6d5,null));};exports[_0xdf95('0x22')]=function(_0x5655ee,_0x10575e){if(_0x5655ee[_0xdf95('0x48')]['id']){delete _0x5655ee[_0xdf95('0x48')]['id'];}return db[_0xdf95('0x2a')]['find']({'where':{'id':_0x5655ee['params']['id']}})[_0xdf95('0x23')](handleEntityNotFound(_0x10575e,null))[_0xdf95('0x23')](saveUpdates(_0x5655ee[_0xdf95('0x48')],null))['then'](respondWithResult(_0x10575e,null))[_0xdf95('0x46')](handleError(_0x10575e,null));};exports[_0xdf95('0x24')]=function(_0x31cda4,_0x1e43c9){return db[_0xdf95('0x2a')]['find']({'where':{'id':_0x31cda4[_0xdf95('0x43')]['id']}})[_0xdf95('0x23')](handleEntityNotFound(_0x1e43c9,null))[_0xdf95('0x23')](removeEntity(_0x1e43c9,null))['catch'](handleError(_0x1e43c9,null));};