c076aa8e3ecbc2db3770a71316bfc1b2e826d295
[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 _0xfc65=['length','hasOwnProperty','sort','pick','where','merge','VIRTUAL','filter','options','includeAll','include','findAll','rows','catch','show','params','create','body','find','html-pdf','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','util','path','sox','to-csv','ejs','lodash','squel','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','api','../../config/environment','../../mysqldb','sendStatus','status','end','json','count','offset','limit','set','apply','reject','save','update','then','destroy','error','stack','name','send','index','Dynamics365Field','rawAttributes','fieldName','type','key','model','map','keys','filters','intersection','query','attributes','fields'];(function(_0x20a584,_0xe384a5){var _0x4b41a8=function(_0x2127c6){while(--_0x2127c6){_0x20a584['push'](_0x20a584['shift']());}};_0x4b41a8(++_0xe384a5);}(_0xfc65,0x1e1));var _0x5fc6=function(_0x506849,_0x260d8e){_0x506849=_0x506849-0x0;var _0x3a7670=_0xfc65[_0x506849];return _0x3a7670;};'use strict';var pdf=require(_0x5fc6('0x0'));var emlformat=require('eml-format');var rimraf=require('rimraf');var zipdir=require(_0x5fc6('0x1'));var jsonpatch=require(_0x5fc6('0x2'));var rp=require(_0x5fc6('0x3'));var moment=require(_0x5fc6('0x4'));var BPromise=require(_0x5fc6('0x5'));var Mustache=require(_0x5fc6('0x6'));var util=require(_0x5fc6('0x7'));var path=require(_0x5fc6('0x8'));var sox=require(_0x5fc6('0x9'));var csv=require(_0x5fc6('0xa'));var ejs=require(_0x5fc6('0xb'));var fs=require('fs');var _=require(_0x5fc6('0xc'));var squel=require(_0x5fc6('0xd'));var crypto=require('crypto');var jsforce=require(_0x5fc6('0xe'));var deskjs=require(_0x5fc6('0xf'));var toCsv=require(_0x5fc6('0xa'));var querystring=require(_0x5fc6('0x10'));var Papa=require(_0x5fc6('0x11'));var Redis=require(_0x5fc6('0x12'));var authService=require(_0x5fc6('0x13'));var qs=require(_0x5fc6('0x14'));var as=require(_0x5fc6('0x15'));var hardwareService=require(_0x5fc6('0x16'));var logger=require('../../config/logger')(_0x5fc6('0x17'));var utils=require('../../config/utils');var config=require(_0x5fc6('0x18'));var db=require(_0x5fc6('0x19'))['db'];function respondWithStatusCode(_0x454a44,_0x1dd2d6){_0x1dd2d6=_0x1dd2d6||0xcc;return function(_0x5084b1){if(_0x5084b1){return _0x454a44[_0x5fc6('0x1a')](_0x1dd2d6);}return _0x454a44[_0x5fc6('0x1b')](_0x1dd2d6)[_0x5fc6('0x1c')]();};}function respondWithResult(_0x9c2986,_0x436a0c){_0x436a0c=_0x436a0c||0xc8;return function(_0x26d865){if(_0x26d865){return _0x9c2986[_0x5fc6('0x1b')](_0x436a0c)[_0x5fc6('0x1d')](_0x26d865);}};}function respondWithFilteredResult(_0x1daf72,_0xcf2718){return function(_0x54f153){if(_0x54f153){var _0x4ec722=_0x54f153[_0x5fc6('0x1e')],_0x3b35b2=_0xcf2718[_0x5fc6('0x1f')],_0x45f10e=_0xcf2718[_0x5fc6('0x1f')]+_0xcf2718[_0x5fc6('0x20')],_0x5cb1c7;if(_0x45f10e>=_0x4ec722){_0x45f10e=_0x4ec722;_0x5cb1c7=0xc8;}else{_0x5cb1c7=0xce;}_0x1daf72[_0x5fc6('0x1b')](_0x5cb1c7);return _0x1daf72[_0x5fc6('0x21')]('Content-Range',_0x3b35b2+'-'+_0x45f10e+'/'+_0x4ec722)[_0x5fc6('0x1d')](_0x54f153);}return null;};}function patchUpdates(_0x4363c1){return function(_0x303995){try{jsonpatch[_0x5fc6('0x22')](_0x303995,_0x4363c1,!![]);}catch(_0x5c76e7){return BPromise[_0x5fc6('0x23')](_0x5c76e7);}return _0x303995[_0x5fc6('0x24')]();};}function saveUpdates(_0x3f8414,_0x23c41e){return function(_0x793fbb){if(_0x793fbb){return _0x793fbb[_0x5fc6('0x25')](_0x3f8414)[_0x5fc6('0x26')](function(_0x17fcb1){return _0x17fcb1;});}return null;};}function removeEntity(_0xfd8379,_0x2f4179){return function(_0x5ed932){if(_0x5ed932){return _0x5ed932[_0x5fc6('0x27')]()[_0x5fc6('0x26')](function(){_0xfd8379[_0x5fc6('0x1b')](0xcc)[_0x5fc6('0x1c')]();});}};}function handleEntityNotFound(_0x34a639,_0x1480a3){return function(_0xb7946){if(!_0xb7946){_0x34a639[_0x5fc6('0x1a')](0x194);}return _0xb7946;};}function handleError(_0x4e4029,_0x122890){_0x122890=_0x122890||0x1f4;return function(_0x18e553){logger[_0x5fc6('0x28')](_0x18e553[_0x5fc6('0x29')]);if(_0x18e553[_0x5fc6('0x2a')]){delete _0x18e553[_0x5fc6('0x2a')];}_0x4e4029['status'](_0x122890)[_0x5fc6('0x2b')](_0x18e553);};}exports[_0x5fc6('0x2c')]=function(_0x57d44e,_0x3355b3){var _0x3d7099={},_0x1f2d56={},_0x19d630={'count':0x0,'rows':[]};var _0x2abeeb=_['map'](db[_0x5fc6('0x2d')][_0x5fc6('0x2e')],function(_0x21066b){return{'name':_0x21066b[_0x5fc6('0x2f')],'type':_0x21066b[_0x5fc6('0x30')][_0x5fc6('0x31')]};});_0x1f2d56[_0x5fc6('0x32')]=_[_0x5fc6('0x33')](_0x2abeeb,_0x5fc6('0x2a'));_0x1f2d56['query']=_[_0x5fc6('0x34')](_0x57d44e['query']);_0x1f2d56[_0x5fc6('0x35')]=_[_0x5fc6('0x36')](_0x1f2d56[_0x5fc6('0x32')],_0x1f2d56[_0x5fc6('0x37')]);_0x3d7099[_0x5fc6('0x38')]=_['intersection'](_0x1f2d56[_0x5fc6('0x32')],qs[_0x5fc6('0x39')](_0x57d44e[_0x5fc6('0x37')][_0x5fc6('0x39')]));_0x3d7099[_0x5fc6('0x38')]=_0x3d7099[_0x5fc6('0x38')][_0x5fc6('0x3a')]?_0x3d7099[_0x5fc6('0x38')]:_0x1f2d56['model'];if(!_0x57d44e[_0x5fc6('0x37')][_0x5fc6('0x3b')]('nolimit')){_0x3d7099['limit']=qs[_0x5fc6('0x20')](_0x57d44e[_0x5fc6('0x37')]['limit']);_0x3d7099[_0x5fc6('0x1f')]=qs[_0x5fc6('0x1f')](_0x57d44e[_0x5fc6('0x37')][_0x5fc6('0x1f')]);}_0x3d7099['order']=qs['sort'](_0x57d44e[_0x5fc6('0x37')][_0x5fc6('0x3c')]);_0x3d7099['where']=qs['filters'](_[_0x5fc6('0x3d')](_0x57d44e[_0x5fc6('0x37')],_0x1f2d56['filters']));if(_0x57d44e[_0x5fc6('0x37')]['filter']){_0x3d7099[_0x5fc6('0x3e')]=_[_0x5fc6('0x3f')](_0x3d7099[_0x5fc6('0x3e')],{'$or':_[_0x5fc6('0x33')](_0x2abeeb,function(_0x51fe4f){if(_0x51fe4f[_0x5fc6('0x30')]!==_0x5fc6('0x40')){var _0x79893b={};_0x79893b[_0x51fe4f[_0x5fc6('0x2a')]]={'$like':'%'+_0x57d44e[_0x5fc6('0x37')][_0x5fc6('0x41')]+'%'};return _0x79893b;}})});}_0x3d7099=_['merge']({},_0x3d7099,_0x57d44e[_0x5fc6('0x42')]);var _0x586cab={'where':_0x3d7099[_0x5fc6('0x3e')]};return db[_0x5fc6('0x2d')]['count'](_0x586cab)[_0x5fc6('0x26')](function(_0x2dc117){_0x19d630['count']=_0x2dc117;if(_0x57d44e['query'][_0x5fc6('0x43')]){_0x3d7099[_0x5fc6('0x44')]=[{'all':!![]}];}return db[_0x5fc6('0x2d')][_0x5fc6('0x45')](_0x3d7099);})[_0x5fc6('0x26')](function(_0x1b6d1a){_0x19d630[_0x5fc6('0x46')]=_0x1b6d1a;return _0x19d630;})[_0x5fc6('0x26')](respondWithFilteredResult(_0x3355b3,_0x3d7099))[_0x5fc6('0x47')](handleError(_0x3355b3,null));};exports[_0x5fc6('0x48')]=function(_0x326956,_0x58cfed){var _0xa5a2a8={'raw':!![],'where':{'id':_0x326956[_0x5fc6('0x49')]['id']}},_0x28b817={};_0x28b817[_0x5fc6('0x32')]=_[_0x5fc6('0x34')](db['Dynamics365Field']['rawAttributes']);_0x28b817['query']=_[_0x5fc6('0x34')](_0x326956[_0x5fc6('0x37')]);_0x28b817[_0x5fc6('0x35')]=_[_0x5fc6('0x36')](_0x28b817['model'],_0x28b817[_0x5fc6('0x37')]);_0xa5a2a8[_0x5fc6('0x38')]=_[_0x5fc6('0x36')](_0x28b817[_0x5fc6('0x32')],qs[_0x5fc6('0x39')](_0x326956[_0x5fc6('0x37')]['fields']));_0xa5a2a8[_0x5fc6('0x38')]=_0xa5a2a8['attributes']['length']?_0xa5a2a8['attributes']:_0x28b817[_0x5fc6('0x32')];if(_0x326956['query'][_0x5fc6('0x43')]){_0xa5a2a8[_0x5fc6('0x44')]=[{'all':!![]}];}_0xa5a2a8=_[_0x5fc6('0x3f')]({},_0xa5a2a8,_0x326956['options']);return db[_0x5fc6('0x2d')]['find'](_0xa5a2a8)[_0x5fc6('0x26')](handleEntityNotFound(_0x58cfed,null))[_0x5fc6('0x26')](respondWithResult(_0x58cfed,null))['catch'](handleError(_0x58cfed,null));};exports[_0x5fc6('0x4a')]=function(_0x4c98f3,_0x193f32){return db[_0x5fc6('0x2d')][_0x5fc6('0x4a')](_0x4c98f3[_0x5fc6('0x4b')],{})['then'](respondWithResult(_0x193f32,0xc9))[_0x5fc6('0x47')](handleError(_0x193f32,null));};exports[_0x5fc6('0x25')]=function(_0x23a6a3,_0x37f30d){if(_0x23a6a3['body']['id']){delete _0x23a6a3[_0x5fc6('0x4b')]['id'];}return db[_0x5fc6('0x2d')][_0x5fc6('0x4c')]({'where':{'id':_0x23a6a3[_0x5fc6('0x49')]['id']}})[_0x5fc6('0x26')](handleEntityNotFound(_0x37f30d,null))[_0x5fc6('0x26')](saveUpdates(_0x23a6a3[_0x5fc6('0x4b')],null))['then'](respondWithResult(_0x37f30d,null))[_0x5fc6('0x47')](handleError(_0x37f30d,null));};exports[_0x5fc6('0x27')]=function(_0x1ecaaa,_0x4c4c5f){return db[_0x5fc6('0x2d')][_0x5fc6('0x4c')]({'where':{'id':_0x1ecaaa[_0x5fc6('0x49')]['id']}})[_0x5fc6('0x26')](handleEntityNotFound(_0x4c4c5f,null))[_0x5fc6('0x26')](removeEntity(_0x4c4c5f,null))[_0x5fc6('0x47')](handleError(_0x4c4c5f,null));};