8fd43457cec687b4e10db4c09a94643bc8c8a55c
[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 _0xd733=['intersection','find','create','body','eml-format','fast-json-patch','request-promise','moment','bluebird','util','path','sox','to-csv','ejs','fs-extra','lodash','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/license/util','../../mysqldb','sendStatus','end','status','json','offset','undefined','limit','count','Content-Range','apply','reject','update','then','destroy','error','stack','name','send','index','map','SalesforceField','rawAttributes','fieldName','type','key','query','keys','filters','model','fields','attributes','length','hasOwnProperty','nolimit','order','sort','where','pick','filter','VIRTUAL','options','includeAll','include','findAll','rows','catch','params'];(function(_0xb59dc0,_0x214f08){var _0x33c26e=function(_0x12cc66){while(--_0x12cc66){_0xb59dc0['push'](_0xb59dc0['shift']());}};_0x33c26e(++_0x214f08);}(_0xd733,0x1d8));var _0x3d73=function(_0xc6be3a,_0x540e05){_0xc6be3a=_0xc6be3a-0x0;var _0x56a310=_0xd733[_0xc6be3a];return _0x56a310;};'use strict';var emlformat=require(_0x3d73('0x0'));var rimraf=require('rimraf');var zipdir=require('zip-dir');var jsonpatch=require(_0x3d73('0x1'));var rp=require(_0x3d73('0x2'));var moment=require(_0x3d73('0x3'));var BPromise=require(_0x3d73('0x4'));var Mustache=require('mustache');var util=require(_0x3d73('0x5'));var path=require(_0x3d73('0x6'));var sox=require(_0x3d73('0x7'));var csv=require(_0x3d73('0x8'));var ejs=require(_0x3d73('0x9'));var fs=require('fs');var fs_extra=require(_0x3d73('0xa'));var _=require(_0x3d73('0xb'));var squel=require('squel');var crypto=require(_0x3d73('0xc'));var jsforce=require(_0x3d73('0xd'));var deskjs=require(_0x3d73('0xe'));var toCsv=require(_0x3d73('0x8'));var querystring=require(_0x3d73('0xf'));var Papa=require(_0x3d73('0x10'));var Redis=require(_0x3d73('0x11'));var authService=require(_0x3d73('0x12'));var qs=require(_0x3d73('0x13'));var as=require(_0x3d73('0x14'));var hardwareService=require(_0x3d73('0x15'));var logger=require(_0x3d73('0x16'))(_0x3d73('0x17'));var utils=require(_0x3d73('0x18'));var config=require('../../config/environment');var licenseUtil=require(_0x3d73('0x19'));var db=require(_0x3d73('0x1a'))['db'];function respondWithStatusCode(_0x3cb953,_0x17166b){_0x17166b=_0x17166b||0xcc;return function(_0x2b409d){if(_0x2b409d){return _0x3cb953[_0x3d73('0x1b')](_0x17166b);}return _0x3cb953['status'](_0x17166b)[_0x3d73('0x1c')]();};}function respondWithResult(_0x36502e,_0x16b196){_0x16b196=_0x16b196||0xc8;return function(_0x164b12){if(_0x164b12){return _0x36502e[_0x3d73('0x1d')](_0x16b196)[_0x3d73('0x1e')](_0x164b12);}};}function respondWithFilteredResult(_0x3b924a,_0xdccbe5){return function(_0x230ef9){if(_0x230ef9){var _0x221427=typeof _0xdccbe5[_0x3d73('0x1f')]===_0x3d73('0x20')&&typeof _0xdccbe5[_0x3d73('0x21')]===_0x3d73('0x20');var _0x25299b=_0x230ef9['count'];var _0x266b49=_0x221427?0x0:_0xdccbe5[_0x3d73('0x1f')];var _0x27e46c=_0x221427?_0x230ef9[_0x3d73('0x22')]:_0xdccbe5['offset']+_0xdccbe5[_0x3d73('0x21')];var _0xe49823;if(_0x27e46c>=_0x25299b){_0x27e46c=_0x25299b;_0xe49823=0xc8;}else{_0xe49823=0xce;}_0x3b924a[_0x3d73('0x1d')](_0xe49823);return _0x3b924a['set'](_0x3d73('0x23'),_0x266b49+'-'+_0x27e46c+'/'+_0x25299b)[_0x3d73('0x1e')](_0x230ef9);}return null;};}function patchUpdates(_0x4841b4){return function(_0x5582cf){try{jsonpatch[_0x3d73('0x24')](_0x5582cf,_0x4841b4,!![]);}catch(_0xe3626b){return BPromise[_0x3d73('0x25')](_0xe3626b);}return _0x5582cf['save']();};}function saveUpdates(_0x1a4b02,_0xb8f7fc){return function(_0x5edc40){if(_0x5edc40){return _0x5edc40[_0x3d73('0x26')](_0x1a4b02)[_0x3d73('0x27')](function(_0x140884){return _0x140884;});}return null;};}function removeEntity(_0x2aa82a,_0x6f8391){return function(_0x47a183){if(_0x47a183){return _0x47a183[_0x3d73('0x28')]()[_0x3d73('0x27')](function(){_0x2aa82a['status'](0xcc)[_0x3d73('0x1c')]();});}};}function handleEntityNotFound(_0x2674db,_0x10e392){return function(_0x38f8b1){if(!_0x38f8b1){_0x2674db['sendStatus'](0x194);}return _0x38f8b1;};}function handleError(_0x43c614,_0x20c790){_0x20c790=_0x20c790||0x1f4;return function(_0x2f54ab){logger[_0x3d73('0x29')](_0x2f54ab[_0x3d73('0x2a')]);if(_0x2f54ab[_0x3d73('0x2b')]){delete _0x2f54ab[_0x3d73('0x2b')];}_0x43c614[_0x3d73('0x1d')](_0x20c790)[_0x3d73('0x2c')](_0x2f54ab);};}exports[_0x3d73('0x2d')]=function(_0x291744,_0x269df3){var _0x4f6676={},_0x23c2a5={},_0x4987a6={'count':0x0,'rows':[]};var _0x73ab4f=_[_0x3d73('0x2e')](db[_0x3d73('0x2f')][_0x3d73('0x30')],function(_0x248bc2){return{'name':_0x248bc2[_0x3d73('0x31')],'type':_0x248bc2[_0x3d73('0x32')][_0x3d73('0x33')]};});_0x23c2a5['model']=_['map'](_0x73ab4f,_0x3d73('0x2b'));_0x23c2a5[_0x3d73('0x34')]=_[_0x3d73('0x35')](_0x291744[_0x3d73('0x34')]);_0x23c2a5[_0x3d73('0x36')]=_['intersection'](_0x23c2a5[_0x3d73('0x37')],_0x23c2a5['query']);_0x4f6676['attributes']=_['intersection'](_0x23c2a5[_0x3d73('0x37')],qs[_0x3d73('0x38')](_0x291744['query']['fields']));_0x4f6676['attributes']=_0x4f6676[_0x3d73('0x39')][_0x3d73('0x3a')]?_0x4f6676[_0x3d73('0x39')]:_0x23c2a5[_0x3d73('0x37')];if(!_0x291744[_0x3d73('0x34')][_0x3d73('0x3b')](_0x3d73('0x3c'))){_0x4f6676[_0x3d73('0x21')]=qs[_0x3d73('0x21')](_0x291744[_0x3d73('0x34')][_0x3d73('0x21')]);_0x4f6676[_0x3d73('0x1f')]=qs[_0x3d73('0x1f')](_0x291744[_0x3d73('0x34')][_0x3d73('0x1f')]);}_0x4f6676[_0x3d73('0x3d')]=qs[_0x3d73('0x3e')](_0x291744[_0x3d73('0x34')][_0x3d73('0x3e')]);_0x4f6676[_0x3d73('0x3f')]=qs['filters'](_[_0x3d73('0x40')](_0x291744['query'],_0x23c2a5[_0x3d73('0x36')]),_0x73ab4f);if(_0x291744[_0x3d73('0x34')][_0x3d73('0x41')]){_0x4f6676[_0x3d73('0x3f')]=_['merge'](_0x4f6676['where'],{'$or':_[_0x3d73('0x2e')](_0x73ab4f,function(_0x245542){if(_0x245542[_0x3d73('0x32')]!==_0x3d73('0x42')){var _0x476296={};_0x476296[_0x245542[_0x3d73('0x2b')]]={'$like':'%'+_0x291744['query'][_0x3d73('0x41')]+'%'};return _0x476296;}})});}_0x4f6676=_['merge']({},_0x4f6676,_0x291744[_0x3d73('0x43')]);var _0x533ef5={'where':_0x4f6676['where']};return db[_0x3d73('0x2f')]['count'](_0x533ef5)[_0x3d73('0x27')](function(_0x3962e6){_0x4987a6[_0x3d73('0x22')]=_0x3962e6;if(_0x291744[_0x3d73('0x34')][_0x3d73('0x44')]){_0x4f6676[_0x3d73('0x45')]=[{'all':!![]}];}return db[_0x3d73('0x2f')][_0x3d73('0x46')](_0x4f6676);})[_0x3d73('0x27')](function(_0x5e4b73){_0x4987a6[_0x3d73('0x47')]=_0x5e4b73;return _0x4987a6;})['then'](respondWithFilteredResult(_0x269df3,_0x4f6676))[_0x3d73('0x48')](handleError(_0x269df3,null));};exports['show']=function(_0x29c849,_0x5d52f7){var _0x44da49={'raw':!![],'where':{'id':_0x29c849[_0x3d73('0x49')]['id']}},_0x2c910f={};_0x2c910f[_0x3d73('0x37')]=_[_0x3d73('0x35')](db[_0x3d73('0x2f')][_0x3d73('0x30')]);_0x2c910f['query']=_[_0x3d73('0x35')](_0x29c849['query']);_0x2c910f[_0x3d73('0x36')]=_[_0x3d73('0x4a')](_0x2c910f[_0x3d73('0x37')],_0x2c910f['query']);_0x44da49[_0x3d73('0x39')]=_['intersection'](_0x2c910f['model'],qs[_0x3d73('0x38')](_0x29c849[_0x3d73('0x34')][_0x3d73('0x38')]));_0x44da49['attributes']=_0x44da49[_0x3d73('0x39')][_0x3d73('0x3a')]?_0x44da49[_0x3d73('0x39')]:_0x2c910f['model'];if(_0x29c849['query'][_0x3d73('0x44')]){_0x44da49[_0x3d73('0x45')]=[{'all':!![]}];}_0x44da49=_['merge']({},_0x44da49,_0x29c849[_0x3d73('0x43')]);return db['SalesforceField'][_0x3d73('0x4b')](_0x44da49)[_0x3d73('0x27')](handleEntityNotFound(_0x5d52f7,null))[_0x3d73('0x27')](respondWithResult(_0x5d52f7,null))[_0x3d73('0x48')](handleError(_0x5d52f7,null));};exports[_0x3d73('0x4c')]=function(_0xfa34e9,_0x26c267){return db[_0x3d73('0x2f')][_0x3d73('0x4c')](_0xfa34e9['body'],{})['then'](respondWithResult(_0x26c267,0xc9))[_0x3d73('0x48')](handleError(_0x26c267,null));};exports['update']=function(_0x3168c3,_0x1d2d4a){if(_0x3168c3[_0x3d73('0x4d')]['id']){delete _0x3168c3[_0x3d73('0x4d')]['id'];}return db['SalesforceField'][_0x3d73('0x4b')]({'where':{'id':_0x3168c3[_0x3d73('0x49')]['id']}})[_0x3d73('0x27')](handleEntityNotFound(_0x1d2d4a,null))[_0x3d73('0x27')](saveUpdates(_0x3168c3[_0x3d73('0x4d')],null))[_0x3d73('0x27')](respondWithResult(_0x1d2d4a,null))[_0x3d73('0x48')](handleError(_0x1d2d4a,null));};exports[_0x3d73('0x28')]=function(_0x31d8ae,_0x13e5e9){return db[_0x3d73('0x2f')]['find']({'where':{'id':_0x31d8ae[_0x3d73('0x49')]['id']}})['then'](handleEntityNotFound(_0x13e5e9,null))[_0x3d73('0x27')](removeEntity(_0x13e5e9,null))[_0x3d73('0x48')](handleError(_0x13e5e9,null));};