1061f0f697bd1c14ea28b9a11a3b37693f1044e8
[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 _0xdb28=['update','destroy','then','error','stack','name','send','index','map','Dynamics365Field','rawAttributes','fieldName','type','model','query','keys','intersection','attributes','fields','length','hasOwnProperty','nolimit','order','sort','where','pick','filters','merge','options','includeAll','include','findAll','rows','catch','show','params','filtears','find','create','body','html-pdf','eml-format','rimraf','zip-dir','request-promise','moment','bluebird','mustache','util','sox','to-csv','squel','crypto','jsforce','desk.js','querystring','papaparse','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/logger','api','../../config/environment','../../config/license/util','../../mysqldb','status','end','json','count','offset','limit','set','apply','save'];(function(_0x557fda,_0x3b3e7e){var _0x18f4e9=function(_0x2d5ad5){while(--_0x2d5ad5){_0x557fda['push'](_0x557fda['shift']());}};_0x18f4e9(++_0x3b3e7e);}(_0xdb28,0x106));var _0x8db2=function(_0x3bb296,_0x3529bd){_0x3bb296=_0x3bb296-0x0;var _0x37be2c=_0xdb28[_0x3bb296];return _0x37be2c;};'use strict';var pdf=require(_0x8db2('0x0'));var emlformat=require(_0x8db2('0x1'));var rimraf=require(_0x8db2('0x2'));var zipdir=require(_0x8db2('0x3'));var jsonpatch=require('fast-json-patch');var rp=require(_0x8db2('0x4'));var moment=require(_0x8db2('0x5'));var BPromise=require(_0x8db2('0x6'));var Mustache=require(_0x8db2('0x7'));var util=require(_0x8db2('0x8'));var path=require('path');var sox=require(_0x8db2('0x9'));var csv=require(_0x8db2('0xa'));var ejs=require('ejs');var fs=require('fs');var _=require('lodash');var squel=require(_0x8db2('0xb'));var crypto=require(_0x8db2('0xc'));var jsforce=require(_0x8db2('0xd'));var deskjs=require(_0x8db2('0xe'));var toCsv=require(_0x8db2('0xa'));var querystring=require(_0x8db2('0xf'));var Papa=require(_0x8db2('0x10'));var Redis=require('ioredis');var authService=require(_0x8db2('0x11'));var qs=require(_0x8db2('0x12'));var as=require(_0x8db2('0x13'));var hardwareService=require('../../config/license/hardware');var logger=require(_0x8db2('0x14'))(_0x8db2('0x15'));var utils=require('../../config/utils');var config=require(_0x8db2('0x16'));var licenseUtil=require(_0x8db2('0x17'));var db=require(_0x8db2('0x18'))['db'];function respondWithStatusCode(_0x204f49,_0x37d017){_0x37d017=_0x37d017||0xcc;return function(_0x559fb1){if(_0x559fb1){return _0x204f49['sendStatus'](_0x37d017);}return _0x204f49[_0x8db2('0x19')](_0x37d017)[_0x8db2('0x1a')]();};}function respondWithResult(_0x350d61,_0x1d6a15){_0x1d6a15=_0x1d6a15||0xc8;return function(_0x227355){if(_0x227355){return _0x350d61[_0x8db2('0x19')](_0x1d6a15)[_0x8db2('0x1b')](_0x227355);}};}function respondWithFilteredResult(_0x3c96a7,_0x131252){return function(_0x16c8c2){if(_0x16c8c2){var _0x5489a9=_0x16c8c2[_0x8db2('0x1c')],_0x13b0f5=_0x131252[_0x8db2('0x1d')],_0x24da1b=_0x131252[_0x8db2('0x1d')]+_0x131252[_0x8db2('0x1e')],_0x48101e;if(_0x24da1b>=_0x5489a9){_0x24da1b=_0x5489a9;_0x48101e=0xc8;}else{_0x48101e=0xce;}_0x3c96a7[_0x8db2('0x19')](_0x48101e);return _0x3c96a7[_0x8db2('0x1f')]('Content-Range',_0x13b0f5+'-'+_0x24da1b+'/'+_0x5489a9)['json'](_0x16c8c2);}return null;};}function patchUpdates(_0x77789){return function(_0x104e33){try{jsonpatch[_0x8db2('0x20')](_0x104e33,_0x77789,!![]);}catch(_0x1b64e4){return BPromise['reject'](_0x1b64e4);}return _0x104e33[_0x8db2('0x21')]();};}function saveUpdates(_0x36a9ff,_0x260940){return function(_0x297ba3){if(_0x297ba3){return _0x297ba3[_0x8db2('0x22')](_0x36a9ff)['then'](function(_0x124467){return _0x124467;});}return null;};}function removeEntity(_0x3e30e6,_0x18f69c){return function(_0x125be2){if(_0x125be2){return _0x125be2[_0x8db2('0x23')]()[_0x8db2('0x24')](function(){_0x3e30e6[_0x8db2('0x19')](0xcc)['end']();});}};}function handleEntityNotFound(_0x256202,_0x4f6516){return function(_0x5725f0){if(!_0x5725f0){_0x256202['sendStatus'](0x194);}return _0x5725f0;};}function handleError(_0x4d923c,_0xec8cd2){_0xec8cd2=_0xec8cd2||0x1f4;return function(_0x29b5cd){logger[_0x8db2('0x25')](_0x29b5cd[_0x8db2('0x26')]);if(_0x29b5cd[_0x8db2('0x27')]){delete _0x29b5cd[_0x8db2('0x27')];}_0x4d923c['status'](_0xec8cd2)[_0x8db2('0x28')](_0x29b5cd);};}exports[_0x8db2('0x29')]=function(_0x430dd5,_0x8b7cec){var _0x483aee={},_0x2e0691={},_0x11f398={'count':0x0,'rows':[]};var _0x241baf=_[_0x8db2('0x2a')](db[_0x8db2('0x2b')][_0x8db2('0x2c')],function(_0xa54ea3){return{'name':_0xa54ea3[_0x8db2('0x2d')],'type':_0xa54ea3[_0x8db2('0x2e')]['key']};});_0x2e0691[_0x8db2('0x2f')]=_['map'](_0x241baf,'name');_0x2e0691[_0x8db2('0x30')]=_[_0x8db2('0x31')](_0x430dd5[_0x8db2('0x30')]);_0x2e0691['filters']=_[_0x8db2('0x32')](_0x2e0691['model'],_0x2e0691[_0x8db2('0x30')]);_0x483aee[_0x8db2('0x33')]=_[_0x8db2('0x32')](_0x2e0691['model'],qs['fields'](_0x430dd5[_0x8db2('0x30')][_0x8db2('0x34')]));_0x483aee['attributes']=_0x483aee['attributes'][_0x8db2('0x35')]?_0x483aee[_0x8db2('0x33')]:_0x2e0691[_0x8db2('0x2f')];if(!_0x430dd5[_0x8db2('0x30')][_0x8db2('0x36')](_0x8db2('0x37'))){_0x483aee[_0x8db2('0x1e')]=qs[_0x8db2('0x1e')](_0x430dd5[_0x8db2('0x30')][_0x8db2('0x1e')]);_0x483aee['offset']=qs[_0x8db2('0x1d')](_0x430dd5[_0x8db2('0x30')]['offset']);}_0x483aee[_0x8db2('0x38')]=qs[_0x8db2('0x39')](_0x430dd5['query']['sort']);_0x483aee[_0x8db2('0x3a')]=qs['filters'](_[_0x8db2('0x3b')](_0x430dd5[_0x8db2('0x30')],_0x2e0691[_0x8db2('0x3c')]),_0x241baf);if(_0x430dd5[_0x8db2('0x30')]['filter']){_0x483aee[_0x8db2('0x3a')]=_['merge'](_0x483aee[_0x8db2('0x3a')],{'$or':_[_0x8db2('0x2a')](_0x241baf,function(_0x2c8bc9){if(_0x2c8bc9[_0x8db2('0x2e')]!=='VIRTUAL'){var _0x50ee17={};_0x50ee17[_0x2c8bc9[_0x8db2('0x27')]]={'$like':'%'+_0x430dd5[_0x8db2('0x30')]['filter']+'%'};return _0x50ee17;}})});}_0x483aee=_[_0x8db2('0x3d')]({},_0x483aee,_0x430dd5[_0x8db2('0x3e')]);var _0x656dd2={'where':_0x483aee['where']};return db[_0x8db2('0x2b')][_0x8db2('0x1c')](_0x656dd2)[_0x8db2('0x24')](function(_0x279e74){_0x11f398[_0x8db2('0x1c')]=_0x279e74;if(_0x430dd5[_0x8db2('0x30')][_0x8db2('0x3f')]){_0x483aee[_0x8db2('0x40')]=[{'all':!![]}];}return db[_0x8db2('0x2b')][_0x8db2('0x41')](_0x483aee);})[_0x8db2('0x24')](function(_0x20bf0b){_0x11f398[_0x8db2('0x42')]=_0x20bf0b;return _0x11f398;})['then'](respondWithFilteredResult(_0x8b7cec,_0x483aee))[_0x8db2('0x43')](handleError(_0x8b7cec,null));};exports[_0x8db2('0x44')]=function(_0x5e0382,_0x49a7ae){var _0x249c73={'raw':!![],'where':{'id':_0x5e0382[_0x8db2('0x45')]['id']}},_0x4f1a49={};_0x4f1a49[_0x8db2('0x2f')]=_[_0x8db2('0x31')](db[_0x8db2('0x2b')][_0x8db2('0x2c')]);_0x4f1a49[_0x8db2('0x30')]=_[_0x8db2('0x31')](_0x5e0382['query']);_0x4f1a49[_0x8db2('0x46')]=_[_0x8db2('0x32')](_0x4f1a49[_0x8db2('0x2f')],_0x4f1a49[_0x8db2('0x30')]);_0x249c73['attributes']=_[_0x8db2('0x32')](_0x4f1a49[_0x8db2('0x2f')],qs[_0x8db2('0x34')](_0x5e0382[_0x8db2('0x30')]['fields']));_0x249c73[_0x8db2('0x33')]=_0x249c73['attributes'][_0x8db2('0x35')]?_0x249c73[_0x8db2('0x33')]:_0x4f1a49[_0x8db2('0x2f')];if(_0x5e0382['query']['includeAll']){_0x249c73[_0x8db2('0x40')]=[{'all':!![]}];}_0x249c73=_['merge']({},_0x249c73,_0x5e0382[_0x8db2('0x3e')]);return db[_0x8db2('0x2b')][_0x8db2('0x47')](_0x249c73)[_0x8db2('0x24')](handleEntityNotFound(_0x49a7ae,null))[_0x8db2('0x24')](respondWithResult(_0x49a7ae,null))[_0x8db2('0x43')](handleError(_0x49a7ae,null));};exports[_0x8db2('0x48')]=function(_0xab6bdd,_0x4291e3){return db[_0x8db2('0x2b')][_0x8db2('0x48')](_0xab6bdd[_0x8db2('0x49')],{})['then'](respondWithResult(_0x4291e3,0xc9))[_0x8db2('0x43')](handleError(_0x4291e3,null));};exports[_0x8db2('0x22')]=function(_0xdbba64,_0x3244db){if(_0xdbba64['body']['id']){delete _0xdbba64['body']['id'];}return db[_0x8db2('0x2b')][_0x8db2('0x47')]({'where':{'id':_0xdbba64[_0x8db2('0x45')]['id']}})['then'](handleEntityNotFound(_0x3244db,null))['then'](saveUpdates(_0xdbba64['body'],null))[_0x8db2('0x24')](respondWithResult(_0x3244db,null))[_0x8db2('0x43')](handleError(_0x3244db,null));};exports[_0x8db2('0x23')]=function(_0x383fa1,_0xaab731){return db[_0x8db2('0x2b')][_0x8db2('0x47')]({'where':{'id':_0x383fa1['params']['id']}})['then'](handleEntityNotFound(_0xaab731,null))[_0x8db2('0x24')](removeEntity(_0xaab731,null))[_0x8db2('0x43')](handleError(_0xaab731,null));};