1d95cc5e20c8b111763c2292d3b538c08c832aca
[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 _0x2605=['create','body','find','fast-json-patch','moment','bluebird','mustache','util','path','sox','to-csv','ejs','fs-extra','lodash','squel','crypto','jsforce','desk.js','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/license/util','../../mysqldb','sendStatus','status','end','json','offset','undefined','count','Content-Range','reject','update','then','destroy','error','stack','name','send','index','SalesforceField','type','key','map','query','filters','intersection','model','attributes','fields','limit','sort','where','filter','merge','VIRTUAL','rows','catch','show','params','rawAttributes','keys','includeAll','include','options'];(function(_0x4914e2,_0x48be8f){var _0x2dcd07=function(_0x1a2565){while(--_0x1a2565){_0x4914e2['push'](_0x4914e2['shift']());}};_0x2dcd07(++_0x48be8f);}(_0x2605,0x11f));var _0x5260=function(_0x175e89,_0x20835f){_0x175e89=_0x175e89-0x0;var _0x2ed996=_0x2605[_0x175e89];return _0x2ed996;};'use strict';var emlformat=require('eml-format');var rimraf=require('rimraf');var zipdir=require('zip-dir');var jsonpatch=require(_0x5260('0x0'));var rp=require('request-promise');var moment=require(_0x5260('0x1'));var BPromise=require(_0x5260('0x2'));var Mustache=require(_0x5260('0x3'));var util=require(_0x5260('0x4'));var path=require(_0x5260('0x5'));var sox=require(_0x5260('0x6'));var csv=require(_0x5260('0x7'));var ejs=require(_0x5260('0x8'));var fs=require('fs');var fs_extra=require(_0x5260('0x9'));var _=require(_0x5260('0xa'));var squel=require(_0x5260('0xb'));var crypto=require(_0x5260('0xc'));var jsforce=require(_0x5260('0xd'));var deskjs=require(_0x5260('0xe'));var toCsv=require(_0x5260('0x7'));var querystring=require('querystring');var Papa=require(_0x5260('0xf'));var Redis=require(_0x5260('0x10'));var authService=require(_0x5260('0x11'));var qs=require(_0x5260('0x12'));var as=require(_0x5260('0x13'));var hardwareService=require(_0x5260('0x14'));var logger=require(_0x5260('0x15'))(_0x5260('0x16'));var utils=require(_0x5260('0x17'));var config=require('../../config/environment');var licenseUtil=require(_0x5260('0x18'));var db=require(_0x5260('0x19'))['db'];function respondWithStatusCode(_0x522e4b,_0xb3cdef){_0xb3cdef=_0xb3cdef||0xcc;return function(_0x33f310){if(_0x33f310){return _0x522e4b[_0x5260('0x1a')](_0xb3cdef);}return _0x522e4b[_0x5260('0x1b')](_0xb3cdef)[_0x5260('0x1c')]();};}function respondWithResult(_0x345c30,_0x3d45e7){_0x3d45e7=_0x3d45e7||0xc8;return function(_0x3f3859){if(_0x3f3859){return _0x345c30[_0x5260('0x1b')](_0x3d45e7)[_0x5260('0x1d')](_0x3f3859);}};}function respondWithFilteredResult(_0x58e540,_0x4d6008){return function(_0x298069){if(_0x298069){var _0x400880=typeof _0x4d6008[_0x5260('0x1e')]===_0x5260('0x1f')&&typeof _0x4d6008['limit']===_0x5260('0x1f');var _0x54c65d=_0x298069[_0x5260('0x20')];var _0x59b34f=_0x400880?0x0:_0x4d6008[_0x5260('0x1e')];var _0x33a694=_0x400880?_0x298069['count']:_0x4d6008[_0x5260('0x1e')]+_0x4d6008['limit'];var _0x48b8c0;if(_0x33a694>=_0x54c65d){_0x33a694=_0x54c65d;_0x48b8c0=0xc8;}else{_0x48b8c0=0xce;}_0x58e540[_0x5260('0x1b')](_0x48b8c0);return _0x58e540['set'](_0x5260('0x21'),_0x59b34f+'-'+_0x33a694+'/'+_0x54c65d)[_0x5260('0x1d')](_0x298069);}return null;};}function patchUpdates(_0x1800c1){return function(_0x261ff2){try{jsonpatch['apply'](_0x261ff2,_0x1800c1,!![]);}catch(_0x47800f){return BPromise[_0x5260('0x22')](_0x47800f);}return _0x261ff2['save']();};}function saveUpdates(_0x270f56,_0x278be3){return function(_0x2a786d){if(_0x2a786d){return _0x2a786d[_0x5260('0x23')](_0x270f56)[_0x5260('0x24')](function(_0x6cb572){return _0x6cb572;});}return null;};}function removeEntity(_0x3590dd,_0x190440){return function(_0xe18446){if(_0xe18446){return _0xe18446[_0x5260('0x25')]()['then'](function(){_0x3590dd[_0x5260('0x1b')](0xcc)[_0x5260('0x1c')]();});}};}function handleEntityNotFound(_0x5ba9b7,_0x24b19a){return function(_0x3eb39b){if(!_0x3eb39b){_0x5ba9b7['sendStatus'](0x194);}return _0x3eb39b;};}function handleError(_0x3d184e,_0x6b2b08){_0x6b2b08=_0x6b2b08||0x1f4;return function(_0x3b3814){logger[_0x5260('0x26')](_0x3b3814[_0x5260('0x27')]);if(_0x3b3814[_0x5260('0x28')]){delete _0x3b3814[_0x5260('0x28')];}_0x3d184e['status'](_0x6b2b08)[_0x5260('0x29')](_0x3b3814);};}exports[_0x5260('0x2a')]=function(_0x47439d,_0x2d4ee4){var _0x4f1a78={},_0x23c93c={},_0x4a2c47={'count':0x0,'rows':[]};var _0x4ce269=_['map'](db[_0x5260('0x2b')]['rawAttributes'],function(_0xfd0ed1){return{'name':_0xfd0ed1['fieldName'],'type':_0xfd0ed1[_0x5260('0x2c')][_0x5260('0x2d')]};});_0x23c93c['model']=_[_0x5260('0x2e')](_0x4ce269,_0x5260('0x28'));_0x23c93c['query']=_['keys'](_0x47439d[_0x5260('0x2f')]);_0x23c93c[_0x5260('0x30')]=_[_0x5260('0x31')](_0x23c93c[_0x5260('0x32')],_0x23c93c[_0x5260('0x2f')]);_0x4f1a78[_0x5260('0x33')]=_[_0x5260('0x31')](_0x23c93c['model'],qs[_0x5260('0x34')](_0x47439d[_0x5260('0x2f')]['fields']));_0x4f1a78[_0x5260('0x33')]=_0x4f1a78[_0x5260('0x33')]['length']?_0x4f1a78['attributes']:_0x23c93c['model'];if(!_0x47439d[_0x5260('0x2f')]['hasOwnProperty']('nolimit')){_0x4f1a78[_0x5260('0x35')]=qs[_0x5260('0x35')](_0x47439d['query'][_0x5260('0x35')]);_0x4f1a78[_0x5260('0x1e')]=qs[_0x5260('0x1e')](_0x47439d[_0x5260('0x2f')][_0x5260('0x1e')]);}_0x4f1a78['order']=qs[_0x5260('0x36')](_0x47439d['query']['sort']);_0x4f1a78[_0x5260('0x37')]=qs[_0x5260('0x30')](_['pick'](_0x47439d['query'],_0x23c93c[_0x5260('0x30')]),_0x4ce269);if(_0x47439d[_0x5260('0x2f')][_0x5260('0x38')]){_0x4f1a78[_0x5260('0x37')]=_[_0x5260('0x39')](_0x4f1a78[_0x5260('0x37')],{'$or':_[_0x5260('0x2e')](_0x4ce269,function(_0x112f6f){if(_0x112f6f[_0x5260('0x2c')]!==_0x5260('0x3a')){var _0x362567={};_0x362567[_0x112f6f[_0x5260('0x28')]]={'$like':'%'+_0x47439d[_0x5260('0x2f')][_0x5260('0x38')]+'%'};return _0x362567;}})});}_0x4f1a78=_['merge']({},_0x4f1a78,_0x47439d['options']);var _0x5c313b={'where':_0x4f1a78[_0x5260('0x37')]};return db[_0x5260('0x2b')][_0x5260('0x20')](_0x5c313b)[_0x5260('0x24')](function(_0x43ff6b){_0x4a2c47[_0x5260('0x20')]=_0x43ff6b;if(_0x47439d[_0x5260('0x2f')]['includeAll']){_0x4f1a78['include']=[{'all':!![]}];}return db[_0x5260('0x2b')]['findAll'](_0x4f1a78);})[_0x5260('0x24')](function(_0x10d5db){_0x4a2c47[_0x5260('0x3b')]=_0x10d5db;return _0x4a2c47;})[_0x5260('0x24')](respondWithFilteredResult(_0x2d4ee4,_0x4f1a78))[_0x5260('0x3c')](handleError(_0x2d4ee4,null));};exports[_0x5260('0x3d')]=function(_0x5c8fb2,_0x4dca0c){var _0x5e5656={'raw':!![],'where':{'id':_0x5c8fb2[_0x5260('0x3e')]['id']}},_0x207868={};_0x207868['model']=_['keys'](db[_0x5260('0x2b')][_0x5260('0x3f')]);_0x207868['query']=_[_0x5260('0x40')](_0x5c8fb2[_0x5260('0x2f')]);_0x207868[_0x5260('0x30')]=_[_0x5260('0x31')](_0x207868['model'],_0x207868[_0x5260('0x2f')]);_0x5e5656[_0x5260('0x33')]=_[_0x5260('0x31')](_0x207868[_0x5260('0x32')],qs[_0x5260('0x34')](_0x5c8fb2[_0x5260('0x2f')][_0x5260('0x34')]));_0x5e5656[_0x5260('0x33')]=_0x5e5656['attributes']['length']?_0x5e5656['attributes']:_0x207868[_0x5260('0x32')];if(_0x5c8fb2[_0x5260('0x2f')][_0x5260('0x41')]){_0x5e5656[_0x5260('0x42')]=[{'all':!![]}];}_0x5e5656=_[_0x5260('0x39')]({},_0x5e5656,_0x5c8fb2[_0x5260('0x43')]);return db[_0x5260('0x2b')]['find'](_0x5e5656)['then'](handleEntityNotFound(_0x4dca0c,null))[_0x5260('0x24')](respondWithResult(_0x4dca0c,null))[_0x5260('0x3c')](handleError(_0x4dca0c,null));};exports['create']=function(_0x2875a6,_0x46d99f){return db[_0x5260('0x2b')][_0x5260('0x44')](_0x2875a6[_0x5260('0x45')],{})[_0x5260('0x24')](respondWithResult(_0x46d99f,0xc9))[_0x5260('0x3c')](handleError(_0x46d99f,null));};exports['update']=function(_0x2274d3,_0x203fea){if(_0x2274d3[_0x5260('0x45')]['id']){delete _0x2274d3[_0x5260('0x45')]['id'];}return db[_0x5260('0x2b')]['find']({'where':{'id':_0x2274d3[_0x5260('0x3e')]['id']}})[_0x5260('0x24')](handleEntityNotFound(_0x203fea,null))[_0x5260('0x24')](saveUpdates(_0x2274d3['body'],null))[_0x5260('0x24')](respondWithResult(_0x203fea,null))[_0x5260('0x3c')](handleError(_0x203fea,null));};exports[_0x5260('0x25')]=function(_0xc1d9e7,_0x425a65){return db[_0x5260('0x2b')][_0x5260('0x46')]({'where':{'id':_0xc1d9e7['params']['id']}})['then'](handleEntityNotFound(_0x425a65,null))[_0x5260('0x24')](removeEntity(_0x425a65,null))[_0x5260('0x3c')](handleError(_0x425a65,null));};