4932e9e607d3aa2a5206bdaeef1d70e64a144a4e
[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 _0x2cbd=['../../config/utils','../../config/license/util','../../mysqldb','sendStatus','status','end','json','undefined','limit','offset','count','set','Content-Range','apply','reject','save','update','then','destroy','stack','name','send','index','map','rawAttributes','fieldName','key','query','keys','filters','intersection','model','fields','attributes','length','hasOwnProperty','nolimit','where','pick','filter','merge','VIRTUAL','SalesforceField','include','findAll','show','params','options','find','catch','create','body','eml-format','fast-json-patch','moment','bluebird','mustache','util','path','sox','to-csv','ejs','fs-extra','squel','crypto','jsforce','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','api'];(function(_0x3fba9f,_0x3b7b9b){var _0x192cf1=function(_0x557290){while(--_0x557290){_0x3fba9f['push'](_0x3fba9f['shift']());}};_0x192cf1(++_0x3b7b9b);}(_0x2cbd,0x7d));var _0xd2cb=function(_0x196e1b,_0x55fa06){_0x196e1b=_0x196e1b-0x0;var _0x5e1f18=_0x2cbd[_0x196e1b];return _0x5e1f18;};'use strict';var emlformat=require(_0xd2cb('0x0'));var rimraf=require('rimraf');var zipdir=require('zip-dir');var jsonpatch=require(_0xd2cb('0x1'));var rp=require('request-promise');var moment=require(_0xd2cb('0x2'));var BPromise=require(_0xd2cb('0x3'));var Mustache=require(_0xd2cb('0x4'));var util=require(_0xd2cb('0x5'));var path=require(_0xd2cb('0x6'));var sox=require(_0xd2cb('0x7'));var csv=require(_0xd2cb('0x8'));var ejs=require(_0xd2cb('0x9'));var fs=require('fs');var fs_extra=require(_0xd2cb('0xa'));var _=require('lodash');var squel=require(_0xd2cb('0xb'));var crypto=require(_0xd2cb('0xc'));var jsforce=require(_0xd2cb('0xd'));var deskjs=require('desk.js');var toCsv=require(_0xd2cb('0x8'));var querystring=require('querystring');var Papa=require(_0xd2cb('0xe'));var Redis=require(_0xd2cb('0xf'));var authService=require(_0xd2cb('0x10'));var qs=require(_0xd2cb('0x11'));var as=require(_0xd2cb('0x12'));var hardwareService=require(_0xd2cb('0x13'));var logger=require('../../config/logger')(_0xd2cb('0x14'));var utils=require(_0xd2cb('0x15'));var config=require('../../config/environment');var licenseUtil=require(_0xd2cb('0x16'));var db=require(_0xd2cb('0x17'))['db'];function respondWithStatusCode(_0x36afcb,_0x28f084){_0x28f084=_0x28f084||0xcc;return function(_0x23e4e9){if(_0x23e4e9){return _0x36afcb[_0xd2cb('0x18')](_0x28f084);}return _0x36afcb[_0xd2cb('0x19')](_0x28f084)[_0xd2cb('0x1a')]();};}function respondWithResult(_0x22d715,_0x2253bb){_0x2253bb=_0x2253bb||0xc8;return function(_0x2ba5d2){if(_0x2ba5d2){return _0x22d715[_0xd2cb('0x19')](_0x2253bb)[_0xd2cb('0x1b')](_0x2ba5d2);}};}function respondWithFilteredResult(_0x186ab8,_0x22d878){return function(_0x258890){if(_0x258890){var _0x339c8c=typeof _0x22d878['offset']===_0xd2cb('0x1c')&&typeof _0x22d878[_0xd2cb('0x1d')]===_0xd2cb('0x1c');var _0x1e5360=_0x258890['count'];var _0x564487=_0x339c8c?0x0:_0x22d878[_0xd2cb('0x1e')];var _0xe82783=_0x339c8c?_0x258890[_0xd2cb('0x1f')]:_0x22d878[_0xd2cb('0x1e')]+_0x22d878[_0xd2cb('0x1d')];var _0x1f4d73;if(_0xe82783>=_0x1e5360){_0xe82783=_0x1e5360;_0x1f4d73=0xc8;}else{_0x1f4d73=0xce;}_0x186ab8[_0xd2cb('0x19')](_0x1f4d73);return _0x186ab8[_0xd2cb('0x20')](_0xd2cb('0x21'),_0x564487+'-'+_0xe82783+'/'+_0x1e5360)[_0xd2cb('0x1b')](_0x258890);}return null;};}function patchUpdates(_0x34db85){return function(_0x5799ab){try{jsonpatch[_0xd2cb('0x22')](_0x5799ab,_0x34db85,!![]);}catch(_0x1a47d0){return BPromise[_0xd2cb('0x23')](_0x1a47d0);}return _0x5799ab[_0xd2cb('0x24')]();};}function saveUpdates(_0x20fe2b,_0x429835){return function(_0x184efe){if(_0x184efe){return _0x184efe[_0xd2cb('0x25')](_0x20fe2b)[_0xd2cb('0x26')](function(_0x5d6dc2){return _0x5d6dc2;});}return null;};}function removeEntity(_0x444095,_0x1b8b28){return function(_0x1588a7){if(_0x1588a7){return _0x1588a7[_0xd2cb('0x27')]()[_0xd2cb('0x26')](function(){_0x444095['status'](0xcc)['end']();});}};}function handleEntityNotFound(_0x1c2f2c,_0x295fd3){return function(_0x41731e){if(!_0x41731e){_0x1c2f2c[_0xd2cb('0x18')](0x194);}return _0x41731e;};}function handleError(_0x481b3f,_0x19286d){_0x19286d=_0x19286d||0x1f4;return function(_0x15c877){logger['error'](_0x15c877[_0xd2cb('0x28')]);if(_0x15c877[_0xd2cb('0x29')]){delete _0x15c877['name'];}_0x481b3f[_0xd2cb('0x19')](_0x19286d)[_0xd2cb('0x2a')](_0x15c877);};}exports[_0xd2cb('0x2b')]=function(_0x3f68cb,_0x577832){var _0x5d6524={},_0x3afccd={},_0xbc40b1={'count':0x0,'rows':[]};var _0xf8579d=_[_0xd2cb('0x2c')](db['SalesforceField'][_0xd2cb('0x2d')],function(_0x424c12){return{'name':_0x424c12[_0xd2cb('0x2e')],'type':_0x424c12['type'][_0xd2cb('0x2f')]};});_0x3afccd['model']=_[_0xd2cb('0x2c')](_0xf8579d,'name');_0x3afccd[_0xd2cb('0x30')]=_[_0xd2cb('0x31')](_0x3f68cb[_0xd2cb('0x30')]);_0x3afccd[_0xd2cb('0x32')]=_[_0xd2cb('0x33')](_0x3afccd['model'],_0x3afccd[_0xd2cb('0x30')]);_0x5d6524['attributes']=_[_0xd2cb('0x33')](_0x3afccd[_0xd2cb('0x34')],qs['fields'](_0x3f68cb['query'][_0xd2cb('0x35')]));_0x5d6524[_0xd2cb('0x36')]=_0x5d6524[_0xd2cb('0x36')][_0xd2cb('0x37')]?_0x5d6524[_0xd2cb('0x36')]:_0x3afccd['model'];if(!_0x3f68cb[_0xd2cb('0x30')][_0xd2cb('0x38')](_0xd2cb('0x39'))){_0x5d6524[_0xd2cb('0x1d')]=qs['limit'](_0x3f68cb[_0xd2cb('0x30')]['limit']);_0x5d6524[_0xd2cb('0x1e')]=qs[_0xd2cb('0x1e')](_0x3f68cb[_0xd2cb('0x30')][_0xd2cb('0x1e')]);}_0x5d6524['order']=qs['sort'](_0x3f68cb[_0xd2cb('0x30')]['sort']);_0x5d6524[_0xd2cb('0x3a')]=qs[_0xd2cb('0x32')](_[_0xd2cb('0x3b')](_0x3f68cb[_0xd2cb('0x30')],_0x3afccd[_0xd2cb('0x32')]),_0xf8579d);if(_0x3f68cb[_0xd2cb('0x30')][_0xd2cb('0x3c')]){_0x5d6524[_0xd2cb('0x3a')]=_[_0xd2cb('0x3d')](_0x5d6524['where'],{'$or':_[_0xd2cb('0x2c')](_0xf8579d,function(_0x233311){if(_0x233311['type']!==_0xd2cb('0x3e')){var _0x3c537f={};_0x3c537f[_0x233311['name']]={'$like':'%'+_0x3f68cb[_0xd2cb('0x30')]['filter']+'%'};return _0x3c537f;}})});}_0x5d6524=_[_0xd2cb('0x3d')]({},_0x5d6524,_0x3f68cb['options']);var _0x917f19={'where':_0x5d6524[_0xd2cb('0x3a')]};return db[_0xd2cb('0x3f')]['count'](_0x917f19)[_0xd2cb('0x26')](function(_0x5061a5){_0xbc40b1[_0xd2cb('0x1f')]=_0x5061a5;if(_0x3f68cb[_0xd2cb('0x30')]['includeAll']){_0x5d6524[_0xd2cb('0x40')]=[{'all':!![]}];}return db[_0xd2cb('0x3f')][_0xd2cb('0x41')](_0x5d6524);})[_0xd2cb('0x26')](function(_0x4aa05e){_0xbc40b1['rows']=_0x4aa05e;return _0xbc40b1;})[_0xd2cb('0x26')](respondWithFilteredResult(_0x577832,_0x5d6524))['catch'](handleError(_0x577832,null));};exports[_0xd2cb('0x42')]=function(_0x5aecac,_0x2b7889){var _0xf15088={'raw':!![],'where':{'id':_0x5aecac[_0xd2cb('0x43')]['id']}},_0x27db7f={};_0x27db7f[_0xd2cb('0x34')]=_[_0xd2cb('0x31')](db[_0xd2cb('0x3f')]['rawAttributes']);_0x27db7f[_0xd2cb('0x30')]=_[_0xd2cb('0x31')](_0x5aecac[_0xd2cb('0x30')]);_0x27db7f[_0xd2cb('0x32')]=_[_0xd2cb('0x33')](_0x27db7f[_0xd2cb('0x34')],_0x27db7f['query']);_0xf15088[_0xd2cb('0x36')]=_[_0xd2cb('0x33')](_0x27db7f[_0xd2cb('0x34')],qs[_0xd2cb('0x35')](_0x5aecac[_0xd2cb('0x30')][_0xd2cb('0x35')]));_0xf15088[_0xd2cb('0x36')]=_0xf15088['attributes']['length']?_0xf15088[_0xd2cb('0x36')]:_0x27db7f[_0xd2cb('0x34')];if(_0x5aecac[_0xd2cb('0x30')]['includeAll']){_0xf15088[_0xd2cb('0x40')]=[{'all':!![]}];}_0xf15088=_['merge']({},_0xf15088,_0x5aecac[_0xd2cb('0x44')]);return db[_0xd2cb('0x3f')][_0xd2cb('0x45')](_0xf15088)[_0xd2cb('0x26')](handleEntityNotFound(_0x2b7889,null))[_0xd2cb('0x26')](respondWithResult(_0x2b7889,null))[_0xd2cb('0x46')](handleError(_0x2b7889,null));};exports['create']=function(_0x1c2f13,_0x1aff90){return db[_0xd2cb('0x3f')][_0xd2cb('0x47')](_0x1c2f13[_0xd2cb('0x48')],{})[_0xd2cb('0x26')](respondWithResult(_0x1aff90,0xc9))['catch'](handleError(_0x1aff90,null));};exports[_0xd2cb('0x25')]=function(_0x42521b,_0x5ac1f3){if(_0x42521b['body']['id']){delete _0x42521b['body']['id'];}return db['SalesforceField'][_0xd2cb('0x45')]({'where':{'id':_0x42521b[_0xd2cb('0x43')]['id']}})[_0xd2cb('0x26')](handleEntityNotFound(_0x5ac1f3,null))['then'](saveUpdates(_0x42521b[_0xd2cb('0x48')],null))[_0xd2cb('0x26')](respondWithResult(_0x5ac1f3,null))['catch'](handleError(_0x5ac1f3,null));};exports['destroy']=function(_0x9ea949,_0x2b62f1){return db['SalesforceField'][_0xd2cb('0x45')]({'where':{'id':_0x9ea949[_0xd2cb('0x43')]['id']}})[_0xd2cb('0x26')](handleEntityNotFound(_0x2b62f1,null))[_0xd2cb('0x26')](removeEntity(_0x2b62f1,null))[_0xd2cb('0x46')](handleError(_0x2b62f1,null));};