a2b6652eaa08fad29a4829b700ebc60485269681
[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 _0xa8dd=['../../config/utils','../../config/environment','sendStatus','status','end','json','count','offset','limit','apply','reject','save','update','destroy','error','name','send','index','rawAttributes','fieldName','type','key','model','map','query','filters','intersection','attributes','fields','hasOwnProperty','nolimit','sort','where','pick','filter','merge','VIRTUAL','then','includeAll','include','Dynamics365Field','rows','catch','show','params','keys','length','find','create','body','html-pdf','zip-dir','request-promise','bluebird','util','sox','to-csv','ejs','crypto','jsforce','querystring','papaparse','ioredis','../../components/auth/service','../../config/logger','api'];(function(_0x29facf,_0x15970a){var _0x4f1989=function(_0x413822){while(--_0x413822){_0x29facf['push'](_0x29facf['shift']());}};_0x4f1989(++_0x15970a);}(_0xa8dd,0x13a));var _0xda8d=function(_0x4441b1,_0x17bf98){_0x4441b1=_0x4441b1-0x0;var _0x3d510f=_0xa8dd[_0x4441b1];return _0x3d510f;};'use strict';var pdf=require(_0xda8d('0x0'));var emlformat=require('eml-format');var rimraf=require('rimraf');var zipdir=require(_0xda8d('0x1'));var jsonpatch=require('fast-json-patch');var rp=require(_0xda8d('0x2'));var moment=require('moment');var BPromise=require(_0xda8d('0x3'));var Mustache=require('mustache');var util=require(_0xda8d('0x4'));var path=require('path');var sox=require(_0xda8d('0x5'));var csv=require(_0xda8d('0x6'));var ejs=require(_0xda8d('0x7'));var fs=require('fs');var _=require('lodash');var squel=require('squel');var crypto=require(_0xda8d('0x8'));var jsforce=require(_0xda8d('0x9'));var deskjs=require('desk.js');var toCsv=require(_0xda8d('0x6'));var querystring=require(_0xda8d('0xa'));var Papa=require(_0xda8d('0xb'));var Redis=require(_0xda8d('0xc'));var authService=require(_0xda8d('0xd'));var qs=require('../../components/parsers/qs');var as=require('../../components/parsers/advancedSearch');var hardwareService=require('../../config/license/hardware');var logger=require(_0xda8d('0xe'))(_0xda8d('0xf'));var utils=require(_0xda8d('0x10'));var config=require(_0xda8d('0x11'));var licenseUtil=require('../../config/license/util');var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x6f091f,_0x10efda){_0x10efda=_0x10efda||0xcc;return function(_0x4b8336){if(_0x4b8336){return _0x6f091f[_0xda8d('0x12')](_0x10efda);}return _0x6f091f[_0xda8d('0x13')](_0x10efda)[_0xda8d('0x14')]();};}function respondWithResult(_0x3e8fa3,_0x2dc270){_0x2dc270=_0x2dc270||0xc8;return function(_0x3b842e){if(_0x3b842e){return _0x3e8fa3[_0xda8d('0x13')](_0x2dc270)[_0xda8d('0x15')](_0x3b842e);}};}function respondWithFilteredResult(_0x63e608,_0x911fc7){return function(_0x55d423){if(_0x55d423){var _0x27ee60=_0x55d423[_0xda8d('0x16')],_0x2205cb=_0x911fc7[_0xda8d('0x17')],_0x848612=_0x911fc7[_0xda8d('0x17')]+_0x911fc7[_0xda8d('0x18')],_0x3233ee;if(_0x848612>=_0x27ee60){_0x848612=_0x27ee60;_0x3233ee=0xc8;}else{_0x3233ee=0xce;}_0x63e608['status'](_0x3233ee);return _0x63e608['set']('Content-Range',_0x2205cb+'-'+_0x848612+'/'+_0x27ee60)[_0xda8d('0x15')](_0x55d423);}return null;};}function patchUpdates(_0x3553ba){return function(_0x11a0ea){try{jsonpatch[_0xda8d('0x19')](_0x11a0ea,_0x3553ba,!![]);}catch(_0x400668){return BPromise[_0xda8d('0x1a')](_0x400668);}return _0x11a0ea[_0xda8d('0x1b')]();};}function saveUpdates(_0x5076cd,_0x3438fa){return function(_0x37afb5){if(_0x37afb5){return _0x37afb5[_0xda8d('0x1c')](_0x5076cd)['then'](function(_0x5444ca){return _0x5444ca;});}return null;};}function removeEntity(_0x376588,_0x42b816){return function(_0x431040){if(_0x431040){return _0x431040[_0xda8d('0x1d')]()['then'](function(){_0x376588[_0xda8d('0x13')](0xcc)['end']();});}};}function handleEntityNotFound(_0x5655dc,_0x3c3b68){return function(_0x5e61ad){if(!_0x5e61ad){_0x5655dc[_0xda8d('0x12')](0x194);}return _0x5e61ad;};}function handleError(_0x973301,_0x4335d3){_0x4335d3=_0x4335d3||0x1f4;return function(_0x1e163d){logger[_0xda8d('0x1e')](_0x1e163d['stack']);if(_0x1e163d[_0xda8d('0x1f')]){delete _0x1e163d['name'];}_0x973301[_0xda8d('0x13')](_0x4335d3)[_0xda8d('0x20')](_0x1e163d);};}exports[_0xda8d('0x21')]=function(_0x30d88e,_0x115870){var _0x343b70={},_0x579a40={},_0x441a24={'count':0x0,'rows':[]};var _0x5411f8=_['map'](db['Dynamics365Field'][_0xda8d('0x22')],function(_0x3243c7){return{'name':_0x3243c7[_0xda8d('0x23')],'type':_0x3243c7[_0xda8d('0x24')][_0xda8d('0x25')]};});_0x579a40[_0xda8d('0x26')]=_[_0xda8d('0x27')](_0x5411f8,_0xda8d('0x1f'));_0x579a40[_0xda8d('0x28')]=_['keys'](_0x30d88e[_0xda8d('0x28')]);_0x579a40[_0xda8d('0x29')]=_[_0xda8d('0x2a')](_0x579a40['model'],_0x579a40[_0xda8d('0x28')]);_0x343b70[_0xda8d('0x2b')]=_['intersection'](_0x579a40[_0xda8d('0x26')],qs[_0xda8d('0x2c')](_0x30d88e[_0xda8d('0x28')]['fields']));_0x343b70[_0xda8d('0x2b')]=_0x343b70[_0xda8d('0x2b')]['length']?_0x343b70[_0xda8d('0x2b')]:_0x579a40[_0xda8d('0x26')];if(!_0x30d88e[_0xda8d('0x28')][_0xda8d('0x2d')](_0xda8d('0x2e'))){_0x343b70[_0xda8d('0x18')]=qs['limit'](_0x30d88e['query'][_0xda8d('0x18')]);_0x343b70[_0xda8d('0x17')]=qs[_0xda8d('0x17')](_0x30d88e[_0xda8d('0x28')][_0xda8d('0x17')]);}_0x343b70['order']=qs[_0xda8d('0x2f')](_0x30d88e[_0xda8d('0x28')][_0xda8d('0x2f')]);_0x343b70[_0xda8d('0x30')]=qs['filters'](_[_0xda8d('0x31')](_0x30d88e[_0xda8d('0x28')],_0x579a40[_0xda8d('0x29')]),_0x5411f8);if(_0x30d88e[_0xda8d('0x28')][_0xda8d('0x32')]){_0x343b70[_0xda8d('0x30')]=_[_0xda8d('0x33')](_0x343b70[_0xda8d('0x30')],{'$or':_['map'](_0x5411f8,function(_0x5f40a0){if(_0x5f40a0[_0xda8d('0x24')]!==_0xda8d('0x34')){var _0xf2a424={};_0xf2a424[_0x5f40a0['name']]={'$like':'%'+_0x30d88e[_0xda8d('0x28')]['filter']+'%'};return _0xf2a424;}})});}_0x343b70=_[_0xda8d('0x33')]({},_0x343b70,_0x30d88e['options']);var _0x1dc708={'where':_0x343b70[_0xda8d('0x30')]};return db['Dynamics365Field'][_0xda8d('0x16')](_0x1dc708)[_0xda8d('0x35')](function(_0x3fb85b){_0x441a24[_0xda8d('0x16')]=_0x3fb85b;if(_0x30d88e[_0xda8d('0x28')][_0xda8d('0x36')]){_0x343b70[_0xda8d('0x37')]=[{'all':!![]}];}return db[_0xda8d('0x38')]['findAll'](_0x343b70);})[_0xda8d('0x35')](function(_0x51ceaa){_0x441a24[_0xda8d('0x39')]=_0x51ceaa;return _0x441a24;})['then'](respondWithFilteredResult(_0x115870,_0x343b70))[_0xda8d('0x3a')](handleError(_0x115870,null));};exports[_0xda8d('0x3b')]=function(_0x13197a,_0x3c3b44){var _0x35daca={'raw':!![],'where':{'id':_0x13197a[_0xda8d('0x3c')]['id']}},_0x3f3de9={};_0x3f3de9['model']=_[_0xda8d('0x3d')](db[_0xda8d('0x38')][_0xda8d('0x22')]);_0x3f3de9[_0xda8d('0x28')]=_[_0xda8d('0x3d')](_0x13197a[_0xda8d('0x28')]);_0x3f3de9[_0xda8d('0x29')]=_[_0xda8d('0x2a')](_0x3f3de9[_0xda8d('0x26')],_0x3f3de9[_0xda8d('0x28')]);_0x35daca[_0xda8d('0x2b')]=_['intersection'](_0x3f3de9[_0xda8d('0x26')],qs[_0xda8d('0x2c')](_0x13197a[_0xda8d('0x28')][_0xda8d('0x2c')]));_0x35daca[_0xda8d('0x2b')]=_0x35daca[_0xda8d('0x2b')][_0xda8d('0x3e')]?_0x35daca[_0xda8d('0x2b')]:_0x3f3de9[_0xda8d('0x26')];if(_0x13197a['query'][_0xda8d('0x36')]){_0x35daca[_0xda8d('0x37')]=[{'all':!![]}];}_0x35daca=_['merge']({},_0x35daca,_0x13197a['options']);return db[_0xda8d('0x38')][_0xda8d('0x3f')](_0x35daca)[_0xda8d('0x35')](handleEntityNotFound(_0x3c3b44,null))['then'](respondWithResult(_0x3c3b44,null))[_0xda8d('0x3a')](handleError(_0x3c3b44,null));};exports[_0xda8d('0x40')]=function(_0x11348f,_0x54980f){return db[_0xda8d('0x38')][_0xda8d('0x40')](_0x11348f[_0xda8d('0x41')],{})[_0xda8d('0x35')](respondWithResult(_0x54980f,0xc9))[_0xda8d('0x3a')](handleError(_0x54980f,null));};exports[_0xda8d('0x1c')]=function(_0x3174a0,_0x106fad){if(_0x3174a0['body']['id']){delete _0x3174a0[_0xda8d('0x41')]['id'];}return db['Dynamics365Field'][_0xda8d('0x3f')]({'where':{'id':_0x3174a0[_0xda8d('0x3c')]['id']}})['then'](handleEntityNotFound(_0x106fad,null))['then'](saveUpdates(_0x3174a0[_0xda8d('0x41')],null))[_0xda8d('0x35')](respondWithResult(_0x106fad,null))[_0xda8d('0x3a')](handleError(_0x106fad,null));};exports[_0xda8d('0x1d')]=function(_0x3e3108,_0x1cbb8f){return db[_0xda8d('0x38')][_0xda8d('0x3f')]({'where':{'id':_0x3e3108['params']['id']}})['then'](handleEntityNotFound(_0x1cbb8f,null))[_0xda8d('0x35')](removeEntity(_0x1cbb8f,null))['catch'](handleError(_0x1cbb8f,null));};