Built motion from commit 5b761a7b.|2.5.36
[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 _0xd4c5=['moment','mustache','util','ejs','fs-extra','lodash','squel','crypto','desk.js','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','api','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','end','json','offset','undefined','limit','count','set','Content-Range','apply','reject','save','update','then','destroy','name','send','map','Dynamics365Field','rawAttributes','fieldName','type','model','query','keys','filters','intersection','fields','attributes','hasOwnProperty','nolimit','order','sort','where','pick','filter','merge','options','includeAll','findAll','rows','show','params','find','create','body','catch','eml-format','rimraf','zip-dir','fast-json-patch','request-promise'];(function(_0x25701b,_0x2a6976){var _0x3a8a2c=function(_0x1a5e78){while(--_0x1a5e78){_0x25701b['push'](_0x25701b['shift']());}};_0x3a8a2c(++_0x2a6976);}(_0xd4c5,0x19f));var _0x5d4c=function(_0x2ba882,_0x20ea9d){_0x2ba882=_0x2ba882-0x0;var _0xbe9f38=_0xd4c5[_0x2ba882];return _0xbe9f38;};'use strict';var emlformat=require(_0x5d4c('0x0'));var rimraf=require(_0x5d4c('0x1'));var zipdir=require(_0x5d4c('0x2'));var jsonpatch=require(_0x5d4c('0x3'));var rp=require(_0x5d4c('0x4'));var moment=require(_0x5d4c('0x5'));var BPromise=require('bluebird');var Mustache=require(_0x5d4c('0x6'));var util=require(_0x5d4c('0x7'));var path=require('path');var sox=require('sox');var csv=require('to-csv');var ejs=require(_0x5d4c('0x8'));var fs=require('fs');var fs_extra=require(_0x5d4c('0x9'));var _=require(_0x5d4c('0xa'));var squel=require(_0x5d4c('0xb'));var crypto=require(_0x5d4c('0xc'));var jsforce=require('jsforce');var deskjs=require(_0x5d4c('0xd'));var toCsv=require('to-csv');var querystring=require('querystring');var Papa=require('papaparse');var Redis=require('ioredis');var authService=require(_0x5d4c('0xe'));var qs=require(_0x5d4c('0xf'));var as=require(_0x5d4c('0x10'));var hardwareService=require(_0x5d4c('0x11'));var logger=require('../../config/logger')(_0x5d4c('0x12'));var utils=require('../../config/utils');var config=require(_0x5d4c('0x13'));var licenseUtil=require(_0x5d4c('0x14'));var db=require(_0x5d4c('0x15'))['db'];function respondWithStatusCode(_0x4a0498,_0x157a44){_0x157a44=_0x157a44||0xcc;return function(_0x391886){if(_0x391886){return _0x4a0498[_0x5d4c('0x16')](_0x157a44);}return _0x4a0498[_0x5d4c('0x17')](_0x157a44)[_0x5d4c('0x18')]();};}function respondWithResult(_0x801da7,_0x25ca63){_0x25ca63=_0x25ca63||0xc8;return function(_0x2e5159){if(_0x2e5159){return _0x801da7[_0x5d4c('0x17')](_0x25ca63)[_0x5d4c('0x19')](_0x2e5159);}};}function respondWithFilteredResult(_0x47e559,_0x50506e){return function(_0x68ba36){if(_0x68ba36){var _0x1f9dea=typeof _0x50506e[_0x5d4c('0x1a')]===_0x5d4c('0x1b')&&typeof _0x50506e[_0x5d4c('0x1c')]===_0x5d4c('0x1b');var _0x55cab1=_0x68ba36[_0x5d4c('0x1d')];var _0x45e6f2=_0x1f9dea?0x0:_0x50506e[_0x5d4c('0x1a')];var _0x5d2403=_0x1f9dea?_0x68ba36[_0x5d4c('0x1d')]:_0x50506e[_0x5d4c('0x1a')]+_0x50506e['limit'];var _0x7cc3e3;if(_0x5d2403>=_0x55cab1){_0x5d2403=_0x55cab1;_0x7cc3e3=0xc8;}else{_0x7cc3e3=0xce;}_0x47e559[_0x5d4c('0x17')](_0x7cc3e3);return _0x47e559[_0x5d4c('0x1e')](_0x5d4c('0x1f'),_0x45e6f2+'-'+_0x5d2403+'/'+_0x55cab1)['json'](_0x68ba36);}return null;};}function patchUpdates(_0x4f3322){return function(_0x3f3513){try{jsonpatch[_0x5d4c('0x20')](_0x3f3513,_0x4f3322,!![]);}catch(_0x493d85){return BPromise[_0x5d4c('0x21')](_0x493d85);}return _0x3f3513[_0x5d4c('0x22')]();};}function saveUpdates(_0x9e8222,_0x25daae){return function(_0x5dddcb){if(_0x5dddcb){return _0x5dddcb[_0x5d4c('0x23')](_0x9e8222)[_0x5d4c('0x24')](function(_0x43c041){return _0x43c041;});}return null;};}function removeEntity(_0x4f686b,_0x24a191){return function(_0x17c2c8){if(_0x17c2c8){return _0x17c2c8[_0x5d4c('0x25')]()['then'](function(){_0x4f686b[_0x5d4c('0x17')](0xcc)[_0x5d4c('0x18')]();});}};}function handleEntityNotFound(_0x295bee,_0x37187b){return function(_0x330432){if(!_0x330432){_0x295bee[_0x5d4c('0x16')](0x194);}return _0x330432;};}function handleError(_0x1103c0,_0x180bb1){_0x180bb1=_0x180bb1||0x1f4;return function(_0x1a5571){logger['error'](_0x1a5571['stack']);if(_0x1a5571[_0x5d4c('0x26')]){delete _0x1a5571[_0x5d4c('0x26')];}_0x1103c0['status'](_0x180bb1)[_0x5d4c('0x27')](_0x1a5571);};}exports['index']=function(_0x60f751,_0xfa7d27){var _0x161257={},_0x535e2a={},_0x200ce7={'count':0x0,'rows':[]};var _0x6cd21e=_[_0x5d4c('0x28')](db[_0x5d4c('0x29')][_0x5d4c('0x2a')],function(_0x1adae3){return{'name':_0x1adae3[_0x5d4c('0x2b')],'type':_0x1adae3[_0x5d4c('0x2c')]['key']};});_0x535e2a[_0x5d4c('0x2d')]=_[_0x5d4c('0x28')](_0x6cd21e,_0x5d4c('0x26'));_0x535e2a[_0x5d4c('0x2e')]=_[_0x5d4c('0x2f')](_0x60f751['query']);_0x535e2a[_0x5d4c('0x30')]=_[_0x5d4c('0x31')](_0x535e2a[_0x5d4c('0x2d')],_0x535e2a[_0x5d4c('0x2e')]);_0x161257['attributes']=_[_0x5d4c('0x31')](_0x535e2a[_0x5d4c('0x2d')],qs[_0x5d4c('0x32')](_0x60f751['query'][_0x5d4c('0x32')]));_0x161257['attributes']=_0x161257[_0x5d4c('0x33')]['length']?_0x161257['attributes']:_0x535e2a[_0x5d4c('0x2d')];if(!_0x60f751[_0x5d4c('0x2e')][_0x5d4c('0x34')](_0x5d4c('0x35'))){_0x161257[_0x5d4c('0x1c')]=qs[_0x5d4c('0x1c')](_0x60f751[_0x5d4c('0x2e')]['limit']);_0x161257[_0x5d4c('0x1a')]=qs[_0x5d4c('0x1a')](_0x60f751['query']['offset']);}_0x161257[_0x5d4c('0x36')]=qs['sort'](_0x60f751['query'][_0x5d4c('0x37')]);_0x161257[_0x5d4c('0x38')]=qs['filters'](_[_0x5d4c('0x39')](_0x60f751[_0x5d4c('0x2e')],_0x535e2a[_0x5d4c('0x30')]),_0x6cd21e);if(_0x60f751['query'][_0x5d4c('0x3a')]){_0x161257[_0x5d4c('0x38')]=_[_0x5d4c('0x3b')](_0x161257[_0x5d4c('0x38')],{'$or':_[_0x5d4c('0x28')](_0x6cd21e,function(_0x15898b){if(_0x15898b[_0x5d4c('0x2c')]!=='VIRTUAL'){var _0x38ddbf={};_0x38ddbf[_0x15898b[_0x5d4c('0x26')]]={'$like':'%'+_0x60f751['query'][_0x5d4c('0x3a')]+'%'};return _0x38ddbf;}})});}_0x161257=_['merge']({},_0x161257,_0x60f751[_0x5d4c('0x3c')]);var _0x2ec547={'where':_0x161257[_0x5d4c('0x38')]};return db[_0x5d4c('0x29')]['count'](_0x2ec547)['then'](function(_0x1a8c36){_0x200ce7[_0x5d4c('0x1d')]=_0x1a8c36;if(_0x60f751[_0x5d4c('0x2e')][_0x5d4c('0x3d')]){_0x161257['include']=[{'all':!![]}];}return db['Dynamics365Field'][_0x5d4c('0x3e')](_0x161257);})['then'](function(_0x3b765f){_0x200ce7[_0x5d4c('0x3f')]=_0x3b765f;return _0x200ce7;})[_0x5d4c('0x24')](respondWithFilteredResult(_0xfa7d27,_0x161257))['catch'](handleError(_0xfa7d27,null));};exports[_0x5d4c('0x40')]=function(_0x468acd,_0x428122){var _0x1a932a={'raw':!![],'where':{'id':_0x468acd[_0x5d4c('0x41')]['id']}},_0x3c2d5e={};_0x3c2d5e[_0x5d4c('0x2d')]=_[_0x5d4c('0x2f')](db[_0x5d4c('0x29')]['rawAttributes']);_0x3c2d5e[_0x5d4c('0x2e')]=_[_0x5d4c('0x2f')](_0x468acd[_0x5d4c('0x2e')]);_0x3c2d5e['filters']=_[_0x5d4c('0x31')](_0x3c2d5e[_0x5d4c('0x2d')],_0x3c2d5e[_0x5d4c('0x2e')]);_0x1a932a[_0x5d4c('0x33')]=_['intersection'](_0x3c2d5e[_0x5d4c('0x2d')],qs['fields'](_0x468acd[_0x5d4c('0x2e')][_0x5d4c('0x32')]));_0x1a932a[_0x5d4c('0x33')]=_0x1a932a[_0x5d4c('0x33')]['length']?_0x1a932a[_0x5d4c('0x33')]:_0x3c2d5e[_0x5d4c('0x2d')];if(_0x468acd[_0x5d4c('0x2e')][_0x5d4c('0x3d')]){_0x1a932a['include']=[{'all':!![]}];}_0x1a932a=_[_0x5d4c('0x3b')]({},_0x1a932a,_0x468acd['options']);return db['Dynamics365Field'][_0x5d4c('0x42')](_0x1a932a)[_0x5d4c('0x24')](handleEntityNotFound(_0x428122,null))[_0x5d4c('0x24')](respondWithResult(_0x428122,null))['catch'](handleError(_0x428122,null));};exports[_0x5d4c('0x43')]=function(_0x5476de,_0x3082f6){return db[_0x5d4c('0x29')][_0x5d4c('0x43')](_0x5476de[_0x5d4c('0x44')],{})[_0x5d4c('0x24')](respondWithResult(_0x3082f6,0xc9))[_0x5d4c('0x45')](handleError(_0x3082f6,null));};exports[_0x5d4c('0x23')]=function(_0x477462,_0x2c6613){if(_0x477462[_0x5d4c('0x44')]['id']){delete _0x477462['body']['id'];}return db[_0x5d4c('0x29')]['find']({'where':{'id':_0x477462[_0x5d4c('0x41')]['id']}})[_0x5d4c('0x24')](handleEntityNotFound(_0x2c6613,null))[_0x5d4c('0x24')](saveUpdates(_0x477462[_0x5d4c('0x44')],null))['then'](respondWithResult(_0x2c6613,null))['catch'](handleError(_0x2c6613,null));};exports[_0x5d4c('0x25')]=function(_0x40d719,_0x9daeb5){return db['Dynamics365Field'][_0x5d4c('0x42')]({'where':{'id':_0x40d719['params']['id']}})[_0x5d4c('0x24')](handleEntityNotFound(_0x9daeb5,null))['then'](removeEntity(_0x9daeb5,null))[_0x5d4c('0x45')](handleError(_0x9daeb5,null));};