0116b4142669dd5aac32bf868c8f5dad7949d6d3
[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 _0x4e8c=['stack','name','send','index','map','Dynamics365Field','rawAttributes','type','model','query','filters','intersection','attributes','fields','length','nolimit','limit','order','sort','where','pick','filter','VIRTUAL','merge','includeAll','include','rows','catch','show','params','keys','find','create','body','eml-format','fast-json-patch','request-promise','moment','mustache','util','path','sox','to-csv','fs-extra','lodash','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../config/utils','../../config/environment','../../mysqldb','end','status','count','offset','set','Content-Range','json','apply','reject','save','update','destroy','then','sendStatus','error'];(function(_0x11f48b,_0x1dc2ac){var _0x3f5ffc=function(_0x284cb3){while(--_0x284cb3){_0x11f48b['push'](_0x11f48b['shift']());}};_0x3f5ffc(++_0x1dc2ac);}(_0x4e8c,0xf4));var _0xc4e8=function(_0x1b68ba,_0x23687a){_0x1b68ba=_0x1b68ba-0x0;var _0xf49b11=_0x4e8c[_0x1b68ba];return _0xf49b11;};'use strict';var emlformat=require(_0xc4e8('0x0'));var rimraf=require('rimraf');var zipdir=require('zip-dir');var jsonpatch=require(_0xc4e8('0x1'));var rp=require(_0xc4e8('0x2'));var moment=require(_0xc4e8('0x3'));var BPromise=require('bluebird');var Mustache=require(_0xc4e8('0x4'));var util=require(_0xc4e8('0x5'));var path=require(_0xc4e8('0x6'));var sox=require(_0xc4e8('0x7'));var csv=require(_0xc4e8('0x8'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require(_0xc4e8('0x9'));var _=require(_0xc4e8('0xa'));var squel=require('squel');var crypto=require(_0xc4e8('0xb'));var jsforce=require(_0xc4e8('0xc'));var deskjs=require(_0xc4e8('0xd'));var toCsv=require('to-csv');var querystring=require(_0xc4e8('0xe'));var Papa=require(_0xc4e8('0xf'));var Redis=require(_0xc4e8('0x10'));var authService=require(_0xc4e8('0x11'));var qs=require('../../components/parsers/qs');var as=require('../../components/parsers/advancedSearch');var hardwareService=require('../../config/license/hardware');var logger=require('../../config/logger')('api');var utils=require(_0xc4e8('0x12'));var config=require(_0xc4e8('0x13'));var licenseUtil=require('../../config/license/util');var db=require(_0xc4e8('0x14'))['db'];function respondWithStatusCode(_0x144d5e,_0x5e1426){_0x5e1426=_0x5e1426||0xcc;return function(_0xf13c50){if(_0xf13c50){return _0x144d5e['sendStatus'](_0x5e1426);}return _0x144d5e['status'](_0x5e1426)[_0xc4e8('0x15')]();};}function respondWithResult(_0x232c0b,_0x196882){_0x196882=_0x196882||0xc8;return function(_0xdd85bf){if(_0xdd85bf){return _0x232c0b[_0xc4e8('0x16')](_0x196882)['json'](_0xdd85bf);}};}function respondWithFilteredResult(_0xceb1fe,_0x36c068){return function(_0x213b55){if(_0x213b55){var _0x11b5cb=_0x213b55[_0xc4e8('0x17')],_0x2882b8=_0x36c068['offset'],_0x286d48=_0x36c068[_0xc4e8('0x18')]+_0x36c068['limit'],_0x4493f8;if(_0x286d48>=_0x11b5cb){_0x286d48=_0x11b5cb;_0x4493f8=0xc8;}else{_0x4493f8=0xce;}_0xceb1fe[_0xc4e8('0x16')](_0x4493f8);return _0xceb1fe[_0xc4e8('0x19')](_0xc4e8('0x1a'),_0x2882b8+'-'+_0x286d48+'/'+_0x11b5cb)[_0xc4e8('0x1b')](_0x213b55);}return null;};}function patchUpdates(_0x3124a0){return function(_0x2b3a6e){try{jsonpatch[_0xc4e8('0x1c')](_0x2b3a6e,_0x3124a0,!![]);}catch(_0x5c923a){return BPromise[_0xc4e8('0x1d')](_0x5c923a);}return _0x2b3a6e[_0xc4e8('0x1e')]();};}function saveUpdates(_0x5038a9,_0x3f5543){return function(_0x474098){if(_0x474098){return _0x474098[_0xc4e8('0x1f')](_0x5038a9)['then'](function(_0x1b41b1){return _0x1b41b1;});}return null;};}function removeEntity(_0x4b0e09,_0x1041e6){return function(_0x2ffc95){if(_0x2ffc95){return _0x2ffc95[_0xc4e8('0x20')]()[_0xc4e8('0x21')](function(){_0x4b0e09[_0xc4e8('0x16')](0xcc)[_0xc4e8('0x15')]();});}};}function handleEntityNotFound(_0x41a898,_0x33469b){return function(_0x18483a){if(!_0x18483a){_0x41a898[_0xc4e8('0x22')](0x194);}return _0x18483a;};}function handleError(_0x293ace,_0x84537d){_0x84537d=_0x84537d||0x1f4;return function(_0x4f97fc){logger[_0xc4e8('0x23')](_0x4f97fc[_0xc4e8('0x24')]);if(_0x4f97fc[_0xc4e8('0x25')]){delete _0x4f97fc[_0xc4e8('0x25')];}_0x293ace[_0xc4e8('0x16')](_0x84537d)[_0xc4e8('0x26')](_0x4f97fc);};}exports[_0xc4e8('0x27')]=function(_0x19e42e,_0x5d92fc){var _0x2bd997={},_0x2d4e3f={},_0x1a4429={'count':0x0,'rows':[]};var _0x40bf37=_[_0xc4e8('0x28')](db[_0xc4e8('0x29')][_0xc4e8('0x2a')],function(_0x1dfafc){return{'name':_0x1dfafc['fieldName'],'type':_0x1dfafc[_0xc4e8('0x2b')]['key']};});_0x2d4e3f[_0xc4e8('0x2c')]=_[_0xc4e8('0x28')](_0x40bf37,_0xc4e8('0x25'));_0x2d4e3f[_0xc4e8('0x2d')]=_['keys'](_0x19e42e[_0xc4e8('0x2d')]);_0x2d4e3f[_0xc4e8('0x2e')]=_[_0xc4e8('0x2f')](_0x2d4e3f[_0xc4e8('0x2c')],_0x2d4e3f[_0xc4e8('0x2d')]);_0x2bd997[_0xc4e8('0x30')]=_[_0xc4e8('0x2f')](_0x2d4e3f[_0xc4e8('0x2c')],qs[_0xc4e8('0x31')](_0x19e42e[_0xc4e8('0x2d')][_0xc4e8('0x31')]));_0x2bd997['attributes']=_0x2bd997[_0xc4e8('0x30')][_0xc4e8('0x32')]?_0x2bd997[_0xc4e8('0x30')]:_0x2d4e3f[_0xc4e8('0x2c')];if(!_0x19e42e[_0xc4e8('0x2d')]['hasOwnProperty'](_0xc4e8('0x33'))){_0x2bd997['limit']=qs[_0xc4e8('0x34')](_0x19e42e[_0xc4e8('0x2d')][_0xc4e8('0x34')]);_0x2bd997[_0xc4e8('0x18')]=qs[_0xc4e8('0x18')](_0x19e42e[_0xc4e8('0x2d')][_0xc4e8('0x18')]);}_0x2bd997[_0xc4e8('0x35')]=qs[_0xc4e8('0x36')](_0x19e42e[_0xc4e8('0x2d')][_0xc4e8('0x36')]);_0x2bd997[_0xc4e8('0x37')]=qs['filters'](_[_0xc4e8('0x38')](_0x19e42e['query'],_0x2d4e3f[_0xc4e8('0x2e')]),_0x40bf37);if(_0x19e42e['query'][_0xc4e8('0x39')]){_0x2bd997['where']=_['merge'](_0x2bd997[_0xc4e8('0x37')],{'$or':_[_0xc4e8('0x28')](_0x40bf37,function(_0x52f5bb){if(_0x52f5bb['type']!==_0xc4e8('0x3a')){var _0x370e40={};_0x370e40[_0x52f5bb[_0xc4e8('0x25')]]={'$like':'%'+_0x19e42e[_0xc4e8('0x2d')][_0xc4e8('0x39')]+'%'};return _0x370e40;}})});}_0x2bd997=_[_0xc4e8('0x3b')]({},_0x2bd997,_0x19e42e['options']);var _0x3151ba={'where':_0x2bd997[_0xc4e8('0x37')]};return db[_0xc4e8('0x29')][_0xc4e8('0x17')](_0x3151ba)[_0xc4e8('0x21')](function(_0x181067){_0x1a4429[_0xc4e8('0x17')]=_0x181067;if(_0x19e42e[_0xc4e8('0x2d')][_0xc4e8('0x3c')]){_0x2bd997[_0xc4e8('0x3d')]=[{'all':!![]}];}return db[_0xc4e8('0x29')]['findAll'](_0x2bd997);})[_0xc4e8('0x21')](function(_0x4cc54f){_0x1a4429[_0xc4e8('0x3e')]=_0x4cc54f;return _0x1a4429;})[_0xc4e8('0x21')](respondWithFilteredResult(_0x5d92fc,_0x2bd997))[_0xc4e8('0x3f')](handleError(_0x5d92fc,null));};exports[_0xc4e8('0x40')]=function(_0xf8c7f2,_0x3f960b){var _0x1f7734={'raw':!![],'where':{'id':_0xf8c7f2[_0xc4e8('0x41')]['id']}},_0x410a9d={};_0x410a9d[_0xc4e8('0x2c')]=_['keys'](db[_0xc4e8('0x29')]['rawAttributes']);_0x410a9d[_0xc4e8('0x2d')]=_[_0xc4e8('0x42')](_0xf8c7f2[_0xc4e8('0x2d')]);_0x410a9d['filters']=_[_0xc4e8('0x2f')](_0x410a9d[_0xc4e8('0x2c')],_0x410a9d['query']);_0x1f7734[_0xc4e8('0x30')]=_[_0xc4e8('0x2f')](_0x410a9d[_0xc4e8('0x2c')],qs[_0xc4e8('0x31')](_0xf8c7f2['query'][_0xc4e8('0x31')]));_0x1f7734['attributes']=_0x1f7734['attributes'][_0xc4e8('0x32')]?_0x1f7734['attributes']:_0x410a9d[_0xc4e8('0x2c')];if(_0xf8c7f2['query'][_0xc4e8('0x3c')]){_0x1f7734[_0xc4e8('0x3d')]=[{'all':!![]}];}_0x1f7734=_[_0xc4e8('0x3b')]({},_0x1f7734,_0xf8c7f2['options']);return db[_0xc4e8('0x29')][_0xc4e8('0x43')](_0x1f7734)[_0xc4e8('0x21')](handleEntityNotFound(_0x3f960b,null))[_0xc4e8('0x21')](respondWithResult(_0x3f960b,null))['catch'](handleError(_0x3f960b,null));};exports[_0xc4e8('0x44')]=function(_0x147826,_0xf701a6){return db['Dynamics365Field'][_0xc4e8('0x44')](_0x147826['body'],{})[_0xc4e8('0x21')](respondWithResult(_0xf701a6,0xc9))[_0xc4e8('0x3f')](handleError(_0xf701a6,null));};exports['update']=function(_0x19607e,_0x2dd314){if(_0x19607e[_0xc4e8('0x45')]['id']){delete _0x19607e['body']['id'];}return db['Dynamics365Field'][_0xc4e8('0x43')]({'where':{'id':_0x19607e[_0xc4e8('0x41')]['id']}})[_0xc4e8('0x21')](handleEntityNotFound(_0x2dd314,null))[_0xc4e8('0x21')](saveUpdates(_0x19607e[_0xc4e8('0x45')],null))['then'](respondWithResult(_0x2dd314,null))['catch'](handleError(_0x2dd314,null));};exports[_0xc4e8('0x20')]=function(_0xc25719,_0x366c9d){return db[_0xc4e8('0x29')][_0xc4e8('0x43')]({'where':{'id':_0xc25719[_0xc4e8('0x41')]['id']}})[_0xc4e8('0x21')](handleEntityNotFound(_0x366c9d,null))[_0xc4e8('0x21')](removeEntity(_0x366c9d,null))[_0xc4e8('0x3f')](handleError(_0x366c9d,null));};