3e8182e1518fc1525549ccb6d34ca87314d94a83
[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 _0x9abd=['show','params','rawAttributes','length','create','body','destroy','find','rimraf','zip-dir','fast-json-patch','moment','bluebird','mustache','util','sox','to-csv','ejs','lodash','squel','crypto','desk.js','querystring','ioredis','../../components/auth/service','../../config/license/hardware','../../config/logger','api','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','end','json','offset','limit','undefined','count','set','Content-Range','apply','reject','save','update','then','error','stack','name','index','map','FreshsalesField','fieldName','type','model','query','keys','intersection','fields','attributes','nolimit','order','sort','where','filters','pick','filter','merge','options','includeAll','include','findAll','rows','catch'];(function(_0x4edb28,_0x1f0292){var _0x5b56c0=function(_0x38e742){while(--_0x38e742){_0x4edb28['push'](_0x4edb28['shift']());}};_0x5b56c0(++_0x1f0292);}(_0x9abd,0x1c4));var _0xd9ab=function(_0x579ca9,_0x154453){_0x579ca9=_0x579ca9-0x0;var _0x1a25de=_0x9abd[_0x579ca9];return _0x1a25de;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0xd9ab('0x0'));var zipdir=require(_0xd9ab('0x1'));var jsonpatch=require(_0xd9ab('0x2'));var rp=require('request-promise');var moment=require(_0xd9ab('0x3'));var BPromise=require(_0xd9ab('0x4'));var Mustache=require(_0xd9ab('0x5'));var util=require(_0xd9ab('0x6'));var path=require('path');var sox=require(_0xd9ab('0x7'));var csv=require(_0xd9ab('0x8'));var ejs=require(_0xd9ab('0x9'));var fs=require('fs');var fs_extra=require('fs-extra');var _=require(_0xd9ab('0xa'));var squel=require(_0xd9ab('0xb'));var crypto=require(_0xd9ab('0xc'));var jsforce=require('jsforce');var deskjs=require(_0xd9ab('0xd'));var toCsv=require(_0xd9ab('0x8'));var querystring=require(_0xd9ab('0xe'));var Papa=require('papaparse');var Redis=require(_0xd9ab('0xf'));var authService=require(_0xd9ab('0x10'));var qs=require('../../components/parsers/qs');var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0xd9ab('0x11'));var logger=require(_0xd9ab('0x12'))(_0xd9ab('0x13'));var utils=require('../../config/utils');var config=require(_0xd9ab('0x14'));var licenseUtil=require(_0xd9ab('0x15'));var db=require(_0xd9ab('0x16'))['db'];function respondWithStatusCode(_0x11409f,_0x467205){_0x467205=_0x467205||0xcc;return function(_0x52f37b){if(_0x52f37b){return _0x11409f[_0xd9ab('0x17')](_0x467205);}return _0x11409f[_0xd9ab('0x18')](_0x467205)[_0xd9ab('0x19')]();};}function respondWithResult(_0x361414,_0x2ab29f){_0x2ab29f=_0x2ab29f||0xc8;return function(_0x147d36){if(_0x147d36){return _0x361414[_0xd9ab('0x18')](_0x2ab29f)[_0xd9ab('0x1a')](_0x147d36);}};}function respondWithFilteredResult(_0x128f0b,_0x526e8e){return function(_0x2779af){if(_0x2779af){var _0x238edc=typeof _0x526e8e[_0xd9ab('0x1b')]==='undefined'&&typeof _0x526e8e[_0xd9ab('0x1c')]===_0xd9ab('0x1d');var _0x1e23ce=_0x2779af['count'];var _0x48c29e=_0x238edc?0x0:_0x526e8e[_0xd9ab('0x1b')];var _0x2cef36=_0x238edc?_0x2779af[_0xd9ab('0x1e')]:_0x526e8e['offset']+_0x526e8e[_0xd9ab('0x1c')];var _0x40a558;if(_0x2cef36>=_0x1e23ce){_0x2cef36=_0x1e23ce;_0x40a558=0xc8;}else{_0x40a558=0xce;}_0x128f0b[_0xd9ab('0x18')](_0x40a558);return _0x128f0b[_0xd9ab('0x1f')](_0xd9ab('0x20'),_0x48c29e+'-'+_0x2cef36+'/'+_0x1e23ce)['json'](_0x2779af);}return null;};}function patchUpdates(_0x3aa599){return function(_0x44dde0){try{jsonpatch[_0xd9ab('0x21')](_0x44dde0,_0x3aa599,!![]);}catch(_0x2a3520){return BPromise[_0xd9ab('0x22')](_0x2a3520);}return _0x44dde0[_0xd9ab('0x23')]();};}function saveUpdates(_0x13eff2,_0x437afc){return function(_0x58428a){if(_0x58428a){return _0x58428a[_0xd9ab('0x24')](_0x13eff2)['then'](function(_0x46f58b){return _0x46f58b;});}return null;};}function removeEntity(_0x140c4a,_0x119b0d){return function(_0x24e5ff){if(_0x24e5ff){return _0x24e5ff['destroy']()[_0xd9ab('0x25')](function(){_0x140c4a[_0xd9ab('0x18')](0xcc)[_0xd9ab('0x19')]();});}};}function handleEntityNotFound(_0xfd3810,_0x14624d){return function(_0x5b0fba){if(!_0x5b0fba){_0xfd3810['sendStatus'](0x194);}return _0x5b0fba;};}function handleError(_0x29851c,_0xf77ce7){_0xf77ce7=_0xf77ce7||0x1f4;return function(_0x1431e3){logger[_0xd9ab('0x26')](_0x1431e3[_0xd9ab('0x27')]);if(_0x1431e3[_0xd9ab('0x28')]){delete _0x1431e3[_0xd9ab('0x28')];}_0x29851c[_0xd9ab('0x18')](_0xf77ce7)['send'](_0x1431e3);};}exports[_0xd9ab('0x29')]=function(_0x82743b,_0x217850){var _0x4e3403={},_0x5f4eaf={},_0x3fc12a={'count':0x0,'rows':[]};var _0x137315=_[_0xd9ab('0x2a')](db[_0xd9ab('0x2b')]['rawAttributes'],function(_0x489bdc){return{'name':_0x489bdc[_0xd9ab('0x2c')],'type':_0x489bdc[_0xd9ab('0x2d')]['key']};});_0x5f4eaf[_0xd9ab('0x2e')]=_[_0xd9ab('0x2a')](_0x137315,_0xd9ab('0x28'));_0x5f4eaf[_0xd9ab('0x2f')]=_[_0xd9ab('0x30')](_0x82743b['query']);_0x5f4eaf['filters']=_['intersection'](_0x5f4eaf['model'],_0x5f4eaf[_0xd9ab('0x2f')]);_0x4e3403['attributes']=_[_0xd9ab('0x31')](_0x5f4eaf[_0xd9ab('0x2e')],qs[_0xd9ab('0x32')](_0x82743b[_0xd9ab('0x2f')][_0xd9ab('0x32')]));_0x4e3403[_0xd9ab('0x33')]=_0x4e3403['attributes']['length']?_0x4e3403['attributes']:_0x5f4eaf[_0xd9ab('0x2e')];if(!_0x82743b[_0xd9ab('0x2f')]['hasOwnProperty'](_0xd9ab('0x34'))){_0x4e3403[_0xd9ab('0x1c')]=qs[_0xd9ab('0x1c')](_0x82743b[_0xd9ab('0x2f')][_0xd9ab('0x1c')]);_0x4e3403[_0xd9ab('0x1b')]=qs[_0xd9ab('0x1b')](_0x82743b[_0xd9ab('0x2f')][_0xd9ab('0x1b')]);}_0x4e3403[_0xd9ab('0x35')]=qs[_0xd9ab('0x36')](_0x82743b[_0xd9ab('0x2f')][_0xd9ab('0x36')]);_0x4e3403[_0xd9ab('0x37')]=qs[_0xd9ab('0x38')](_[_0xd9ab('0x39')](_0x82743b[_0xd9ab('0x2f')],_0x5f4eaf[_0xd9ab('0x38')]),_0x137315);if(_0x82743b[_0xd9ab('0x2f')][_0xd9ab('0x3a')]){_0x4e3403[_0xd9ab('0x37')]=_[_0xd9ab('0x3b')](_0x4e3403[_0xd9ab('0x37')],{'$or':_[_0xd9ab('0x2a')](_0x137315,function(_0x50a44b){if(_0x50a44b['type']!=='VIRTUAL'){var _0x5e9c39={};_0x5e9c39[_0x50a44b[_0xd9ab('0x28')]]={'$like':'%'+_0x82743b[_0xd9ab('0x2f')][_0xd9ab('0x3a')]+'%'};return _0x5e9c39;}})});}_0x4e3403=_[_0xd9ab('0x3b')]({},_0x4e3403,_0x82743b[_0xd9ab('0x3c')]);var _0x5a50b5={'where':_0x4e3403['where']};return db[_0xd9ab('0x2b')]['count'](_0x5a50b5)[_0xd9ab('0x25')](function(_0x470a34){_0x3fc12a[_0xd9ab('0x1e')]=_0x470a34;if(_0x82743b[_0xd9ab('0x2f')][_0xd9ab('0x3d')]){_0x4e3403[_0xd9ab('0x3e')]=[{'all':!![]}];}return db['FreshsalesField'][_0xd9ab('0x3f')](_0x4e3403);})[_0xd9ab('0x25')](function(_0x5101cc){_0x3fc12a[_0xd9ab('0x40')]=_0x5101cc;return _0x3fc12a;})[_0xd9ab('0x25')](respondWithFilteredResult(_0x217850,_0x4e3403))[_0xd9ab('0x41')](handleError(_0x217850,null));};exports[_0xd9ab('0x42')]=function(_0x500abe,_0x3e4438){var _0x4d4524={'raw':!![],'where':{'id':_0x500abe[_0xd9ab('0x43')]['id']}},_0x217452={};_0x217452[_0xd9ab('0x2e')]=_[_0xd9ab('0x30')](db['FreshsalesField'][_0xd9ab('0x44')]);_0x217452[_0xd9ab('0x2f')]=_[_0xd9ab('0x30')](_0x500abe['query']);_0x217452[_0xd9ab('0x38')]=_[_0xd9ab('0x31')](_0x217452[_0xd9ab('0x2e')],_0x217452[_0xd9ab('0x2f')]);_0x4d4524[_0xd9ab('0x33')]=_[_0xd9ab('0x31')](_0x217452[_0xd9ab('0x2e')],qs['fields'](_0x500abe['query'][_0xd9ab('0x32')]));_0x4d4524[_0xd9ab('0x33')]=_0x4d4524[_0xd9ab('0x33')][_0xd9ab('0x45')]?_0x4d4524[_0xd9ab('0x33')]:_0x217452['model'];if(_0x500abe[_0xd9ab('0x2f')][_0xd9ab('0x3d')]){_0x4d4524[_0xd9ab('0x3e')]=[{'all':!![]}];}_0x4d4524=_[_0xd9ab('0x3b')]({},_0x4d4524,_0x500abe[_0xd9ab('0x3c')]);return db[_0xd9ab('0x2b')]['find'](_0x4d4524)[_0xd9ab('0x25')](handleEntityNotFound(_0x3e4438,null))[_0xd9ab('0x25')](respondWithResult(_0x3e4438,null))[_0xd9ab('0x41')](handleError(_0x3e4438,null));};exports[_0xd9ab('0x46')]=function(_0xf46cac,_0x3c3498){return db[_0xd9ab('0x2b')]['create'](_0xf46cac['body'],{})[_0xd9ab('0x25')](respondWithResult(_0x3c3498,0xc9))[_0xd9ab('0x41')](handleError(_0x3c3498,null));};exports['update']=function(_0x323ab7,_0x20c36b){if(_0x323ab7[_0xd9ab('0x47')]['id']){delete _0x323ab7[_0xd9ab('0x47')]['id'];}return db[_0xd9ab('0x2b')]['find']({'where':{'id':_0x323ab7['params']['id']}})['then'](handleEntityNotFound(_0x20c36b,null))['then'](saveUpdates(_0x323ab7[_0xd9ab('0x47')],null))[_0xd9ab('0x25')](respondWithResult(_0x20c36b,null))[_0xd9ab('0x41')](handleError(_0x20c36b,null));};exports[_0xd9ab('0x48')]=function(_0x2fa7e4,_0x432f90){return db[_0xd9ab('0x2b')][_0xd9ab('0x49')]({'where':{'id':_0x2fa7e4[_0xd9ab('0x43')]['id']}})[_0xd9ab('0x25')](handleEntityNotFound(_0x432f90,null))[_0xd9ab('0x25')](removeEntity(_0x432f90,null))[_0xd9ab('0x41')](handleError(_0x432f90,null));};