6e2a9c66dcf8f86fb4ae2074474e9eb91c34d19d
[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 _0xaf7d=['crypto','jsforce','papaparse','ioredis','../../components/auth/service','../../components/parsers/advancedSearch','../../config/license/hardware','api','../../config/utils','../../config/environment','../../mysqldb','sendStatus','status','end','json','undefined','limit','count','offset','set','Content-Range','apply','save','update','then','destroy','error','stack','name','send','index','map','rawAttributes','fieldName','key','query','keys','intersection','attributes','model','fields','length','hasOwnProperty','nolimit','order','sort','where','filters','pick','filter','merge','type','options','SalesforceField','findAll','rows','catch','params','includeAll','include','create','body','find','eml-format','rimraf','fast-json-patch','request-promise','moment','bluebird','mustache','util','path','sox','to-csv','ejs','lodash','squel'];(function(_0x3e2781,_0x4166d7){var _0x5e3b5a=function(_0x11d686){while(--_0x11d686){_0x3e2781['push'](_0x3e2781['shift']());}};_0x5e3b5a(++_0x4166d7);}(_0xaf7d,0xd9));var _0xdaf7=function(_0x39ec85,_0x36106b){_0x39ec85=_0x39ec85-0x0;var _0x4f5841=_0xaf7d[_0x39ec85];return _0x4f5841;};'use strict';var emlformat=require(_0xdaf7('0x0'));var rimraf=require(_0xdaf7('0x1'));var zipdir=require('zip-dir');var jsonpatch=require(_0xdaf7('0x2'));var rp=require(_0xdaf7('0x3'));var moment=require(_0xdaf7('0x4'));var BPromise=require(_0xdaf7('0x5'));var Mustache=require(_0xdaf7('0x6'));var util=require(_0xdaf7('0x7'));var path=require(_0xdaf7('0x8'));var sox=require(_0xdaf7('0x9'));var csv=require(_0xdaf7('0xa'));var ejs=require(_0xdaf7('0xb'));var fs=require('fs');var fs_extra=require('fs-extra');var _=require(_0xdaf7('0xc'));var squel=require(_0xdaf7('0xd'));var crypto=require(_0xdaf7('0xe'));var jsforce=require(_0xdaf7('0xf'));var deskjs=require('desk.js');var toCsv=require(_0xdaf7('0xa'));var querystring=require('querystring');var Papa=require(_0xdaf7('0x10'));var Redis=require(_0xdaf7('0x11'));var authService=require(_0xdaf7('0x12'));var qs=require('../../components/parsers/qs');var as=require(_0xdaf7('0x13'));var hardwareService=require(_0xdaf7('0x14'));var logger=require('../../config/logger')(_0xdaf7('0x15'));var utils=require(_0xdaf7('0x16'));var config=require(_0xdaf7('0x17'));var licenseUtil=require('../../config/license/util');var db=require(_0xdaf7('0x18'))['db'];function respondWithStatusCode(_0x303b4c,_0x31ca6f){_0x31ca6f=_0x31ca6f||0xcc;return function(_0x19c2a0){if(_0x19c2a0){return _0x303b4c[_0xdaf7('0x19')](_0x31ca6f);}return _0x303b4c[_0xdaf7('0x1a')](_0x31ca6f)[_0xdaf7('0x1b')]();};}function respondWithResult(_0x48357f,_0x12be25){_0x12be25=_0x12be25||0xc8;return function(_0x50decd){if(_0x50decd){return _0x48357f[_0xdaf7('0x1a')](_0x12be25)[_0xdaf7('0x1c')](_0x50decd);}};}function respondWithFilteredResult(_0x53ed85,_0x6eb34e){return function(_0x17f080){if(_0x17f080){var _0x5a24d0=typeof _0x6eb34e['offset']===_0xdaf7('0x1d')&&typeof _0x6eb34e[_0xdaf7('0x1e')]===_0xdaf7('0x1d');var _0x77afac=_0x17f080[_0xdaf7('0x1f')];var _0x378eea=_0x5a24d0?0x0:_0x6eb34e[_0xdaf7('0x20')];var _0x344424=_0x5a24d0?_0x17f080[_0xdaf7('0x1f')]:_0x6eb34e[_0xdaf7('0x20')]+_0x6eb34e[_0xdaf7('0x1e')];var _0x1b9386;if(_0x344424>=_0x77afac){_0x344424=_0x77afac;_0x1b9386=0xc8;}else{_0x1b9386=0xce;}_0x53ed85[_0xdaf7('0x1a')](_0x1b9386);return _0x53ed85[_0xdaf7('0x21')](_0xdaf7('0x22'),_0x378eea+'-'+_0x344424+'/'+_0x77afac)['json'](_0x17f080);}return null;};}function patchUpdates(_0x186a2a){return function(_0x7ffd51){try{jsonpatch[_0xdaf7('0x23')](_0x7ffd51,_0x186a2a,!![]);}catch(_0x2c1f9c){return BPromise['reject'](_0x2c1f9c);}return _0x7ffd51[_0xdaf7('0x24')]();};}function saveUpdates(_0xf3f5d9,_0x1a6213){return function(_0x4861fe){if(_0x4861fe){return _0x4861fe[_0xdaf7('0x25')](_0xf3f5d9)[_0xdaf7('0x26')](function(_0x25e6d1){return _0x25e6d1;});}return null;};}function removeEntity(_0x23c187,_0x20eec9){return function(_0x40531a){if(_0x40531a){return _0x40531a[_0xdaf7('0x27')]()[_0xdaf7('0x26')](function(){_0x23c187[_0xdaf7('0x1a')](0xcc)[_0xdaf7('0x1b')]();});}};}function handleEntityNotFound(_0x48cb96,_0x5a6816){return function(_0x4f708b){if(!_0x4f708b){_0x48cb96[_0xdaf7('0x19')](0x194);}return _0x4f708b;};}function handleError(_0x2114b3,_0x50fdf6){_0x50fdf6=_0x50fdf6||0x1f4;return function(_0x4d01e1){logger[_0xdaf7('0x28')](_0x4d01e1[_0xdaf7('0x29')]);if(_0x4d01e1[_0xdaf7('0x2a')]){delete _0x4d01e1[_0xdaf7('0x2a')];}_0x2114b3[_0xdaf7('0x1a')](_0x50fdf6)[_0xdaf7('0x2b')](_0x4d01e1);};}exports[_0xdaf7('0x2c')]=function(_0x11e3de,_0xd8cfd1){var _0x32dd63={},_0x51c622={},_0xfb0ea9={'count':0x0,'rows':[]};var _0x34a46e=_[_0xdaf7('0x2d')](db['SalesforceField'][_0xdaf7('0x2e')],function(_0x2b6a93){return{'name':_0x2b6a93[_0xdaf7('0x2f')],'type':_0x2b6a93['type'][_0xdaf7('0x30')]};});_0x51c622['model']=_[_0xdaf7('0x2d')](_0x34a46e,_0xdaf7('0x2a'));_0x51c622[_0xdaf7('0x31')]=_[_0xdaf7('0x32')](_0x11e3de['query']);_0x51c622['filters']=_[_0xdaf7('0x33')](_0x51c622['model'],_0x51c622[_0xdaf7('0x31')]);_0x32dd63[_0xdaf7('0x34')]=_[_0xdaf7('0x33')](_0x51c622[_0xdaf7('0x35')],qs[_0xdaf7('0x36')](_0x11e3de[_0xdaf7('0x31')][_0xdaf7('0x36')]));_0x32dd63[_0xdaf7('0x34')]=_0x32dd63[_0xdaf7('0x34')][_0xdaf7('0x37')]?_0x32dd63[_0xdaf7('0x34')]:_0x51c622[_0xdaf7('0x35')];if(!_0x11e3de[_0xdaf7('0x31')][_0xdaf7('0x38')](_0xdaf7('0x39'))){_0x32dd63[_0xdaf7('0x1e')]=qs['limit'](_0x11e3de[_0xdaf7('0x31')][_0xdaf7('0x1e')]);_0x32dd63[_0xdaf7('0x20')]=qs['offset'](_0x11e3de['query'][_0xdaf7('0x20')]);}_0x32dd63[_0xdaf7('0x3a')]=qs[_0xdaf7('0x3b')](_0x11e3de['query'][_0xdaf7('0x3b')]);_0x32dd63[_0xdaf7('0x3c')]=qs[_0xdaf7('0x3d')](_[_0xdaf7('0x3e')](_0x11e3de['query'],_0x51c622[_0xdaf7('0x3d')]),_0x34a46e);if(_0x11e3de['query'][_0xdaf7('0x3f')]){_0x32dd63[_0xdaf7('0x3c')]=_[_0xdaf7('0x40')](_0x32dd63[_0xdaf7('0x3c')],{'$or':_[_0xdaf7('0x2d')](_0x34a46e,function(_0x38abce){if(_0x38abce[_0xdaf7('0x41')]!=='VIRTUAL'){var _0xabc923={};_0xabc923[_0x38abce[_0xdaf7('0x2a')]]={'$like':'%'+_0x11e3de[_0xdaf7('0x31')]['filter']+'%'};return _0xabc923;}})});}_0x32dd63=_[_0xdaf7('0x40')]({},_0x32dd63,_0x11e3de[_0xdaf7('0x42')]);var _0x41dfee={'where':_0x32dd63[_0xdaf7('0x3c')]};return db['SalesforceField']['count'](_0x41dfee)['then'](function(_0x5ab910){_0xfb0ea9[_0xdaf7('0x1f')]=_0x5ab910;if(_0x11e3de[_0xdaf7('0x31')]['includeAll']){_0x32dd63['include']=[{'all':!![]}];}return db[_0xdaf7('0x43')][_0xdaf7('0x44')](_0x32dd63);})[_0xdaf7('0x26')](function(_0x4cefdf){_0xfb0ea9[_0xdaf7('0x45')]=_0x4cefdf;return _0xfb0ea9;})[_0xdaf7('0x26')](respondWithFilteredResult(_0xd8cfd1,_0x32dd63))[_0xdaf7('0x46')](handleError(_0xd8cfd1,null));};exports['show']=function(_0x423f3b,_0x49213e){var _0x4969f4={'raw':!![],'where':{'id':_0x423f3b[_0xdaf7('0x47')]['id']}},_0x2d801d={};_0x2d801d[_0xdaf7('0x35')]=_[_0xdaf7('0x32')](db['SalesforceField'][_0xdaf7('0x2e')]);_0x2d801d[_0xdaf7('0x31')]=_[_0xdaf7('0x32')](_0x423f3b[_0xdaf7('0x31')]);_0x2d801d[_0xdaf7('0x3d')]=_[_0xdaf7('0x33')](_0x2d801d[_0xdaf7('0x35')],_0x2d801d[_0xdaf7('0x31')]);_0x4969f4['attributes']=_['intersection'](_0x2d801d[_0xdaf7('0x35')],qs[_0xdaf7('0x36')](_0x423f3b['query'][_0xdaf7('0x36')]));_0x4969f4[_0xdaf7('0x34')]=_0x4969f4['attributes'][_0xdaf7('0x37')]?_0x4969f4[_0xdaf7('0x34')]:_0x2d801d['model'];if(_0x423f3b['query'][_0xdaf7('0x48')]){_0x4969f4[_0xdaf7('0x49')]=[{'all':!![]}];}_0x4969f4=_['merge']({},_0x4969f4,_0x423f3b['options']);return db['SalesforceField']['find'](_0x4969f4)[_0xdaf7('0x26')](handleEntityNotFound(_0x49213e,null))[_0xdaf7('0x26')](respondWithResult(_0x49213e,null))[_0xdaf7('0x46')](handleError(_0x49213e,null));};exports[_0xdaf7('0x4a')]=function(_0x1311b3,_0x4a575c){return db['SalesforceField']['create'](_0x1311b3[_0xdaf7('0x4b')],{})[_0xdaf7('0x26')](respondWithResult(_0x4a575c,0xc9))[_0xdaf7('0x46')](handleError(_0x4a575c,null));};exports[_0xdaf7('0x25')]=function(_0x3c04a8,_0x460fc4){if(_0x3c04a8[_0xdaf7('0x4b')]['id']){delete _0x3c04a8[_0xdaf7('0x4b')]['id'];}return db[_0xdaf7('0x43')][_0xdaf7('0x4c')]({'where':{'id':_0x3c04a8[_0xdaf7('0x47')]['id']}})[_0xdaf7('0x26')](handleEntityNotFound(_0x460fc4,null))['then'](saveUpdates(_0x3c04a8[_0xdaf7('0x4b')],null))[_0xdaf7('0x26')](respondWithResult(_0x460fc4,null))[_0xdaf7('0x46')](handleError(_0x460fc4,null));};exports[_0xdaf7('0x27')]=function(_0x214801,_0x323318){return db[_0xdaf7('0x43')]['find']({'where':{'id':_0x214801[_0xdaf7('0x47')]['id']}})[_0xdaf7('0x26')](handleEntityNotFound(_0x323318,null))[_0xdaf7('0x26')](removeEntity(_0x323318,null))[_0xdaf7('0x46')](handleError(_0x323318,null));};