Built motion from commit d9028345.|2.5.43
[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 _0x60c2=['include','findAll','rows','catch','show','params','keys','find','create','body','Dynamics365Field','eml-format','zip-dir','fast-json-patch','request-promise','moment','mustache','util','path','sox','to-csv','ejs','fs-extra','lodash','squel','papaparse','ioredis','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','../../config/utils','../../config/license/util','../../mysqldb','status','end','undefined','limit','offset','count','set','json','apply','update','then','destroy','error','stack','name','index','rawAttributes','fieldName','type','key','model','map','query','filters','intersection','attributes','fields','length','order','sort','where','pick','filter','merge','options','includeAll'];(function(_0x401d69,_0xac023a){var _0x1d9662=function(_0x1561f8){while(--_0x1561f8){_0x401d69['push'](_0x401d69['shift']());}};_0x1d9662(++_0xac023a);}(_0x60c2,0x1ee));var _0x260c=function(_0xa464c9,_0x7c86d8){_0xa464c9=_0xa464c9-0x0;var _0x3d73c4=_0x60c2[_0xa464c9];return _0x3d73c4;};'use strict';var emlformat=require(_0x260c('0x0'));var rimraf=require('rimraf');var zipdir=require(_0x260c('0x1'));var jsonpatch=require(_0x260c('0x2'));var rp=require(_0x260c('0x3'));var moment=require(_0x260c('0x4'));var BPromise=require('bluebird');var Mustache=require(_0x260c('0x5'));var util=require(_0x260c('0x6'));var path=require(_0x260c('0x7'));var sox=require(_0x260c('0x8'));var csv=require(_0x260c('0x9'));var ejs=require(_0x260c('0xa'));var fs=require('fs');var fs_extra=require(_0x260c('0xb'));var _=require(_0x260c('0xc'));var squel=require(_0x260c('0xd'));var crypto=require('crypto');var jsforce=require('jsforce');var deskjs=require('desk.js');var toCsv=require(_0x260c('0x9'));var querystring=require('querystring');var Papa=require(_0x260c('0xe'));var Redis=require(_0x260c('0xf'));var authService=require('../../components/auth/service');var qs=require('../../components/parsers/qs');var as=require(_0x260c('0x10'));var hardwareService=require(_0x260c('0x11'));var logger=require(_0x260c('0x12'))('api');var utils=require(_0x260c('0x13'));var config=require('../../config/environment');var licenseUtil=require(_0x260c('0x14'));var db=require(_0x260c('0x15'))['db'];function respondWithStatusCode(_0x44b3f0,_0x7120db){_0x7120db=_0x7120db||0xcc;return function(_0x11751d){if(_0x11751d){return _0x44b3f0['sendStatus'](_0x7120db);}return _0x44b3f0[_0x260c('0x16')](_0x7120db)[_0x260c('0x17')]();};}function respondWithResult(_0x3990d9,_0x2a9b85){_0x2a9b85=_0x2a9b85||0xc8;return function(_0x50e41d){if(_0x50e41d){return _0x3990d9[_0x260c('0x16')](_0x2a9b85)['json'](_0x50e41d);}};}function respondWithFilteredResult(_0x5b2734,_0x5eaea3){return function(_0xac81e7){if(_0xac81e7){var _0x31ebe6=typeof _0x5eaea3['offset']===_0x260c('0x18')&&typeof _0x5eaea3[_0x260c('0x19')]==='undefined';var _0x133729=_0xac81e7['count'];var _0x16c180=_0x31ebe6?0x0:_0x5eaea3[_0x260c('0x1a')];var _0x1fd1c1=_0x31ebe6?_0xac81e7[_0x260c('0x1b')]:_0x5eaea3[_0x260c('0x1a')]+_0x5eaea3[_0x260c('0x19')];var _0x2e6ea6;if(_0x1fd1c1>=_0x133729){_0x1fd1c1=_0x133729;_0x2e6ea6=0xc8;}else{_0x2e6ea6=0xce;}_0x5b2734[_0x260c('0x16')](_0x2e6ea6);return _0x5b2734[_0x260c('0x1c')]('Content-Range',_0x16c180+'-'+_0x1fd1c1+'/'+_0x133729)[_0x260c('0x1d')](_0xac81e7);}return null;};}function patchUpdates(_0x14ff30){return function(_0x45a7a2){try{jsonpatch[_0x260c('0x1e')](_0x45a7a2,_0x14ff30,!![]);}catch(_0x511c89){return BPromise['reject'](_0x511c89);}return _0x45a7a2['save']();};}function saveUpdates(_0x24d44f,_0x196c46){return function(_0x59441a){if(_0x59441a){return _0x59441a[_0x260c('0x1f')](_0x24d44f)[_0x260c('0x20')](function(_0x3c5e4c){return _0x3c5e4c;});}return null;};}function removeEntity(_0x1bccbc,_0x3a2827){return function(_0x4ed03f){if(_0x4ed03f){return _0x4ed03f[_0x260c('0x21')]()[_0x260c('0x20')](function(){_0x1bccbc['status'](0xcc)[_0x260c('0x17')]();});}};}function handleEntityNotFound(_0x1f3a96,_0x42e55d){return function(_0x5c3dd6){if(!_0x5c3dd6){_0x1f3a96['sendStatus'](0x194);}return _0x5c3dd6;};}function handleError(_0x325baa,_0x4ce21a){_0x4ce21a=_0x4ce21a||0x1f4;return function(_0xad76e2){logger[_0x260c('0x22')](_0xad76e2[_0x260c('0x23')]);if(_0xad76e2[_0x260c('0x24')]){delete _0xad76e2[_0x260c('0x24')];}_0x325baa[_0x260c('0x16')](_0x4ce21a)['send'](_0xad76e2);};}exports[_0x260c('0x25')]=function(_0x541d93,_0x1afbb5){var _0x191afb={},_0x1dde19={},_0x5253db={'count':0x0,'rows':[]};var _0x2d6ffb=_['map'](db['Dynamics365Field'][_0x260c('0x26')],function(_0x16a618){return{'name':_0x16a618[_0x260c('0x27')],'type':_0x16a618[_0x260c('0x28')][_0x260c('0x29')]};});_0x1dde19[_0x260c('0x2a')]=_[_0x260c('0x2b')](_0x2d6ffb,_0x260c('0x24'));_0x1dde19[_0x260c('0x2c')]=_['keys'](_0x541d93[_0x260c('0x2c')]);_0x1dde19[_0x260c('0x2d')]=_[_0x260c('0x2e')](_0x1dde19['model'],_0x1dde19['query']);_0x191afb[_0x260c('0x2f')]=_[_0x260c('0x2e')](_0x1dde19[_0x260c('0x2a')],qs[_0x260c('0x30')](_0x541d93[_0x260c('0x2c')][_0x260c('0x30')]));_0x191afb[_0x260c('0x2f')]=_0x191afb[_0x260c('0x2f')][_0x260c('0x31')]?_0x191afb['attributes']:_0x1dde19[_0x260c('0x2a')];if(!_0x541d93[_0x260c('0x2c')]['hasOwnProperty']('nolimit')){_0x191afb[_0x260c('0x19')]=qs['limit'](_0x541d93[_0x260c('0x2c')][_0x260c('0x19')]);_0x191afb[_0x260c('0x1a')]=qs['offset'](_0x541d93[_0x260c('0x2c')]['offset']);}_0x191afb[_0x260c('0x32')]=qs[_0x260c('0x33')](_0x541d93[_0x260c('0x2c')][_0x260c('0x33')]);_0x191afb[_0x260c('0x34')]=qs['filters'](_[_0x260c('0x35')](_0x541d93[_0x260c('0x2c')],_0x1dde19[_0x260c('0x2d')]),_0x2d6ffb);if(_0x541d93[_0x260c('0x2c')][_0x260c('0x36')]){_0x191afb[_0x260c('0x34')]=_[_0x260c('0x37')](_0x191afb[_0x260c('0x34')],{'$or':_['map'](_0x2d6ffb,function(_0x2d268f){if(_0x2d268f[_0x260c('0x28')]!=='VIRTUAL'){var _0x9afa18={};_0x9afa18[_0x2d268f[_0x260c('0x24')]]={'$like':'%'+_0x541d93[_0x260c('0x2c')]['filter']+'%'};return _0x9afa18;}})});}_0x191afb=_['merge']({},_0x191afb,_0x541d93[_0x260c('0x38')]);var _0x8a62a2={'where':_0x191afb['where']};return db['Dynamics365Field'][_0x260c('0x1b')](_0x8a62a2)[_0x260c('0x20')](function(_0x3239f5){_0x5253db[_0x260c('0x1b')]=_0x3239f5;if(_0x541d93['query'][_0x260c('0x39')]){_0x191afb[_0x260c('0x3a')]=[{'all':!![]}];}return db['Dynamics365Field'][_0x260c('0x3b')](_0x191afb);})[_0x260c('0x20')](function(_0x3f9b70){_0x5253db[_0x260c('0x3c')]=_0x3f9b70;return _0x5253db;})[_0x260c('0x20')](respondWithFilteredResult(_0x1afbb5,_0x191afb))[_0x260c('0x3d')](handleError(_0x1afbb5,null));};exports[_0x260c('0x3e')]=function(_0x37210f,_0x3a7fbe){var _0x120a3d={'raw':!![],'where':{'id':_0x37210f[_0x260c('0x3f')]['id']}},_0x459f57={};_0x459f57[_0x260c('0x2a')]=_[_0x260c('0x40')](db['Dynamics365Field']['rawAttributes']);_0x459f57['query']=_[_0x260c('0x40')](_0x37210f[_0x260c('0x2c')]);_0x459f57[_0x260c('0x2d')]=_[_0x260c('0x2e')](_0x459f57[_0x260c('0x2a')],_0x459f57[_0x260c('0x2c')]);_0x120a3d[_0x260c('0x2f')]=_[_0x260c('0x2e')](_0x459f57['model'],qs[_0x260c('0x30')](_0x37210f[_0x260c('0x2c')][_0x260c('0x30')]));_0x120a3d['attributes']=_0x120a3d['attributes']['length']?_0x120a3d['attributes']:_0x459f57['model'];if(_0x37210f['query'][_0x260c('0x39')]){_0x120a3d[_0x260c('0x3a')]=[{'all':!![]}];}_0x120a3d=_[_0x260c('0x37')]({},_0x120a3d,_0x37210f['options']);return db['Dynamics365Field'][_0x260c('0x41')](_0x120a3d)[_0x260c('0x20')](handleEntityNotFound(_0x3a7fbe,null))[_0x260c('0x20')](respondWithResult(_0x3a7fbe,null))[_0x260c('0x3d')](handleError(_0x3a7fbe,null));};exports[_0x260c('0x42')]=function(_0x55b109,_0x477e44){return db['Dynamics365Field'][_0x260c('0x42')](_0x55b109[_0x260c('0x43')],{})['then'](respondWithResult(_0x477e44,0xc9))[_0x260c('0x3d')](handleError(_0x477e44,null));};exports[_0x260c('0x1f')]=function(_0x2357f8,_0x16e4d2){if(_0x2357f8[_0x260c('0x43')]['id']){delete _0x2357f8['body']['id'];}return db[_0x260c('0x44')]['find']({'where':{'id':_0x2357f8[_0x260c('0x3f')]['id']}})['then'](handleEntityNotFound(_0x16e4d2,null))[_0x260c('0x20')](saveUpdates(_0x2357f8[_0x260c('0x43')],null))[_0x260c('0x20')](respondWithResult(_0x16e4d2,null))['catch'](handleError(_0x16e4d2,null));};exports[_0x260c('0x21')]=function(_0x4ce255,_0x350a54){return db['Dynamics365Field'][_0x260c('0x41')]({'where':{'id':_0x4ce255[_0x260c('0x3f')]['id']}})[_0x260c('0x20')](handleEntityNotFound(_0x350a54,null))[_0x260c('0x20')](removeEntity(_0x350a54,null))['catch'](handleError(_0x350a54,null));};