4364daae69802691b8670bc370d0999680bdb0e7
[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 _0xcf6d=['params','keys','catch','create','body','update','find','eml-format','zip-dir','fast-json-patch','request-promise','moment','mustache','util','path','sox','ejs','fs-extra','lodash','squel','crypto','desk.js','to-csv','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../mysqldb','sendStatus','status','end','json','offset','limit','undefined','count','set','Content-Range','apply','reject','save','then','destroy','error','stack','name','index','map','rawAttributes','type','key','model','query','filters','attributes','intersection','fields','nolimit','order','sort','where','pick','filter','merge','Dynamics365Field','includeAll','include','rows','show'];(function(_0x20a584,_0xe384a5){var _0x4b41a8=function(_0x2127c6){while(--_0x2127c6){_0x20a584['push'](_0x20a584['shift']());}};_0x4b41a8(++_0xe384a5);}(_0xcf6d,0x17e));var _0xdcf6=function(_0x5177af,_0x448340){_0x5177af=_0x5177af-0x0;var _0x496084=_0xcf6d[_0x5177af];return _0x496084;};'use strict';var emlformat=require(_0xdcf6('0x0'));var rimraf=require('rimraf');var zipdir=require(_0xdcf6('0x1'));var jsonpatch=require(_0xdcf6('0x2'));var rp=require(_0xdcf6('0x3'));var moment=require(_0xdcf6('0x4'));var BPromise=require('bluebird');var Mustache=require(_0xdcf6('0x5'));var util=require(_0xdcf6('0x6'));var path=require(_0xdcf6('0x7'));var sox=require(_0xdcf6('0x8'));var csv=require('to-csv');var ejs=require(_0xdcf6('0x9'));var fs=require('fs');var fs_extra=require(_0xdcf6('0xa'));var _=require(_0xdcf6('0xb'));var squel=require(_0xdcf6('0xc'));var crypto=require(_0xdcf6('0xd'));var jsforce=require('jsforce');var deskjs=require(_0xdcf6('0xe'));var toCsv=require(_0xdcf6('0xf'));var querystring=require(_0xdcf6('0x10'));var Papa=require(_0xdcf6('0x11'));var Redis=require(_0xdcf6('0x12'));var authService=require(_0xdcf6('0x13'));var qs=require(_0xdcf6('0x14'));var as=require(_0xdcf6('0x15'));var hardwareService=require(_0xdcf6('0x16'));var logger=require(_0xdcf6('0x17'))(_0xdcf6('0x18'));var utils=require(_0xdcf6('0x19'));var config=require('../../config/environment');var licenseUtil=require('../../config/license/util');var db=require(_0xdcf6('0x1a'))['db'];function respondWithStatusCode(_0x5aa528,_0x1e3805){_0x1e3805=_0x1e3805||0xcc;return function(_0x29ce37){if(_0x29ce37){return _0x5aa528[_0xdcf6('0x1b')](_0x1e3805);}return _0x5aa528[_0xdcf6('0x1c')](_0x1e3805)[_0xdcf6('0x1d')]();};}function respondWithResult(_0x4ddd64,_0x27a95a){_0x27a95a=_0x27a95a||0xc8;return function(_0x352ec8){if(_0x352ec8){return _0x4ddd64[_0xdcf6('0x1c')](_0x27a95a)[_0xdcf6('0x1e')](_0x352ec8);}};}function respondWithFilteredResult(_0x115f6d,_0x2bb78a){return function(_0x338301){if(_0x338301){var _0x2df24a=typeof _0x2bb78a[_0xdcf6('0x1f')]==='undefined'&&typeof _0x2bb78a[_0xdcf6('0x20')]===_0xdcf6('0x21');var _0xfcc0f1=_0x338301[_0xdcf6('0x22')];var _0x3f70eb=_0x2df24a?0x0:_0x2bb78a[_0xdcf6('0x1f')];var _0x8d26c4=_0x2df24a?_0x338301[_0xdcf6('0x22')]:_0x2bb78a['offset']+_0x2bb78a[_0xdcf6('0x20')];var _0x42735c;if(_0x8d26c4>=_0xfcc0f1){_0x8d26c4=_0xfcc0f1;_0x42735c=0xc8;}else{_0x42735c=0xce;}_0x115f6d['status'](_0x42735c);return _0x115f6d[_0xdcf6('0x23')](_0xdcf6('0x24'),_0x3f70eb+'-'+_0x8d26c4+'/'+_0xfcc0f1)['json'](_0x338301);}return null;};}function patchUpdates(_0x917744){return function(_0x1d7f96){try{jsonpatch[_0xdcf6('0x25')](_0x1d7f96,_0x917744,!![]);}catch(_0x9b33c1){return BPromise[_0xdcf6('0x26')](_0x9b33c1);}return _0x1d7f96[_0xdcf6('0x27')]();};}function saveUpdates(_0x470e4c,_0x1bd91b){return function(_0x5be9e4){if(_0x5be9e4){return _0x5be9e4['update'](_0x470e4c)[_0xdcf6('0x28')](function(_0x27da11){return _0x27da11;});}return null;};}function removeEntity(_0x268372,_0x1b783a){return function(_0x411125){if(_0x411125){return _0x411125[_0xdcf6('0x29')]()['then'](function(){_0x268372[_0xdcf6('0x1c')](0xcc)[_0xdcf6('0x1d')]();});}};}function handleEntityNotFound(_0x4f8e19,_0x3f405c){return function(_0x3dff2e){if(!_0x3dff2e){_0x4f8e19[_0xdcf6('0x1b')](0x194);}return _0x3dff2e;};}function handleError(_0x5e149a,_0x5fa24d){_0x5fa24d=_0x5fa24d||0x1f4;return function(_0x5725a0){logger[_0xdcf6('0x2a')](_0x5725a0[_0xdcf6('0x2b')]);if(_0x5725a0[_0xdcf6('0x2c')]){delete _0x5725a0[_0xdcf6('0x2c')];}_0x5e149a[_0xdcf6('0x1c')](_0x5fa24d)['send'](_0x5725a0);};}exports[_0xdcf6('0x2d')]=function(_0x5268d2,_0x89dc72){var _0x544210={},_0x3c8882={},_0x294016={'count':0x0,'rows':[]};var _0x5d92af=_[_0xdcf6('0x2e')](db['Dynamics365Field'][_0xdcf6('0x2f')],function(_0x70b62f){return{'name':_0x70b62f['fieldName'],'type':_0x70b62f[_0xdcf6('0x30')][_0xdcf6('0x31')]};});_0x3c8882[_0xdcf6('0x32')]=_[_0xdcf6('0x2e')](_0x5d92af,_0xdcf6('0x2c'));_0x3c8882[_0xdcf6('0x33')]=_['keys'](_0x5268d2[_0xdcf6('0x33')]);_0x3c8882[_0xdcf6('0x34')]=_['intersection'](_0x3c8882[_0xdcf6('0x32')],_0x3c8882['query']);_0x544210[_0xdcf6('0x35')]=_[_0xdcf6('0x36')](_0x3c8882[_0xdcf6('0x32')],qs[_0xdcf6('0x37')](_0x5268d2[_0xdcf6('0x33')]['fields']));_0x544210[_0xdcf6('0x35')]=_0x544210['attributes']['length']?_0x544210['attributes']:_0x3c8882[_0xdcf6('0x32')];if(!_0x5268d2[_0xdcf6('0x33')]['hasOwnProperty'](_0xdcf6('0x38'))){_0x544210[_0xdcf6('0x20')]=qs[_0xdcf6('0x20')](_0x5268d2[_0xdcf6('0x33')]['limit']);_0x544210[_0xdcf6('0x1f')]=qs[_0xdcf6('0x1f')](_0x5268d2['query'][_0xdcf6('0x1f')]);}_0x544210[_0xdcf6('0x39')]=qs[_0xdcf6('0x3a')](_0x5268d2[_0xdcf6('0x33')][_0xdcf6('0x3a')]);_0x544210[_0xdcf6('0x3b')]=qs[_0xdcf6('0x34')](_[_0xdcf6('0x3c')](_0x5268d2['query'],_0x3c8882[_0xdcf6('0x34')]),_0x5d92af);if(_0x5268d2[_0xdcf6('0x33')][_0xdcf6('0x3d')]){_0x544210[_0xdcf6('0x3b')]=_[_0xdcf6('0x3e')](_0x544210[_0xdcf6('0x3b')],{'$or':_[_0xdcf6('0x2e')](_0x5d92af,function(_0x4c835a){if(_0x4c835a[_0xdcf6('0x30')]!=='VIRTUAL'){var _0x20d4f1={};_0x20d4f1[_0x4c835a['name']]={'$like':'%'+_0x5268d2['query'][_0xdcf6('0x3d')]+'%'};return _0x20d4f1;}})});}_0x544210=_[_0xdcf6('0x3e')]({},_0x544210,_0x5268d2['options']);var _0x3d5e36={'where':_0x544210['where']};return db[_0xdcf6('0x3f')][_0xdcf6('0x22')](_0x3d5e36)['then'](function(_0x12a9f7){_0x294016[_0xdcf6('0x22')]=_0x12a9f7;if(_0x5268d2['query'][_0xdcf6('0x40')]){_0x544210[_0xdcf6('0x41')]=[{'all':!![]}];}return db['Dynamics365Field']['findAll'](_0x544210);})[_0xdcf6('0x28')](function(_0x29430c){_0x294016[_0xdcf6('0x42')]=_0x29430c;return _0x294016;})[_0xdcf6('0x28')](respondWithFilteredResult(_0x89dc72,_0x544210))['catch'](handleError(_0x89dc72,null));};exports[_0xdcf6('0x43')]=function(_0x6b1777,_0x4e3b42){var _0x122213={'raw':!![],'where':{'id':_0x6b1777[_0xdcf6('0x44')]['id']}},_0xc7d222={};_0xc7d222[_0xdcf6('0x32')]=_[_0xdcf6('0x45')](db[_0xdcf6('0x3f')]['rawAttributes']);_0xc7d222[_0xdcf6('0x33')]=_[_0xdcf6('0x45')](_0x6b1777[_0xdcf6('0x33')]);_0xc7d222['filters']=_[_0xdcf6('0x36')](_0xc7d222[_0xdcf6('0x32')],_0xc7d222[_0xdcf6('0x33')]);_0x122213['attributes']=_[_0xdcf6('0x36')](_0xc7d222['model'],qs[_0xdcf6('0x37')](_0x6b1777[_0xdcf6('0x33')][_0xdcf6('0x37')]));_0x122213[_0xdcf6('0x35')]=_0x122213[_0xdcf6('0x35')]['length']?_0x122213[_0xdcf6('0x35')]:_0xc7d222[_0xdcf6('0x32')];if(_0x6b1777[_0xdcf6('0x33')][_0xdcf6('0x40')]){_0x122213['include']=[{'all':!![]}];}_0x122213=_[_0xdcf6('0x3e')]({},_0x122213,_0x6b1777['options']);return db[_0xdcf6('0x3f')]['find'](_0x122213)[_0xdcf6('0x28')](handleEntityNotFound(_0x4e3b42,null))[_0xdcf6('0x28')](respondWithResult(_0x4e3b42,null))[_0xdcf6('0x46')](handleError(_0x4e3b42,null));};exports[_0xdcf6('0x47')]=function(_0x10fa86,_0x3580f7){return db['Dynamics365Field'][_0xdcf6('0x47')](_0x10fa86[_0xdcf6('0x48')],{})['then'](respondWithResult(_0x3580f7,0xc9))[_0xdcf6('0x46')](handleError(_0x3580f7,null));};exports[_0xdcf6('0x49')]=function(_0x1fe899,_0xc42009){if(_0x1fe899[_0xdcf6('0x48')]['id']){delete _0x1fe899['body']['id'];}return db[_0xdcf6('0x3f')][_0xdcf6('0x4a')]({'where':{'id':_0x1fe899['params']['id']}})[_0xdcf6('0x28')](handleEntityNotFound(_0xc42009,null))[_0xdcf6('0x28')](saveUpdates(_0x1fe899[_0xdcf6('0x48')],null))[_0xdcf6('0x28')](respondWithResult(_0xc42009,null))['catch'](handleError(_0xc42009,null));};exports[_0xdcf6('0x29')]=function(_0x2993ce,_0x2b71e5){return db[_0xdcf6('0x3f')][_0xdcf6('0x4a')]({'where':{'id':_0x2993ce[_0xdcf6('0x44')]['id']}})['then'](handleEntityNotFound(_0x2b71e5,null))[_0xdcf6('0x28')](removeEntity(_0x2b71e5,null))[_0xdcf6('0x46')](handleError(_0x2b71e5,null));};