Built motion from commit da617fac.|2.6.6
[motion2.git] / server / api / intDynamics365Field / intDynamics365Field.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 _0x3bb7=['../../config/license/hardware','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','end','json','offset','undefined','limit','count','set','apply','reject','save','update','destroy','then','error','stack','send','Dynamics365Field','rawAttributes','fieldName','type','key','model','map','query','keys','filters','intersection','attributes','fields','hasOwnProperty','nolimit','sort','where','pick','filter','options','includeAll','include','findAll','catch','show','params','length','find','create','body','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','util','to-csv','lodash','jsforce','desk.js','querystring','ioredis','../../components/parsers/qs'];(function(_0x9647da,_0x1f7117){var _0x25c414=function(_0x260ce6){while(--_0x260ce6){_0x9647da['push'](_0x9647da['shift']());}};_0x25c414(++_0x1f7117);}(_0x3bb7,0x14a));var _0x73bb=function(_0x1e5a0c,_0x3a16fc){_0x1e5a0c=_0x1e5a0c-0x0;var _0x5cc15b=_0x3bb7[_0x1e5a0c];return _0x5cc15b;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0x73bb('0x0'));var zipdir=require(_0x73bb('0x1'));var jsonpatch=require(_0x73bb('0x2'));var rp=require(_0x73bb('0x3'));var moment=require(_0x73bb('0x4'));var BPromise=require(_0x73bb('0x5'));var Mustache=require(_0x73bb('0x6'));var util=require(_0x73bb('0x7'));var path=require('path');var sox=require('sox');var csv=require(_0x73bb('0x8'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require('fs-extra');var _=require(_0x73bb('0x9'));var squel=require('squel');var crypto=require('crypto');var jsforce=require(_0x73bb('0xa'));var deskjs=require(_0x73bb('0xb'));var toCsv=require(_0x73bb('0x8'));var querystring=require(_0x73bb('0xc'));var Papa=require('papaparse');var Redis=require(_0x73bb('0xd'));var authService=require('../../components/auth/service');var qs=require(_0x73bb('0xe'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0x73bb('0xf'));var logger=require('../../config/logger')(_0x73bb('0x10'));var utils=require(_0x73bb('0x11'));var config=require(_0x73bb('0x12'));var licenseUtil=require(_0x73bb('0x13'));var db=require(_0x73bb('0x14'))['db'];function respondWithStatusCode(_0x34c017,_0x510296){_0x510296=_0x510296||0xcc;return function(_0x35b2b1){if(_0x35b2b1){return _0x34c017[_0x73bb('0x15')](_0x510296);}return _0x34c017[_0x73bb('0x16')](_0x510296)[_0x73bb('0x17')]();};}function respondWithResult(_0x1c2251,_0x1c370e){_0x1c370e=_0x1c370e||0xc8;return function(_0x13163e){if(_0x13163e){return _0x1c2251[_0x73bb('0x16')](_0x1c370e)[_0x73bb('0x18')](_0x13163e);}};}function respondWithFilteredResult(_0x2188db,_0x5730f1){return function(_0x31db93){if(_0x31db93){var _0x4ef8ab=typeof _0x5730f1[_0x73bb('0x19')]===_0x73bb('0x1a')&&typeof _0x5730f1[_0x73bb('0x1b')]==='undefined';var _0x5abbfa=_0x31db93[_0x73bb('0x1c')];var _0xac33f1=_0x4ef8ab?0x0:_0x5730f1[_0x73bb('0x19')];var _0x4aac68=_0x4ef8ab?_0x31db93['count']:_0x5730f1[_0x73bb('0x19')]+_0x5730f1['limit'];var _0x2f0fce;if(_0x4aac68>=_0x5abbfa){_0x4aac68=_0x5abbfa;_0x2f0fce=0xc8;}else{_0x2f0fce=0xce;}_0x2188db[_0x73bb('0x16')](_0x2f0fce);return _0x2188db[_0x73bb('0x1d')]('Content-Range',_0xac33f1+'-'+_0x4aac68+'/'+_0x5abbfa)['json'](_0x31db93);}return null;};}function patchUpdates(_0x46629d){return function(_0x4a8bb7){try{jsonpatch[_0x73bb('0x1e')](_0x4a8bb7,_0x46629d,!![]);}catch(_0x498867){return BPromise[_0x73bb('0x1f')](_0x498867);}return _0x4a8bb7[_0x73bb('0x20')]();};}function saveUpdates(_0x28ff3c,_0x41de93){return function(_0x4d50fc){if(_0x4d50fc){return _0x4d50fc[_0x73bb('0x21')](_0x28ff3c)['then'](function(_0x220c09){return _0x220c09;});}return null;};}function removeEntity(_0x325779,_0x40be24){return function(_0x191ff0){if(_0x191ff0){return _0x191ff0[_0x73bb('0x22')]()[_0x73bb('0x23')](function(){_0x325779[_0x73bb('0x16')](0xcc)[_0x73bb('0x17')]();});}};}function handleEntityNotFound(_0x2c240a,_0x185c28){return function(_0x338813){if(!_0x338813){_0x2c240a[_0x73bb('0x15')](0x194);}return _0x338813;};}function handleError(_0x8b3a4,_0x3de248){_0x3de248=_0x3de248||0x1f4;return function(_0x3dd81c){logger[_0x73bb('0x24')](_0x3dd81c[_0x73bb('0x25')]);if(_0x3dd81c['name']){delete _0x3dd81c['name'];}_0x8b3a4['status'](_0x3de248)[_0x73bb('0x26')](_0x3dd81c);};}exports['index']=function(_0x242aa7,_0x57d1ab){var _0x94a63f={},_0x1b4b21={},_0x5ca22f={'count':0x0,'rows':[]};var _0x16c019=_['map'](db[_0x73bb('0x27')][_0x73bb('0x28')],function(_0x4d9673){return{'name':_0x4d9673[_0x73bb('0x29')],'type':_0x4d9673[_0x73bb('0x2a')][_0x73bb('0x2b')]};});_0x1b4b21[_0x73bb('0x2c')]=_[_0x73bb('0x2d')](_0x16c019,'name');_0x1b4b21[_0x73bb('0x2e')]=_[_0x73bb('0x2f')](_0x242aa7['query']);_0x1b4b21[_0x73bb('0x30')]=_[_0x73bb('0x31')](_0x1b4b21['model'],_0x1b4b21[_0x73bb('0x2e')]);_0x94a63f[_0x73bb('0x32')]=_['intersection'](_0x1b4b21[_0x73bb('0x2c')],qs[_0x73bb('0x33')](_0x242aa7[_0x73bb('0x2e')][_0x73bb('0x33')]));_0x94a63f[_0x73bb('0x32')]=_0x94a63f['attributes']['length']?_0x94a63f[_0x73bb('0x32')]:_0x1b4b21['model'];if(!_0x242aa7[_0x73bb('0x2e')][_0x73bb('0x34')](_0x73bb('0x35'))){_0x94a63f['limit']=qs[_0x73bb('0x1b')](_0x242aa7['query'][_0x73bb('0x1b')]);_0x94a63f[_0x73bb('0x19')]=qs[_0x73bb('0x19')](_0x242aa7[_0x73bb('0x2e')][_0x73bb('0x19')]);}_0x94a63f['order']=qs[_0x73bb('0x36')](_0x242aa7['query']['sort']);_0x94a63f[_0x73bb('0x37')]=qs[_0x73bb('0x30')](_[_0x73bb('0x38')](_0x242aa7[_0x73bb('0x2e')],_0x1b4b21[_0x73bb('0x30')]),_0x16c019);if(_0x242aa7['query']['filter']){_0x94a63f[_0x73bb('0x37')]=_['merge'](_0x94a63f[_0x73bb('0x37')],{'$or':_[_0x73bb('0x2d')](_0x16c019,function(_0x3487c7){if(_0x3487c7[_0x73bb('0x2a')]!=='VIRTUAL'){var _0x3504f3={};_0x3504f3[_0x3487c7['name']]={'$like':'%'+_0x242aa7[_0x73bb('0x2e')][_0x73bb('0x39')]+'%'};return _0x3504f3;}})});}_0x94a63f=_['merge']({},_0x94a63f,_0x242aa7[_0x73bb('0x3a')]);var _0x5cf6f3={'where':_0x94a63f['where']};return db['Dynamics365Field'][_0x73bb('0x1c')](_0x5cf6f3)['then'](function(_0x2eed1f){_0x5ca22f['count']=_0x2eed1f;if(_0x242aa7[_0x73bb('0x2e')][_0x73bb('0x3b')]){_0x94a63f[_0x73bb('0x3c')]=[{'all':!![]}];}return db['Dynamics365Field'][_0x73bb('0x3d')](_0x94a63f);})['then'](function(_0x1a893e){_0x5ca22f['rows']=_0x1a893e;return _0x5ca22f;})[_0x73bb('0x23')](respondWithFilteredResult(_0x57d1ab,_0x94a63f))[_0x73bb('0x3e')](handleError(_0x57d1ab,null));};exports[_0x73bb('0x3f')]=function(_0x2f29f6,_0x31f107){var _0x14099d={'raw':!![],'where':{'id':_0x2f29f6[_0x73bb('0x40')]['id']}},_0x1d1d5a={};_0x1d1d5a[_0x73bb('0x2c')]=_['keys'](db[_0x73bb('0x27')][_0x73bb('0x28')]);_0x1d1d5a[_0x73bb('0x2e')]=_[_0x73bb('0x2f')](_0x2f29f6[_0x73bb('0x2e')]);_0x1d1d5a['filters']=_[_0x73bb('0x31')](_0x1d1d5a[_0x73bb('0x2c')],_0x1d1d5a[_0x73bb('0x2e')]);_0x14099d[_0x73bb('0x32')]=_[_0x73bb('0x31')](_0x1d1d5a['model'],qs[_0x73bb('0x33')](_0x2f29f6['query'][_0x73bb('0x33')]));_0x14099d[_0x73bb('0x32')]=_0x14099d[_0x73bb('0x32')][_0x73bb('0x41')]?_0x14099d[_0x73bb('0x32')]:_0x1d1d5a['model'];if(_0x2f29f6[_0x73bb('0x2e')]['includeAll']){_0x14099d['include']=[{'all':!![]}];}_0x14099d=_['merge']({},_0x14099d,_0x2f29f6['options']);return db[_0x73bb('0x27')][_0x73bb('0x42')](_0x14099d)[_0x73bb('0x23')](handleEntityNotFound(_0x31f107,null))[_0x73bb('0x23')](respondWithResult(_0x31f107,null))['catch'](handleError(_0x31f107,null));};exports[_0x73bb('0x43')]=function(_0x2409d3,_0x6039d4){return db[_0x73bb('0x27')][_0x73bb('0x43')](_0x2409d3['body'],{})[_0x73bb('0x23')](respondWithResult(_0x6039d4,0xc9))[_0x73bb('0x3e')](handleError(_0x6039d4,null));};exports['update']=function(_0x377d58,_0x37623c){if(_0x377d58[_0x73bb('0x44')]['id']){delete _0x377d58[_0x73bb('0x44')]['id'];}return db['Dynamics365Field'][_0x73bb('0x42')]({'where':{'id':_0x377d58['params']['id']}})[_0x73bb('0x23')](handleEntityNotFound(_0x37623c,null))[_0x73bb('0x23')](saveUpdates(_0x377d58[_0x73bb('0x44')],null))[_0x73bb('0x23')](respondWithResult(_0x37623c,null))[_0x73bb('0x3e')](handleError(_0x37623c,null));};exports[_0x73bb('0x22')]=function(_0x320e36,_0x3c3815){return db[_0x73bb('0x27')]['find']({'where':{'id':_0x320e36['params']['id']}})[_0x73bb('0x23')](handleEntityNotFound(_0x3c3815,null))[_0x73bb('0x23')](removeEntity(_0x3c3815,null))[_0x73bb('0x3e')](handleError(_0x3c3815,null));};