7282e1394d62382d0aab3a424e8a6e1a0c95d2c2
[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 _0x1093=['fields','length','hasOwnProperty','nolimit','order','sort','where','filters','filter','VIRTUAL','merge','options','includeAll','include','findAll','show','keys','intersection','find','create','body','params','catch','eml-format','zip-dir','request-promise','moment','mustache','path','sox','to-csv','ejs','fs-extra','lodash','jsforce','querystring','papaparse','../../config/logger','api','../../config/utils','../../config/environment','../../mysqldb','status','end','json','offset','limit','count','set','Content-Range','apply','reject','save','update','then','destroy','sendStatus','name','send','index','map','Dynamics365Field','rawAttributes','fieldName','type','key','model','query','attributes'];(function(_0x2aecb2,_0x343312){var _0x3ebb80=function(_0x19fab3){while(--_0x19fab3){_0x2aecb2['push'](_0x2aecb2['shift']());}};_0x3ebb80(++_0x343312);}(_0x1093,0x1b5));var _0x3109=function(_0x2763f2,_0x416af8){_0x2763f2=_0x2763f2-0x0;var _0x3ef471=_0x1093[_0x2763f2];return _0x3ef471;};'use strict';var emlformat=require(_0x3109('0x0'));var rimraf=require('rimraf');var zipdir=require(_0x3109('0x1'));var jsonpatch=require('fast-json-patch');var rp=require(_0x3109('0x2'));var moment=require(_0x3109('0x3'));var BPromise=require('bluebird');var Mustache=require(_0x3109('0x4'));var util=require('util');var path=require(_0x3109('0x5'));var sox=require(_0x3109('0x6'));var csv=require(_0x3109('0x7'));var ejs=require(_0x3109('0x8'));var fs=require('fs');var fs_extra=require(_0x3109('0x9'));var _=require(_0x3109('0xa'));var squel=require('squel');var crypto=require('crypto');var jsforce=require(_0x3109('0xb'));var deskjs=require('desk.js');var toCsv=require(_0x3109('0x7'));var querystring=require(_0x3109('0xc'));var Papa=require(_0x3109('0xd'));var Redis=require('ioredis');var authService=require('../../components/auth/service');var qs=require('../../components/parsers/qs');var as=require('../../components/parsers/advancedSearch');var hardwareService=require('../../config/license/hardware');var logger=require(_0x3109('0xe'))(_0x3109('0xf'));var utils=require(_0x3109('0x10'));var config=require(_0x3109('0x11'));var licenseUtil=require('../../config/license/util');var db=require(_0x3109('0x12'))['db'];function respondWithStatusCode(_0x516881,_0x1b8b42){_0x1b8b42=_0x1b8b42||0xcc;return function(_0x1f1729){if(_0x1f1729){return _0x516881['sendStatus'](_0x1b8b42);}return _0x516881[_0x3109('0x13')](_0x1b8b42)[_0x3109('0x14')]();};}function respondWithResult(_0x4d518f,_0x29d1ca){_0x29d1ca=_0x29d1ca||0xc8;return function(_0x38f2fd){if(_0x38f2fd){return _0x4d518f[_0x3109('0x13')](_0x29d1ca)[_0x3109('0x15')](_0x38f2fd);}};}function respondWithFilteredResult(_0x4cd38d,_0x39d8ce){return function(_0x596e1f){if(_0x596e1f){var _0x14883e=typeof _0x39d8ce[_0x3109('0x16')]==='undefined'&&typeof _0x39d8ce[_0x3109('0x17')]==='undefined';var _0x2d7518=_0x596e1f[_0x3109('0x18')];var _0x2dc1b7=_0x14883e?0x0:_0x39d8ce['offset'];var _0x2fff44=_0x14883e?_0x596e1f[_0x3109('0x18')]:_0x39d8ce[_0x3109('0x16')]+_0x39d8ce['limit'];var _0x456181;if(_0x2fff44>=_0x2d7518){_0x2fff44=_0x2d7518;_0x456181=0xc8;}else{_0x456181=0xce;}_0x4cd38d[_0x3109('0x13')](_0x456181);return _0x4cd38d[_0x3109('0x19')](_0x3109('0x1a'),_0x2dc1b7+'-'+_0x2fff44+'/'+_0x2d7518)['json'](_0x596e1f);}return null;};}function patchUpdates(_0x45b665){return function(_0x24838b){try{jsonpatch[_0x3109('0x1b')](_0x24838b,_0x45b665,!![]);}catch(_0x40f81e){return BPromise[_0x3109('0x1c')](_0x40f81e);}return _0x24838b[_0x3109('0x1d')]();};}function saveUpdates(_0x340359,_0x38e813){return function(_0x599285){if(_0x599285){return _0x599285[_0x3109('0x1e')](_0x340359)[_0x3109('0x1f')](function(_0x25a9ec){return _0x25a9ec;});}return null;};}function removeEntity(_0x56054c,_0x40e7e1){return function(_0x1c0918){if(_0x1c0918){return _0x1c0918[_0x3109('0x20')]()[_0x3109('0x1f')](function(){_0x56054c[_0x3109('0x13')](0xcc)[_0x3109('0x14')]();});}};}function handleEntityNotFound(_0x3a23f,_0x27e28b){return function(_0x2922c3){if(!_0x2922c3){_0x3a23f[_0x3109('0x21')](0x194);}return _0x2922c3;};}function handleError(_0x1f74e5,_0x5b043b){_0x5b043b=_0x5b043b||0x1f4;return function(_0x3d7e98){logger['error'](_0x3d7e98['stack']);if(_0x3d7e98[_0x3109('0x22')]){delete _0x3d7e98[_0x3109('0x22')];}_0x1f74e5['status'](_0x5b043b)[_0x3109('0x23')](_0x3d7e98);};}exports[_0x3109('0x24')]=function(_0x4ff64b,_0x2632ed){var _0x45e1e1={},_0xa820f={},_0x3a90df={'count':0x0,'rows':[]};var _0x25799d=_[_0x3109('0x25')](db[_0x3109('0x26')][_0x3109('0x27')],function(_0x2c4486){return{'name':_0x2c4486[_0x3109('0x28')],'type':_0x2c4486[_0x3109('0x29')][_0x3109('0x2a')]};});_0xa820f[_0x3109('0x2b')]=_[_0x3109('0x25')](_0x25799d,'name');_0xa820f[_0x3109('0x2c')]=_['keys'](_0x4ff64b[_0x3109('0x2c')]);_0xa820f['filters']=_['intersection'](_0xa820f['model'],_0xa820f['query']);_0x45e1e1[_0x3109('0x2d')]=_['intersection'](_0xa820f[_0x3109('0x2b')],qs[_0x3109('0x2e')](_0x4ff64b[_0x3109('0x2c')][_0x3109('0x2e')]));_0x45e1e1[_0x3109('0x2d')]=_0x45e1e1[_0x3109('0x2d')][_0x3109('0x2f')]?_0x45e1e1['attributes']:_0xa820f[_0x3109('0x2b')];if(!_0x4ff64b['query'][_0x3109('0x30')](_0x3109('0x31'))){_0x45e1e1[_0x3109('0x17')]=qs[_0x3109('0x17')](_0x4ff64b[_0x3109('0x2c')][_0x3109('0x17')]);_0x45e1e1[_0x3109('0x16')]=qs[_0x3109('0x16')](_0x4ff64b[_0x3109('0x2c')][_0x3109('0x16')]);}_0x45e1e1[_0x3109('0x32')]=qs[_0x3109('0x33')](_0x4ff64b[_0x3109('0x2c')][_0x3109('0x33')]);_0x45e1e1[_0x3109('0x34')]=qs['filters'](_['pick'](_0x4ff64b[_0x3109('0x2c')],_0xa820f[_0x3109('0x35')]),_0x25799d);if(_0x4ff64b[_0x3109('0x2c')][_0x3109('0x36')]){_0x45e1e1[_0x3109('0x34')]=_['merge'](_0x45e1e1[_0x3109('0x34')],{'$or':_[_0x3109('0x25')](_0x25799d,function(_0x55bbf7){if(_0x55bbf7[_0x3109('0x29')]!==_0x3109('0x37')){var _0x1dd2f2={};_0x1dd2f2[_0x55bbf7[_0x3109('0x22')]]={'$like':'%'+_0x4ff64b[_0x3109('0x2c')][_0x3109('0x36')]+'%'};return _0x1dd2f2;}})});}_0x45e1e1=_[_0x3109('0x38')]({},_0x45e1e1,_0x4ff64b[_0x3109('0x39')]);var _0x1ea08d={'where':_0x45e1e1[_0x3109('0x34')]};return db[_0x3109('0x26')][_0x3109('0x18')](_0x1ea08d)['then'](function(_0x585dd6){_0x3a90df[_0x3109('0x18')]=_0x585dd6;if(_0x4ff64b[_0x3109('0x2c')][_0x3109('0x3a')]){_0x45e1e1[_0x3109('0x3b')]=[{'all':!![]}];}return db[_0x3109('0x26')][_0x3109('0x3c')](_0x45e1e1);})[_0x3109('0x1f')](function(_0x1913ac){_0x3a90df['rows']=_0x1913ac;return _0x3a90df;})['then'](respondWithFilteredResult(_0x2632ed,_0x45e1e1))['catch'](handleError(_0x2632ed,null));};exports[_0x3109('0x3d')]=function(_0x326f00,_0x38b5f4){var _0x2b66ea={'raw':!![],'where':{'id':_0x326f00['params']['id']}},_0x28968d={};_0x28968d[_0x3109('0x2b')]=_[_0x3109('0x3e')](db['Dynamics365Field']['rawAttributes']);_0x28968d['query']=_[_0x3109('0x3e')](_0x326f00['query']);_0x28968d[_0x3109('0x35')]=_['intersection'](_0x28968d[_0x3109('0x2b')],_0x28968d[_0x3109('0x2c')]);_0x2b66ea[_0x3109('0x2d')]=_[_0x3109('0x3f')](_0x28968d[_0x3109('0x2b')],qs[_0x3109('0x2e')](_0x326f00[_0x3109('0x2c')][_0x3109('0x2e')]));_0x2b66ea[_0x3109('0x2d')]=_0x2b66ea['attributes']['length']?_0x2b66ea[_0x3109('0x2d')]:_0x28968d[_0x3109('0x2b')];if(_0x326f00[_0x3109('0x2c')][_0x3109('0x3a')]){_0x2b66ea[_0x3109('0x3b')]=[{'all':!![]}];}_0x2b66ea=_['merge']({},_0x2b66ea,_0x326f00[_0x3109('0x39')]);return db[_0x3109('0x26')][_0x3109('0x40')](_0x2b66ea)[_0x3109('0x1f')](handleEntityNotFound(_0x38b5f4,null))[_0x3109('0x1f')](respondWithResult(_0x38b5f4,null))['catch'](handleError(_0x38b5f4,null));};exports[_0x3109('0x41')]=function(_0x3e2ba4,_0x1a899d){return db[_0x3109('0x26')][_0x3109('0x41')](_0x3e2ba4['body'],{})['then'](respondWithResult(_0x1a899d,0xc9))['catch'](handleError(_0x1a899d,null));};exports[_0x3109('0x1e')]=function(_0x3d2c94,_0x543f25){if(_0x3d2c94[_0x3109('0x42')]['id']){delete _0x3d2c94[_0x3109('0x42')]['id'];}return db['Dynamics365Field'][_0x3109('0x40')]({'where':{'id':_0x3d2c94['params']['id']}})['then'](handleEntityNotFound(_0x543f25,null))[_0x3109('0x1f')](saveUpdates(_0x3d2c94[_0x3109('0x42')],null))[_0x3109('0x1f')](respondWithResult(_0x543f25,null))['catch'](handleError(_0x543f25,null));};exports[_0x3109('0x20')]=function(_0x1b4a0e,_0x32131d){return db[_0x3109('0x26')][_0x3109('0x40')]({'where':{'id':_0x1b4a0e[_0x3109('0x43')]['id']}})[_0x3109('0x1f')](handleEntityNotFound(_0x32131d,null))[_0x3109('0x1f')](removeEntity(_0x32131d,null))[_0x3109('0x44')](handleError(_0x32131d,null));};