4571411a831762dbdaf089d760eb646c42859d27
[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 _0xda04=['../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/logger','api','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','end','json','count','offset','set','Content-Range','apply','reject','update','then','destroy','error','name','send','rawAttributes','fieldName','type','key','model','map','query','keys','filters','attributes','intersection','fields','length','hasOwnProperty','sort','where','filter','merge','options','includeAll','include','SalesforceField','rows','catch','params','create','body','find','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','bluebird','mustache','util','path','sox','to-csv','ejs','lodash','squel','jsforce','desk.js','querystring','papaparse','ioredis'];(function(_0x586f92,_0x597a1b){var _0x44a7e5=function(_0x500277){while(--_0x500277){_0x586f92['push'](_0x586f92['shift']());}};_0x44a7e5(++_0x597a1b);}(_0xda04,0x109));var _0x4da0=function(_0x473a38,_0x1c0e5e){_0x473a38=_0x473a38-0x0;var _0x569d43=_0xda04[_0x473a38];return _0x569d43;};'use strict';var pdf=require('html-pdf');var emlformat=require(_0x4da0('0x0'));var rimraf=require(_0x4da0('0x1'));var zipdir=require(_0x4da0('0x2'));var jsonpatch=require(_0x4da0('0x3'));var rp=require(_0x4da0('0x4'));var moment=require('moment');var BPromise=require(_0x4da0('0x5'));var Mustache=require(_0x4da0('0x6'));var util=require(_0x4da0('0x7'));var path=require(_0x4da0('0x8'));var sox=require(_0x4da0('0x9'));var csv=require(_0x4da0('0xa'));var ejs=require(_0x4da0('0xb'));var fs=require('fs');var _=require(_0x4da0('0xc'));var squel=require(_0x4da0('0xd'));var crypto=require('crypto');var jsforce=require(_0x4da0('0xe'));var deskjs=require(_0x4da0('0xf'));var toCsv=require(_0x4da0('0xa'));var querystring=require(_0x4da0('0x10'));var Papa=require(_0x4da0('0x11'));var Redis=require(_0x4da0('0x12'));var authService=require(_0x4da0('0x13'));var qs=require(_0x4da0('0x14'));var as=require(_0x4da0('0x15'));var hardwareService=require('../../config/license/hardware');var logger=require(_0x4da0('0x16'))(_0x4da0('0x17'));var utils=require('../../config/utils');var config=require(_0x4da0('0x18'));var licenseUtil=require(_0x4da0('0x19'));var db=require(_0x4da0('0x1a'))['db'];function respondWithStatusCode(_0x2d5a1f,_0x9caaaa){_0x9caaaa=_0x9caaaa||0xcc;return function(_0x4524b2){if(_0x4524b2){return _0x2d5a1f[_0x4da0('0x1b')](_0x9caaaa);}return _0x2d5a1f[_0x4da0('0x1c')](_0x9caaaa)[_0x4da0('0x1d')]();};}function respondWithResult(_0x4287d8,_0xed7e44){_0xed7e44=_0xed7e44||0xc8;return function(_0x6693eb){if(_0x6693eb){return _0x4287d8['status'](_0xed7e44)[_0x4da0('0x1e')](_0x6693eb);}};}function respondWithFilteredResult(_0x3f4653,_0x5aec75){return function(_0x17b1af){if(_0x17b1af){var _0x30b92e=_0x17b1af[_0x4da0('0x1f')],_0x4fd3c7=_0x5aec75['offset'],_0x5c5e8e=_0x5aec75[_0x4da0('0x20')]+_0x5aec75['limit'],_0x43f378;if(_0x5c5e8e>=_0x30b92e){_0x5c5e8e=_0x30b92e;_0x43f378=0xc8;}else{_0x43f378=0xce;}_0x3f4653[_0x4da0('0x1c')](_0x43f378);return _0x3f4653[_0x4da0('0x21')](_0x4da0('0x22'),_0x4fd3c7+'-'+_0x5c5e8e+'/'+_0x30b92e)[_0x4da0('0x1e')](_0x17b1af);}return null;};}function patchUpdates(_0x43d3b2){return function(_0x4d2f06){try{jsonpatch[_0x4da0('0x23')](_0x4d2f06,_0x43d3b2,!![]);}catch(_0x270d04){return BPromise[_0x4da0('0x24')](_0x270d04);}return _0x4d2f06['save']();};}function saveUpdates(_0x4d8a1d,_0x5042d1){return function(_0x4b7dbb){if(_0x4b7dbb){return _0x4b7dbb[_0x4da0('0x25')](_0x4d8a1d)[_0x4da0('0x26')](function(_0x152c8e){return _0x152c8e;});}return null;};}function removeEntity(_0x4dd71e,_0x2067ca){return function(_0x54a800){if(_0x54a800){return _0x54a800[_0x4da0('0x27')]()['then'](function(){_0x4dd71e[_0x4da0('0x1c')](0xcc)['end']();});}};}function handleEntityNotFound(_0x2fd079,_0x46e04c){return function(_0x3aa641){if(!_0x3aa641){_0x2fd079[_0x4da0('0x1b')](0x194);}return _0x3aa641;};}function handleError(_0x1086ee,_0x867aae){_0x867aae=_0x867aae||0x1f4;return function(_0x4e48c1){logger[_0x4da0('0x28')](_0x4e48c1['stack']);if(_0x4e48c1['name']){delete _0x4e48c1[_0x4da0('0x29')];}_0x1086ee[_0x4da0('0x1c')](_0x867aae)[_0x4da0('0x2a')](_0x4e48c1);};}exports['index']=function(_0x262876,_0xe054ea){var _0xb30eea={},_0x572e31={},_0x25db32={'count':0x0,'rows':[]};var _0x398b73=_['map'](db['SalesforceField'][_0x4da0('0x2b')],function(_0x310558){return{'name':_0x310558[_0x4da0('0x2c')],'type':_0x310558[_0x4da0('0x2d')][_0x4da0('0x2e')]};});_0x572e31[_0x4da0('0x2f')]=_[_0x4da0('0x30')](_0x398b73,_0x4da0('0x29'));_0x572e31[_0x4da0('0x31')]=_[_0x4da0('0x32')](_0x262876[_0x4da0('0x31')]);_0x572e31[_0x4da0('0x33')]=_['intersection'](_0x572e31[_0x4da0('0x2f')],_0x572e31[_0x4da0('0x31')]);_0xb30eea[_0x4da0('0x34')]=_[_0x4da0('0x35')](_0x572e31['model'],qs['fields'](_0x262876[_0x4da0('0x31')][_0x4da0('0x36')]));_0xb30eea['attributes']=_0xb30eea[_0x4da0('0x34')][_0x4da0('0x37')]?_0xb30eea[_0x4da0('0x34')]:_0x572e31[_0x4da0('0x2f')];if(!_0x262876['query'][_0x4da0('0x38')]('nolimit')){_0xb30eea['limit']=qs['limit'](_0x262876[_0x4da0('0x31')]['limit']);_0xb30eea['offset']=qs[_0x4da0('0x20')](_0x262876[_0x4da0('0x31')]['offset']);}_0xb30eea['order']=qs['sort'](_0x262876['query'][_0x4da0('0x39')]);_0xb30eea[_0x4da0('0x3a')]=qs[_0x4da0('0x33')](_['pick'](_0x262876[_0x4da0('0x31')],_0x572e31[_0x4da0('0x33')]),_0x398b73);if(_0x262876[_0x4da0('0x31')][_0x4da0('0x3b')]){_0xb30eea[_0x4da0('0x3a')]=_[_0x4da0('0x3c')](_0xb30eea[_0x4da0('0x3a')],{'$or':_[_0x4da0('0x30')](_0x398b73,function(_0x45c6bb){if(_0x45c6bb[_0x4da0('0x2d')]!=='VIRTUAL'){var _0x4a9d09={};_0x4a9d09[_0x45c6bb[_0x4da0('0x29')]]={'$like':'%'+_0x262876[_0x4da0('0x31')][_0x4da0('0x3b')]+'%'};return _0x4a9d09;}})});}_0xb30eea=_[_0x4da0('0x3c')]({},_0xb30eea,_0x262876[_0x4da0('0x3d')]);var _0x5527e1={'where':_0xb30eea[_0x4da0('0x3a')]};return db['SalesforceField'][_0x4da0('0x1f')](_0x5527e1)[_0x4da0('0x26')](function(_0x1062e6){_0x25db32[_0x4da0('0x1f')]=_0x1062e6;if(_0x262876[_0x4da0('0x31')][_0x4da0('0x3e')]){_0xb30eea[_0x4da0('0x3f')]=[{'all':!![]}];}return db[_0x4da0('0x40')]['findAll'](_0xb30eea);})[_0x4da0('0x26')](function(_0x430b48){_0x25db32[_0x4da0('0x41')]=_0x430b48;return _0x25db32;})[_0x4da0('0x26')](respondWithFilteredResult(_0xe054ea,_0xb30eea))[_0x4da0('0x42')](handleError(_0xe054ea,null));};exports['show']=function(_0x5ea75a,_0x1e2084){var _0x278646={'raw':!![],'where':{'id':_0x5ea75a[_0x4da0('0x43')]['id']}},_0x541f04={};_0x541f04[_0x4da0('0x2f')]=_['keys'](db['SalesforceField'][_0x4da0('0x2b')]);_0x541f04['query']=_['keys'](_0x5ea75a[_0x4da0('0x31')]);_0x541f04[_0x4da0('0x33')]=_[_0x4da0('0x35')](_0x541f04['model'],_0x541f04[_0x4da0('0x31')]);_0x278646['attributes']=_[_0x4da0('0x35')](_0x541f04[_0x4da0('0x2f')],qs[_0x4da0('0x36')](_0x5ea75a[_0x4da0('0x31')]['fields']));_0x278646[_0x4da0('0x34')]=_0x278646['attributes']['length']?_0x278646[_0x4da0('0x34')]:_0x541f04[_0x4da0('0x2f')];if(_0x5ea75a['query'][_0x4da0('0x3e')]){_0x278646[_0x4da0('0x3f')]=[{'all':!![]}];}_0x278646=_[_0x4da0('0x3c')]({},_0x278646,_0x5ea75a['options']);return db[_0x4da0('0x40')]['find'](_0x278646)[_0x4da0('0x26')](handleEntityNotFound(_0x1e2084,null))[_0x4da0('0x26')](respondWithResult(_0x1e2084,null))[_0x4da0('0x42')](handleError(_0x1e2084,null));};exports[_0x4da0('0x44')]=function(_0x509ddf,_0x1b4f6f){return db['SalesforceField'][_0x4da0('0x44')](_0x509ddf[_0x4da0('0x45')],{})[_0x4da0('0x26')](respondWithResult(_0x1b4f6f,0xc9))[_0x4da0('0x42')](handleError(_0x1b4f6f,null));};exports[_0x4da0('0x25')]=function(_0x4450f3,_0x5557c7){if(_0x4450f3[_0x4da0('0x45')]['id']){delete _0x4450f3['body']['id'];}return db['SalesforceField']['find']({'where':{'id':_0x4450f3[_0x4da0('0x43')]['id']}})[_0x4da0('0x26')](handleEntityNotFound(_0x5557c7,null))['then'](saveUpdates(_0x4450f3[_0x4da0('0x45')],null))['then'](respondWithResult(_0x5557c7,null))[_0x4da0('0x42')](handleError(_0x5557c7,null));};exports['destroy']=function(_0x30cbf3,_0x2c32f9){return db[_0x4da0('0x40')][_0x4da0('0x46')]({'where':{'id':_0x30cbf3['params']['id']}})[_0x4da0('0x26')](handleEntityNotFound(_0x2c32f9,null))[_0x4da0('0x26')](removeEntity(_0x2c32f9,null))[_0x4da0('0x42')](handleError(_0x2c32f9,null));};