6b910217048ca6585ee61f55f5d7ba2ca2e0d53f
[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 _0x8189=['include','findAll','rows','catch','show','params','keys','find','create','body','html-pdf','zip-dir','moment','bluebird','util','path','sox','lodash','squel','desk.js','querystring','papaparse','../../components/auth/service','../../components/parsers/advancedSearch','../../config/logger','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','status','json','count','offset','limit','set','reject','save','update','then','destroy','sendStatus','error','stack','name','send','index','map','SalesforceField','rawAttributes','fieldName','type','key','model','query','filters','intersection','fields','attributes','length','hasOwnProperty','order','sort','where','pick','filter','merge','VIRTUAL','options','includeAll'];(function(_0x53facf,_0x5cf1db){var _0x3a129e=function(_0x2a0017){while(--_0x2a0017){_0x53facf['push'](_0x53facf['shift']());}};_0x3a129e(++_0x5cf1db);}(_0x8189,0x94));var _0x9818=function(_0x4b1ce8,_0x14d6dd){_0x4b1ce8=_0x4b1ce8-0x0;var _0x7fae93=_0x8189[_0x4b1ce8];return _0x7fae93;};'use strict';var pdf=require(_0x9818('0x0'));var emlformat=require('eml-format');var rimraf=require('rimraf');var zipdir=require(_0x9818('0x1'));var jsonpatch=require('fast-json-patch');var rp=require('request-promise');var moment=require(_0x9818('0x2'));var BPromise=require(_0x9818('0x3'));var Mustache=require('mustache');var util=require(_0x9818('0x4'));var path=require(_0x9818('0x5'));var sox=require(_0x9818('0x6'));var csv=require('to-csv');var ejs=require('ejs');var fs=require('fs');var _=require(_0x9818('0x7'));var squel=require(_0x9818('0x8'));var crypto=require('crypto');var jsforce=require('jsforce');var deskjs=require(_0x9818('0x9'));var toCsv=require('to-csv');var querystring=require(_0x9818('0xa'));var Papa=require(_0x9818('0xb'));var Redis=require('ioredis');var authService=require(_0x9818('0xc'));var qs=require('../../components/parsers/qs');var as=require(_0x9818('0xd'));var hardwareService=require('../../config/license/hardware');var logger=require(_0x9818('0xe'))('api');var utils=require(_0x9818('0xf'));var config=require(_0x9818('0x10'));var licenseUtil=require(_0x9818('0x11'));var db=require(_0x9818('0x12'))['db'];function respondWithStatusCode(_0xcb33ea,_0xc1fb5c){_0xc1fb5c=_0xc1fb5c||0xcc;return function(_0x52a340){if(_0x52a340){return _0xcb33ea['sendStatus'](_0xc1fb5c);}return _0xcb33ea[_0x9818('0x13')](_0xc1fb5c)['end']();};}function respondWithResult(_0x5892bd,_0x361f10){_0x361f10=_0x361f10||0xc8;return function(_0x2800ab){if(_0x2800ab){return _0x5892bd['status'](_0x361f10)[_0x9818('0x14')](_0x2800ab);}};}function respondWithFilteredResult(_0xa7ef11,_0x23b2d6){return function(_0x363aab){if(_0x363aab){var _0xa07a5e=_0x363aab[_0x9818('0x15')],_0x493229=_0x23b2d6[_0x9818('0x16')],_0x3bcb4c=_0x23b2d6[_0x9818('0x16')]+_0x23b2d6[_0x9818('0x17')],_0x2e8e36;if(_0x3bcb4c>=_0xa07a5e){_0x3bcb4c=_0xa07a5e;_0x2e8e36=0xc8;}else{_0x2e8e36=0xce;}_0xa7ef11[_0x9818('0x13')](_0x2e8e36);return _0xa7ef11[_0x9818('0x18')]('Content-Range',_0x493229+'-'+_0x3bcb4c+'/'+_0xa07a5e)['json'](_0x363aab);}return null;};}function patchUpdates(_0x45894f){return function(_0x364f42){try{jsonpatch['apply'](_0x364f42,_0x45894f,!![]);}catch(_0x42864a){return BPromise[_0x9818('0x19')](_0x42864a);}return _0x364f42[_0x9818('0x1a')]();};}function saveUpdates(_0x3fcb2f,_0x1bd8ad){return function(_0x23d7a9){if(_0x23d7a9){return _0x23d7a9[_0x9818('0x1b')](_0x3fcb2f)[_0x9818('0x1c')](function(_0x1d09d1){return _0x1d09d1;});}return null;};}function removeEntity(_0x23ea44,_0x15fbde){return function(_0x51ce8b){if(_0x51ce8b){return _0x51ce8b[_0x9818('0x1d')]()[_0x9818('0x1c')](function(){_0x23ea44[_0x9818('0x13')](0xcc)['end']();});}};}function handleEntityNotFound(_0xb9761b,_0x16d56d){return function(_0x3f8574){if(!_0x3f8574){_0xb9761b[_0x9818('0x1e')](0x194);}return _0x3f8574;};}function handleError(_0x179fbf,_0xf95e26){_0xf95e26=_0xf95e26||0x1f4;return function(_0x3b7338){logger[_0x9818('0x1f')](_0x3b7338[_0x9818('0x20')]);if(_0x3b7338[_0x9818('0x21')]){delete _0x3b7338[_0x9818('0x21')];}_0x179fbf[_0x9818('0x13')](_0xf95e26)[_0x9818('0x22')](_0x3b7338);};}exports[_0x9818('0x23')]=function(_0x42d7ee,_0x15a968){var _0x117d88={},_0x56bb6b={},_0x5dac3d={'count':0x0,'rows':[]};var _0x4c239b=_[_0x9818('0x24')](db[_0x9818('0x25')][_0x9818('0x26')],function(_0x3dc693){return{'name':_0x3dc693[_0x9818('0x27')],'type':_0x3dc693[_0x9818('0x28')][_0x9818('0x29')]};});_0x56bb6b[_0x9818('0x2a')]=_[_0x9818('0x24')](_0x4c239b,'name');_0x56bb6b[_0x9818('0x2b')]=_['keys'](_0x42d7ee['query']);_0x56bb6b[_0x9818('0x2c')]=_['intersection'](_0x56bb6b[_0x9818('0x2a')],_0x56bb6b['query']);_0x117d88['attributes']=_[_0x9818('0x2d')](_0x56bb6b[_0x9818('0x2a')],qs[_0x9818('0x2e')](_0x42d7ee['query']['fields']));_0x117d88[_0x9818('0x2f')]=_0x117d88[_0x9818('0x2f')][_0x9818('0x30')]?_0x117d88[_0x9818('0x2f')]:_0x56bb6b[_0x9818('0x2a')];if(!_0x42d7ee['query'][_0x9818('0x31')]('nolimit')){_0x117d88[_0x9818('0x17')]=qs[_0x9818('0x17')](_0x42d7ee['query'][_0x9818('0x17')]);_0x117d88['offset']=qs[_0x9818('0x16')](_0x42d7ee[_0x9818('0x2b')][_0x9818('0x16')]);}_0x117d88[_0x9818('0x32')]=qs[_0x9818('0x33')](_0x42d7ee[_0x9818('0x2b')][_0x9818('0x33')]);_0x117d88[_0x9818('0x34')]=qs[_0x9818('0x2c')](_[_0x9818('0x35')](_0x42d7ee[_0x9818('0x2b')],_0x56bb6b[_0x9818('0x2c')]),_0x4c239b);if(_0x42d7ee[_0x9818('0x2b')][_0x9818('0x36')]){_0x117d88[_0x9818('0x34')]=_[_0x9818('0x37')](_0x117d88['where'],{'$or':_[_0x9818('0x24')](_0x4c239b,function(_0x1a5966){if(_0x1a5966['type']!==_0x9818('0x38')){var _0x521115={};_0x521115[_0x1a5966['name']]={'$like':'%'+_0x42d7ee[_0x9818('0x2b')][_0x9818('0x36')]+'%'};return _0x521115;}})});}_0x117d88=_[_0x9818('0x37')]({},_0x117d88,_0x42d7ee[_0x9818('0x39')]);var _0x26ef2c={'where':_0x117d88[_0x9818('0x34')]};return db[_0x9818('0x25')][_0x9818('0x15')](_0x26ef2c)[_0x9818('0x1c')](function(_0x20fdcf){_0x5dac3d[_0x9818('0x15')]=_0x20fdcf;if(_0x42d7ee['query'][_0x9818('0x3a')]){_0x117d88[_0x9818('0x3b')]=[{'all':!![]}];}return db['SalesforceField'][_0x9818('0x3c')](_0x117d88);})['then'](function(_0x450be1){_0x5dac3d[_0x9818('0x3d')]=_0x450be1;return _0x5dac3d;})['then'](respondWithFilteredResult(_0x15a968,_0x117d88))[_0x9818('0x3e')](handleError(_0x15a968,null));};exports[_0x9818('0x3f')]=function(_0x22ba48,_0x211287){var _0x5ccc04={'raw':!![],'where':{'id':_0x22ba48[_0x9818('0x40')]['id']}},_0x5425c5={};_0x5425c5[_0x9818('0x2a')]=_[_0x9818('0x41')](db['SalesforceField'][_0x9818('0x26')]);_0x5425c5[_0x9818('0x2b')]=_[_0x9818('0x41')](_0x22ba48['query']);_0x5425c5[_0x9818('0x2c')]=_['intersection'](_0x5425c5[_0x9818('0x2a')],_0x5425c5[_0x9818('0x2b')]);_0x5ccc04[_0x9818('0x2f')]=_[_0x9818('0x2d')](_0x5425c5[_0x9818('0x2a')],qs[_0x9818('0x2e')](_0x22ba48['query'][_0x9818('0x2e')]));_0x5ccc04[_0x9818('0x2f')]=_0x5ccc04['attributes'][_0x9818('0x30')]?_0x5ccc04[_0x9818('0x2f')]:_0x5425c5[_0x9818('0x2a')];if(_0x22ba48[_0x9818('0x2b')]['includeAll']){_0x5ccc04[_0x9818('0x3b')]=[{'all':!![]}];}_0x5ccc04=_[_0x9818('0x37')]({},_0x5ccc04,_0x22ba48['options']);return db[_0x9818('0x25')][_0x9818('0x42')](_0x5ccc04)[_0x9818('0x1c')](handleEntityNotFound(_0x211287,null))[_0x9818('0x1c')](respondWithResult(_0x211287,null))[_0x9818('0x3e')](handleError(_0x211287,null));};exports[_0x9818('0x43')]=function(_0x474a3c,_0x400d09){return db['SalesforceField'][_0x9818('0x43')](_0x474a3c[_0x9818('0x44')],{})[_0x9818('0x1c')](respondWithResult(_0x400d09,0xc9))['catch'](handleError(_0x400d09,null));};exports[_0x9818('0x1b')]=function(_0x4f3090,_0x4f5604){if(_0x4f3090[_0x9818('0x44')]['id']){delete _0x4f3090[_0x9818('0x44')]['id'];}return db['SalesforceField'][_0x9818('0x42')]({'where':{'id':_0x4f3090[_0x9818('0x40')]['id']}})[_0x9818('0x1c')](handleEntityNotFound(_0x4f5604,null))[_0x9818('0x1c')](saveUpdates(_0x4f3090[_0x9818('0x44')],null))[_0x9818('0x1c')](respondWithResult(_0x4f5604,null))[_0x9818('0x3e')](handleError(_0x4f5604,null));};exports[_0x9818('0x1d')]=function(_0x31f6ff,_0x5729f1){return db['SalesforceField'][_0x9818('0x42')]({'where':{'id':_0x31f6ff[_0x9818('0x40')]['id']}})['then'](handleEntityNotFound(_0x5729f1,null))[_0x9818('0x1c')](removeEntity(_0x5729f1,null))[_0x9818('0x3e')](handleError(_0x5729f1,null));};