5fcd1614fcbefaf6fe88ca5c9bd5578c946d60ef
[motion2.git] / server / api / intFreshsalesField / intFreshsalesField.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 _0xc10e=['ioredis','../../components/auth/service','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/utils','../../config/environment','../../mysqldb','end','status','json','offset','limit','undefined','count','set','Content-Range','apply','save','update','destroy','then','sendStatus','error','stack','name','send','map','FreshsalesField','rawAttributes','type','key','model','query','filters','intersection','attributes','fields','length','hasOwnProperty','nolimit','order','sort','where','pick','filter','merge','includeAll','findAll','rows','catch','show','keys','options','find','create','body','params','eml-format','rimraf','zip-dir','fast-json-patch','moment','bluebird','mustache','util','sox','to-csv','ejs','lodash','crypto','jsforce','querystring','papaparse'];(function(_0x501510,_0x61caa9){var _0x1e6ee5=function(_0x32845b){while(--_0x32845b){_0x501510['push'](_0x501510['shift']());}};_0x1e6ee5(++_0x61caa9);}(_0xc10e,0x1ef));var _0xec10=function(_0x40b43c,_0x269319){_0x40b43c=_0x40b43c-0x0;var _0x1d31b7=_0xc10e[_0x40b43c];return _0x1d31b7;};'use strict';var emlformat=require(_0xec10('0x0'));var rimraf=require(_0xec10('0x1'));var zipdir=require(_0xec10('0x2'));var jsonpatch=require(_0xec10('0x3'));var rp=require('request-promise');var moment=require(_0xec10('0x4'));var BPromise=require(_0xec10('0x5'));var Mustache=require(_0xec10('0x6'));var util=require(_0xec10('0x7'));var path=require('path');var sox=require(_0xec10('0x8'));var csv=require(_0xec10('0x9'));var ejs=require(_0xec10('0xa'));var fs=require('fs');var fs_extra=require('fs-extra');var _=require(_0xec10('0xb'));var squel=require('squel');var crypto=require(_0xec10('0xc'));var jsforce=require(_0xec10('0xd'));var deskjs=require('desk.js');var toCsv=require(_0xec10('0x9'));var querystring=require(_0xec10('0xe'));var Papa=require(_0xec10('0xf'));var Redis=require(_0xec10('0x10'));var authService=require(_0xec10('0x11'));var qs=require('../../components/parsers/qs');var as=require(_0xec10('0x12'));var hardwareService=require(_0xec10('0x13'));var logger=require('../../config/logger')('api');var utils=require(_0xec10('0x14'));var config=require(_0xec10('0x15'));var licenseUtil=require('../../config/license/util');var db=require(_0xec10('0x16'))['db'];function respondWithStatusCode(_0x3d7370,_0x2dee2e){_0x2dee2e=_0x2dee2e||0xcc;return function(_0xcc56f8){if(_0xcc56f8){return _0x3d7370['sendStatus'](_0x2dee2e);}return _0x3d7370['status'](_0x2dee2e)[_0xec10('0x17')]();};}function respondWithResult(_0x4a2980,_0x18c185){_0x18c185=_0x18c185||0xc8;return function(_0x19ef03){if(_0x19ef03){return _0x4a2980[_0xec10('0x18')](_0x18c185)[_0xec10('0x19')](_0x19ef03);}};}function respondWithFilteredResult(_0xa8d700,_0x33e3ed){return function(_0x25b1d6){if(_0x25b1d6){var _0x24db9c=typeof _0x33e3ed[_0xec10('0x1a')]==='undefined'&&typeof _0x33e3ed[_0xec10('0x1b')]===_0xec10('0x1c');var _0x2813eb=_0x25b1d6[_0xec10('0x1d')];var _0x2ffadb=_0x24db9c?0x0:_0x33e3ed['offset'];var _0x5da9b8=_0x24db9c?_0x25b1d6[_0xec10('0x1d')]:_0x33e3ed[_0xec10('0x1a')]+_0x33e3ed[_0xec10('0x1b')];var _0x53ca13;if(_0x5da9b8>=_0x2813eb){_0x5da9b8=_0x2813eb;_0x53ca13=0xc8;}else{_0x53ca13=0xce;}_0xa8d700[_0xec10('0x18')](_0x53ca13);return _0xa8d700[_0xec10('0x1e')](_0xec10('0x1f'),_0x2ffadb+'-'+_0x5da9b8+'/'+_0x2813eb)[_0xec10('0x19')](_0x25b1d6);}return null;};}function patchUpdates(_0x44d50c){return function(_0x527863){try{jsonpatch[_0xec10('0x20')](_0x527863,_0x44d50c,!![]);}catch(_0x14131b){return BPromise['reject'](_0x14131b);}return _0x527863[_0xec10('0x21')]();};}function saveUpdates(_0x44b9f7,_0x2e22c5){return function(_0x12bc94){if(_0x12bc94){return _0x12bc94[_0xec10('0x22')](_0x44b9f7)['then'](function(_0x5d6523){return _0x5d6523;});}return null;};}function removeEntity(_0x35f6b4,_0x3cd8e2){return function(_0xbdf0a4){if(_0xbdf0a4){return _0xbdf0a4[_0xec10('0x23')]()[_0xec10('0x24')](function(){_0x35f6b4['status'](0xcc)['end']();});}};}function handleEntityNotFound(_0x4a3ca5,_0x2c8cb8){return function(_0x4ce650){if(!_0x4ce650){_0x4a3ca5[_0xec10('0x25')](0x194);}return _0x4ce650;};}function handleError(_0x5da3b2,_0x57af01){_0x57af01=_0x57af01||0x1f4;return function(_0x539a33){logger[_0xec10('0x26')](_0x539a33[_0xec10('0x27')]);if(_0x539a33[_0xec10('0x28')]){delete _0x539a33[_0xec10('0x28')];}_0x5da3b2[_0xec10('0x18')](_0x57af01)[_0xec10('0x29')](_0x539a33);};}exports['index']=function(_0x388a05,_0x300703){var _0x58c3d5={},_0x1d3f99={},_0x2a496c={'count':0x0,'rows':[]};var _0x3a7e4b=_[_0xec10('0x2a')](db[_0xec10('0x2b')][_0xec10('0x2c')],function(_0x228508){return{'name':_0x228508['fieldName'],'type':_0x228508[_0xec10('0x2d')][_0xec10('0x2e')]};});_0x1d3f99[_0xec10('0x2f')]=_['map'](_0x3a7e4b,_0xec10('0x28'));_0x1d3f99[_0xec10('0x30')]=_['keys'](_0x388a05[_0xec10('0x30')]);_0x1d3f99[_0xec10('0x31')]=_[_0xec10('0x32')](_0x1d3f99[_0xec10('0x2f')],_0x1d3f99['query']);_0x58c3d5[_0xec10('0x33')]=_[_0xec10('0x32')](_0x1d3f99[_0xec10('0x2f')],qs[_0xec10('0x34')](_0x388a05[_0xec10('0x30')][_0xec10('0x34')]));_0x58c3d5[_0xec10('0x33')]=_0x58c3d5[_0xec10('0x33')][_0xec10('0x35')]?_0x58c3d5[_0xec10('0x33')]:_0x1d3f99[_0xec10('0x2f')];if(!_0x388a05['query'][_0xec10('0x36')](_0xec10('0x37'))){_0x58c3d5['limit']=qs[_0xec10('0x1b')](_0x388a05[_0xec10('0x30')]['limit']);_0x58c3d5[_0xec10('0x1a')]=qs[_0xec10('0x1a')](_0x388a05['query'][_0xec10('0x1a')]);}_0x58c3d5[_0xec10('0x38')]=qs[_0xec10('0x39')](_0x388a05[_0xec10('0x30')][_0xec10('0x39')]);_0x58c3d5[_0xec10('0x3a')]=qs['filters'](_[_0xec10('0x3b')](_0x388a05[_0xec10('0x30')],_0x1d3f99[_0xec10('0x31')]),_0x3a7e4b);if(_0x388a05[_0xec10('0x30')][_0xec10('0x3c')]){_0x58c3d5[_0xec10('0x3a')]=_['merge'](_0x58c3d5[_0xec10('0x3a')],{'$or':_[_0xec10('0x2a')](_0x3a7e4b,function(_0x4441f5){if(_0x4441f5['type']!=='VIRTUAL'){var _0x53505a={};_0x53505a[_0x4441f5[_0xec10('0x28')]]={'$like':'%'+_0x388a05[_0xec10('0x30')][_0xec10('0x3c')]+'%'};return _0x53505a;}})});}_0x58c3d5=_[_0xec10('0x3d')]({},_0x58c3d5,_0x388a05['options']);var _0xf26d24={'where':_0x58c3d5[_0xec10('0x3a')]};return db['FreshsalesField'][_0xec10('0x1d')](_0xf26d24)[_0xec10('0x24')](function(_0xa7fd65){_0x2a496c[_0xec10('0x1d')]=_0xa7fd65;if(_0x388a05[_0xec10('0x30')][_0xec10('0x3e')]){_0x58c3d5['include']=[{'all':!![]}];}return db[_0xec10('0x2b')][_0xec10('0x3f')](_0x58c3d5);})[_0xec10('0x24')](function(_0x515ba1){_0x2a496c[_0xec10('0x40')]=_0x515ba1;return _0x2a496c;})[_0xec10('0x24')](respondWithFilteredResult(_0x300703,_0x58c3d5))[_0xec10('0x41')](handleError(_0x300703,null));};exports[_0xec10('0x42')]=function(_0x274e5e,_0xad0930){var _0x36480c={'raw':!![],'where':{'id':_0x274e5e['params']['id']}},_0x55ac20={};_0x55ac20[_0xec10('0x2f')]=_['keys'](db[_0xec10('0x2b')]['rawAttributes']);_0x55ac20[_0xec10('0x30')]=_[_0xec10('0x43')](_0x274e5e['query']);_0x55ac20[_0xec10('0x31')]=_[_0xec10('0x32')](_0x55ac20[_0xec10('0x2f')],_0x55ac20[_0xec10('0x30')]);_0x36480c[_0xec10('0x33')]=_[_0xec10('0x32')](_0x55ac20['model'],qs[_0xec10('0x34')](_0x274e5e[_0xec10('0x30')][_0xec10('0x34')]));_0x36480c[_0xec10('0x33')]=_0x36480c['attributes'][_0xec10('0x35')]?_0x36480c[_0xec10('0x33')]:_0x55ac20[_0xec10('0x2f')];if(_0x274e5e[_0xec10('0x30')]['includeAll']){_0x36480c['include']=[{'all':!![]}];}_0x36480c=_['merge']({},_0x36480c,_0x274e5e[_0xec10('0x44')]);return db[_0xec10('0x2b')][_0xec10('0x45')](_0x36480c)[_0xec10('0x24')](handleEntityNotFound(_0xad0930,null))[_0xec10('0x24')](respondWithResult(_0xad0930,null))['catch'](handleError(_0xad0930,null));};exports[_0xec10('0x46')]=function(_0x3abeb9,_0x497efd){return db[_0xec10('0x2b')][_0xec10('0x46')](_0x3abeb9[_0xec10('0x47')],{})[_0xec10('0x24')](respondWithResult(_0x497efd,0xc9))[_0xec10('0x41')](handleError(_0x497efd,null));};exports[_0xec10('0x22')]=function(_0x2434f9,_0x2749cf){if(_0x2434f9['body']['id']){delete _0x2434f9[_0xec10('0x47')]['id'];}return db[_0xec10('0x2b')]['find']({'where':{'id':_0x2434f9[_0xec10('0x48')]['id']}})[_0xec10('0x24')](handleEntityNotFound(_0x2749cf,null))['then'](saveUpdates(_0x2434f9[_0xec10('0x47')],null))[_0xec10('0x24')](respondWithResult(_0x2749cf,null))[_0xec10('0x41')](handleError(_0x2749cf,null));};exports['destroy']=function(_0x1e09ca,_0x2b134f){return db[_0xec10('0x2b')][_0xec10('0x45')]({'where':{'id':_0x1e09ca[_0xec10('0x48')]['id']}})[_0xec10('0x24')](handleEntityNotFound(_0x2b134f,null))[_0xec10('0x24')](removeEntity(_0x2b134f,null))[_0xec10('0x41')](handleError(_0x2b134f,null));};