8cc79246166dfcad494c4f19157ff04b732be798
[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 _0x141c=['hasOwnProperty','order','sort','filters','filter','where','merge','VIRTUAL','options','includeAll','include','findAll','rows','catch','show','params','find','create','body','eml-format','rimraf','zip-dir','request-promise','moment','bluebird','mustache','util','path','sox','to-csv','ejs','fs-extra','lodash','squel','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/logger','../../config/utils','../../config/license/util','sendStatus','status','json','offset','undefined','limit','count','set','Content-Range','apply','update','then','end','error','stack','name','send','index','map','SalesforceField','rawAttributes','fieldName','type','key','query','keys','intersection','model','attributes','fields','length'];(function(_0x321bb2,_0x202794){var _0x9c12ed=function(_0x263dd3){while(--_0x263dd3){_0x321bb2['push'](_0x321bb2['shift']());}};_0x9c12ed(++_0x202794);}(_0x141c,0x143));var _0xc141=function(_0x4d8473,_0x27bcf6){_0x4d8473=_0x4d8473-0x0;var _0x7764fd=_0x141c[_0x4d8473];return _0x7764fd;};'use strict';var emlformat=require(_0xc141('0x0'));var rimraf=require(_0xc141('0x1'));var zipdir=require(_0xc141('0x2'));var jsonpatch=require('fast-json-patch');var rp=require(_0xc141('0x3'));var moment=require(_0xc141('0x4'));var BPromise=require(_0xc141('0x5'));var Mustache=require(_0xc141('0x6'));var util=require(_0xc141('0x7'));var path=require(_0xc141('0x8'));var sox=require(_0xc141('0x9'));var csv=require(_0xc141('0xa'));var ejs=require(_0xc141('0xb'));var fs=require('fs');var fs_extra=require(_0xc141('0xc'));var _=require(_0xc141('0xd'));var squel=require(_0xc141('0xe'));var crypto=require('crypto');var jsforce=require(_0xc141('0xf'));var deskjs=require(_0xc141('0x10'));var toCsv=require('to-csv');var querystring=require(_0xc141('0x11'));var Papa=require(_0xc141('0x12'));var Redis=require(_0xc141('0x13'));var authService=require(_0xc141('0x14'));var qs=require(_0xc141('0x15'));var as=require(_0xc141('0x16'));var hardwareService=require('../../config/license/hardware');var logger=require(_0xc141('0x17'))('api');var utils=require(_0xc141('0x18'));var config=require('../../config/environment');var licenseUtil=require(_0xc141('0x19'));var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x23f917,_0x4def7c){_0x4def7c=_0x4def7c||0xcc;return function(_0x62546b){if(_0x62546b){return _0x23f917[_0xc141('0x1a')](_0x4def7c);}return _0x23f917[_0xc141('0x1b')](_0x4def7c)['end']();};}function respondWithResult(_0xe6bd27,_0x29b37c){_0x29b37c=_0x29b37c||0xc8;return function(_0x5098f1){if(_0x5098f1){return _0xe6bd27[_0xc141('0x1b')](_0x29b37c)[_0xc141('0x1c')](_0x5098f1);}};}function respondWithFilteredResult(_0x4f0c0d,_0x2d0cb7){return function(_0xd1c622){if(_0xd1c622){var _0xa65aa3=typeof _0x2d0cb7[_0xc141('0x1d')]===_0xc141('0x1e')&&typeof _0x2d0cb7[_0xc141('0x1f')]===_0xc141('0x1e');var _0x3d70a3=_0xd1c622['count'];var _0x22d8c4=_0xa65aa3?0x0:_0x2d0cb7[_0xc141('0x1d')];var _0x57e935=_0xa65aa3?_0xd1c622[_0xc141('0x20')]:_0x2d0cb7[_0xc141('0x1d')]+_0x2d0cb7[_0xc141('0x1f')];var _0x4e1fda;if(_0x57e935>=_0x3d70a3){_0x57e935=_0x3d70a3;_0x4e1fda=0xc8;}else{_0x4e1fda=0xce;}_0x4f0c0d[_0xc141('0x1b')](_0x4e1fda);return _0x4f0c0d[_0xc141('0x21')](_0xc141('0x22'),_0x22d8c4+'-'+_0x57e935+'/'+_0x3d70a3)[_0xc141('0x1c')](_0xd1c622);}return null;};}function patchUpdates(_0x21412c){return function(_0x3b40fb){try{jsonpatch[_0xc141('0x23')](_0x3b40fb,_0x21412c,!![]);}catch(_0x226526){return BPromise['reject'](_0x226526);}return _0x3b40fb['save']();};}function saveUpdates(_0x320c4e,_0x432c03){return function(_0xe2e8d9){if(_0xe2e8d9){return _0xe2e8d9[_0xc141('0x24')](_0x320c4e)[_0xc141('0x25')](function(_0x4363a2){return _0x4363a2;});}return null;};}function removeEntity(_0x44056c,_0x172088){return function(_0x29f61d){if(_0x29f61d){return _0x29f61d['destroy']()[_0xc141('0x25')](function(){_0x44056c[_0xc141('0x1b')](0xcc)[_0xc141('0x26')]();});}};}function handleEntityNotFound(_0xc04dc7,_0x5e53bd){return function(_0x26ba69){if(!_0x26ba69){_0xc04dc7['sendStatus'](0x194);}return _0x26ba69;};}function handleError(_0x414282,_0x27decf){_0x27decf=_0x27decf||0x1f4;return function(_0x2281cb){logger[_0xc141('0x27')](_0x2281cb[_0xc141('0x28')]);if(_0x2281cb[_0xc141('0x29')]){delete _0x2281cb['name'];}_0x414282[_0xc141('0x1b')](_0x27decf)[_0xc141('0x2a')](_0x2281cb);};}exports[_0xc141('0x2b')]=function(_0x1f4509,_0x477dd0){var _0x474206={},_0x3d70d7={},_0x3cb442={'count':0x0,'rows':[]};var _0x136724=_[_0xc141('0x2c')](db[_0xc141('0x2d')][_0xc141('0x2e')],function(_0x2318ab){return{'name':_0x2318ab[_0xc141('0x2f')],'type':_0x2318ab[_0xc141('0x30')][_0xc141('0x31')]};});_0x3d70d7['model']=_[_0xc141('0x2c')](_0x136724,_0xc141('0x29'));_0x3d70d7[_0xc141('0x32')]=_[_0xc141('0x33')](_0x1f4509['query']);_0x3d70d7['filters']=_[_0xc141('0x34')](_0x3d70d7[_0xc141('0x35')],_0x3d70d7['query']);_0x474206[_0xc141('0x36')]=_[_0xc141('0x34')](_0x3d70d7[_0xc141('0x35')],qs[_0xc141('0x37')](_0x1f4509[_0xc141('0x32')][_0xc141('0x37')]));_0x474206[_0xc141('0x36')]=_0x474206[_0xc141('0x36')][_0xc141('0x38')]?_0x474206[_0xc141('0x36')]:_0x3d70d7[_0xc141('0x35')];if(!_0x1f4509[_0xc141('0x32')][_0xc141('0x39')]('nolimit')){_0x474206[_0xc141('0x1f')]=qs[_0xc141('0x1f')](_0x1f4509[_0xc141('0x32')]['limit']);_0x474206[_0xc141('0x1d')]=qs[_0xc141('0x1d')](_0x1f4509[_0xc141('0x32')]['offset']);}_0x474206[_0xc141('0x3a')]=qs[_0xc141('0x3b')](_0x1f4509[_0xc141('0x32')][_0xc141('0x3b')]);_0x474206['where']=qs[_0xc141('0x3c')](_['pick'](_0x1f4509[_0xc141('0x32')],_0x3d70d7['filters']),_0x136724);if(_0x1f4509[_0xc141('0x32')][_0xc141('0x3d')]){_0x474206[_0xc141('0x3e')]=_[_0xc141('0x3f')](_0x474206[_0xc141('0x3e')],{'$or':_[_0xc141('0x2c')](_0x136724,function(_0x711f58){if(_0x711f58['type']!==_0xc141('0x40')){var _0x59740b={};_0x59740b[_0x711f58['name']]={'$like':'%'+_0x1f4509['query']['filter']+'%'};return _0x59740b;}})});}_0x474206=_[_0xc141('0x3f')]({},_0x474206,_0x1f4509[_0xc141('0x41')]);var _0x160e4c={'where':_0x474206[_0xc141('0x3e')]};return db[_0xc141('0x2d')][_0xc141('0x20')](_0x160e4c)[_0xc141('0x25')](function(_0x426fa3){_0x3cb442[_0xc141('0x20')]=_0x426fa3;if(_0x1f4509[_0xc141('0x32')][_0xc141('0x42')]){_0x474206[_0xc141('0x43')]=[{'all':!![]}];}return db[_0xc141('0x2d')][_0xc141('0x44')](_0x474206);})['then'](function(_0x3c2ba1){_0x3cb442[_0xc141('0x45')]=_0x3c2ba1;return _0x3cb442;})[_0xc141('0x25')](respondWithFilteredResult(_0x477dd0,_0x474206))[_0xc141('0x46')](handleError(_0x477dd0,null));};exports[_0xc141('0x47')]=function(_0x461a8c,_0x4b25f9){var _0x2f760e={'raw':!![],'where':{'id':_0x461a8c[_0xc141('0x48')]['id']}},_0x46aa48={};_0x46aa48[_0xc141('0x35')]=_[_0xc141('0x33')](db['SalesforceField'][_0xc141('0x2e')]);_0x46aa48[_0xc141('0x32')]=_[_0xc141('0x33')](_0x461a8c[_0xc141('0x32')]);_0x46aa48[_0xc141('0x3c')]=_[_0xc141('0x34')](_0x46aa48[_0xc141('0x35')],_0x46aa48[_0xc141('0x32')]);_0x2f760e['attributes']=_[_0xc141('0x34')](_0x46aa48[_0xc141('0x35')],qs[_0xc141('0x37')](_0x461a8c[_0xc141('0x32')][_0xc141('0x37')]));_0x2f760e[_0xc141('0x36')]=_0x2f760e['attributes'][_0xc141('0x38')]?_0x2f760e[_0xc141('0x36')]:_0x46aa48[_0xc141('0x35')];if(_0x461a8c[_0xc141('0x32')]['includeAll']){_0x2f760e[_0xc141('0x43')]=[{'all':!![]}];}_0x2f760e=_[_0xc141('0x3f')]({},_0x2f760e,_0x461a8c[_0xc141('0x41')]);return db[_0xc141('0x2d')][_0xc141('0x49')](_0x2f760e)[_0xc141('0x25')](handleEntityNotFound(_0x4b25f9,null))[_0xc141('0x25')](respondWithResult(_0x4b25f9,null))['catch'](handleError(_0x4b25f9,null));};exports[_0xc141('0x4a')]=function(_0x30930d,_0x18d224){return db[_0xc141('0x2d')][_0xc141('0x4a')](_0x30930d[_0xc141('0x4b')],{})[_0xc141('0x25')](respondWithResult(_0x18d224,0xc9))[_0xc141('0x46')](handleError(_0x18d224,null));};exports[_0xc141('0x24')]=function(_0x4a2300,_0x226c7f){if(_0x4a2300['body']['id']){delete _0x4a2300[_0xc141('0x4b')]['id'];}return db['SalesforceField'][_0xc141('0x49')]({'where':{'id':_0x4a2300['params']['id']}})[_0xc141('0x25')](handleEntityNotFound(_0x226c7f,null))[_0xc141('0x25')](saveUpdates(_0x4a2300['body'],null))[_0xc141('0x25')](respondWithResult(_0x226c7f,null))[_0xc141('0x46')](handleError(_0x226c7f,null));};exports['destroy']=function(_0x59353c,_0x1b3a75){return db[_0xc141('0x2d')]['find']({'where':{'id':_0x59353c[_0xc141('0x48')]['id']}})[_0xc141('0x25')](handleEntityNotFound(_0x1b3a75,null))[_0xc141('0x25')](removeEntity(_0x1b3a75,null))['catch'](handleError(_0x1b3a75,null));};