Built motion from commit d6d69adf.|2.6.33
[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 _0xd853=['sort','where','pick','filter','merge','options','includeAll','include','Dynamics365Field','findAll','catch','params','find','create','body','destroy','zip-dir','fast-json-patch','moment','bluebird','mustache','path','to-csv','ejs','fs-extra','lodash','crypto','desk.js','querystring','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/logger','api','../../config/utils','../../config/license/util','sendStatus','offset','limit','count','status','set','json','apply','reject','update','then','error','stack','name','index','map','rawAttributes','fieldName','type','key','model','query','keys','filters','attributes','intersection','fields','length','hasOwnProperty','nolimit'];(function(_0x476341,_0x498228){var _0x27b6d5=function(_0x192d23){while(--_0x192d23){_0x476341['push'](_0x476341['shift']());}};_0x27b6d5(++_0x498228);}(_0xd853,0xd9));var _0x3d85=function(_0x54d52,_0x2473ba){_0x54d52=_0x54d52-0x0;var _0x968345=_0xd853[_0x54d52];return _0x968345;};'use strict';var emlformat=require('eml-format');var rimraf=require('rimraf');var zipdir=require(_0x3d85('0x0'));var jsonpatch=require(_0x3d85('0x1'));var rp=require('request-promise');var moment=require(_0x3d85('0x2'));var BPromise=require(_0x3d85('0x3'));var Mustache=require(_0x3d85('0x4'));var util=require('util');var path=require(_0x3d85('0x5'));var sox=require('sox');var csv=require(_0x3d85('0x6'));var ejs=require(_0x3d85('0x7'));var fs=require('fs');var fs_extra=require(_0x3d85('0x8'));var _=require(_0x3d85('0x9'));var squel=require('squel');var crypto=require(_0x3d85('0xa'));var jsforce=require('jsforce');var deskjs=require(_0x3d85('0xb'));var toCsv=require('to-csv');var querystring=require(_0x3d85('0xc'));var Papa=require('papaparse');var Redis=require(_0x3d85('0xd'));var authService=require(_0x3d85('0xe'));var qs=require(_0x3d85('0xf'));var as=require(_0x3d85('0x10'));var hardwareService=require('../../config/license/hardware');var logger=require(_0x3d85('0x11'))(_0x3d85('0x12'));var utils=require(_0x3d85('0x13'));var config=require('../../config/environment');var licenseUtil=require(_0x3d85('0x14'));var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x7efef9,_0x1476b6){_0x1476b6=_0x1476b6||0xcc;return function(_0x4903bd){if(_0x4903bd){return _0x7efef9[_0x3d85('0x15')](_0x1476b6);}return _0x7efef9['status'](_0x1476b6)['end']();};}function respondWithResult(_0x29f1e2,_0x487422){_0x487422=_0x487422||0xc8;return function(_0x48afa6){if(_0x48afa6){return _0x29f1e2['status'](_0x487422)['json'](_0x48afa6);}};}function respondWithFilteredResult(_0x203755,_0x41dd35){return function(_0x43bcb1){if(_0x43bcb1){var _0x7f4847=typeof _0x41dd35[_0x3d85('0x16')]==='undefined'&&typeof _0x41dd35[_0x3d85('0x17')]==='undefined';var _0x4eb11f=_0x43bcb1[_0x3d85('0x18')];var _0x11e040=_0x7f4847?0x0:_0x41dd35[_0x3d85('0x16')];var _0x19225a=_0x7f4847?_0x43bcb1[_0x3d85('0x18')]:_0x41dd35[_0x3d85('0x16')]+_0x41dd35['limit'];var _0x45a872;if(_0x19225a>=_0x4eb11f){_0x19225a=_0x4eb11f;_0x45a872=0xc8;}else{_0x45a872=0xce;}_0x203755[_0x3d85('0x19')](_0x45a872);return _0x203755[_0x3d85('0x1a')]('Content-Range',_0x11e040+'-'+_0x19225a+'/'+_0x4eb11f)[_0x3d85('0x1b')](_0x43bcb1);}return null;};}function patchUpdates(_0x48b100){return function(_0x4515c6){try{jsonpatch[_0x3d85('0x1c')](_0x4515c6,_0x48b100,!![]);}catch(_0x428ab7){return BPromise[_0x3d85('0x1d')](_0x428ab7);}return _0x4515c6['save']();};}function saveUpdates(_0x130e66,_0x1cda9e){return function(_0x4e57d8){if(_0x4e57d8){return _0x4e57d8[_0x3d85('0x1e')](_0x130e66)[_0x3d85('0x1f')](function(_0x63e108){return _0x63e108;});}return null;};}function removeEntity(_0x48a761,_0x2964e6){return function(_0x4621c2){if(_0x4621c2){return _0x4621c2['destroy']()[_0x3d85('0x1f')](function(){_0x48a761[_0x3d85('0x19')](0xcc)['end']();});}};}function handleEntityNotFound(_0x37489a,_0xbad17f){return function(_0x36c299){if(!_0x36c299){_0x37489a[_0x3d85('0x15')](0x194);}return _0x36c299;};}function handleError(_0x37569c,_0x4f785d){_0x4f785d=_0x4f785d||0x1f4;return function(_0x3315f1){logger[_0x3d85('0x20')](_0x3315f1[_0x3d85('0x21')]);if(_0x3315f1[_0x3d85('0x22')]){delete _0x3315f1['name'];}_0x37569c[_0x3d85('0x19')](_0x4f785d)['send'](_0x3315f1);};}exports[_0x3d85('0x23')]=function(_0x2cc11d,_0x16df29){var _0x2250fc={},_0x2a7d2f={},_0x1c9b7d={'count':0x0,'rows':[]};var _0x3549dc=_[_0x3d85('0x24')](db['Dynamics365Field'][_0x3d85('0x25')],function(_0x5896c5){return{'name':_0x5896c5[_0x3d85('0x26')],'type':_0x5896c5[_0x3d85('0x27')][_0x3d85('0x28')]};});_0x2a7d2f[_0x3d85('0x29')]=_['map'](_0x3549dc,_0x3d85('0x22'));_0x2a7d2f[_0x3d85('0x2a')]=_[_0x3d85('0x2b')](_0x2cc11d[_0x3d85('0x2a')]);_0x2a7d2f[_0x3d85('0x2c')]=_['intersection'](_0x2a7d2f[_0x3d85('0x29')],_0x2a7d2f[_0x3d85('0x2a')]);_0x2250fc[_0x3d85('0x2d')]=_[_0x3d85('0x2e')](_0x2a7d2f[_0x3d85('0x29')],qs[_0x3d85('0x2f')](_0x2cc11d['query']['fields']));_0x2250fc[_0x3d85('0x2d')]=_0x2250fc['attributes'][_0x3d85('0x30')]?_0x2250fc['attributes']:_0x2a7d2f['model'];if(!_0x2cc11d['query'][_0x3d85('0x31')](_0x3d85('0x32'))){_0x2250fc['limit']=qs[_0x3d85('0x17')](_0x2cc11d[_0x3d85('0x2a')][_0x3d85('0x17')]);_0x2250fc[_0x3d85('0x16')]=qs[_0x3d85('0x16')](_0x2cc11d[_0x3d85('0x2a')]['offset']);}_0x2250fc['order']=qs[_0x3d85('0x33')](_0x2cc11d[_0x3d85('0x2a')]['sort']);_0x2250fc[_0x3d85('0x34')]=qs['filters'](_[_0x3d85('0x35')](_0x2cc11d['query'],_0x2a7d2f[_0x3d85('0x2c')]),_0x3549dc);if(_0x2cc11d['query'][_0x3d85('0x36')]){_0x2250fc[_0x3d85('0x34')]=_['merge'](_0x2250fc['where'],{'$or':_[_0x3d85('0x24')](_0x3549dc,function(_0x21d32e){if(_0x21d32e[_0x3d85('0x27')]!=='VIRTUAL'){var _0x4318e2={};_0x4318e2[_0x21d32e[_0x3d85('0x22')]]={'$like':'%'+_0x2cc11d['query'][_0x3d85('0x36')]+'%'};return _0x4318e2;}})});}_0x2250fc=_[_0x3d85('0x37')]({},_0x2250fc,_0x2cc11d[_0x3d85('0x38')]);var _0x2cbf4b={'where':_0x2250fc['where']};return db['Dynamics365Field'][_0x3d85('0x18')](_0x2cbf4b)[_0x3d85('0x1f')](function(_0x481697){_0x1c9b7d['count']=_0x481697;if(_0x2cc11d[_0x3d85('0x2a')][_0x3d85('0x39')]){_0x2250fc[_0x3d85('0x3a')]=[{'all':!![]}];}return db[_0x3d85('0x3b')][_0x3d85('0x3c')](_0x2250fc);})[_0x3d85('0x1f')](function(_0x448545){_0x1c9b7d['rows']=_0x448545;return _0x1c9b7d;})['then'](respondWithFilteredResult(_0x16df29,_0x2250fc))[_0x3d85('0x3d')](handleError(_0x16df29,null));};exports['show']=function(_0x7ad832,_0x3c31d8){var _0x169570={'raw':!![],'where':{'id':_0x7ad832[_0x3d85('0x3e')]['id']}},_0x497bfc={};_0x497bfc[_0x3d85('0x29')]=_[_0x3d85('0x2b')](db[_0x3d85('0x3b')][_0x3d85('0x25')]);_0x497bfc[_0x3d85('0x2a')]=_[_0x3d85('0x2b')](_0x7ad832[_0x3d85('0x2a')]);_0x497bfc['filters']=_[_0x3d85('0x2e')](_0x497bfc[_0x3d85('0x29')],_0x497bfc[_0x3d85('0x2a')]);_0x169570['attributes']=_['intersection'](_0x497bfc['model'],qs[_0x3d85('0x2f')](_0x7ad832['query'][_0x3d85('0x2f')]));_0x169570[_0x3d85('0x2d')]=_0x169570['attributes'][_0x3d85('0x30')]?_0x169570[_0x3d85('0x2d')]:_0x497bfc[_0x3d85('0x29')];if(_0x7ad832[_0x3d85('0x2a')][_0x3d85('0x39')]){_0x169570['include']=[{'all':!![]}];}_0x169570=_['merge']({},_0x169570,_0x7ad832['options']);return db['Dynamics365Field'][_0x3d85('0x3f')](_0x169570)[_0x3d85('0x1f')](handleEntityNotFound(_0x3c31d8,null))[_0x3d85('0x1f')](respondWithResult(_0x3c31d8,null))[_0x3d85('0x3d')](handleError(_0x3c31d8,null));};exports['create']=function(_0x20e0c1,_0x24a012){return db[_0x3d85('0x3b')][_0x3d85('0x40')](_0x20e0c1[_0x3d85('0x41')],{})[_0x3d85('0x1f')](respondWithResult(_0x24a012,0xc9))[_0x3d85('0x3d')](handleError(_0x24a012,null));};exports[_0x3d85('0x1e')]=function(_0x3495ba,_0x4a445c){if(_0x3495ba[_0x3d85('0x41')]['id']){delete _0x3495ba['body']['id'];}return db[_0x3d85('0x3b')][_0x3d85('0x3f')]({'where':{'id':_0x3495ba[_0x3d85('0x3e')]['id']}})['then'](handleEntityNotFound(_0x4a445c,null))['then'](saveUpdates(_0x3495ba[_0x3d85('0x41')],null))['then'](respondWithResult(_0x4a445c,null))[_0x3d85('0x3d')](handleError(_0x4a445c,null));};exports[_0x3d85('0x42')]=function(_0x2ea40b,_0x4938d7){return db[_0x3d85('0x3b')]['find']({'where':{'id':_0x2ea40b[_0x3d85('0x3e')]['id']}})['then'](handleEntityNotFound(_0x4938d7,null))['then'](removeEntity(_0x4938d7,null))[_0x3d85('0x3d')](handleError(_0x4938d7,null));};