Built motion from commit da617fac.|2.6.6
[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 _0xe2d4=['ejs','fs-extra','lodash','squel','jsforce','desk.js','papaparse','../../components/auth/service','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','undefined','limit','count','offset','set','Content-Range','json','apply','reject','save','update','then','end','error','name','send','map','SalesforceField','fieldName','type','key','model','query','keys','filters','intersection','attributes','fields','length','hasOwnProperty','nolimit','order','sort','pick','where','VIRTUAL','filter','merge','options','includeAll','include','findAll','rows','catch','params','rawAttributes','find','create','body','destroy','rimraf','zip-dir','fast-json-patch','request-promise','bluebird','mustache','util','path','to-csv'];(function(_0xce93c,_0x555be5){var _0x230720=function(_0x6d5428){while(--_0x6d5428){_0xce93c['push'](_0xce93c['shift']());}};_0x230720(++_0x555be5);}(_0xe2d4,0x1b9));var _0x4e2d=function(_0x23cb64,_0x1360f8){_0x23cb64=_0x23cb64-0x0;var _0x122d12=_0xe2d4[_0x23cb64];return _0x122d12;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0x4e2d('0x0'));var zipdir=require(_0x4e2d('0x1'));var jsonpatch=require(_0x4e2d('0x2'));var rp=require(_0x4e2d('0x3'));var moment=require('moment');var BPromise=require(_0x4e2d('0x4'));var Mustache=require(_0x4e2d('0x5'));var util=require(_0x4e2d('0x6'));var path=require(_0x4e2d('0x7'));var sox=require('sox');var csv=require(_0x4e2d('0x8'));var ejs=require(_0x4e2d('0x9'));var fs=require('fs');var fs_extra=require(_0x4e2d('0xa'));var _=require(_0x4e2d('0xb'));var squel=require(_0x4e2d('0xc'));var crypto=require('crypto');var jsforce=require(_0x4e2d('0xd'));var deskjs=require(_0x4e2d('0xe'));var toCsv=require(_0x4e2d('0x8'));var querystring=require('querystring');var Papa=require(_0x4e2d('0xf'));var Redis=require('ioredis');var authService=require(_0x4e2d('0x10'));var qs=require('../../components/parsers/qs');var as=require(_0x4e2d('0x11'));var hardwareService=require(_0x4e2d('0x12'));var logger=require('../../config/logger')('api');var utils=require(_0x4e2d('0x13'));var config=require(_0x4e2d('0x14'));var licenseUtil=require(_0x4e2d('0x15'));var db=require(_0x4e2d('0x16'))['db'];function respondWithStatusCode(_0x2775a5,_0x71ed32){_0x71ed32=_0x71ed32||0xcc;return function(_0x5f49b6){if(_0x5f49b6){return _0x2775a5[_0x4e2d('0x17')](_0x71ed32);}return _0x2775a5[_0x4e2d('0x18')](_0x71ed32)['end']();};}function respondWithResult(_0x507afa,_0xd84f83){_0xd84f83=_0xd84f83||0xc8;return function(_0x35e95d){if(_0x35e95d){return _0x507afa[_0x4e2d('0x18')](_0xd84f83)['json'](_0x35e95d);}};}function respondWithFilteredResult(_0x207b38,_0x5e8293){return function(_0x3e1e81){if(_0x3e1e81){var _0x1cbe7c=typeof _0x5e8293['offset']===_0x4e2d('0x19')&&typeof _0x5e8293[_0x4e2d('0x1a')]===_0x4e2d('0x19');var _0x779bbe=_0x3e1e81[_0x4e2d('0x1b')];var _0x27fbf7=_0x1cbe7c?0x0:_0x5e8293[_0x4e2d('0x1c')];var _0x2e0611=_0x1cbe7c?_0x3e1e81['count']:_0x5e8293[_0x4e2d('0x1c')]+_0x5e8293[_0x4e2d('0x1a')];var _0xa8306f;if(_0x2e0611>=_0x779bbe){_0x2e0611=_0x779bbe;_0xa8306f=0xc8;}else{_0xa8306f=0xce;}_0x207b38['status'](_0xa8306f);return _0x207b38[_0x4e2d('0x1d')](_0x4e2d('0x1e'),_0x27fbf7+'-'+_0x2e0611+'/'+_0x779bbe)[_0x4e2d('0x1f')](_0x3e1e81);}return null;};}function patchUpdates(_0x276428){return function(_0x3c0a82){try{jsonpatch[_0x4e2d('0x20')](_0x3c0a82,_0x276428,!![]);}catch(_0xa4ff9a){return BPromise[_0x4e2d('0x21')](_0xa4ff9a);}return _0x3c0a82[_0x4e2d('0x22')]();};}function saveUpdates(_0x44115b,_0x206ca2){return function(_0x5d8caf){if(_0x5d8caf){return _0x5d8caf[_0x4e2d('0x23')](_0x44115b)[_0x4e2d('0x24')](function(_0x2a034c){return _0x2a034c;});}return null;};}function removeEntity(_0xba3ccc,_0x569e52){return function(_0x580508){if(_0x580508){return _0x580508['destroy']()[_0x4e2d('0x24')](function(){_0xba3ccc[_0x4e2d('0x18')](0xcc)[_0x4e2d('0x25')]();});}};}function handleEntityNotFound(_0x56100e,_0x395e67){return function(_0x313635){if(!_0x313635){_0x56100e[_0x4e2d('0x17')](0x194);}return _0x313635;};}function handleError(_0x2f71b7,_0x323df5){_0x323df5=_0x323df5||0x1f4;return function(_0x474975){logger[_0x4e2d('0x26')](_0x474975['stack']);if(_0x474975[_0x4e2d('0x27')]){delete _0x474975[_0x4e2d('0x27')];}_0x2f71b7['status'](_0x323df5)[_0x4e2d('0x28')](_0x474975);};}exports['index']=function(_0x5e814d,_0x2c54e5){var _0x2204e3={},_0x26df95={},_0x328339={'count':0x0,'rows':[]};var _0x29da6e=_[_0x4e2d('0x29')](db[_0x4e2d('0x2a')]['rawAttributes'],function(_0x2ea376){return{'name':_0x2ea376[_0x4e2d('0x2b')],'type':_0x2ea376[_0x4e2d('0x2c')][_0x4e2d('0x2d')]};});_0x26df95[_0x4e2d('0x2e')]=_[_0x4e2d('0x29')](_0x29da6e,_0x4e2d('0x27'));_0x26df95[_0x4e2d('0x2f')]=_[_0x4e2d('0x30')](_0x5e814d[_0x4e2d('0x2f')]);_0x26df95[_0x4e2d('0x31')]=_[_0x4e2d('0x32')](_0x26df95[_0x4e2d('0x2e')],_0x26df95['query']);_0x2204e3[_0x4e2d('0x33')]=_[_0x4e2d('0x32')](_0x26df95[_0x4e2d('0x2e')],qs['fields'](_0x5e814d[_0x4e2d('0x2f')][_0x4e2d('0x34')]));_0x2204e3[_0x4e2d('0x33')]=_0x2204e3[_0x4e2d('0x33')][_0x4e2d('0x35')]?_0x2204e3[_0x4e2d('0x33')]:_0x26df95[_0x4e2d('0x2e')];if(!_0x5e814d[_0x4e2d('0x2f')][_0x4e2d('0x36')](_0x4e2d('0x37'))){_0x2204e3[_0x4e2d('0x1a')]=qs[_0x4e2d('0x1a')](_0x5e814d[_0x4e2d('0x2f')][_0x4e2d('0x1a')]);_0x2204e3[_0x4e2d('0x1c')]=qs[_0x4e2d('0x1c')](_0x5e814d[_0x4e2d('0x2f')][_0x4e2d('0x1c')]);}_0x2204e3[_0x4e2d('0x38')]=qs['sort'](_0x5e814d[_0x4e2d('0x2f')][_0x4e2d('0x39')]);_0x2204e3['where']=qs[_0x4e2d('0x31')](_[_0x4e2d('0x3a')](_0x5e814d[_0x4e2d('0x2f')],_0x26df95[_0x4e2d('0x31')]),_0x29da6e);if(_0x5e814d[_0x4e2d('0x2f')]['filter']){_0x2204e3[_0x4e2d('0x3b')]=_['merge'](_0x2204e3[_0x4e2d('0x3b')],{'$or':_['map'](_0x29da6e,function(_0xe901b4){if(_0xe901b4[_0x4e2d('0x2c')]!==_0x4e2d('0x3c')){var _0x162365={};_0x162365[_0xe901b4['name']]={'$like':'%'+_0x5e814d[_0x4e2d('0x2f')][_0x4e2d('0x3d')]+'%'};return _0x162365;}})});}_0x2204e3=_[_0x4e2d('0x3e')]({},_0x2204e3,_0x5e814d[_0x4e2d('0x3f')]);var _0x11003c={'where':_0x2204e3[_0x4e2d('0x3b')]};return db[_0x4e2d('0x2a')]['count'](_0x11003c)[_0x4e2d('0x24')](function(_0x4a1b9e){_0x328339['count']=_0x4a1b9e;if(_0x5e814d[_0x4e2d('0x2f')][_0x4e2d('0x40')]){_0x2204e3[_0x4e2d('0x41')]=[{'all':!![]}];}return db[_0x4e2d('0x2a')][_0x4e2d('0x42')](_0x2204e3);})[_0x4e2d('0x24')](function(_0x588c9d){_0x328339[_0x4e2d('0x43')]=_0x588c9d;return _0x328339;})[_0x4e2d('0x24')](respondWithFilteredResult(_0x2c54e5,_0x2204e3))[_0x4e2d('0x44')](handleError(_0x2c54e5,null));};exports['show']=function(_0x816dd2,_0x2dd5a0){var _0x5d4c1f={'raw':!![],'where':{'id':_0x816dd2[_0x4e2d('0x45')]['id']}},_0x33ba35={};_0x33ba35['model']=_[_0x4e2d('0x30')](db['SalesforceField'][_0x4e2d('0x46')]);_0x33ba35[_0x4e2d('0x2f')]=_['keys'](_0x816dd2[_0x4e2d('0x2f')]);_0x33ba35[_0x4e2d('0x31')]=_[_0x4e2d('0x32')](_0x33ba35[_0x4e2d('0x2e')],_0x33ba35[_0x4e2d('0x2f')]);_0x5d4c1f[_0x4e2d('0x33')]=_[_0x4e2d('0x32')](_0x33ba35['model'],qs[_0x4e2d('0x34')](_0x816dd2[_0x4e2d('0x2f')][_0x4e2d('0x34')]));_0x5d4c1f[_0x4e2d('0x33')]=_0x5d4c1f[_0x4e2d('0x33')][_0x4e2d('0x35')]?_0x5d4c1f[_0x4e2d('0x33')]:_0x33ba35[_0x4e2d('0x2e')];if(_0x816dd2[_0x4e2d('0x2f')][_0x4e2d('0x40')]){_0x5d4c1f[_0x4e2d('0x41')]=[{'all':!![]}];}_0x5d4c1f=_[_0x4e2d('0x3e')]({},_0x5d4c1f,_0x816dd2['options']);return db[_0x4e2d('0x2a')][_0x4e2d('0x47')](_0x5d4c1f)['then'](handleEntityNotFound(_0x2dd5a0,null))[_0x4e2d('0x24')](respondWithResult(_0x2dd5a0,null))[_0x4e2d('0x44')](handleError(_0x2dd5a0,null));};exports[_0x4e2d('0x48')]=function(_0x4d365c,_0x5b6522){return db['SalesforceField'][_0x4e2d('0x48')](_0x4d365c[_0x4e2d('0x49')],{})[_0x4e2d('0x24')](respondWithResult(_0x5b6522,0xc9))[_0x4e2d('0x44')](handleError(_0x5b6522,null));};exports[_0x4e2d('0x23')]=function(_0x5d54af,_0x27cba3){if(_0x5d54af[_0x4e2d('0x49')]['id']){delete _0x5d54af['body']['id'];}return db[_0x4e2d('0x2a')][_0x4e2d('0x47')]({'where':{'id':_0x5d54af[_0x4e2d('0x45')]['id']}})[_0x4e2d('0x24')](handleEntityNotFound(_0x27cba3,null))[_0x4e2d('0x24')](saveUpdates(_0x5d54af[_0x4e2d('0x49')],null))[_0x4e2d('0x24')](respondWithResult(_0x27cba3,null))[_0x4e2d('0x44')](handleError(_0x27cba3,null));};exports[_0x4e2d('0x4a')]=function(_0x1d5b6f,_0x29fe8c){return db[_0x4e2d('0x2a')]['find']({'where':{'id':_0x1d5b6f[_0x4e2d('0x45')]['id']}})[_0x4e2d('0x24')](handleEntityNotFound(_0x29fe8c,null))[_0x4e2d('0x24')](removeEntity(_0x29fe8c,null))['catch'](handleError(_0x29fe8c,null));};