1242e2d9e0dd0f010ec583aabc58496a2b2aab57
[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 _0xe0df=['request-promise','moment','mustache','util','path','sox','to-csv','ejs','fs-extra','lodash','crypto','jsforce','querystring','papaparse','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','end','json','offset','undefined','count','set','apply','reject','save','update','then','stack','name','send','index','map','Dynamics365Field','rawAttributes','fieldName','query','keys','filters','intersection','model','attributes','fields','length','hasOwnProperty','nolimit','limit','order','sort','where','pick','merge','type','VIRTUAL','filter','includeAll','include','findAll','show','params','find','create','catch','body','destroy','eml-format','rimraf'];(function(_0x3dd15e,_0x1f0015){var _0x231fd0=function(_0x4f680a){while(--_0x4f680a){_0x3dd15e['push'](_0x3dd15e['shift']());}};_0x231fd0(++_0x1f0015);}(_0xe0df,0x12a));var _0xfe0d=function(_0xbca1b1,_0x33f0ce){_0xbca1b1=_0xbca1b1-0x0;var _0x4e1686=_0xe0df[_0xbca1b1];return _0x4e1686;};'use strict';var emlformat=require(_0xfe0d('0x0'));var rimraf=require(_0xfe0d('0x1'));var zipdir=require('zip-dir');var jsonpatch=require('fast-json-patch');var rp=require(_0xfe0d('0x2'));var moment=require(_0xfe0d('0x3'));var BPromise=require('bluebird');var Mustache=require(_0xfe0d('0x4'));var util=require(_0xfe0d('0x5'));var path=require(_0xfe0d('0x6'));var sox=require(_0xfe0d('0x7'));var csv=require(_0xfe0d('0x8'));var ejs=require(_0xfe0d('0x9'));var fs=require('fs');var fs_extra=require(_0xfe0d('0xa'));var _=require(_0xfe0d('0xb'));var squel=require('squel');var crypto=require(_0xfe0d('0xc'));var jsforce=require(_0xfe0d('0xd'));var deskjs=require('desk.js');var toCsv=require('to-csv');var querystring=require(_0xfe0d('0xe'));var Papa=require(_0xfe0d('0xf'));var Redis=require('ioredis');var authService=require(_0xfe0d('0x10'));var qs=require(_0xfe0d('0x11'));var as=require(_0xfe0d('0x12'));var hardwareService=require(_0xfe0d('0x13'));var logger=require('../../config/logger')(_0xfe0d('0x14'));var utils=require(_0xfe0d('0x15'));var config=require(_0xfe0d('0x16'));var licenseUtil=require(_0xfe0d('0x17'));var db=require(_0xfe0d('0x18'))['db'];function respondWithStatusCode(_0xb6f27b,_0x51f13c){_0x51f13c=_0x51f13c||0xcc;return function(_0x2a4618){if(_0x2a4618){return _0xb6f27b[_0xfe0d('0x19')](_0x51f13c);}return _0xb6f27b[_0xfe0d('0x1a')](_0x51f13c)[_0xfe0d('0x1b')]();};}function respondWithResult(_0x2f587b,_0x56779c){_0x56779c=_0x56779c||0xc8;return function(_0x1e715f){if(_0x1e715f){return _0x2f587b[_0xfe0d('0x1a')](_0x56779c)[_0xfe0d('0x1c')](_0x1e715f);}};}function respondWithFilteredResult(_0x45fb9f,_0x454b9a){return function(_0x4c764b){if(_0x4c764b){var _0x142b2e=typeof _0x454b9a[_0xfe0d('0x1d')]===_0xfe0d('0x1e')&&typeof _0x454b9a['limit']===_0xfe0d('0x1e');var _0x13dc24=_0x4c764b[_0xfe0d('0x1f')];var _0x2037e2=_0x142b2e?0x0:_0x454b9a[_0xfe0d('0x1d')];var _0x3c2a6b=_0x142b2e?_0x4c764b[_0xfe0d('0x1f')]:_0x454b9a[_0xfe0d('0x1d')]+_0x454b9a['limit'];var _0x483a65;if(_0x3c2a6b>=_0x13dc24){_0x3c2a6b=_0x13dc24;_0x483a65=0xc8;}else{_0x483a65=0xce;}_0x45fb9f['status'](_0x483a65);return _0x45fb9f[_0xfe0d('0x20')]('Content-Range',_0x2037e2+'-'+_0x3c2a6b+'/'+_0x13dc24)[_0xfe0d('0x1c')](_0x4c764b);}return null;};}function patchUpdates(_0x1e6298){return function(_0x53fe38){try{jsonpatch[_0xfe0d('0x21')](_0x53fe38,_0x1e6298,!![]);}catch(_0x108f50){return BPromise[_0xfe0d('0x22')](_0x108f50);}return _0x53fe38[_0xfe0d('0x23')]();};}function saveUpdates(_0x48920d,_0xfadab0){return function(_0x5541b0){if(_0x5541b0){return _0x5541b0[_0xfe0d('0x24')](_0x48920d)[_0xfe0d('0x25')](function(_0x4c2320){return _0x4c2320;});}return null;};}function removeEntity(_0xaf5710,_0x34bcef){return function(_0x33985c){if(_0x33985c){return _0x33985c['destroy']()[_0xfe0d('0x25')](function(){_0xaf5710[_0xfe0d('0x1a')](0xcc)[_0xfe0d('0x1b')]();});}};}function handleEntityNotFound(_0x3ab511,_0x108ed9){return function(_0x384cab){if(!_0x384cab){_0x3ab511['sendStatus'](0x194);}return _0x384cab;};}function handleError(_0x2a6c24,_0x1eef13){_0x1eef13=_0x1eef13||0x1f4;return function(_0x39e223){logger['error'](_0x39e223[_0xfe0d('0x26')]);if(_0x39e223[_0xfe0d('0x27')]){delete _0x39e223[_0xfe0d('0x27')];}_0x2a6c24['status'](_0x1eef13)[_0xfe0d('0x28')](_0x39e223);};}exports[_0xfe0d('0x29')]=function(_0x8a66fc,_0x34e93c){var _0x4fae3e={},_0x30dd58={},_0x556ac6={'count':0x0,'rows':[]};var _0x3e8d64=_[_0xfe0d('0x2a')](db[_0xfe0d('0x2b')][_0xfe0d('0x2c')],function(_0x155cd3){return{'name':_0x155cd3[_0xfe0d('0x2d')],'type':_0x155cd3['type']['key']};});_0x30dd58['model']=_[_0xfe0d('0x2a')](_0x3e8d64,'name');_0x30dd58[_0xfe0d('0x2e')]=_[_0xfe0d('0x2f')](_0x8a66fc['query']);_0x30dd58[_0xfe0d('0x30')]=_[_0xfe0d('0x31')](_0x30dd58[_0xfe0d('0x32')],_0x30dd58[_0xfe0d('0x2e')]);_0x4fae3e[_0xfe0d('0x33')]=_['intersection'](_0x30dd58[_0xfe0d('0x32')],qs['fields'](_0x8a66fc[_0xfe0d('0x2e')][_0xfe0d('0x34')]));_0x4fae3e[_0xfe0d('0x33')]=_0x4fae3e[_0xfe0d('0x33')][_0xfe0d('0x35')]?_0x4fae3e[_0xfe0d('0x33')]:_0x30dd58[_0xfe0d('0x32')];if(!_0x8a66fc['query'][_0xfe0d('0x36')](_0xfe0d('0x37'))){_0x4fae3e[_0xfe0d('0x38')]=qs[_0xfe0d('0x38')](_0x8a66fc['query'][_0xfe0d('0x38')]);_0x4fae3e['offset']=qs[_0xfe0d('0x1d')](_0x8a66fc[_0xfe0d('0x2e')][_0xfe0d('0x1d')]);}_0x4fae3e[_0xfe0d('0x39')]=qs['sort'](_0x8a66fc[_0xfe0d('0x2e')][_0xfe0d('0x3a')]);_0x4fae3e[_0xfe0d('0x3b')]=qs[_0xfe0d('0x30')](_[_0xfe0d('0x3c')](_0x8a66fc[_0xfe0d('0x2e')],_0x30dd58['filters']),_0x3e8d64);if(_0x8a66fc[_0xfe0d('0x2e')]['filter']){_0x4fae3e[_0xfe0d('0x3b')]=_[_0xfe0d('0x3d')](_0x4fae3e[_0xfe0d('0x3b')],{'$or':_['map'](_0x3e8d64,function(_0x595719){if(_0x595719[_0xfe0d('0x3e')]!==_0xfe0d('0x3f')){var _0x12eff4={};_0x12eff4[_0x595719[_0xfe0d('0x27')]]={'$like':'%'+_0x8a66fc['query'][_0xfe0d('0x40')]+'%'};return _0x12eff4;}})});}_0x4fae3e=_[_0xfe0d('0x3d')]({},_0x4fae3e,_0x8a66fc['options']);var _0x54e4c8={'where':_0x4fae3e[_0xfe0d('0x3b')]};return db['Dynamics365Field']['count'](_0x54e4c8)['then'](function(_0x448732){_0x556ac6[_0xfe0d('0x1f')]=_0x448732;if(_0x8a66fc['query'][_0xfe0d('0x41')]){_0x4fae3e[_0xfe0d('0x42')]=[{'all':!![]}];}return db['Dynamics365Field'][_0xfe0d('0x43')](_0x4fae3e);})['then'](function(_0x593eaf){_0x556ac6['rows']=_0x593eaf;return _0x556ac6;})[_0xfe0d('0x25')](respondWithFilteredResult(_0x34e93c,_0x4fae3e))['catch'](handleError(_0x34e93c,null));};exports[_0xfe0d('0x44')]=function(_0x2eee96,_0x2cc2db){var _0x174cdf={'raw':!![],'where':{'id':_0x2eee96[_0xfe0d('0x45')]['id']}},_0x13b41d={};_0x13b41d[_0xfe0d('0x32')]=_[_0xfe0d('0x2f')](db[_0xfe0d('0x2b')][_0xfe0d('0x2c')]);_0x13b41d['query']=_['keys'](_0x2eee96[_0xfe0d('0x2e')]);_0x13b41d[_0xfe0d('0x30')]=_[_0xfe0d('0x31')](_0x13b41d['model'],_0x13b41d[_0xfe0d('0x2e')]);_0x174cdf['attributes']=_[_0xfe0d('0x31')](_0x13b41d['model'],qs['fields'](_0x2eee96[_0xfe0d('0x2e')][_0xfe0d('0x34')]));_0x174cdf[_0xfe0d('0x33')]=_0x174cdf[_0xfe0d('0x33')][_0xfe0d('0x35')]?_0x174cdf[_0xfe0d('0x33')]:_0x13b41d[_0xfe0d('0x32')];if(_0x2eee96['query'][_0xfe0d('0x41')]){_0x174cdf[_0xfe0d('0x42')]=[{'all':!![]}];}_0x174cdf=_[_0xfe0d('0x3d')]({},_0x174cdf,_0x2eee96['options']);return db[_0xfe0d('0x2b')][_0xfe0d('0x46')](_0x174cdf)[_0xfe0d('0x25')](handleEntityNotFound(_0x2cc2db,null))['then'](respondWithResult(_0x2cc2db,null))['catch'](handleError(_0x2cc2db,null));};exports[_0xfe0d('0x47')]=function(_0x4b1624,_0x561195){return db['Dynamics365Field']['create'](_0x4b1624['body'],{})['then'](respondWithResult(_0x561195,0xc9))[_0xfe0d('0x48')](handleError(_0x561195,null));};exports[_0xfe0d('0x24')]=function(_0x325f41,_0x7b4f5d){if(_0x325f41['body']['id']){delete _0x325f41[_0xfe0d('0x49')]['id'];}return db['Dynamics365Field']['find']({'where':{'id':_0x325f41['params']['id']}})[_0xfe0d('0x25')](handleEntityNotFound(_0x7b4f5d,null))[_0xfe0d('0x25')](saveUpdates(_0x325f41[_0xfe0d('0x49')],null))[_0xfe0d('0x25')](respondWithResult(_0x7b4f5d,null))[_0xfe0d('0x48')](handleError(_0x7b4f5d,null));};exports[_0xfe0d('0x4a')]=function(_0x329468,_0x756de6){return db[_0xfe0d('0x2b')][_0xfe0d('0x46')]({'where':{'id':_0x329468['params']['id']}})[_0xfe0d('0x25')](handleEntityNotFound(_0x756de6,null))[_0xfe0d('0x25')](removeEntity(_0x756de6,null))[_0xfe0d('0x48')](handleError(_0x756de6,null));};