f27517bb53492c2f94aee9acecd91f6fdf4e7adf
[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 _0x89cc=['rimraf','zip-dir','fast-json-patch','request-promise','moment','mustache','util','sox','to-csv','ejs','fs-extra','squel','jsforce','desk.js','querystring','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/environment','../../mysqldb','status','end','json','offset','undefined','count','set','apply','save','update','destroy','then','sendStatus','error','stack','name','send','index','map','SalesforceField','rawAttributes','fieldName','type','key','model','query','filters','intersection','attributes','fields','length','hasOwnProperty','limit','order','where','pick','filter','merge','VIRTUAL','include','findAll','catch','show','params','keys','includeAll','options','find','create','body','eml-format'];(function(_0x3b7fb8,_0x186f38){var _0x367011=function(_0x3005a0){while(--_0x3005a0){_0x3b7fb8['push'](_0x3b7fb8['shift']());}};_0x367011(++_0x186f38);}(_0x89cc,0x171));var _0xc89c=function(_0x5111e8,_0x454afc){_0x5111e8=_0x5111e8-0x0;var _0x5ea361=_0x89cc[_0x5111e8];return _0x5ea361;};'use strict';var emlformat=require(_0xc89c('0x0'));var rimraf=require(_0xc89c('0x1'));var zipdir=require(_0xc89c('0x2'));var jsonpatch=require(_0xc89c('0x3'));var rp=require(_0xc89c('0x4'));var moment=require(_0xc89c('0x5'));var BPromise=require('bluebird');var Mustache=require(_0xc89c('0x6'));var util=require(_0xc89c('0x7'));var path=require('path');var sox=require(_0xc89c('0x8'));var csv=require(_0xc89c('0x9'));var ejs=require(_0xc89c('0xa'));var fs=require('fs');var fs_extra=require(_0xc89c('0xb'));var _=require('lodash');var squel=require(_0xc89c('0xc'));var crypto=require('crypto');var jsforce=require(_0xc89c('0xd'));var deskjs=require(_0xc89c('0xe'));var toCsv=require('to-csv');var querystring=require(_0xc89c('0xf'));var Papa=require('papaparse');var Redis=require('ioredis');var authService=require(_0xc89c('0x10'));var qs=require(_0xc89c('0x11'));var as=require(_0xc89c('0x12'));var hardwareService=require(_0xc89c('0x13'));var logger=require(_0xc89c('0x14'))(_0xc89c('0x15'));var utils=require('../../config/utils');var config=require(_0xc89c('0x16'));var licenseUtil=require('../../config/license/util');var db=require(_0xc89c('0x17'))['db'];function respondWithStatusCode(_0x58c4b1,_0x5c065e){_0x5c065e=_0x5c065e||0xcc;return function(_0x53ac57){if(_0x53ac57){return _0x58c4b1['sendStatus'](_0x5c065e);}return _0x58c4b1[_0xc89c('0x18')](_0x5c065e)[_0xc89c('0x19')]();};}function respondWithResult(_0x519fad,_0x12003f){_0x12003f=_0x12003f||0xc8;return function(_0x123567){if(_0x123567){return _0x519fad['status'](_0x12003f)[_0xc89c('0x1a')](_0x123567);}};}function respondWithFilteredResult(_0x41acd5,_0x1d17d2){return function(_0x5c986f){if(_0x5c986f){var _0x496121=typeof _0x1d17d2[_0xc89c('0x1b')]===_0xc89c('0x1c')&&typeof _0x1d17d2['limit']===_0xc89c('0x1c');var _0x104cfd=_0x5c986f[_0xc89c('0x1d')];var _0x2bd939=_0x496121?0x0:_0x1d17d2[_0xc89c('0x1b')];var _0x35e681=_0x496121?_0x5c986f[_0xc89c('0x1d')]:_0x1d17d2[_0xc89c('0x1b')]+_0x1d17d2['limit'];var _0x3e0bae;if(_0x35e681>=_0x104cfd){_0x35e681=_0x104cfd;_0x3e0bae=0xc8;}else{_0x3e0bae=0xce;}_0x41acd5[_0xc89c('0x18')](_0x3e0bae);return _0x41acd5[_0xc89c('0x1e')]('Content-Range',_0x2bd939+'-'+_0x35e681+'/'+_0x104cfd)['json'](_0x5c986f);}return null;};}function patchUpdates(_0x3ee5e1){return function(_0x3d0780){try{jsonpatch[_0xc89c('0x1f')](_0x3d0780,_0x3ee5e1,!![]);}catch(_0x47d63b){return BPromise['reject'](_0x47d63b);}return _0x3d0780[_0xc89c('0x20')]();};}function saveUpdates(_0x4edf8e,_0x508624){return function(_0x21e522){if(_0x21e522){return _0x21e522[_0xc89c('0x21')](_0x4edf8e)['then'](function(_0x1235d8){return _0x1235d8;});}return null;};}function removeEntity(_0x416a3f,_0x8b4802){return function(_0x2510ac){if(_0x2510ac){return _0x2510ac[_0xc89c('0x22')]()[_0xc89c('0x23')](function(){_0x416a3f[_0xc89c('0x18')](0xcc)[_0xc89c('0x19')]();});}};}function handleEntityNotFound(_0x13780c,_0x9c89f9){return function(_0x1c7362){if(!_0x1c7362){_0x13780c[_0xc89c('0x24')](0x194);}return _0x1c7362;};}function handleError(_0x2c6fcf,_0x3d1e8c){_0x3d1e8c=_0x3d1e8c||0x1f4;return function(_0x42f401){logger[_0xc89c('0x25')](_0x42f401[_0xc89c('0x26')]);if(_0x42f401[_0xc89c('0x27')]){delete _0x42f401['name'];}_0x2c6fcf[_0xc89c('0x18')](_0x3d1e8c)[_0xc89c('0x28')](_0x42f401);};}exports[_0xc89c('0x29')]=function(_0x4c0bb8,_0x12bf7d){var _0x39861f={},_0x1e7c12={},_0x5417bd={'count':0x0,'rows':[]};var _0x53dddd=_[_0xc89c('0x2a')](db[_0xc89c('0x2b')][_0xc89c('0x2c')],function(_0x1e0e5e){return{'name':_0x1e0e5e[_0xc89c('0x2d')],'type':_0x1e0e5e[_0xc89c('0x2e')][_0xc89c('0x2f')]};});_0x1e7c12[_0xc89c('0x30')]=_['map'](_0x53dddd,_0xc89c('0x27'));_0x1e7c12[_0xc89c('0x31')]=_['keys'](_0x4c0bb8[_0xc89c('0x31')]);_0x1e7c12[_0xc89c('0x32')]=_[_0xc89c('0x33')](_0x1e7c12[_0xc89c('0x30')],_0x1e7c12[_0xc89c('0x31')]);_0x39861f[_0xc89c('0x34')]=_[_0xc89c('0x33')](_0x1e7c12[_0xc89c('0x30')],qs[_0xc89c('0x35')](_0x4c0bb8[_0xc89c('0x31')][_0xc89c('0x35')]));_0x39861f[_0xc89c('0x34')]=_0x39861f[_0xc89c('0x34')][_0xc89c('0x36')]?_0x39861f[_0xc89c('0x34')]:_0x1e7c12['model'];if(!_0x4c0bb8[_0xc89c('0x31')][_0xc89c('0x37')]('nolimit')){_0x39861f['limit']=qs[_0xc89c('0x38')](_0x4c0bb8[_0xc89c('0x31')]['limit']);_0x39861f[_0xc89c('0x1b')]=qs[_0xc89c('0x1b')](_0x4c0bb8['query'][_0xc89c('0x1b')]);}_0x39861f[_0xc89c('0x39')]=qs['sort'](_0x4c0bb8[_0xc89c('0x31')]['sort']);_0x39861f[_0xc89c('0x3a')]=qs[_0xc89c('0x32')](_[_0xc89c('0x3b')](_0x4c0bb8[_0xc89c('0x31')],_0x1e7c12[_0xc89c('0x32')]),_0x53dddd);if(_0x4c0bb8[_0xc89c('0x31')][_0xc89c('0x3c')]){_0x39861f[_0xc89c('0x3a')]=_[_0xc89c('0x3d')](_0x39861f[_0xc89c('0x3a')],{'$or':_[_0xc89c('0x2a')](_0x53dddd,function(_0x51b98c){if(_0x51b98c[_0xc89c('0x2e')]!==_0xc89c('0x3e')){var _0x14ba02={};_0x14ba02[_0x51b98c['name']]={'$like':'%'+_0x4c0bb8[_0xc89c('0x31')][_0xc89c('0x3c')]+'%'};return _0x14ba02;}})});}_0x39861f=_[_0xc89c('0x3d')]({},_0x39861f,_0x4c0bb8['options']);var _0x3c2f88={'where':_0x39861f[_0xc89c('0x3a')]};return db['SalesforceField']['count'](_0x3c2f88)['then'](function(_0x23c6ce){_0x5417bd[_0xc89c('0x1d')]=_0x23c6ce;if(_0x4c0bb8['query']['includeAll']){_0x39861f[_0xc89c('0x3f')]=[{'all':!![]}];}return db[_0xc89c('0x2b')][_0xc89c('0x40')](_0x39861f);})[_0xc89c('0x23')](function(_0x3efa85){_0x5417bd['rows']=_0x3efa85;return _0x5417bd;})[_0xc89c('0x23')](respondWithFilteredResult(_0x12bf7d,_0x39861f))[_0xc89c('0x41')](handleError(_0x12bf7d,null));};exports[_0xc89c('0x42')]=function(_0x470fdd,_0x4c9ac6){var _0xba069f={'raw':!![],'where':{'id':_0x470fdd[_0xc89c('0x43')]['id']}},_0x200563={};_0x200563[_0xc89c('0x30')]=_[_0xc89c('0x44')](db['SalesforceField'][_0xc89c('0x2c')]);_0x200563[_0xc89c('0x31')]=_['keys'](_0x470fdd[_0xc89c('0x31')]);_0x200563[_0xc89c('0x32')]=_['intersection'](_0x200563[_0xc89c('0x30')],_0x200563[_0xc89c('0x31')]);_0xba069f['attributes']=_[_0xc89c('0x33')](_0x200563[_0xc89c('0x30')],qs[_0xc89c('0x35')](_0x470fdd['query'][_0xc89c('0x35')]));_0xba069f[_0xc89c('0x34')]=_0xba069f[_0xc89c('0x34')][_0xc89c('0x36')]?_0xba069f[_0xc89c('0x34')]:_0x200563[_0xc89c('0x30')];if(_0x470fdd[_0xc89c('0x31')][_0xc89c('0x45')]){_0xba069f[_0xc89c('0x3f')]=[{'all':!![]}];}_0xba069f=_[_0xc89c('0x3d')]({},_0xba069f,_0x470fdd[_0xc89c('0x46')]);return db[_0xc89c('0x2b')][_0xc89c('0x47')](_0xba069f)[_0xc89c('0x23')](handleEntityNotFound(_0x4c9ac6,null))[_0xc89c('0x23')](respondWithResult(_0x4c9ac6,null))[_0xc89c('0x41')](handleError(_0x4c9ac6,null));};exports[_0xc89c('0x48')]=function(_0x849827,_0x64d3c2){return db[_0xc89c('0x2b')][_0xc89c('0x48')](_0x849827['body'],{})['then'](respondWithResult(_0x64d3c2,0xc9))[_0xc89c('0x41')](handleError(_0x64d3c2,null));};exports[_0xc89c('0x21')]=function(_0x584bd7,_0x19bfff){if(_0x584bd7[_0xc89c('0x49')]['id']){delete _0x584bd7['body']['id'];}return db[_0xc89c('0x2b')]['find']({'where':{'id':_0x584bd7[_0xc89c('0x43')]['id']}})[_0xc89c('0x23')](handleEntityNotFound(_0x19bfff,null))['then'](saveUpdates(_0x584bd7[_0xc89c('0x49')],null))[_0xc89c('0x23')](respondWithResult(_0x19bfff,null))[_0xc89c('0x41')](handleError(_0x19bfff,null));};exports['destroy']=function(_0x530c0a,_0x421c22){return db[_0xc89c('0x2b')][_0xc89c('0x47')]({'where':{'id':_0x530c0a[_0xc89c('0x43')]['id']}})['then'](handleEntityNotFound(_0x421c22,null))[_0xc89c('0x23')](removeEntity(_0x421c22,null))[_0xc89c('0x41')](handleError(_0x421c22,null));};