Built motion from commit a61a4a20.|2.5.46
[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 _0xfc83=['api','../../config/utils','../../config/environment','../../config/license/util','status','json','offset','undefined','limit','count','set','Content-Range','reject','save','update','then','destroy','end','sendStatus','error','stack','name','send','index','map','rawAttributes','type','query','keys','filters','intersection','model','attributes','fields','length','hasOwnProperty','nolimit','order','sort','filter','where','merge','VIRTUAL','options','Dynamics365Field','includeAll','findAll','rows','catch','include','find','create','body','eml-format','rimraf','zip-dir','moment','bluebird','mustache','path','sox','to-csv','fs-extra','squel','crypto','jsforce','querystring','papaparse','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger'];(function(_0x490882,_0x44feb6){var _0xca108=function(_0x393b4f){while(--_0x393b4f){_0x490882['push'](_0x490882['shift']());}};_0xca108(++_0x44feb6);}(_0xfc83,0x159));var _0x3fc8=function(_0xc6ffe5,_0x52b534){_0xc6ffe5=_0xc6ffe5-0x0;var _0x35f774=_0xfc83[_0xc6ffe5];return _0x35f774;};'use strict';var emlformat=require(_0x3fc8('0x0'));var rimraf=require(_0x3fc8('0x1'));var zipdir=require(_0x3fc8('0x2'));var jsonpatch=require('fast-json-patch');var rp=require('request-promise');var moment=require(_0x3fc8('0x3'));var BPromise=require(_0x3fc8('0x4'));var Mustache=require(_0x3fc8('0x5'));var util=require('util');var path=require(_0x3fc8('0x6'));var sox=require(_0x3fc8('0x7'));var csv=require(_0x3fc8('0x8'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require(_0x3fc8('0x9'));var _=require('lodash');var squel=require(_0x3fc8('0xa'));var crypto=require(_0x3fc8('0xb'));var jsforce=require(_0x3fc8('0xc'));var deskjs=require('desk.js');var toCsv=require(_0x3fc8('0x8'));var querystring=require(_0x3fc8('0xd'));var Papa=require(_0x3fc8('0xe'));var Redis=require('ioredis');var authService=require(_0x3fc8('0xf'));var qs=require(_0x3fc8('0x10'));var as=require(_0x3fc8('0x11'));var hardwareService=require(_0x3fc8('0x12'));var logger=require(_0x3fc8('0x13'))(_0x3fc8('0x14'));var utils=require(_0x3fc8('0x15'));var config=require(_0x3fc8('0x16'));var licenseUtil=require(_0x3fc8('0x17'));var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x3b81ca,_0x295b72){_0x295b72=_0x295b72||0xcc;return function(_0x39d66c){if(_0x39d66c){return _0x3b81ca['sendStatus'](_0x295b72);}return _0x3b81ca[_0x3fc8('0x18')](_0x295b72)['end']();};}function respondWithResult(_0x10daa2,_0x5ac75b){_0x5ac75b=_0x5ac75b||0xc8;return function(_0x3178ab){if(_0x3178ab){return _0x10daa2[_0x3fc8('0x18')](_0x5ac75b)[_0x3fc8('0x19')](_0x3178ab);}};}function respondWithFilteredResult(_0x312b5c,_0x26db88){return function(_0x3ea9a2){if(_0x3ea9a2){var _0x347a6f=typeof _0x26db88[_0x3fc8('0x1a')]===_0x3fc8('0x1b')&&typeof _0x26db88[_0x3fc8('0x1c')]===_0x3fc8('0x1b');var _0x401cea=_0x3ea9a2[_0x3fc8('0x1d')];var _0x4227b1=_0x347a6f?0x0:_0x26db88[_0x3fc8('0x1a')];var _0x3eca60=_0x347a6f?_0x3ea9a2['count']:_0x26db88[_0x3fc8('0x1a')]+_0x26db88[_0x3fc8('0x1c')];var _0x594380;if(_0x3eca60>=_0x401cea){_0x3eca60=_0x401cea;_0x594380=0xc8;}else{_0x594380=0xce;}_0x312b5c[_0x3fc8('0x18')](_0x594380);return _0x312b5c[_0x3fc8('0x1e')](_0x3fc8('0x1f'),_0x4227b1+'-'+_0x3eca60+'/'+_0x401cea)[_0x3fc8('0x19')](_0x3ea9a2);}return null;};}function patchUpdates(_0x625088){return function(_0x207128){try{jsonpatch['apply'](_0x207128,_0x625088,!![]);}catch(_0x43463d){return BPromise[_0x3fc8('0x20')](_0x43463d);}return _0x207128[_0x3fc8('0x21')]();};}function saveUpdates(_0x417877,_0x301ff8){return function(_0x286c01){if(_0x286c01){return _0x286c01[_0x3fc8('0x22')](_0x417877)[_0x3fc8('0x23')](function(_0x1c48ce){return _0x1c48ce;});}return null;};}function removeEntity(_0x305c28,_0xa8e5e0){return function(_0xff6770){if(_0xff6770){return _0xff6770[_0x3fc8('0x24')]()[_0x3fc8('0x23')](function(){_0x305c28[_0x3fc8('0x18')](0xcc)[_0x3fc8('0x25')]();});}};}function handleEntityNotFound(_0x70da6b,_0xba37c4){return function(_0x36e7d1){if(!_0x36e7d1){_0x70da6b[_0x3fc8('0x26')](0x194);}return _0x36e7d1;};}function handleError(_0x3d3d73,_0x2d1c42){_0x2d1c42=_0x2d1c42||0x1f4;return function(_0x1494cc){logger[_0x3fc8('0x27')](_0x1494cc[_0x3fc8('0x28')]);if(_0x1494cc['name']){delete _0x1494cc[_0x3fc8('0x29')];}_0x3d3d73[_0x3fc8('0x18')](_0x2d1c42)[_0x3fc8('0x2a')](_0x1494cc);};}exports[_0x3fc8('0x2b')]=function(_0x3016d9,_0x1b02b1){var _0x1d81b8={},_0x348188={},_0x111dc5={'count':0x0,'rows':[]};var _0x12954e=_[_0x3fc8('0x2c')](db['Dynamics365Field'][_0x3fc8('0x2d')],function(_0x509828){return{'name':_0x509828['fieldName'],'type':_0x509828[_0x3fc8('0x2e')]['key']};});_0x348188['model']=_[_0x3fc8('0x2c')](_0x12954e,'name');_0x348188[_0x3fc8('0x2f')]=_[_0x3fc8('0x30')](_0x3016d9[_0x3fc8('0x2f')]);_0x348188[_0x3fc8('0x31')]=_[_0x3fc8('0x32')](_0x348188[_0x3fc8('0x33')],_0x348188[_0x3fc8('0x2f')]);_0x1d81b8[_0x3fc8('0x34')]=_[_0x3fc8('0x32')](_0x348188[_0x3fc8('0x33')],qs['fields'](_0x3016d9['query'][_0x3fc8('0x35')]));_0x1d81b8[_0x3fc8('0x34')]=_0x1d81b8[_0x3fc8('0x34')][_0x3fc8('0x36')]?_0x1d81b8[_0x3fc8('0x34')]:_0x348188['model'];if(!_0x3016d9[_0x3fc8('0x2f')][_0x3fc8('0x37')](_0x3fc8('0x38'))){_0x1d81b8['limit']=qs['limit'](_0x3016d9[_0x3fc8('0x2f')]['limit']);_0x1d81b8[_0x3fc8('0x1a')]=qs[_0x3fc8('0x1a')](_0x3016d9[_0x3fc8('0x2f')][_0x3fc8('0x1a')]);}_0x1d81b8[_0x3fc8('0x39')]=qs[_0x3fc8('0x3a')](_0x3016d9[_0x3fc8('0x2f')][_0x3fc8('0x3a')]);_0x1d81b8['where']=qs[_0x3fc8('0x31')](_['pick'](_0x3016d9[_0x3fc8('0x2f')],_0x348188[_0x3fc8('0x31')]),_0x12954e);if(_0x3016d9[_0x3fc8('0x2f')][_0x3fc8('0x3b')]){_0x1d81b8[_0x3fc8('0x3c')]=_[_0x3fc8('0x3d')](_0x1d81b8['where'],{'$or':_[_0x3fc8('0x2c')](_0x12954e,function(_0x2f0186){if(_0x2f0186[_0x3fc8('0x2e')]!==_0x3fc8('0x3e')){var _0x5a1e0f={};_0x5a1e0f[_0x2f0186[_0x3fc8('0x29')]]={'$like':'%'+_0x3016d9[_0x3fc8('0x2f')][_0x3fc8('0x3b')]+'%'};return _0x5a1e0f;}})});}_0x1d81b8=_['merge']({},_0x1d81b8,_0x3016d9[_0x3fc8('0x3f')]);var _0x4b0e54={'where':_0x1d81b8[_0x3fc8('0x3c')]};return db[_0x3fc8('0x40')][_0x3fc8('0x1d')](_0x4b0e54)[_0x3fc8('0x23')](function(_0x25d893){_0x111dc5['count']=_0x25d893;if(_0x3016d9[_0x3fc8('0x2f')][_0x3fc8('0x41')]){_0x1d81b8['include']=[{'all':!![]}];}return db[_0x3fc8('0x40')][_0x3fc8('0x42')](_0x1d81b8);})['then'](function(_0x2ac2e6){_0x111dc5[_0x3fc8('0x43')]=_0x2ac2e6;return _0x111dc5;})[_0x3fc8('0x23')](respondWithFilteredResult(_0x1b02b1,_0x1d81b8))[_0x3fc8('0x44')](handleError(_0x1b02b1,null));};exports['show']=function(_0x5a65ad,_0x479685){var _0x558cfb={'raw':!![],'where':{'id':_0x5a65ad['params']['id']}},_0xb7eaaa={};_0xb7eaaa['model']=_['keys'](db[_0x3fc8('0x40')]['rawAttributes']);_0xb7eaaa[_0x3fc8('0x2f')]=_['keys'](_0x5a65ad['query']);_0xb7eaaa[_0x3fc8('0x31')]=_[_0x3fc8('0x32')](_0xb7eaaa['model'],_0xb7eaaa[_0x3fc8('0x2f')]);_0x558cfb[_0x3fc8('0x34')]=_['intersection'](_0xb7eaaa['model'],qs[_0x3fc8('0x35')](_0x5a65ad['query'][_0x3fc8('0x35')]));_0x558cfb[_0x3fc8('0x34')]=_0x558cfb['attributes'][_0x3fc8('0x36')]?_0x558cfb[_0x3fc8('0x34')]:_0xb7eaaa[_0x3fc8('0x33')];if(_0x5a65ad['query']['includeAll']){_0x558cfb[_0x3fc8('0x45')]=[{'all':!![]}];}_0x558cfb=_['merge']({},_0x558cfb,_0x5a65ad[_0x3fc8('0x3f')]);return db[_0x3fc8('0x40')][_0x3fc8('0x46')](_0x558cfb)['then'](handleEntityNotFound(_0x479685,null))['then'](respondWithResult(_0x479685,null))[_0x3fc8('0x44')](handleError(_0x479685,null));};exports['create']=function(_0xebaef6,_0x5f2a4f){return db[_0x3fc8('0x40')][_0x3fc8('0x47')](_0xebaef6[_0x3fc8('0x48')],{})[_0x3fc8('0x23')](respondWithResult(_0x5f2a4f,0xc9))['catch'](handleError(_0x5f2a4f,null));};exports['update']=function(_0x700449,_0x56c3bb){if(_0x700449[_0x3fc8('0x48')]['id']){delete _0x700449['body']['id'];}return db[_0x3fc8('0x40')][_0x3fc8('0x46')]({'where':{'id':_0x700449['params']['id']}})['then'](handleEntityNotFound(_0x56c3bb,null))[_0x3fc8('0x23')](saveUpdates(_0x700449['body'],null))[_0x3fc8('0x23')](respondWithResult(_0x56c3bb,null))['catch'](handleError(_0x56c3bb,null));};exports[_0x3fc8('0x24')]=function(_0x3ea2e7,_0x46df64){return db['Dynamics365Field'][_0x3fc8('0x46')]({'where':{'id':_0x3ea2e7['params']['id']}})[_0x3fc8('0x23')](handleEntityNotFound(_0x46df64,null))[_0x3fc8('0x23')](removeEntity(_0x46df64,null))[_0x3fc8('0x44')](handleError(_0x46df64,null));};