2fc30414e00820efa472e42755a946b7dfd0b47e
[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 _0x5f5f=['rimraf','fast-json-patch','request-promise','util','path','sox','to-csv','ejs','fs-extra','lodash','squel','crypto','jsforce','desk.js','querystring','papaparse','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/logger','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','end','json','offset','undefined','limit','count','Content-Range','apply','reject','save','then','destroy','error','name','send','index','map','rawAttributes','fieldName','type','key','model','query','keys','intersection','fields','attributes','hasOwnProperty','nolimit','order','sort','where','filters','pick','merge','VIRTUAL','filter','options','include','rows','catch','show','params','Dynamics365Field','length','create','body','update','find','eml-format'];(function(_0x2663b9,_0x20875a){var _0xd03a24=function(_0x419244){while(--_0x419244){_0x2663b9['push'](_0x2663b9['shift']());}};_0xd03a24(++_0x20875a);}(_0x5f5f,0x1c1));var _0xf5f5=function(_0x3dd15e,_0x1f0015){_0x3dd15e=_0x3dd15e-0x0;var _0x231fd0=_0x5f5f[_0x3dd15e];return _0x231fd0;};'use strict';var emlformat=require(_0xf5f5('0x0'));var rimraf=require(_0xf5f5('0x1'));var zipdir=require('zip-dir');var jsonpatch=require(_0xf5f5('0x2'));var rp=require(_0xf5f5('0x3'));var moment=require('moment');var BPromise=require('bluebird');var Mustache=require('mustache');var util=require(_0xf5f5('0x4'));var path=require(_0xf5f5('0x5'));var sox=require(_0xf5f5('0x6'));var csv=require(_0xf5f5('0x7'));var ejs=require(_0xf5f5('0x8'));var fs=require('fs');var fs_extra=require(_0xf5f5('0x9'));var _=require(_0xf5f5('0xa'));var squel=require(_0xf5f5('0xb'));var crypto=require(_0xf5f5('0xc'));var jsforce=require(_0xf5f5('0xd'));var deskjs=require(_0xf5f5('0xe'));var toCsv=require(_0xf5f5('0x7'));var querystring=require(_0xf5f5('0xf'));var Papa=require(_0xf5f5('0x10'));var Redis=require('ioredis');var authService=require(_0xf5f5('0x11'));var qs=require(_0xf5f5('0x12'));var as=require(_0xf5f5('0x13'));var hardwareService=require('../../config/license/hardware');var logger=require(_0xf5f5('0x14'))('api');var utils=require('../../config/utils');var config=require(_0xf5f5('0x15'));var licenseUtil=require(_0xf5f5('0x16'));var db=require(_0xf5f5('0x17'))['db'];function respondWithStatusCode(_0x3fed29,_0x383672){_0x383672=_0x383672||0xcc;return function(_0x4dea4f){if(_0x4dea4f){return _0x3fed29[_0xf5f5('0x18')](_0x383672);}return _0x3fed29[_0xf5f5('0x19')](_0x383672)[_0xf5f5('0x1a')]();};}function respondWithResult(_0x331955,_0x5c9f25){_0x5c9f25=_0x5c9f25||0xc8;return function(_0x2586de){if(_0x2586de){return _0x331955['status'](_0x5c9f25)[_0xf5f5('0x1b')](_0x2586de);}};}function respondWithFilteredResult(_0x10ccac,_0x482842){return function(_0x2beb28){if(_0x2beb28){var _0x5ced13=typeof _0x482842[_0xf5f5('0x1c')]===_0xf5f5('0x1d')&&typeof _0x482842[_0xf5f5('0x1e')]===_0xf5f5('0x1d');var _0x26394b=_0x2beb28[_0xf5f5('0x1f')];var _0x570dcd=_0x5ced13?0x0:_0x482842['offset'];var _0x5da14b=_0x5ced13?_0x2beb28[_0xf5f5('0x1f')]:_0x482842[_0xf5f5('0x1c')]+_0x482842['limit'];var _0x4aebd1;if(_0x5da14b>=_0x26394b){_0x5da14b=_0x26394b;_0x4aebd1=0xc8;}else{_0x4aebd1=0xce;}_0x10ccac[_0xf5f5('0x19')](_0x4aebd1);return _0x10ccac['set'](_0xf5f5('0x20'),_0x570dcd+'-'+_0x5da14b+'/'+_0x26394b)[_0xf5f5('0x1b')](_0x2beb28);}return null;};}function patchUpdates(_0x5d1dfb){return function(_0x10736d){try{jsonpatch[_0xf5f5('0x21')](_0x10736d,_0x5d1dfb,!![]);}catch(_0x163989){return BPromise[_0xf5f5('0x22')](_0x163989);}return _0x10736d[_0xf5f5('0x23')]();};}function saveUpdates(_0x2f3741,_0x50a83a){return function(_0x1e9001){if(_0x1e9001){return _0x1e9001['update'](_0x2f3741)[_0xf5f5('0x24')](function(_0xdf7f34){return _0xdf7f34;});}return null;};}function removeEntity(_0x53e6b3,_0x487fd7){return function(_0x5eb3e8){if(_0x5eb3e8){return _0x5eb3e8[_0xf5f5('0x25')]()[_0xf5f5('0x24')](function(){_0x53e6b3[_0xf5f5('0x19')](0xcc)['end']();});}};}function handleEntityNotFound(_0x582e72,_0x27d6bd){return function(_0x1815a1){if(!_0x1815a1){_0x582e72[_0xf5f5('0x18')](0x194);}return _0x1815a1;};}function handleError(_0x1fdbdd,_0x22d309){_0x22d309=_0x22d309||0x1f4;return function(_0x460da8){logger[_0xf5f5('0x26')](_0x460da8['stack']);if(_0x460da8[_0xf5f5('0x27')]){delete _0x460da8[_0xf5f5('0x27')];}_0x1fdbdd[_0xf5f5('0x19')](_0x22d309)[_0xf5f5('0x28')](_0x460da8);};}exports[_0xf5f5('0x29')]=function(_0x112ca5,_0x2044b5){var _0xc369fc={},_0x2a919f={},_0x542542={'count':0x0,'rows':[]};var _0x41885a=_[_0xf5f5('0x2a')](db['Dynamics365Field'][_0xf5f5('0x2b')],function(_0x2b5466){return{'name':_0x2b5466[_0xf5f5('0x2c')],'type':_0x2b5466[_0xf5f5('0x2d')][_0xf5f5('0x2e')]};});_0x2a919f[_0xf5f5('0x2f')]=_['map'](_0x41885a,_0xf5f5('0x27'));_0x2a919f[_0xf5f5('0x30')]=_[_0xf5f5('0x31')](_0x112ca5[_0xf5f5('0x30')]);_0x2a919f['filters']=_[_0xf5f5('0x32')](_0x2a919f[_0xf5f5('0x2f')],_0x2a919f[_0xf5f5('0x30')]);_0xc369fc['attributes']=_[_0xf5f5('0x32')](_0x2a919f[_0xf5f5('0x2f')],qs['fields'](_0x112ca5[_0xf5f5('0x30')][_0xf5f5('0x33')]));_0xc369fc['attributes']=_0xc369fc[_0xf5f5('0x34')]['length']?_0xc369fc[_0xf5f5('0x34')]:_0x2a919f[_0xf5f5('0x2f')];if(!_0x112ca5[_0xf5f5('0x30')][_0xf5f5('0x35')](_0xf5f5('0x36'))){_0xc369fc[_0xf5f5('0x1e')]=qs[_0xf5f5('0x1e')](_0x112ca5[_0xf5f5('0x30')][_0xf5f5('0x1e')]);_0xc369fc['offset']=qs[_0xf5f5('0x1c')](_0x112ca5[_0xf5f5('0x30')][_0xf5f5('0x1c')]);}_0xc369fc[_0xf5f5('0x37')]=qs[_0xf5f5('0x38')](_0x112ca5['query']['sort']);_0xc369fc[_0xf5f5('0x39')]=qs[_0xf5f5('0x3a')](_[_0xf5f5('0x3b')](_0x112ca5['query'],_0x2a919f['filters']),_0x41885a);if(_0x112ca5[_0xf5f5('0x30')]['filter']){_0xc369fc['where']=_[_0xf5f5('0x3c')](_0xc369fc['where'],{'$or':_[_0xf5f5('0x2a')](_0x41885a,function(_0x2502d5){if(_0x2502d5['type']!==_0xf5f5('0x3d')){var _0x152a6a={};_0x152a6a[_0x2502d5['name']]={'$like':'%'+_0x112ca5['query'][_0xf5f5('0x3e')]+'%'};return _0x152a6a;}})});}_0xc369fc=_[_0xf5f5('0x3c')]({},_0xc369fc,_0x112ca5[_0xf5f5('0x3f')]);var _0x2c9b73={'where':_0xc369fc[_0xf5f5('0x39')]};return db['Dynamics365Field']['count'](_0x2c9b73)[_0xf5f5('0x24')](function(_0x3275c2){_0x542542[_0xf5f5('0x1f')]=_0x3275c2;if(_0x112ca5[_0xf5f5('0x30')]['includeAll']){_0xc369fc[_0xf5f5('0x40')]=[{'all':!![]}];}return db['Dynamics365Field']['findAll'](_0xc369fc);})['then'](function(_0x297a17){_0x542542[_0xf5f5('0x41')]=_0x297a17;return _0x542542;})['then'](respondWithFilteredResult(_0x2044b5,_0xc369fc))[_0xf5f5('0x42')](handleError(_0x2044b5,null));};exports[_0xf5f5('0x43')]=function(_0x28fd37,_0x3c1fa1){var _0xdb2143={'raw':!![],'where':{'id':_0x28fd37[_0xf5f5('0x44')]['id']}},_0x24578f={};_0x24578f[_0xf5f5('0x2f')]=_['keys'](db[_0xf5f5('0x45')][_0xf5f5('0x2b')]);_0x24578f[_0xf5f5('0x30')]=_[_0xf5f5('0x31')](_0x28fd37[_0xf5f5('0x30')]);_0x24578f[_0xf5f5('0x3a')]=_[_0xf5f5('0x32')](_0x24578f['model'],_0x24578f[_0xf5f5('0x30')]);_0xdb2143[_0xf5f5('0x34')]=_[_0xf5f5('0x32')](_0x24578f['model'],qs['fields'](_0x28fd37[_0xf5f5('0x30')][_0xf5f5('0x33')]));_0xdb2143[_0xf5f5('0x34')]=_0xdb2143[_0xf5f5('0x34')][_0xf5f5('0x46')]?_0xdb2143[_0xf5f5('0x34')]:_0x24578f[_0xf5f5('0x2f')];if(_0x28fd37['query']['includeAll']){_0xdb2143[_0xf5f5('0x40')]=[{'all':!![]}];}_0xdb2143=_['merge']({},_0xdb2143,_0x28fd37[_0xf5f5('0x3f')]);return db[_0xf5f5('0x45')]['find'](_0xdb2143)[_0xf5f5('0x24')](handleEntityNotFound(_0x3c1fa1,null))['then'](respondWithResult(_0x3c1fa1,null))[_0xf5f5('0x42')](handleError(_0x3c1fa1,null));};exports[_0xf5f5('0x47')]=function(_0x459e2e,_0x8232e0){return db[_0xf5f5('0x45')][_0xf5f5('0x47')](_0x459e2e[_0xf5f5('0x48')],{})[_0xf5f5('0x24')](respondWithResult(_0x8232e0,0xc9))[_0xf5f5('0x42')](handleError(_0x8232e0,null));};exports[_0xf5f5('0x49')]=function(_0x36ed9f,_0xcdda68){if(_0x36ed9f[_0xf5f5('0x48')]['id']){delete _0x36ed9f['body']['id'];}return db[_0xf5f5('0x45')][_0xf5f5('0x4a')]({'where':{'id':_0x36ed9f[_0xf5f5('0x44')]['id']}})[_0xf5f5('0x24')](handleEntityNotFound(_0xcdda68,null))['then'](saveUpdates(_0x36ed9f[_0xf5f5('0x48')],null))['then'](respondWithResult(_0xcdda68,null))[_0xf5f5('0x42')](handleError(_0xcdda68,null));};exports[_0xf5f5('0x25')]=function(_0x2bd703,_0x12da87){return db[_0xf5f5('0x45')][_0xf5f5('0x4a')]({'where':{'id':_0x2bd703[_0xf5f5('0x44')]['id']}})[_0xf5f5('0x24')](handleEntityNotFound(_0x12da87,null))['then'](removeEntity(_0x12da87,null))[_0xf5f5('0x42')](handleError(_0x12da87,null));};