d37099e0ab38310576dbc4bc9c85e937b1c6fa45
[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 _0xb813=['ioredis','../../components/auth/service','../../components/parsers/qs','../../config/license/hardware','../../config/logger','../../config/utils','../../config/license/util','sendStatus','status','end','count','offset','Content-Range','json','update','destroy','error','stack','name','send','index','map','fieldName','type','key','model','keys','query','filters','intersection','attributes','fields','length','hasOwnProperty','nolimit','limit','order','sort','where','filter','VIRTUAL','merge','options','Dynamics365Field','then','includeAll','include','findAll','rows','catch','show','params','rawAttributes','create','body','find','html-pdf','eml-format','fast-json-patch','request-promise','moment','bluebird','mustache','util','path','sox','to-csv','ejs','lodash','crypto','jsforce','desk.js','querystring'];(function(_0x599c06,_0x5652be){var _0xe052fb=function(_0x38e0b0){while(--_0x38e0b0){_0x599c06['push'](_0x599c06['shift']());}};_0xe052fb(++_0x5652be);}(_0xb813,0x15c));var _0x3b81=function(_0x3d1325,_0x2aa68f){_0x3d1325=_0x3d1325-0x0;var _0x441a03=_0xb813[_0x3d1325];return _0x441a03;};'use strict';var pdf=require(_0x3b81('0x0'));var emlformat=require(_0x3b81('0x1'));var rimraf=require('rimraf');var zipdir=require('zip-dir');var jsonpatch=require(_0x3b81('0x2'));var rp=require(_0x3b81('0x3'));var moment=require(_0x3b81('0x4'));var BPromise=require(_0x3b81('0x5'));var Mustache=require(_0x3b81('0x6'));var util=require(_0x3b81('0x7'));var path=require(_0x3b81('0x8'));var sox=require(_0x3b81('0x9'));var csv=require(_0x3b81('0xa'));var ejs=require(_0x3b81('0xb'));var fs=require('fs');var _=require(_0x3b81('0xc'));var squel=require('squel');var crypto=require(_0x3b81('0xd'));var jsforce=require(_0x3b81('0xe'));var deskjs=require(_0x3b81('0xf'));var toCsv=require(_0x3b81('0xa'));var querystring=require(_0x3b81('0x10'));var Papa=require('papaparse');var Redis=require(_0x3b81('0x11'));var authService=require(_0x3b81('0x12'));var qs=require(_0x3b81('0x13'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0x3b81('0x14'));var logger=require(_0x3b81('0x15'))('api');var utils=require(_0x3b81('0x16'));var config=require('../../config/environment');var licenseUtil=require(_0x3b81('0x17'));var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x16500e,_0x2dbc3e){_0x2dbc3e=_0x2dbc3e||0xcc;return function(_0x2d1ea0){if(_0x2d1ea0){return _0x16500e[_0x3b81('0x18')](_0x2dbc3e);}return _0x16500e[_0x3b81('0x19')](_0x2dbc3e)[_0x3b81('0x1a')]();};}function respondWithResult(_0x564576,_0x4ca72f){_0x4ca72f=_0x4ca72f||0xc8;return function(_0x1587de){if(_0x1587de){return _0x564576[_0x3b81('0x19')](_0x4ca72f)['json'](_0x1587de);}};}function respondWithFilteredResult(_0x5eba86,_0x7d087f){return function(_0x59e489){if(_0x59e489){var _0xe31748=_0x59e489[_0x3b81('0x1b')],_0xdfa08=_0x7d087f[_0x3b81('0x1c')],_0x73cab8=_0x7d087f[_0x3b81('0x1c')]+_0x7d087f['limit'],_0x48bc5f;if(_0x73cab8>=_0xe31748){_0x73cab8=_0xe31748;_0x48bc5f=0xc8;}else{_0x48bc5f=0xce;}_0x5eba86[_0x3b81('0x19')](_0x48bc5f);return _0x5eba86['set'](_0x3b81('0x1d'),_0xdfa08+'-'+_0x73cab8+'/'+_0xe31748)[_0x3b81('0x1e')](_0x59e489);}return null;};}function patchUpdates(_0x5060a2){return function(_0x317aed){try{jsonpatch['apply'](_0x317aed,_0x5060a2,!![]);}catch(_0x5553d3){return BPromise['reject'](_0x5553d3);}return _0x317aed['save']();};}function saveUpdates(_0x5c75a3,_0x32302c){return function(_0xa3008b){if(_0xa3008b){return _0xa3008b[_0x3b81('0x1f')](_0x5c75a3)['then'](function(_0x31113d){return _0x31113d;});}return null;};}function removeEntity(_0x30edfb,_0x479194){return function(_0x4b4656){if(_0x4b4656){return _0x4b4656[_0x3b81('0x20')]()['then'](function(){_0x30edfb['status'](0xcc)[_0x3b81('0x1a')]();});}};}function handleEntityNotFound(_0x59f047,_0x3039bb){return function(_0x27c1c3){if(!_0x27c1c3){_0x59f047[_0x3b81('0x18')](0x194);}return _0x27c1c3;};}function handleError(_0x27589e,_0x7a63f7){_0x7a63f7=_0x7a63f7||0x1f4;return function(_0x2fe091){logger[_0x3b81('0x21')](_0x2fe091[_0x3b81('0x22')]);if(_0x2fe091[_0x3b81('0x23')]){delete _0x2fe091[_0x3b81('0x23')];}_0x27589e['status'](_0x7a63f7)[_0x3b81('0x24')](_0x2fe091);};}exports[_0x3b81('0x25')]=function(_0x512fa8,_0x1f26db){var _0xd3235d={},_0x187e82={},_0x22d02a={'count':0x0,'rows':[]};var _0x557198=_[_0x3b81('0x26')](db['Dynamics365Field']['rawAttributes'],function(_0x2b96d3){return{'name':_0x2b96d3[_0x3b81('0x27')],'type':_0x2b96d3[_0x3b81('0x28')][_0x3b81('0x29')]};});_0x187e82[_0x3b81('0x2a')]=_[_0x3b81('0x26')](_0x557198,'name');_0x187e82['query']=_[_0x3b81('0x2b')](_0x512fa8[_0x3b81('0x2c')]);_0x187e82[_0x3b81('0x2d')]=_[_0x3b81('0x2e')](_0x187e82[_0x3b81('0x2a')],_0x187e82['query']);_0xd3235d[_0x3b81('0x2f')]=_[_0x3b81('0x2e')](_0x187e82[_0x3b81('0x2a')],qs[_0x3b81('0x30')](_0x512fa8['query'][_0x3b81('0x30')]));_0xd3235d[_0x3b81('0x2f')]=_0xd3235d[_0x3b81('0x2f')][_0x3b81('0x31')]?_0xd3235d[_0x3b81('0x2f')]:_0x187e82[_0x3b81('0x2a')];if(!_0x512fa8[_0x3b81('0x2c')][_0x3b81('0x32')](_0x3b81('0x33'))){_0xd3235d[_0x3b81('0x34')]=qs['limit'](_0x512fa8[_0x3b81('0x2c')][_0x3b81('0x34')]);_0xd3235d[_0x3b81('0x1c')]=qs[_0x3b81('0x1c')](_0x512fa8[_0x3b81('0x2c')][_0x3b81('0x1c')]);}_0xd3235d[_0x3b81('0x35')]=qs[_0x3b81('0x36')](_0x512fa8[_0x3b81('0x2c')][_0x3b81('0x36')]);_0xd3235d[_0x3b81('0x37')]=qs[_0x3b81('0x2d')](_['pick'](_0x512fa8[_0x3b81('0x2c')],_0x187e82[_0x3b81('0x2d')]),_0x557198);if(_0x512fa8[_0x3b81('0x2c')][_0x3b81('0x38')]){_0xd3235d['where']=_['merge'](_0xd3235d['where'],{'$or':_[_0x3b81('0x26')](_0x557198,function(_0x48c192){if(_0x48c192[_0x3b81('0x28')]!==_0x3b81('0x39')){var _0x17b0b5={};_0x17b0b5[_0x48c192[_0x3b81('0x23')]]={'$like':'%'+_0x512fa8[_0x3b81('0x2c')][_0x3b81('0x38')]+'%'};return _0x17b0b5;}})});}_0xd3235d=_[_0x3b81('0x3a')]({},_0xd3235d,_0x512fa8[_0x3b81('0x3b')]);var _0x3b3b27={'where':_0xd3235d[_0x3b81('0x37')]};return db[_0x3b81('0x3c')][_0x3b81('0x1b')](_0x3b3b27)[_0x3b81('0x3d')](function(_0x19c145){_0x22d02a[_0x3b81('0x1b')]=_0x19c145;if(_0x512fa8['query'][_0x3b81('0x3e')]){_0xd3235d[_0x3b81('0x3f')]=[{'all':!![]}];}return db[_0x3b81('0x3c')][_0x3b81('0x40')](_0xd3235d);})[_0x3b81('0x3d')](function(_0x3896e0){_0x22d02a[_0x3b81('0x41')]=_0x3896e0;return _0x22d02a;})[_0x3b81('0x3d')](respondWithFilteredResult(_0x1f26db,_0xd3235d))[_0x3b81('0x42')](handleError(_0x1f26db,null));};exports[_0x3b81('0x43')]=function(_0x23583b,_0x36d886){var _0x5d4e49={'raw':!![],'where':{'id':_0x23583b[_0x3b81('0x44')]['id']}},_0x4f3b0e={};_0x4f3b0e['model']=_[_0x3b81('0x2b')](db['Dynamics365Field'][_0x3b81('0x45')]);_0x4f3b0e[_0x3b81('0x2c')]=_[_0x3b81('0x2b')](_0x23583b[_0x3b81('0x2c')]);_0x4f3b0e[_0x3b81('0x2d')]=_[_0x3b81('0x2e')](_0x4f3b0e['model'],_0x4f3b0e[_0x3b81('0x2c')]);_0x5d4e49[_0x3b81('0x2f')]=_[_0x3b81('0x2e')](_0x4f3b0e[_0x3b81('0x2a')],qs[_0x3b81('0x30')](_0x23583b[_0x3b81('0x2c')][_0x3b81('0x30')]));_0x5d4e49['attributes']=_0x5d4e49[_0x3b81('0x2f')][_0x3b81('0x31')]?_0x5d4e49[_0x3b81('0x2f')]:_0x4f3b0e[_0x3b81('0x2a')];if(_0x23583b[_0x3b81('0x2c')][_0x3b81('0x3e')]){_0x5d4e49[_0x3b81('0x3f')]=[{'all':!![]}];}_0x5d4e49=_[_0x3b81('0x3a')]({},_0x5d4e49,_0x23583b['options']);return db['Dynamics365Field']['find'](_0x5d4e49)[_0x3b81('0x3d')](handleEntityNotFound(_0x36d886,null))['then'](respondWithResult(_0x36d886,null))['catch'](handleError(_0x36d886,null));};exports[_0x3b81('0x46')]=function(_0x3c8bb9,_0x931c7e){return db[_0x3b81('0x3c')][_0x3b81('0x46')](_0x3c8bb9[_0x3b81('0x47')],{})[_0x3b81('0x3d')](respondWithResult(_0x931c7e,0xc9))[_0x3b81('0x42')](handleError(_0x931c7e,null));};exports['update']=function(_0xece7a7,_0x3ce4ec){if(_0xece7a7[_0x3b81('0x47')]['id']){delete _0xece7a7[_0x3b81('0x47')]['id'];}return db[_0x3b81('0x3c')][_0x3b81('0x48')]({'where':{'id':_0xece7a7[_0x3b81('0x44')]['id']}})[_0x3b81('0x3d')](handleEntityNotFound(_0x3ce4ec,null))['then'](saveUpdates(_0xece7a7[_0x3b81('0x47')],null))['then'](respondWithResult(_0x3ce4ec,null))[_0x3b81('0x42')](handleError(_0x3ce4ec,null));};exports['destroy']=function(_0x2ad371,_0x4dc055){return db[_0x3b81('0x3c')][_0x3b81('0x48')]({'where':{'id':_0x2ad371[_0x3b81('0x44')]['id']}})['then'](handleEntityNotFound(_0x4dc055,null))[_0x3b81('0x3d')](removeEntity(_0x4dc055,null))[_0x3b81('0x42')](handleError(_0x4dc055,null));};