Built motion from commit 91ed41ac.|2.5.44
[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 _0x06e0=['length','hasOwnProperty','order','sort','pick','merge','where','VIRTUAL','filter','options','Dynamics365Field','rows','catch','show','params','include','find','create','body','update','destroy','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','bluebird','mustache','util','path','sox','to-csv','ejs','fs-extra','squel','jsforce','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../mysqldb','end','json','undefined','limit','count','offset','set','Content-Range','apply','then','status','sendStatus','error','stack','name','send','index','map','rawAttributes','fieldName','type','key','model','query','keys','intersection','attributes','fields'];(function(_0x1ddc4c,_0x10e86a){var _0x56141e=function(_0x394d8c){while(--_0x394d8c){_0x1ddc4c['push'](_0x1ddc4c['shift']());}};_0x56141e(++_0x10e86a);}(_0x06e0,0x1dd));var _0x006e=function(_0x28725b,_0x5f270a){_0x28725b=_0x28725b-0x0;var _0xc6c07c=_0x06e0[_0x28725b];return _0xc6c07c;};'use strict';var emlformat=require(_0x006e('0x0'));var rimraf=require(_0x006e('0x1'));var zipdir=require(_0x006e('0x2'));var jsonpatch=require(_0x006e('0x3'));var rp=require(_0x006e('0x4'));var moment=require('moment');var BPromise=require(_0x006e('0x5'));var Mustache=require(_0x006e('0x6'));var util=require(_0x006e('0x7'));var path=require(_0x006e('0x8'));var sox=require(_0x006e('0x9'));var csv=require(_0x006e('0xa'));var ejs=require(_0x006e('0xb'));var fs=require('fs');var fs_extra=require(_0x006e('0xc'));var _=require('lodash');var squel=require(_0x006e('0xd'));var crypto=require('crypto');var jsforce=require(_0x006e('0xe'));var deskjs=require('desk.js');var toCsv=require(_0x006e('0xa'));var querystring=require(_0x006e('0xf'));var Papa=require(_0x006e('0x10'));var Redis=require(_0x006e('0x11'));var authService=require(_0x006e('0x12'));var qs=require(_0x006e('0x13'));var as=require(_0x006e('0x14'));var hardwareService=require(_0x006e('0x15'));var logger=require(_0x006e('0x16'))(_0x006e('0x17'));var utils=require(_0x006e('0x18'));var config=require(_0x006e('0x19'));var licenseUtil=require('../../config/license/util');var db=require(_0x006e('0x1a'))['db'];function respondWithStatusCode(_0x33f2a2,_0x1a6469){_0x1a6469=_0x1a6469||0xcc;return function(_0x5ee60e){if(_0x5ee60e){return _0x33f2a2['sendStatus'](_0x1a6469);}return _0x33f2a2['status'](_0x1a6469)[_0x006e('0x1b')]();};}function respondWithResult(_0x40214b,_0xc1ce54){_0xc1ce54=_0xc1ce54||0xc8;return function(_0x19e01c){if(_0x19e01c){return _0x40214b['status'](_0xc1ce54)[_0x006e('0x1c')](_0x19e01c);}};}function respondWithFilteredResult(_0x185690,_0xed877a){return function(_0x38929c){if(_0x38929c){var _0x5acd25=typeof _0xed877a['offset']===_0x006e('0x1d')&&typeof _0xed877a[_0x006e('0x1e')]===_0x006e('0x1d');var _0x5f4e4d=_0x38929c[_0x006e('0x1f')];var _0x5c09b3=_0x5acd25?0x0:_0xed877a[_0x006e('0x20')];var _0x3c2d2f=_0x5acd25?_0x38929c['count']:_0xed877a[_0x006e('0x20')]+_0xed877a[_0x006e('0x1e')];var _0x36f063;if(_0x3c2d2f>=_0x5f4e4d){_0x3c2d2f=_0x5f4e4d;_0x36f063=0xc8;}else{_0x36f063=0xce;}_0x185690['status'](_0x36f063);return _0x185690[_0x006e('0x21')](_0x006e('0x22'),_0x5c09b3+'-'+_0x3c2d2f+'/'+_0x5f4e4d)['json'](_0x38929c);}return null;};}function patchUpdates(_0x1a7992){return function(_0x1d87f5){try{jsonpatch[_0x006e('0x23')](_0x1d87f5,_0x1a7992,!![]);}catch(_0x69def0){return BPromise['reject'](_0x69def0);}return _0x1d87f5['save']();};}function saveUpdates(_0x3c210e,_0x454022){return function(_0x57e6bd){if(_0x57e6bd){return _0x57e6bd['update'](_0x3c210e)[_0x006e('0x24')](function(_0x45546e){return _0x45546e;});}return null;};}function removeEntity(_0x25785b,_0x335a25){return function(_0x1ef26f){if(_0x1ef26f){return _0x1ef26f['destroy']()[_0x006e('0x24')](function(){_0x25785b[_0x006e('0x25')](0xcc)['end']();});}};}function handleEntityNotFound(_0x51c2d2,_0x214093){return function(_0x94c0ea){if(!_0x94c0ea){_0x51c2d2[_0x006e('0x26')](0x194);}return _0x94c0ea;};}function handleError(_0x1eeba8,_0x387fe0){_0x387fe0=_0x387fe0||0x1f4;return function(_0x5563e2){logger[_0x006e('0x27')](_0x5563e2[_0x006e('0x28')]);if(_0x5563e2[_0x006e('0x29')]){delete _0x5563e2['name'];}_0x1eeba8[_0x006e('0x25')](_0x387fe0)[_0x006e('0x2a')](_0x5563e2);};}exports[_0x006e('0x2b')]=function(_0x4eccec,_0x487df0){var _0x143c82={},_0x34419c={},_0x3b1261={'count':0x0,'rows':[]};var _0x12927e=_[_0x006e('0x2c')](db['Dynamics365Field'][_0x006e('0x2d')],function(_0x2cc683){return{'name':_0x2cc683[_0x006e('0x2e')],'type':_0x2cc683[_0x006e('0x2f')][_0x006e('0x30')]};});_0x34419c[_0x006e('0x31')]=_[_0x006e('0x2c')](_0x12927e,_0x006e('0x29'));_0x34419c[_0x006e('0x32')]=_[_0x006e('0x33')](_0x4eccec[_0x006e('0x32')]);_0x34419c['filters']=_[_0x006e('0x34')](_0x34419c[_0x006e('0x31')],_0x34419c[_0x006e('0x32')]);_0x143c82[_0x006e('0x35')]=_['intersection'](_0x34419c[_0x006e('0x31')],qs['fields'](_0x4eccec[_0x006e('0x32')][_0x006e('0x36')]));_0x143c82['attributes']=_0x143c82['attributes'][_0x006e('0x37')]?_0x143c82[_0x006e('0x35')]:_0x34419c[_0x006e('0x31')];if(!_0x4eccec[_0x006e('0x32')][_0x006e('0x38')]('nolimit')){_0x143c82['limit']=qs['limit'](_0x4eccec['query'][_0x006e('0x1e')]);_0x143c82[_0x006e('0x20')]=qs['offset'](_0x4eccec['query'][_0x006e('0x20')]);}_0x143c82[_0x006e('0x39')]=qs[_0x006e('0x3a')](_0x4eccec['query']['sort']);_0x143c82['where']=qs['filters'](_[_0x006e('0x3b')](_0x4eccec[_0x006e('0x32')],_0x34419c['filters']),_0x12927e);if(_0x4eccec[_0x006e('0x32')]['filter']){_0x143c82['where']=_[_0x006e('0x3c')](_0x143c82[_0x006e('0x3d')],{'$or':_[_0x006e('0x2c')](_0x12927e,function(_0x23d497){if(_0x23d497[_0x006e('0x2f')]!==_0x006e('0x3e')){var _0x56a3d0={};_0x56a3d0[_0x23d497[_0x006e('0x29')]]={'$like':'%'+_0x4eccec['query'][_0x006e('0x3f')]+'%'};return _0x56a3d0;}})});}_0x143c82=_[_0x006e('0x3c')]({},_0x143c82,_0x4eccec[_0x006e('0x40')]);var _0x4b7d91={'where':_0x143c82[_0x006e('0x3d')]};return db['Dynamics365Field'][_0x006e('0x1f')](_0x4b7d91)[_0x006e('0x24')](function(_0x2c3db8){_0x3b1261[_0x006e('0x1f')]=_0x2c3db8;if(_0x4eccec['query']['includeAll']){_0x143c82['include']=[{'all':!![]}];}return db[_0x006e('0x41')]['findAll'](_0x143c82);})[_0x006e('0x24')](function(_0x75b744){_0x3b1261[_0x006e('0x42')]=_0x75b744;return _0x3b1261;})[_0x006e('0x24')](respondWithFilteredResult(_0x487df0,_0x143c82))[_0x006e('0x43')](handleError(_0x487df0,null));};exports[_0x006e('0x44')]=function(_0x1b74cf,_0x53f8c0){var _0x23573d={'raw':!![],'where':{'id':_0x1b74cf[_0x006e('0x45')]['id']}},_0x402010={};_0x402010['model']=_[_0x006e('0x33')](db[_0x006e('0x41')][_0x006e('0x2d')]);_0x402010['query']=_[_0x006e('0x33')](_0x1b74cf['query']);_0x402010['filters']=_['intersection'](_0x402010[_0x006e('0x31')],_0x402010[_0x006e('0x32')]);_0x23573d[_0x006e('0x35')]=_[_0x006e('0x34')](_0x402010[_0x006e('0x31')],qs[_0x006e('0x36')](_0x1b74cf[_0x006e('0x32')][_0x006e('0x36')]));_0x23573d[_0x006e('0x35')]=_0x23573d[_0x006e('0x35')][_0x006e('0x37')]?_0x23573d['attributes']:_0x402010[_0x006e('0x31')];if(_0x1b74cf[_0x006e('0x32')]['includeAll']){_0x23573d[_0x006e('0x46')]=[{'all':!![]}];}_0x23573d=_[_0x006e('0x3c')]({},_0x23573d,_0x1b74cf[_0x006e('0x40')]);return db[_0x006e('0x41')][_0x006e('0x47')](_0x23573d)[_0x006e('0x24')](handleEntityNotFound(_0x53f8c0,null))[_0x006e('0x24')](respondWithResult(_0x53f8c0,null))[_0x006e('0x43')](handleError(_0x53f8c0,null));};exports['create']=function(_0x4b0a8d,_0x46c1da){return db[_0x006e('0x41')][_0x006e('0x48')](_0x4b0a8d[_0x006e('0x49')],{})[_0x006e('0x24')](respondWithResult(_0x46c1da,0xc9))['catch'](handleError(_0x46c1da,null));};exports[_0x006e('0x4a')]=function(_0xb1733,_0x5986f9){if(_0xb1733[_0x006e('0x49')]['id']){delete _0xb1733['body']['id'];}return db[_0x006e('0x41')]['find']({'where':{'id':_0xb1733[_0x006e('0x45')]['id']}})[_0x006e('0x24')](handleEntityNotFound(_0x5986f9,null))[_0x006e('0x24')](saveUpdates(_0xb1733[_0x006e('0x49')],null))['then'](respondWithResult(_0x5986f9,null))['catch'](handleError(_0x5986f9,null));};exports[_0x006e('0x4b')]=function(_0x47f432,_0x5ed5c8){return db[_0x006e('0x41')][_0x006e('0x47')]({'where':{'id':_0x47f432[_0x006e('0x45')]['id']}})['then'](handleEntityNotFound(_0x5ed5c8,null))['then'](removeEntity(_0x5ed5c8,null))[_0x006e('0x43')](handleError(_0x5ed5c8,null));};