Built motion from commit f8768ebe.|2.6.15
[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 _0x5ab3=['jsforce','desk.js','querystring','papaparse','ioredis','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/utils','../../config/license/util','../../mysqldb','status','end','undefined','limit','count','offset','set','Content-Range','json','apply','reject','update','destroy','error','stack','name','FreshsalesField','rawAttributes','fieldName','type','key','model','map','query','keys','filters','intersection','attributes','fields','nolimit','order','sort','where','pick','filter','merge','VIRTUAL','options','then','includeAll','include','findAll','rows','catch','show','find','create','body','params','eml-format','rimraf','fast-json-patch','request-promise','moment','bluebird','util','path','to-csv','ejs','fs-extra'];(function(_0x5a2cd2,_0x8d06d8){var _0x2bbe47=function(_0x3286ac){while(--_0x3286ac){_0x5a2cd2['push'](_0x5a2cd2['shift']());}};_0x2bbe47(++_0x8d06d8);}(_0x5ab3,0x153));var _0x35ab=function(_0x56afcf,_0x47bc3b){_0x56afcf=_0x56afcf-0x0;var _0x307fb8=_0x5ab3[_0x56afcf];return _0x307fb8;};'use strict';var emlformat=require(_0x35ab('0x0'));var rimraf=require(_0x35ab('0x1'));var zipdir=require('zip-dir');var jsonpatch=require(_0x35ab('0x2'));var rp=require(_0x35ab('0x3'));var moment=require(_0x35ab('0x4'));var BPromise=require(_0x35ab('0x5'));var Mustache=require('mustache');var util=require(_0x35ab('0x6'));var path=require(_0x35ab('0x7'));var sox=require('sox');var csv=require(_0x35ab('0x8'));var ejs=require(_0x35ab('0x9'));var fs=require('fs');var fs_extra=require(_0x35ab('0xa'));var _=require('lodash');var squel=require('squel');var crypto=require('crypto');var jsforce=require(_0x35ab('0xb'));var deskjs=require(_0x35ab('0xc'));var toCsv=require(_0x35ab('0x8'));var querystring=require(_0x35ab('0xd'));var Papa=require(_0x35ab('0xe'));var Redis=require(_0x35ab('0xf'));var authService=require('../../components/auth/service');var qs=require('../../components/parsers/qs');var as=require(_0x35ab('0x10'));var hardwareService=require(_0x35ab('0x11'));var logger=require('../../config/logger')('api');var utils=require(_0x35ab('0x12'));var config=require('../../config/environment');var licenseUtil=require(_0x35ab('0x13'));var db=require(_0x35ab('0x14'))['db'];function respondWithStatusCode(_0x54c3b3,_0x4306f4){_0x4306f4=_0x4306f4||0xcc;return function(_0x11dffb){if(_0x11dffb){return _0x54c3b3['sendStatus'](_0x4306f4);}return _0x54c3b3[_0x35ab('0x15')](_0x4306f4)[_0x35ab('0x16')]();};}function respondWithResult(_0x258128,_0x339fb9){_0x339fb9=_0x339fb9||0xc8;return function(_0x2723f7){if(_0x2723f7){return _0x258128[_0x35ab('0x15')](_0x339fb9)['json'](_0x2723f7);}};}function respondWithFilteredResult(_0x289a7b,_0x140311){return function(_0x426cdb){if(_0x426cdb){var _0x9bbe0f=typeof _0x140311['offset']===_0x35ab('0x17')&&typeof _0x140311[_0x35ab('0x18')]===_0x35ab('0x17');var _0x483c47=_0x426cdb[_0x35ab('0x19')];var _0x25f5bc=_0x9bbe0f?0x0:_0x140311['offset'];var _0x5d2212=_0x9bbe0f?_0x426cdb[_0x35ab('0x19')]:_0x140311[_0x35ab('0x1a')]+_0x140311['limit'];var _0x55187d;if(_0x5d2212>=_0x483c47){_0x5d2212=_0x483c47;_0x55187d=0xc8;}else{_0x55187d=0xce;}_0x289a7b['status'](_0x55187d);return _0x289a7b[_0x35ab('0x1b')](_0x35ab('0x1c'),_0x25f5bc+'-'+_0x5d2212+'/'+_0x483c47)[_0x35ab('0x1d')](_0x426cdb);}return null;};}function patchUpdates(_0x30a6c2){return function(_0x36a593){try{jsonpatch[_0x35ab('0x1e')](_0x36a593,_0x30a6c2,!![]);}catch(_0x1201c6){return BPromise[_0x35ab('0x1f')](_0x1201c6);}return _0x36a593['save']();};}function saveUpdates(_0x2eb67a,_0x4b89c8){return function(_0x54aa12){if(_0x54aa12){return _0x54aa12[_0x35ab('0x20')](_0x2eb67a)['then'](function(_0x3136dc){return _0x3136dc;});}return null;};}function removeEntity(_0x2eaec0,_0x3c154c){return function(_0x429847){if(_0x429847){return _0x429847[_0x35ab('0x21')]()['then'](function(){_0x2eaec0[_0x35ab('0x15')](0xcc)[_0x35ab('0x16')]();});}};}function handleEntityNotFound(_0x405e27,_0x54da38){return function(_0x274831){if(!_0x274831){_0x405e27['sendStatus'](0x194);}return _0x274831;};}function handleError(_0x271dfc,_0x3a6452){_0x3a6452=_0x3a6452||0x1f4;return function(_0x38fe64){logger[_0x35ab('0x22')](_0x38fe64[_0x35ab('0x23')]);if(_0x38fe64['name']){delete _0x38fe64[_0x35ab('0x24')];}_0x271dfc[_0x35ab('0x15')](_0x3a6452)['send'](_0x38fe64);};}exports['index']=function(_0x256fb6,_0x39ce25){var _0x21ff59={},_0x5afe82={},_0x3ccf62={'count':0x0,'rows':[]};var _0xa66687=_['map'](db[_0x35ab('0x25')][_0x35ab('0x26')],function(_0x178768){return{'name':_0x178768[_0x35ab('0x27')],'type':_0x178768[_0x35ab('0x28')][_0x35ab('0x29')]};});_0x5afe82[_0x35ab('0x2a')]=_[_0x35ab('0x2b')](_0xa66687,_0x35ab('0x24'));_0x5afe82[_0x35ab('0x2c')]=_[_0x35ab('0x2d')](_0x256fb6[_0x35ab('0x2c')]);_0x5afe82[_0x35ab('0x2e')]=_[_0x35ab('0x2f')](_0x5afe82[_0x35ab('0x2a')],_0x5afe82[_0x35ab('0x2c')]);_0x21ff59[_0x35ab('0x30')]=_[_0x35ab('0x2f')](_0x5afe82['model'],qs[_0x35ab('0x31')](_0x256fb6[_0x35ab('0x2c')][_0x35ab('0x31')]));_0x21ff59[_0x35ab('0x30')]=_0x21ff59[_0x35ab('0x30')]['length']?_0x21ff59[_0x35ab('0x30')]:_0x5afe82['model'];if(!_0x256fb6[_0x35ab('0x2c')]['hasOwnProperty'](_0x35ab('0x32'))){_0x21ff59[_0x35ab('0x18')]=qs[_0x35ab('0x18')](_0x256fb6[_0x35ab('0x2c')][_0x35ab('0x18')]);_0x21ff59[_0x35ab('0x1a')]=qs[_0x35ab('0x1a')](_0x256fb6[_0x35ab('0x2c')][_0x35ab('0x1a')]);}_0x21ff59[_0x35ab('0x33')]=qs[_0x35ab('0x34')](_0x256fb6[_0x35ab('0x2c')][_0x35ab('0x34')]);_0x21ff59[_0x35ab('0x35')]=qs[_0x35ab('0x2e')](_[_0x35ab('0x36')](_0x256fb6[_0x35ab('0x2c')],_0x5afe82[_0x35ab('0x2e')]),_0xa66687);if(_0x256fb6[_0x35ab('0x2c')][_0x35ab('0x37')]){_0x21ff59[_0x35ab('0x35')]=_[_0x35ab('0x38')](_0x21ff59[_0x35ab('0x35')],{'$or':_['map'](_0xa66687,function(_0x36506c){if(_0x36506c[_0x35ab('0x28')]!==_0x35ab('0x39')){var _0x3a0871={};_0x3a0871[_0x36506c[_0x35ab('0x24')]]={'$like':'%'+_0x256fb6[_0x35ab('0x2c')][_0x35ab('0x37')]+'%'};return _0x3a0871;}})});}_0x21ff59=_[_0x35ab('0x38')]({},_0x21ff59,_0x256fb6[_0x35ab('0x3a')]);var _0x3a889d={'where':_0x21ff59['where']};return db[_0x35ab('0x25')][_0x35ab('0x19')](_0x3a889d)[_0x35ab('0x3b')](function(_0x1dd113){_0x3ccf62['count']=_0x1dd113;if(_0x256fb6[_0x35ab('0x2c')][_0x35ab('0x3c')]){_0x21ff59[_0x35ab('0x3d')]=[{'all':!![]}];}return db[_0x35ab('0x25')][_0x35ab('0x3e')](_0x21ff59);})[_0x35ab('0x3b')](function(_0x3cb028){_0x3ccf62[_0x35ab('0x3f')]=_0x3cb028;return _0x3ccf62;})[_0x35ab('0x3b')](respondWithFilteredResult(_0x39ce25,_0x21ff59))[_0x35ab('0x40')](handleError(_0x39ce25,null));};exports[_0x35ab('0x41')]=function(_0x3463b5,_0x179a93){var _0x110240={'raw':!![],'where':{'id':_0x3463b5['params']['id']}},_0x591fd3={};_0x591fd3[_0x35ab('0x2a')]=_['keys'](db['FreshsalesField']['rawAttributes']);_0x591fd3[_0x35ab('0x2c')]=_[_0x35ab('0x2d')](_0x3463b5['query']);_0x591fd3[_0x35ab('0x2e')]=_[_0x35ab('0x2f')](_0x591fd3['model'],_0x591fd3[_0x35ab('0x2c')]);_0x110240['attributes']=_[_0x35ab('0x2f')](_0x591fd3[_0x35ab('0x2a')],qs[_0x35ab('0x31')](_0x3463b5[_0x35ab('0x2c')][_0x35ab('0x31')]));_0x110240[_0x35ab('0x30')]=_0x110240[_0x35ab('0x30')]['length']?_0x110240['attributes']:_0x591fd3[_0x35ab('0x2a')];if(_0x3463b5['query'][_0x35ab('0x3c')]){_0x110240[_0x35ab('0x3d')]=[{'all':!![]}];}_0x110240=_[_0x35ab('0x38')]({},_0x110240,_0x3463b5[_0x35ab('0x3a')]);return db[_0x35ab('0x25')][_0x35ab('0x42')](_0x110240)[_0x35ab('0x3b')](handleEntityNotFound(_0x179a93,null))[_0x35ab('0x3b')](respondWithResult(_0x179a93,null))[_0x35ab('0x40')](handleError(_0x179a93,null));};exports[_0x35ab('0x43')]=function(_0x47ca61,_0x78ad8c){return db['FreshsalesField']['create'](_0x47ca61[_0x35ab('0x44')],{})['then'](respondWithResult(_0x78ad8c,0xc9))[_0x35ab('0x40')](handleError(_0x78ad8c,null));};exports[_0x35ab('0x20')]=function(_0x1b0c30,_0x1815f9){if(_0x1b0c30[_0x35ab('0x44')]['id']){delete _0x1b0c30[_0x35ab('0x44')]['id'];}return db['FreshsalesField']['find']({'where':{'id':_0x1b0c30[_0x35ab('0x45')]['id']}})['then'](handleEntityNotFound(_0x1815f9,null))[_0x35ab('0x3b')](saveUpdates(_0x1b0c30[_0x35ab('0x44')],null))[_0x35ab('0x3b')](respondWithResult(_0x1815f9,null))[_0x35ab('0x40')](handleError(_0x1815f9,null));};exports[_0x35ab('0x21')]=function(_0x227e19,_0x502baf){return db['FreshsalesField'][_0x35ab('0x42')]({'where':{'id':_0x227e19[_0x35ab('0x45')]['id']}})['then'](handleEntityNotFound(_0x502baf,null))['then'](removeEntity(_0x502baf,null))['catch'](handleError(_0x502baf,null));};