c8f5d10d692d2a8ff4ca2242c91dec7dc8a71815
[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 _0x76ba=['../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../mysqldb','sendStatus','status','end','json','offset','undefined','limit','count','set','Content-Range','reject','update','then','destroy','error','stack','name','send','index','map','FreshsalesField','rawAttributes','fieldName','type','key','model','query','intersection','attributes','fields','length','hasOwnProperty','nolimit','sort','pick','filters','filter','merge','where','VIRTUAL','options','include','findAll','rows','catch','show','find','create','body','params','rimraf','zip-dir','fast-json-patch','request-promise','moment','path','sox','ejs','squel','crypto','jsforce','desk.js','to-csv','querystring','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch'];(function(_0x20cf1e,_0x27512c){var _0xce4c7a=function(_0x4432ee){while(--_0x4432ee){_0x20cf1e['push'](_0x20cf1e['shift']());}};_0xce4c7a(++_0x27512c);}(_0x76ba,0x1ee));var _0xa76b=function(_0x56fd5e,_0x50e199){_0x56fd5e=_0x56fd5e-0x0;var _0x703700=_0x76ba[_0x56fd5e];return _0x703700;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0xa76b('0x0'));var zipdir=require(_0xa76b('0x1'));var jsonpatch=require(_0xa76b('0x2'));var rp=require(_0xa76b('0x3'));var moment=require(_0xa76b('0x4'));var BPromise=require('bluebird');var Mustache=require('mustache');var util=require('util');var path=require(_0xa76b('0x5'));var sox=require(_0xa76b('0x6'));var csv=require('to-csv');var ejs=require(_0xa76b('0x7'));var fs=require('fs');var fs_extra=require('fs-extra');var _=require('lodash');var squel=require(_0xa76b('0x8'));var crypto=require(_0xa76b('0x9'));var jsforce=require(_0xa76b('0xa'));var deskjs=require(_0xa76b('0xb'));var toCsv=require(_0xa76b('0xc'));var querystring=require(_0xa76b('0xd'));var Papa=require('papaparse');var Redis=require('ioredis');var authService=require(_0xa76b('0xe'));var qs=require(_0xa76b('0xf'));var as=require(_0xa76b('0x10'));var hardwareService=require(_0xa76b('0x11'));var logger=require(_0xa76b('0x12'))(_0xa76b('0x13'));var utils=require(_0xa76b('0x14'));var config=require(_0xa76b('0x15'));var licenseUtil=require('../../config/license/util');var db=require(_0xa76b('0x16'))['db'];function respondWithStatusCode(_0x27f7fe,_0x1d4a5c){_0x1d4a5c=_0x1d4a5c||0xcc;return function(_0x363775){if(_0x363775){return _0x27f7fe[_0xa76b('0x17')](_0x1d4a5c);}return _0x27f7fe[_0xa76b('0x18')](_0x1d4a5c)[_0xa76b('0x19')]();};}function respondWithResult(_0x4893f3,_0x11e094){_0x11e094=_0x11e094||0xc8;return function(_0x7b045){if(_0x7b045){return _0x4893f3['status'](_0x11e094)[_0xa76b('0x1a')](_0x7b045);}};}function respondWithFilteredResult(_0x1da8e9,_0x2140cc){return function(_0x19f7eb){if(_0x19f7eb){var _0x4bf43=typeof _0x2140cc[_0xa76b('0x1b')]===_0xa76b('0x1c')&&typeof _0x2140cc[_0xa76b('0x1d')]===_0xa76b('0x1c');var _0xfcab=_0x19f7eb[_0xa76b('0x1e')];var _0xc9683c=_0x4bf43?0x0:_0x2140cc[_0xa76b('0x1b')];var _0xa931cf=_0x4bf43?_0x19f7eb[_0xa76b('0x1e')]:_0x2140cc[_0xa76b('0x1b')]+_0x2140cc['limit'];var _0x181b8d;if(_0xa931cf>=_0xfcab){_0xa931cf=_0xfcab;_0x181b8d=0xc8;}else{_0x181b8d=0xce;}_0x1da8e9['status'](_0x181b8d);return _0x1da8e9[_0xa76b('0x1f')](_0xa76b('0x20'),_0xc9683c+'-'+_0xa931cf+'/'+_0xfcab)['json'](_0x19f7eb);}return null;};}function patchUpdates(_0x5e3a7f){return function(_0x639c75){try{jsonpatch['apply'](_0x639c75,_0x5e3a7f,!![]);}catch(_0x299ad9){return BPromise[_0xa76b('0x21')](_0x299ad9);}return _0x639c75['save']();};}function saveUpdates(_0x2a6225,_0x4595aa){return function(_0x1d4174){if(_0x1d4174){return _0x1d4174[_0xa76b('0x22')](_0x2a6225)[_0xa76b('0x23')](function(_0x2dd740){return _0x2dd740;});}return null;};}function removeEntity(_0x43510e,_0xdb40d4){return function(_0x201ba6){if(_0x201ba6){return _0x201ba6[_0xa76b('0x24')]()[_0xa76b('0x23')](function(){_0x43510e[_0xa76b('0x18')](0xcc)[_0xa76b('0x19')]();});}};}function handleEntityNotFound(_0x250809,_0x380227){return function(_0x5da22a){if(!_0x5da22a){_0x250809[_0xa76b('0x17')](0x194);}return _0x5da22a;};}function handleError(_0x224cfd,_0x1813f5){_0x1813f5=_0x1813f5||0x1f4;return function(_0x27d011){logger[_0xa76b('0x25')](_0x27d011[_0xa76b('0x26')]);if(_0x27d011['name']){delete _0x27d011[_0xa76b('0x27')];}_0x224cfd[_0xa76b('0x18')](_0x1813f5)[_0xa76b('0x28')](_0x27d011);};}exports[_0xa76b('0x29')]=function(_0x1aeef5,_0x375df4){var _0x41b382={},_0x1f2491={},_0x44c55e={'count':0x0,'rows':[]};var _0x2dc465=_[_0xa76b('0x2a')](db[_0xa76b('0x2b')][_0xa76b('0x2c')],function(_0x10db2d){return{'name':_0x10db2d[_0xa76b('0x2d')],'type':_0x10db2d[_0xa76b('0x2e')][_0xa76b('0x2f')]};});_0x1f2491[_0xa76b('0x30')]=_['map'](_0x2dc465,_0xa76b('0x27'));_0x1f2491[_0xa76b('0x31')]=_['keys'](_0x1aeef5[_0xa76b('0x31')]);_0x1f2491['filters']=_[_0xa76b('0x32')](_0x1f2491[_0xa76b('0x30')],_0x1f2491[_0xa76b('0x31')]);_0x41b382[_0xa76b('0x33')]=_[_0xa76b('0x32')](_0x1f2491[_0xa76b('0x30')],qs[_0xa76b('0x34')](_0x1aeef5[_0xa76b('0x31')][_0xa76b('0x34')]));_0x41b382[_0xa76b('0x33')]=_0x41b382['attributes'][_0xa76b('0x35')]?_0x41b382[_0xa76b('0x33')]:_0x1f2491[_0xa76b('0x30')];if(!_0x1aeef5['query'][_0xa76b('0x36')](_0xa76b('0x37'))){_0x41b382[_0xa76b('0x1d')]=qs[_0xa76b('0x1d')](_0x1aeef5['query']['limit']);_0x41b382[_0xa76b('0x1b')]=qs[_0xa76b('0x1b')](_0x1aeef5[_0xa76b('0x31')][_0xa76b('0x1b')]);}_0x41b382['order']=qs[_0xa76b('0x38')](_0x1aeef5[_0xa76b('0x31')]['sort']);_0x41b382['where']=qs['filters'](_[_0xa76b('0x39')](_0x1aeef5[_0xa76b('0x31')],_0x1f2491[_0xa76b('0x3a')]),_0x2dc465);if(_0x1aeef5[_0xa76b('0x31')][_0xa76b('0x3b')]){_0x41b382['where']=_[_0xa76b('0x3c')](_0x41b382[_0xa76b('0x3d')],{'$or':_[_0xa76b('0x2a')](_0x2dc465,function(_0x551e9c){if(_0x551e9c[_0xa76b('0x2e')]!==_0xa76b('0x3e')){var _0x228bbc={};_0x228bbc[_0x551e9c[_0xa76b('0x27')]]={'$like':'%'+_0x1aeef5['query'][_0xa76b('0x3b')]+'%'};return _0x228bbc;}})});}_0x41b382=_[_0xa76b('0x3c')]({},_0x41b382,_0x1aeef5[_0xa76b('0x3f')]);var _0x14984e={'where':_0x41b382[_0xa76b('0x3d')]};return db[_0xa76b('0x2b')][_0xa76b('0x1e')](_0x14984e)[_0xa76b('0x23')](function(_0x41e1d3){_0x44c55e[_0xa76b('0x1e')]=_0x41e1d3;if(_0x1aeef5[_0xa76b('0x31')]['includeAll']){_0x41b382[_0xa76b('0x40')]=[{'all':!![]}];}return db[_0xa76b('0x2b')][_0xa76b('0x41')](_0x41b382);})['then'](function(_0x4634b8){_0x44c55e[_0xa76b('0x42')]=_0x4634b8;return _0x44c55e;})[_0xa76b('0x23')](respondWithFilteredResult(_0x375df4,_0x41b382))[_0xa76b('0x43')](handleError(_0x375df4,null));};exports[_0xa76b('0x44')]=function(_0x50525e,_0x4f98ed){var _0x200aee={'raw':!![],'where':{'id':_0x50525e['params']['id']}},_0x56fc7f={};_0x56fc7f[_0xa76b('0x30')]=_['keys'](db[_0xa76b('0x2b')]['rawAttributes']);_0x56fc7f['query']=_['keys'](_0x50525e[_0xa76b('0x31')]);_0x56fc7f[_0xa76b('0x3a')]=_[_0xa76b('0x32')](_0x56fc7f[_0xa76b('0x30')],_0x56fc7f[_0xa76b('0x31')]);_0x200aee['attributes']=_[_0xa76b('0x32')](_0x56fc7f[_0xa76b('0x30')],qs[_0xa76b('0x34')](_0x50525e[_0xa76b('0x31')][_0xa76b('0x34')]));_0x200aee[_0xa76b('0x33')]=_0x200aee[_0xa76b('0x33')][_0xa76b('0x35')]?_0x200aee[_0xa76b('0x33')]:_0x56fc7f[_0xa76b('0x30')];if(_0x50525e[_0xa76b('0x31')]['includeAll']){_0x200aee[_0xa76b('0x40')]=[{'all':!![]}];}_0x200aee=_['merge']({},_0x200aee,_0x50525e[_0xa76b('0x3f')]);return db[_0xa76b('0x2b')][_0xa76b('0x45')](_0x200aee)[_0xa76b('0x23')](handleEntityNotFound(_0x4f98ed,null))[_0xa76b('0x23')](respondWithResult(_0x4f98ed,null))[_0xa76b('0x43')](handleError(_0x4f98ed,null));};exports[_0xa76b('0x46')]=function(_0x202a17,_0x3c3eb8){return db[_0xa76b('0x2b')]['create'](_0x202a17[_0xa76b('0x47')],{})[_0xa76b('0x23')](respondWithResult(_0x3c3eb8,0xc9))['catch'](handleError(_0x3c3eb8,null));};exports[_0xa76b('0x22')]=function(_0x102ab4,_0x445ecb){if(_0x102ab4[_0xa76b('0x47')]['id']){delete _0x102ab4['body']['id'];}return db['FreshsalesField']['find']({'where':{'id':_0x102ab4[_0xa76b('0x48')]['id']}})['then'](handleEntityNotFound(_0x445ecb,null))[_0xa76b('0x23')](saveUpdates(_0x102ab4[_0xa76b('0x47')],null))[_0xa76b('0x23')](respondWithResult(_0x445ecb,null))[_0xa76b('0x43')](handleError(_0x445ecb,null));};exports[_0xa76b('0x24')]=function(_0x6da637,_0x5f35aa){return db[_0xa76b('0x2b')]['find']({'where':{'id':_0x6da637[_0xa76b('0x48')]['id']}})['then'](handleEntityNotFound(_0x5f35aa,null))['then'](removeEntity(_0x5f35aa,null))[_0xa76b('0x43')](handleError(_0x5f35aa,null));};