a528668c3d36d9571df2a77f9ff153de7e148f78
[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 _0x9d5c=['catch','includeAll','find','create','body','params','html-pdf','rimraf','zip-dir','request-promise','moment','bluebird','util','path','to-csv','ejs','lodash','squel','crypto','jsforce','desk.js','querystring','papaparse','../../components/parsers/qs','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../mysqldb','status','end','json','count','offset','set','Content-Range','reject','save','destroy','sendStatus','error','stack','name','send','index','Dynamics365Field','rawAttributes','fieldName','type','key','model','map','keys','query','filters','intersection','fields','attributes','length','nolimit','limit','order','sort','where','pick','filter','merge','VIRTUAL','options','then','include','rows'];(function(_0x5a7dc1,_0x5c1fc5){var _0x54aeeb=function(_0x506f15){while(--_0x506f15){_0x5a7dc1['push'](_0x5a7dc1['shift']());}};_0x54aeeb(++_0x5c1fc5);}(_0x9d5c,0x98));var _0xc9d5=function(_0x5ca9b4,_0x2bfd14){_0x5ca9b4=_0x5ca9b4-0x0;var _0x42731a=_0x9d5c[_0x5ca9b4];return _0x42731a;};'use strict';var pdf=require(_0xc9d5('0x0'));var emlformat=require('eml-format');var rimraf=require(_0xc9d5('0x1'));var zipdir=require(_0xc9d5('0x2'));var jsonpatch=require('fast-json-patch');var rp=require(_0xc9d5('0x3'));var moment=require(_0xc9d5('0x4'));var BPromise=require(_0xc9d5('0x5'));var Mustache=require('mustache');var util=require(_0xc9d5('0x6'));var path=require(_0xc9d5('0x7'));var sox=require('sox');var csv=require(_0xc9d5('0x8'));var ejs=require(_0xc9d5('0x9'));var fs=require('fs');var _=require(_0xc9d5('0xa'));var squel=require(_0xc9d5('0xb'));var crypto=require(_0xc9d5('0xc'));var jsforce=require(_0xc9d5('0xd'));var deskjs=require(_0xc9d5('0xe'));var toCsv=require(_0xc9d5('0x8'));var querystring=require(_0xc9d5('0xf'));var Papa=require(_0xc9d5('0x10'));var Redis=require('ioredis');var authService=require('../../components/auth/service');var qs=require(_0xc9d5('0x11'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0xc9d5('0x12'));var logger=require(_0xc9d5('0x13'))(_0xc9d5('0x14'));var utils=require(_0xc9d5('0x15'));var config=require(_0xc9d5('0x16'));var db=require(_0xc9d5('0x17'))['db'];function respondWithStatusCode(_0x42f6f8,_0x4c85f5){_0x4c85f5=_0x4c85f5||0xcc;return function(_0x50125c){if(_0x50125c){return _0x42f6f8['sendStatus'](_0x4c85f5);}return _0x42f6f8[_0xc9d5('0x18')](_0x4c85f5)[_0xc9d5('0x19')]();};}function respondWithResult(_0x11b242,_0x3ee40e){_0x3ee40e=_0x3ee40e||0xc8;return function(_0x538a4b){if(_0x538a4b){return _0x11b242[_0xc9d5('0x18')](_0x3ee40e)[_0xc9d5('0x1a')](_0x538a4b);}};}function respondWithFilteredResult(_0x56b843,_0x46799c){return function(_0x658fd9){if(_0x658fd9){var _0x59034a=_0x658fd9[_0xc9d5('0x1b')],_0x57a42f=_0x46799c['offset'],_0xdda7e3=_0x46799c[_0xc9d5('0x1c')]+_0x46799c['limit'],_0x7d5471;if(_0xdda7e3>=_0x59034a){_0xdda7e3=_0x59034a;_0x7d5471=0xc8;}else{_0x7d5471=0xce;}_0x56b843[_0xc9d5('0x18')](_0x7d5471);return _0x56b843[_0xc9d5('0x1d')](_0xc9d5('0x1e'),_0x57a42f+'-'+_0xdda7e3+'/'+_0x59034a)[_0xc9d5('0x1a')](_0x658fd9);}return null;};}function patchUpdates(_0x55aae9){return function(_0x17636b){try{jsonpatch['apply'](_0x17636b,_0x55aae9,!![]);}catch(_0x4431d2){return BPromise[_0xc9d5('0x1f')](_0x4431d2);}return _0x17636b[_0xc9d5('0x20')]();};}function saveUpdates(_0x24f1fd,_0x4c0139){return function(_0x32b782){if(_0x32b782){return _0x32b782['update'](_0x24f1fd)['then'](function(_0xbd2e75){return _0xbd2e75;});}return null;};}function removeEntity(_0x3c0e1f,_0x2f2e4d){return function(_0x7ce117){if(_0x7ce117){return _0x7ce117[_0xc9d5('0x21')]()['then'](function(){_0x3c0e1f['status'](0xcc)[_0xc9d5('0x19')]();});}};}function handleEntityNotFound(_0x11227e,_0x41cd76){return function(_0x1424c9){if(!_0x1424c9){_0x11227e[_0xc9d5('0x22')](0x194);}return _0x1424c9;};}function handleError(_0x21a50e,_0x237ae7){_0x237ae7=_0x237ae7||0x1f4;return function(_0x133f97){logger[_0xc9d5('0x23')](_0x133f97[_0xc9d5('0x24')]);if(_0x133f97['name']){delete _0x133f97[_0xc9d5('0x25')];}_0x21a50e[_0xc9d5('0x18')](_0x237ae7)[_0xc9d5('0x26')](_0x133f97);};}exports[_0xc9d5('0x27')]=function(_0xdabec5,_0x4287ea){var _0x41a5d7={},_0x5b411d={},_0x14fd67={'count':0x0,'rows':[]};var _0x28fb0e=_['map'](db[_0xc9d5('0x28')][_0xc9d5('0x29')],function(_0x34e5d8){return{'name':_0x34e5d8[_0xc9d5('0x2a')],'type':_0x34e5d8[_0xc9d5('0x2b')][_0xc9d5('0x2c')]};});_0x5b411d[_0xc9d5('0x2d')]=_[_0xc9d5('0x2e')](_0x28fb0e,_0xc9d5('0x25'));_0x5b411d['query']=_[_0xc9d5('0x2f')](_0xdabec5[_0xc9d5('0x30')]);_0x5b411d[_0xc9d5('0x31')]=_['intersection'](_0x5b411d['model'],_0x5b411d['query']);_0x41a5d7['attributes']=_[_0xc9d5('0x32')](_0x5b411d[_0xc9d5('0x2d')],qs[_0xc9d5('0x33')](_0xdabec5[_0xc9d5('0x30')][_0xc9d5('0x33')]));_0x41a5d7[_0xc9d5('0x34')]=_0x41a5d7['attributes'][_0xc9d5('0x35')]?_0x41a5d7[_0xc9d5('0x34')]:_0x5b411d[_0xc9d5('0x2d')];if(!_0xdabec5[_0xc9d5('0x30')]['hasOwnProperty'](_0xc9d5('0x36'))){_0x41a5d7[_0xc9d5('0x37')]=qs[_0xc9d5('0x37')](_0xdabec5[_0xc9d5('0x30')]['limit']);_0x41a5d7[_0xc9d5('0x1c')]=qs['offset'](_0xdabec5[_0xc9d5('0x30')][_0xc9d5('0x1c')]);}_0x41a5d7[_0xc9d5('0x38')]=qs['sort'](_0xdabec5[_0xc9d5('0x30')][_0xc9d5('0x39')]);_0x41a5d7[_0xc9d5('0x3a')]=qs['filters'](_[_0xc9d5('0x3b')](_0xdabec5[_0xc9d5('0x30')],_0x5b411d['filters']));if(_0xdabec5[_0xc9d5('0x30')][_0xc9d5('0x3c')]){_0x41a5d7[_0xc9d5('0x3a')]=_[_0xc9d5('0x3d')](_0x41a5d7[_0xc9d5('0x3a')],{'$or':_[_0xc9d5('0x2e')](_0x28fb0e,function(_0x534cc2){if(_0x534cc2['type']!==_0xc9d5('0x3e')){var _0x505cad={};_0x505cad[_0x534cc2[_0xc9d5('0x25')]]={'$like':'%'+_0xdabec5[_0xc9d5('0x30')][_0xc9d5('0x3c')]+'%'};return _0x505cad;}})});}_0x41a5d7=_[_0xc9d5('0x3d')]({},_0x41a5d7,_0xdabec5[_0xc9d5('0x3f')]);var _0x119525={'where':_0x41a5d7[_0xc9d5('0x3a')]};return db['Dynamics365Field'][_0xc9d5('0x1b')](_0x119525)[_0xc9d5('0x40')](function(_0x2d3bf7){_0x14fd67['count']=_0x2d3bf7;if(_0xdabec5[_0xc9d5('0x30')]['includeAll']){_0x41a5d7[_0xc9d5('0x41')]=[{'all':!![]}];}return db[_0xc9d5('0x28')]['findAll'](_0x41a5d7);})[_0xc9d5('0x40')](function(_0x17cbb2){_0x14fd67[_0xc9d5('0x42')]=_0x17cbb2;return _0x14fd67;})[_0xc9d5('0x40')](respondWithFilteredResult(_0x4287ea,_0x41a5d7))[_0xc9d5('0x43')](handleError(_0x4287ea,null));};exports['show']=function(_0x8a41f0,_0x418a39){var _0x45df52={'raw':!![],'where':{'id':_0x8a41f0['params']['id']}},_0x5af2d7={};_0x5af2d7['model']=_[_0xc9d5('0x2f')](db[_0xc9d5('0x28')][_0xc9d5('0x29')]);_0x5af2d7['query']=_[_0xc9d5('0x2f')](_0x8a41f0[_0xc9d5('0x30')]);_0x5af2d7['filters']=_[_0xc9d5('0x32')](_0x5af2d7[_0xc9d5('0x2d')],_0x5af2d7[_0xc9d5('0x30')]);_0x45df52[_0xc9d5('0x34')]=_[_0xc9d5('0x32')](_0x5af2d7[_0xc9d5('0x2d')],qs['fields'](_0x8a41f0[_0xc9d5('0x30')]['fields']));_0x45df52[_0xc9d5('0x34')]=_0x45df52[_0xc9d5('0x34')][_0xc9d5('0x35')]?_0x45df52[_0xc9d5('0x34')]:_0x5af2d7[_0xc9d5('0x2d')];if(_0x8a41f0[_0xc9d5('0x30')][_0xc9d5('0x44')]){_0x45df52[_0xc9d5('0x41')]=[{'all':!![]}];}_0x45df52=_[_0xc9d5('0x3d')]({},_0x45df52,_0x8a41f0[_0xc9d5('0x3f')]);return db[_0xc9d5('0x28')][_0xc9d5('0x45')](_0x45df52)[_0xc9d5('0x40')](handleEntityNotFound(_0x418a39,null))[_0xc9d5('0x40')](respondWithResult(_0x418a39,null))[_0xc9d5('0x43')](handleError(_0x418a39,null));};exports[_0xc9d5('0x46')]=function(_0x19dec2,_0x3b4288){return db[_0xc9d5('0x28')][_0xc9d5('0x46')](_0x19dec2['body'],{})[_0xc9d5('0x40')](respondWithResult(_0x3b4288,0xc9))[_0xc9d5('0x43')](handleError(_0x3b4288,null));};exports['update']=function(_0x44a0ae,_0x33b8d5){if(_0x44a0ae[_0xc9d5('0x47')]['id']){delete _0x44a0ae[_0xc9d5('0x47')]['id'];}return db[_0xc9d5('0x28')]['find']({'where':{'id':_0x44a0ae[_0xc9d5('0x48')]['id']}})[_0xc9d5('0x40')](handleEntityNotFound(_0x33b8d5,null))[_0xc9d5('0x40')](saveUpdates(_0x44a0ae[_0xc9d5('0x47')],null))['then'](respondWithResult(_0x33b8d5,null))[_0xc9d5('0x43')](handleError(_0x33b8d5,null));};exports['destroy']=function(_0x239e82,_0x40be48){return db[_0xc9d5('0x28')][_0xc9d5('0x45')]({'where':{'id':_0x239e82[_0xc9d5('0x48')]['id']}})[_0xc9d5('0x40')](handleEntityNotFound(_0x40be48,null))[_0xc9d5('0x40')](removeEntity(_0x40be48,null))['catch'](handleError(_0x40be48,null));};