653348b5e3deaff8dba14cd362459c0db5bc2245
[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 _0xe3e6=['Dynamics365Field','rawAttributes','fieldName','type','key','model','keys','query','filters','attributes','fields','length','hasOwnProperty','nolimit','sort','where','merge','VIRTUAL','filter','options','includeAll','include','findAll','rows','catch','show','params','find','create','body','eml-format','rimraf','fast-json-patch','request-promise','bluebird','mustache','util','path','to-csv','ejs','fs-extra','lodash','squel','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../config/license/hardware','api','../../config/utils','../../mysqldb','sendStatus','status','end','offset','limit','undefined','count','set','Content-Range','json','apply','reject','save','update','destroy','then','error','stack','name','index','map'];(function(_0x4b889d,_0x349138){var _0x430973=function(_0x5a76e4){while(--_0x5a76e4){_0x4b889d['push'](_0x4b889d['shift']());}};_0x430973(++_0x349138);}(_0xe3e6,0x14a));var _0x6e3e=function(_0x4bf96c,_0x4d24fd){_0x4bf96c=_0x4bf96c-0x0;var _0x281d09=_0xe3e6[_0x4bf96c];return _0x281d09;};'use strict';var emlformat=require(_0x6e3e('0x0'));var rimraf=require(_0x6e3e('0x1'));var zipdir=require('zip-dir');var jsonpatch=require(_0x6e3e('0x2'));var rp=require(_0x6e3e('0x3'));var moment=require('moment');var BPromise=require(_0x6e3e('0x4'));var Mustache=require(_0x6e3e('0x5'));var util=require(_0x6e3e('0x6'));var path=require(_0x6e3e('0x7'));var sox=require('sox');var csv=require(_0x6e3e('0x8'));var ejs=require(_0x6e3e('0x9'));var fs=require('fs');var fs_extra=require(_0x6e3e('0xa'));var _=require(_0x6e3e('0xb'));var squel=require(_0x6e3e('0xc'));var crypto=require(_0x6e3e('0xd'));var jsforce=require(_0x6e3e('0xe'));var deskjs=require(_0x6e3e('0xf'));var toCsv=require(_0x6e3e('0x8'));var querystring=require(_0x6e3e('0x10'));var Papa=require(_0x6e3e('0x11'));var Redis=require(_0x6e3e('0x12'));var authService=require(_0x6e3e('0x13'));var qs=require('../../components/parsers/qs');var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0x6e3e('0x14'));var logger=require('../../config/logger')(_0x6e3e('0x15'));var utils=require(_0x6e3e('0x16'));var config=require('../../config/environment');var licenseUtil=require('../../config/license/util');var db=require(_0x6e3e('0x17'))['db'];function respondWithStatusCode(_0x51c92c,_0x3ee630){_0x3ee630=_0x3ee630||0xcc;return function(_0x4fea5d){if(_0x4fea5d){return _0x51c92c[_0x6e3e('0x18')](_0x3ee630);}return _0x51c92c[_0x6e3e('0x19')](_0x3ee630)[_0x6e3e('0x1a')]();};}function respondWithResult(_0x4240e3,_0x51f40){_0x51f40=_0x51f40||0xc8;return function(_0x377a48){if(_0x377a48){return _0x4240e3[_0x6e3e('0x19')](_0x51f40)['json'](_0x377a48);}};}function respondWithFilteredResult(_0x12234b,_0x16d279){return function(_0x3e6326){if(_0x3e6326){var _0x3a41d5=typeof _0x16d279[_0x6e3e('0x1b')]==='undefined'&&typeof _0x16d279[_0x6e3e('0x1c')]===_0x6e3e('0x1d');var _0x1d4684=_0x3e6326[_0x6e3e('0x1e')];var _0x36eb18=_0x3a41d5?0x0:_0x16d279[_0x6e3e('0x1b')];var _0x27363e=_0x3a41d5?_0x3e6326[_0x6e3e('0x1e')]:_0x16d279[_0x6e3e('0x1b')]+_0x16d279[_0x6e3e('0x1c')];var _0x3457c5;if(_0x27363e>=_0x1d4684){_0x27363e=_0x1d4684;_0x3457c5=0xc8;}else{_0x3457c5=0xce;}_0x12234b['status'](_0x3457c5);return _0x12234b[_0x6e3e('0x1f')](_0x6e3e('0x20'),_0x36eb18+'-'+_0x27363e+'/'+_0x1d4684)[_0x6e3e('0x21')](_0x3e6326);}return null;};}function patchUpdates(_0x32d367){return function(_0xefefab){try{jsonpatch[_0x6e3e('0x22')](_0xefefab,_0x32d367,!![]);}catch(_0x4c9be4){return BPromise[_0x6e3e('0x23')](_0x4c9be4);}return _0xefefab[_0x6e3e('0x24')]();};}function saveUpdates(_0x4737fe,_0x1261d5){return function(_0x4e63cc){if(_0x4e63cc){return _0x4e63cc[_0x6e3e('0x25')](_0x4737fe)['then'](function(_0x2b6d64){return _0x2b6d64;});}return null;};}function removeEntity(_0x387da8,_0x1c0720){return function(_0x5884e6){if(_0x5884e6){return _0x5884e6[_0x6e3e('0x26')]()[_0x6e3e('0x27')](function(){_0x387da8['status'](0xcc)[_0x6e3e('0x1a')]();});}};}function handleEntityNotFound(_0x5c14a4,_0x44c4c9){return function(_0x4446d8){if(!_0x4446d8){_0x5c14a4[_0x6e3e('0x18')](0x194);}return _0x4446d8;};}function handleError(_0x30ea5a,_0x18cad1){_0x18cad1=_0x18cad1||0x1f4;return function(_0x469067){logger[_0x6e3e('0x28')](_0x469067[_0x6e3e('0x29')]);if(_0x469067[_0x6e3e('0x2a')]){delete _0x469067['name'];}_0x30ea5a['status'](_0x18cad1)['send'](_0x469067);};}exports[_0x6e3e('0x2b')]=function(_0x447b5e,_0x5600dc){var _0x5d824b={},_0x145e45={},_0x17d1f4={'count':0x0,'rows':[]};var _0x46e52e=_[_0x6e3e('0x2c')](db[_0x6e3e('0x2d')][_0x6e3e('0x2e')],function(_0x3cdcab){return{'name':_0x3cdcab[_0x6e3e('0x2f')],'type':_0x3cdcab[_0x6e3e('0x30')][_0x6e3e('0x31')]};});_0x145e45[_0x6e3e('0x32')]=_['map'](_0x46e52e,_0x6e3e('0x2a'));_0x145e45['query']=_[_0x6e3e('0x33')](_0x447b5e[_0x6e3e('0x34')]);_0x145e45[_0x6e3e('0x35')]=_['intersection'](_0x145e45[_0x6e3e('0x32')],_0x145e45[_0x6e3e('0x34')]);_0x5d824b[_0x6e3e('0x36')]=_['intersection'](_0x145e45[_0x6e3e('0x32')],qs[_0x6e3e('0x37')](_0x447b5e[_0x6e3e('0x34')]['fields']));_0x5d824b[_0x6e3e('0x36')]=_0x5d824b[_0x6e3e('0x36')][_0x6e3e('0x38')]?_0x5d824b[_0x6e3e('0x36')]:_0x145e45[_0x6e3e('0x32')];if(!_0x447b5e[_0x6e3e('0x34')][_0x6e3e('0x39')](_0x6e3e('0x3a'))){_0x5d824b[_0x6e3e('0x1c')]=qs['limit'](_0x447b5e[_0x6e3e('0x34')][_0x6e3e('0x1c')]);_0x5d824b['offset']=qs[_0x6e3e('0x1b')](_0x447b5e[_0x6e3e('0x34')][_0x6e3e('0x1b')]);}_0x5d824b['order']=qs['sort'](_0x447b5e['query'][_0x6e3e('0x3b')]);_0x5d824b['where']=qs[_0x6e3e('0x35')](_['pick'](_0x447b5e[_0x6e3e('0x34')],_0x145e45[_0x6e3e('0x35')]),_0x46e52e);if(_0x447b5e['query']['filter']){_0x5d824b[_0x6e3e('0x3c')]=_[_0x6e3e('0x3d')](_0x5d824b[_0x6e3e('0x3c')],{'$or':_['map'](_0x46e52e,function(_0x3a5b41){if(_0x3a5b41[_0x6e3e('0x30')]!==_0x6e3e('0x3e')){var _0x7ff7a9={};_0x7ff7a9[_0x3a5b41[_0x6e3e('0x2a')]]={'$like':'%'+_0x447b5e[_0x6e3e('0x34')][_0x6e3e('0x3f')]+'%'};return _0x7ff7a9;}})});}_0x5d824b=_['merge']({},_0x5d824b,_0x447b5e[_0x6e3e('0x40')]);var _0x26b327={'where':_0x5d824b[_0x6e3e('0x3c')]};return db[_0x6e3e('0x2d')][_0x6e3e('0x1e')](_0x26b327)['then'](function(_0xb5ca5a){_0x17d1f4[_0x6e3e('0x1e')]=_0xb5ca5a;if(_0x447b5e[_0x6e3e('0x34')][_0x6e3e('0x41')]){_0x5d824b[_0x6e3e('0x42')]=[{'all':!![]}];}return db[_0x6e3e('0x2d')][_0x6e3e('0x43')](_0x5d824b);})[_0x6e3e('0x27')](function(_0x526f24){_0x17d1f4[_0x6e3e('0x44')]=_0x526f24;return _0x17d1f4;})[_0x6e3e('0x27')](respondWithFilteredResult(_0x5600dc,_0x5d824b))[_0x6e3e('0x45')](handleError(_0x5600dc,null));};exports[_0x6e3e('0x46')]=function(_0xbfc97a,_0x50d168){var _0x2fb9a5={'raw':!![],'where':{'id':_0xbfc97a[_0x6e3e('0x47')]['id']}},_0x6be79c={};_0x6be79c['model']=_['keys'](db[_0x6e3e('0x2d')][_0x6e3e('0x2e')]);_0x6be79c[_0x6e3e('0x34')]=_[_0x6e3e('0x33')](_0xbfc97a[_0x6e3e('0x34')]);_0x6be79c[_0x6e3e('0x35')]=_['intersection'](_0x6be79c[_0x6e3e('0x32')],_0x6be79c[_0x6e3e('0x34')]);_0x2fb9a5[_0x6e3e('0x36')]=_['intersection'](_0x6be79c[_0x6e3e('0x32')],qs[_0x6e3e('0x37')](_0xbfc97a[_0x6e3e('0x34')][_0x6e3e('0x37')]));_0x2fb9a5['attributes']=_0x2fb9a5[_0x6e3e('0x36')][_0x6e3e('0x38')]?_0x2fb9a5[_0x6e3e('0x36')]:_0x6be79c[_0x6e3e('0x32')];if(_0xbfc97a[_0x6e3e('0x34')][_0x6e3e('0x41')]){_0x2fb9a5[_0x6e3e('0x42')]=[{'all':!![]}];}_0x2fb9a5=_[_0x6e3e('0x3d')]({},_0x2fb9a5,_0xbfc97a[_0x6e3e('0x40')]);return db[_0x6e3e('0x2d')][_0x6e3e('0x48')](_0x2fb9a5)[_0x6e3e('0x27')](handleEntityNotFound(_0x50d168,null))['then'](respondWithResult(_0x50d168,null))[_0x6e3e('0x45')](handleError(_0x50d168,null));};exports[_0x6e3e('0x49')]=function(_0x5e64b2,_0x36a7e3){return db[_0x6e3e('0x2d')][_0x6e3e('0x49')](_0x5e64b2[_0x6e3e('0x4a')],{})[_0x6e3e('0x27')](respondWithResult(_0x36a7e3,0xc9))[_0x6e3e('0x45')](handleError(_0x36a7e3,null));};exports[_0x6e3e('0x25')]=function(_0x56eceb,_0x576ea7){if(_0x56eceb['body']['id']){delete _0x56eceb[_0x6e3e('0x4a')]['id'];}return db[_0x6e3e('0x2d')][_0x6e3e('0x48')]({'where':{'id':_0x56eceb[_0x6e3e('0x47')]['id']}})[_0x6e3e('0x27')](handleEntityNotFound(_0x576ea7,null))['then'](saveUpdates(_0x56eceb[_0x6e3e('0x4a')],null))[_0x6e3e('0x27')](respondWithResult(_0x576ea7,null))[_0x6e3e('0x45')](handleError(_0x576ea7,null));};exports[_0x6e3e('0x26')]=function(_0x135b17,_0x5b278e){return db[_0x6e3e('0x2d')][_0x6e3e('0x48')]({'where':{'id':_0x135b17[_0x6e3e('0x47')]['id']}})[_0x6e3e('0x27')](handleEntityNotFound(_0x5b278e,null))[_0x6e3e('0x27')](removeEntity(_0x5b278e,null))[_0x6e3e('0x45')](handleError(_0x5b278e,null));};