05f7ee54ef8e7f14d0434b5f52f1b95cc6a3f032
[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 _0xfacc=['path','sox','to-csv','squel','jsforce','desk.js','querystring','papaparse','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../mysqldb','sendStatus','end','status','json','count','offset','limit','set','Content-Range','apply','save','update','then','destroy','error','stack','name','index','rawAttributes','fieldName','key','model','query','keys','filters','attributes','intersection','fields','length','hasOwnProperty','nolimit','order','sort','where','pick','merge','map','filter','Dynamics365Field','includeAll','include','findAll','rows','catch','show','options','find','create','body','params','rimraf','zip-dir','request-promise','moment','bluebird','mustache'];(function(_0x4dca38,_0x5dfae1){var _0x44656c=function(_0x538a62){while(--_0x538a62){_0x4dca38['push'](_0x4dca38['shift']());}};_0x44656c(++_0x5dfae1);}(_0xfacc,0x8a));var _0xcfac=function(_0xb8e44,_0x2a6a20){_0xb8e44=_0xb8e44-0x0;var _0x3dbb16=_0xfacc[_0xb8e44];return _0x3dbb16;};'use strict';var pdf=require('html-pdf');var emlformat=require('eml-format');var rimraf=require(_0xcfac('0x0'));var zipdir=require(_0xcfac('0x1'));var jsonpatch=require('fast-json-patch');var rp=require(_0xcfac('0x2'));var moment=require(_0xcfac('0x3'));var BPromise=require(_0xcfac('0x4'));var Mustache=require(_0xcfac('0x5'));var util=require('util');var path=require(_0xcfac('0x6'));var sox=require(_0xcfac('0x7'));var csv=require(_0xcfac('0x8'));var ejs=require('ejs');var fs=require('fs');var _=require('lodash');var squel=require(_0xcfac('0x9'));var crypto=require('crypto');var jsforce=require(_0xcfac('0xa'));var deskjs=require(_0xcfac('0xb'));var toCsv=require(_0xcfac('0x8'));var querystring=require(_0xcfac('0xc'));var Papa=require(_0xcfac('0xd'));var Redis=require('ioredis');var authService=require('../../components/auth/service');var qs=require(_0xcfac('0xe'));var as=require(_0xcfac('0xf'));var hardwareService=require(_0xcfac('0x10'));var logger=require(_0xcfac('0x11'))(_0xcfac('0x12'));var utils=require(_0xcfac('0x13'));var config=require(_0xcfac('0x14'));var db=require(_0xcfac('0x15'))['db'];function respondWithStatusCode(_0x37ac45,_0x20b82f){_0x20b82f=_0x20b82f||0xcc;return function(_0x1893a9){if(_0x1893a9){return _0x37ac45[_0xcfac('0x16')](_0x20b82f);}return _0x37ac45['status'](_0x20b82f)[_0xcfac('0x17')]();};}function respondWithResult(_0x282f87,_0x4a8ced){_0x4a8ced=_0x4a8ced||0xc8;return function(_0x3cce0f){if(_0x3cce0f){return _0x282f87[_0xcfac('0x18')](_0x4a8ced)[_0xcfac('0x19')](_0x3cce0f);}};}function respondWithFilteredResult(_0x191ce2,_0x556d42){return function(_0x35ddd5){if(_0x35ddd5){var _0x21ec5e=_0x35ddd5[_0xcfac('0x1a')],_0x38434a=_0x556d42[_0xcfac('0x1b')],_0x65af40=_0x556d42['offset']+_0x556d42[_0xcfac('0x1c')],_0x4d870f;if(_0x65af40>=_0x21ec5e){_0x65af40=_0x21ec5e;_0x4d870f=0xc8;}else{_0x4d870f=0xce;}_0x191ce2[_0xcfac('0x18')](_0x4d870f);return _0x191ce2[_0xcfac('0x1d')](_0xcfac('0x1e'),_0x38434a+'-'+_0x65af40+'/'+_0x21ec5e)[_0xcfac('0x19')](_0x35ddd5);}return null;};}function patchUpdates(_0x143187){return function(_0x153c92){try{jsonpatch[_0xcfac('0x1f')](_0x153c92,_0x143187,!![]);}catch(_0x2cc764){return BPromise['reject'](_0x2cc764);}return _0x153c92[_0xcfac('0x20')]();};}function saveUpdates(_0x36bc98,_0x10228b){return function(_0x37303d){if(_0x37303d){return _0x37303d[_0xcfac('0x21')](_0x36bc98)[_0xcfac('0x22')](function(_0x28a5f2){return _0x28a5f2;});}return null;};}function removeEntity(_0xeecc2f,_0x2f1d20){return function(_0x23a2fa){if(_0x23a2fa){return _0x23a2fa[_0xcfac('0x23')]()[_0xcfac('0x22')](function(){_0xeecc2f['status'](0xcc)[_0xcfac('0x17')]();});}};}function handleEntityNotFound(_0x2474a6,_0x26a4fd){return function(_0x2ee083){if(!_0x2ee083){_0x2474a6[_0xcfac('0x16')](0x194);}return _0x2ee083;};}function handleError(_0x320069,_0x56296f){_0x56296f=_0x56296f||0x1f4;return function(_0x279844){logger[_0xcfac('0x24')](_0x279844[_0xcfac('0x25')]);if(_0x279844[_0xcfac('0x26')]){delete _0x279844[_0xcfac('0x26')];}_0x320069[_0xcfac('0x18')](_0x56296f)['send'](_0x279844);};}exports[_0xcfac('0x27')]=function(_0xce4b3f,_0x2d89be){var _0x3216f0={},_0xa4e0bc={},_0x40d028={'count':0x0,'rows':[]};var _0x120fca=_['map'](db['Dynamics365Field'][_0xcfac('0x28')],function(_0x16a7e6){return{'name':_0x16a7e6[_0xcfac('0x29')],'type':_0x16a7e6['type'][_0xcfac('0x2a')]};});_0xa4e0bc[_0xcfac('0x2b')]=_['map'](_0x120fca,_0xcfac('0x26'));_0xa4e0bc[_0xcfac('0x2c')]=_[_0xcfac('0x2d')](_0xce4b3f['query']);_0xa4e0bc[_0xcfac('0x2e')]=_['intersection'](_0xa4e0bc[_0xcfac('0x2b')],_0xa4e0bc[_0xcfac('0x2c')]);_0x3216f0[_0xcfac('0x2f')]=_[_0xcfac('0x30')](_0xa4e0bc[_0xcfac('0x2b')],qs[_0xcfac('0x31')](_0xce4b3f['query']['fields']));_0x3216f0[_0xcfac('0x2f')]=_0x3216f0[_0xcfac('0x2f')][_0xcfac('0x32')]?_0x3216f0[_0xcfac('0x2f')]:_0xa4e0bc[_0xcfac('0x2b')];if(!_0xce4b3f[_0xcfac('0x2c')][_0xcfac('0x33')](_0xcfac('0x34'))){_0x3216f0[_0xcfac('0x1c')]=qs[_0xcfac('0x1c')](_0xce4b3f['query'][_0xcfac('0x1c')]);_0x3216f0[_0xcfac('0x1b')]=qs['offset'](_0xce4b3f['query'][_0xcfac('0x1b')]);}_0x3216f0[_0xcfac('0x35')]=qs['sort'](_0xce4b3f[_0xcfac('0x2c')][_0xcfac('0x36')]);_0x3216f0[_0xcfac('0x37')]=qs[_0xcfac('0x2e')](_[_0xcfac('0x38')](_0xce4b3f[_0xcfac('0x2c')],_0xa4e0bc[_0xcfac('0x2e')]),_0x120fca);if(_0xce4b3f[_0xcfac('0x2c')]['filter']){_0x3216f0[_0xcfac('0x37')]=_[_0xcfac('0x39')](_0x3216f0[_0xcfac('0x37')],{'$or':_[_0xcfac('0x3a')](_0x120fca,function(_0x496603){if(_0x496603['type']!=='VIRTUAL'){var _0x14c58c={};_0x14c58c[_0x496603[_0xcfac('0x26')]]={'$like':'%'+_0xce4b3f['query'][_0xcfac('0x3b')]+'%'};return _0x14c58c;}})});}_0x3216f0=_[_0xcfac('0x39')]({},_0x3216f0,_0xce4b3f['options']);var _0x2b30be={'where':_0x3216f0['where']};return db[_0xcfac('0x3c')][_0xcfac('0x1a')](_0x2b30be)[_0xcfac('0x22')](function(_0x218272){_0x40d028[_0xcfac('0x1a')]=_0x218272;if(_0xce4b3f[_0xcfac('0x2c')][_0xcfac('0x3d')]){_0x3216f0[_0xcfac('0x3e')]=[{'all':!![]}];}return db[_0xcfac('0x3c')][_0xcfac('0x3f')](_0x3216f0);})[_0xcfac('0x22')](function(_0x1ac17c){_0x40d028[_0xcfac('0x40')]=_0x1ac17c;return _0x40d028;})[_0xcfac('0x22')](respondWithFilteredResult(_0x2d89be,_0x3216f0))[_0xcfac('0x41')](handleError(_0x2d89be,null));};exports[_0xcfac('0x42')]=function(_0x47127e,_0x1d5787){var _0x342eab={'raw':!![],'where':{'id':_0x47127e['params']['id']}},_0x107d8b={};_0x107d8b['model']=_['keys'](db[_0xcfac('0x3c')]['rawAttributes']);_0x107d8b['query']=_[_0xcfac('0x2d')](_0x47127e[_0xcfac('0x2c')]);_0x107d8b[_0xcfac('0x2e')]=_[_0xcfac('0x30')](_0x107d8b[_0xcfac('0x2b')],_0x107d8b['query']);_0x342eab[_0xcfac('0x2f')]=_[_0xcfac('0x30')](_0x107d8b['model'],qs[_0xcfac('0x31')](_0x47127e[_0xcfac('0x2c')][_0xcfac('0x31')]));_0x342eab[_0xcfac('0x2f')]=_0x342eab[_0xcfac('0x2f')][_0xcfac('0x32')]?_0x342eab[_0xcfac('0x2f')]:_0x107d8b[_0xcfac('0x2b')];if(_0x47127e[_0xcfac('0x2c')]['includeAll']){_0x342eab[_0xcfac('0x3e')]=[{'all':!![]}];}_0x342eab=_['merge']({},_0x342eab,_0x47127e[_0xcfac('0x43')]);return db['Dynamics365Field'][_0xcfac('0x44')](_0x342eab)['then'](handleEntityNotFound(_0x1d5787,null))[_0xcfac('0x22')](respondWithResult(_0x1d5787,null))['catch'](handleError(_0x1d5787,null));};exports[_0xcfac('0x45')]=function(_0x8fe37,_0x509af1){return db[_0xcfac('0x3c')][_0xcfac('0x45')](_0x8fe37[_0xcfac('0x46')],{})[_0xcfac('0x22')](respondWithResult(_0x509af1,0xc9))[_0xcfac('0x41')](handleError(_0x509af1,null));};exports[_0xcfac('0x21')]=function(_0x1119d2,_0x210d17){if(_0x1119d2[_0xcfac('0x46')]['id']){delete _0x1119d2[_0xcfac('0x46')]['id'];}return db['Dynamics365Field'][_0xcfac('0x44')]({'where':{'id':_0x1119d2[_0xcfac('0x47')]['id']}})[_0xcfac('0x22')](handleEntityNotFound(_0x210d17,null))['then'](saveUpdates(_0x1119d2[_0xcfac('0x46')],null))[_0xcfac('0x22')](respondWithResult(_0x210d17,null))[_0xcfac('0x41')](handleError(_0x210d17,null));};exports[_0xcfac('0x23')]=function(_0x1a3deb,_0x491768){return db[_0xcfac('0x3c')][_0xcfac('0x44')]({'where':{'id':_0x1a3deb['params']['id']}})[_0xcfac('0x22')](handleEntityNotFound(_0x491768,null))[_0xcfac('0x22')](removeEntity(_0x491768,null))[_0xcfac('0x41')](handleError(_0x491768,null));};