86a5b469b7b4bd2b24829219291ddbf5f0c1aa5f
[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 _0x88b1=['sort','where','pick','filter','merge','VIRTUAL','options','Dynamics365Field','includeAll','include','rows','show','params','catch','create','body','update','find','zip-dir','moment','bluebird','mustache','util','to-csv','ejs','fs-extra','lodash','squel','jsforce','desk.js','ioredis','../../components/parsers/qs','../../config/license/hardware','../../config/logger','api','../../config/utils','../../mysqldb','sendStatus','status','end','offset','limit','undefined','count','set','json','apply','save','then','destroy','error','stack','name','send','index','fieldName','type','key','model','map','keys','query','filters','attributes','intersection','fields','length','hasOwnProperty','order'];(function(_0x3f9c5d,_0x283784){var _0x2f2c73=function(_0x22bb42){while(--_0x22bb42){_0x3f9c5d['push'](_0x3f9c5d['shift']());}};_0x2f2c73(++_0x283784);}(_0x88b1,0x126));var _0x188b=function(_0x15f978,_0x979ce7){_0x15f978=_0x15f978-0x0;var _0x2889b3=_0x88b1[_0x15f978];return _0x2889b3;};'use strict';var emlformat=require('eml-format');var rimraf=require('rimraf');var zipdir=require(_0x188b('0x0'));var jsonpatch=require('fast-json-patch');var rp=require('request-promise');var moment=require(_0x188b('0x1'));var BPromise=require(_0x188b('0x2'));var Mustache=require(_0x188b('0x3'));var util=require(_0x188b('0x4'));var path=require('path');var sox=require('sox');var csv=require(_0x188b('0x5'));var ejs=require(_0x188b('0x6'));var fs=require('fs');var fs_extra=require(_0x188b('0x7'));var _=require(_0x188b('0x8'));var squel=require(_0x188b('0x9'));var crypto=require('crypto');var jsforce=require(_0x188b('0xa'));var deskjs=require(_0x188b('0xb'));var toCsv=require(_0x188b('0x5'));var querystring=require('querystring');var Papa=require('papaparse');var Redis=require(_0x188b('0xc'));var authService=require('../../components/auth/service');var qs=require(_0x188b('0xd'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0x188b('0xe'));var logger=require(_0x188b('0xf'))(_0x188b('0x10'));var utils=require(_0x188b('0x11'));var config=require('../../config/environment');var licenseUtil=require('../../config/license/util');var db=require(_0x188b('0x12'))['db'];function respondWithStatusCode(_0x2294ac,_0x3f6786){_0x3f6786=_0x3f6786||0xcc;return function(_0x497288){if(_0x497288){return _0x2294ac[_0x188b('0x13')](_0x3f6786);}return _0x2294ac[_0x188b('0x14')](_0x3f6786)[_0x188b('0x15')]();};}function respondWithResult(_0x59ee78,_0x4166fa){_0x4166fa=_0x4166fa||0xc8;return function(_0x5178e3){if(_0x5178e3){return _0x59ee78[_0x188b('0x14')](_0x4166fa)['json'](_0x5178e3);}};}function respondWithFilteredResult(_0x42c3b1,_0x14c996){return function(_0x40e42e){if(_0x40e42e){var _0x2e9d5c=typeof _0x14c996[_0x188b('0x16')]==='undefined'&&typeof _0x14c996[_0x188b('0x17')]===_0x188b('0x18');var _0x22fd39=_0x40e42e['count'];var _0x203ab2=_0x2e9d5c?0x0:_0x14c996[_0x188b('0x16')];var _0x123dc5=_0x2e9d5c?_0x40e42e[_0x188b('0x19')]:_0x14c996[_0x188b('0x16')]+_0x14c996[_0x188b('0x17')];var _0x354e4a;if(_0x123dc5>=_0x22fd39){_0x123dc5=_0x22fd39;_0x354e4a=0xc8;}else{_0x354e4a=0xce;}_0x42c3b1[_0x188b('0x14')](_0x354e4a);return _0x42c3b1[_0x188b('0x1a')]('Content-Range',_0x203ab2+'-'+_0x123dc5+'/'+_0x22fd39)[_0x188b('0x1b')](_0x40e42e);}return null;};}function patchUpdates(_0x27bfe9){return function(_0x71b511){try{jsonpatch[_0x188b('0x1c')](_0x71b511,_0x27bfe9,!![]);}catch(_0x407760){return BPromise['reject'](_0x407760);}return _0x71b511[_0x188b('0x1d')]();};}function saveUpdates(_0x59c13b,_0x4c4829){return function(_0xf05ec2){if(_0xf05ec2){return _0xf05ec2['update'](_0x59c13b)[_0x188b('0x1e')](function(_0x40a445){return _0x40a445;});}return null;};}function removeEntity(_0x39f5df,_0x6af7c2){return function(_0x6231de){if(_0x6231de){return _0x6231de[_0x188b('0x1f')]()['then'](function(){_0x39f5df['status'](0xcc)[_0x188b('0x15')]();});}};}function handleEntityNotFound(_0x56f365,_0x26ee3b){return function(_0x201fdd){if(!_0x201fdd){_0x56f365['sendStatus'](0x194);}return _0x201fdd;};}function handleError(_0xb7ca37,_0x378863){_0x378863=_0x378863||0x1f4;return function(_0x5e9c5e){logger[_0x188b('0x20')](_0x5e9c5e[_0x188b('0x21')]);if(_0x5e9c5e['name']){delete _0x5e9c5e[_0x188b('0x22')];}_0xb7ca37[_0x188b('0x14')](_0x378863)[_0x188b('0x23')](_0x5e9c5e);};}exports[_0x188b('0x24')]=function(_0x5dbe3e,_0x4feabc){var _0x474c8b={},_0x4a27ae={},_0x3f11e5={'count':0x0,'rows':[]};var _0x2040c5=_['map'](db['Dynamics365Field']['rawAttributes'],function(_0x556b41){return{'name':_0x556b41[_0x188b('0x25')],'type':_0x556b41[_0x188b('0x26')][_0x188b('0x27')]};});_0x4a27ae[_0x188b('0x28')]=_[_0x188b('0x29')](_0x2040c5,_0x188b('0x22'));_0x4a27ae['query']=_[_0x188b('0x2a')](_0x5dbe3e[_0x188b('0x2b')]);_0x4a27ae[_0x188b('0x2c')]=_['intersection'](_0x4a27ae[_0x188b('0x28')],_0x4a27ae['query']);_0x474c8b[_0x188b('0x2d')]=_[_0x188b('0x2e')](_0x4a27ae['model'],qs[_0x188b('0x2f')](_0x5dbe3e[_0x188b('0x2b')][_0x188b('0x2f')]));_0x474c8b['attributes']=_0x474c8b[_0x188b('0x2d')][_0x188b('0x30')]?_0x474c8b[_0x188b('0x2d')]:_0x4a27ae[_0x188b('0x28')];if(!_0x5dbe3e[_0x188b('0x2b')][_0x188b('0x31')]('nolimit')){_0x474c8b[_0x188b('0x17')]=qs['limit'](_0x5dbe3e['query']['limit']);_0x474c8b[_0x188b('0x16')]=qs[_0x188b('0x16')](_0x5dbe3e[_0x188b('0x2b')]['offset']);}_0x474c8b[_0x188b('0x32')]=qs[_0x188b('0x33')](_0x5dbe3e[_0x188b('0x2b')]['sort']);_0x474c8b[_0x188b('0x34')]=qs['filters'](_[_0x188b('0x35')](_0x5dbe3e['query'],_0x4a27ae[_0x188b('0x2c')]),_0x2040c5);if(_0x5dbe3e['query'][_0x188b('0x36')]){_0x474c8b[_0x188b('0x34')]=_[_0x188b('0x37')](_0x474c8b[_0x188b('0x34')],{'$or':_[_0x188b('0x29')](_0x2040c5,function(_0x33317c){if(_0x33317c[_0x188b('0x26')]!==_0x188b('0x38')){var _0x41bc8f={};_0x41bc8f[_0x33317c['name']]={'$like':'%'+_0x5dbe3e[_0x188b('0x2b')]['filter']+'%'};return _0x41bc8f;}})});}_0x474c8b=_[_0x188b('0x37')]({},_0x474c8b,_0x5dbe3e[_0x188b('0x39')]);var _0x187406={'where':_0x474c8b[_0x188b('0x34')]};return db[_0x188b('0x3a')][_0x188b('0x19')](_0x187406)['then'](function(_0x5d89a5){_0x3f11e5['count']=_0x5d89a5;if(_0x5dbe3e['query'][_0x188b('0x3b')]){_0x474c8b[_0x188b('0x3c')]=[{'all':!![]}];}return db[_0x188b('0x3a')]['findAll'](_0x474c8b);})[_0x188b('0x1e')](function(_0x1767b4){_0x3f11e5[_0x188b('0x3d')]=_0x1767b4;return _0x3f11e5;})[_0x188b('0x1e')](respondWithFilteredResult(_0x4feabc,_0x474c8b))['catch'](handleError(_0x4feabc,null));};exports[_0x188b('0x3e')]=function(_0xcff4fa,_0xd1e350){var _0x23e90b={'raw':!![],'where':{'id':_0xcff4fa[_0x188b('0x3f')]['id']}},_0x524e20={};_0x524e20[_0x188b('0x28')]=_[_0x188b('0x2a')](db[_0x188b('0x3a')]['rawAttributes']);_0x524e20['query']=_[_0x188b('0x2a')](_0xcff4fa[_0x188b('0x2b')]);_0x524e20['filters']=_['intersection'](_0x524e20['model'],_0x524e20[_0x188b('0x2b')]);_0x23e90b[_0x188b('0x2d')]=_['intersection'](_0x524e20['model'],qs['fields'](_0xcff4fa[_0x188b('0x2b')][_0x188b('0x2f')]));_0x23e90b[_0x188b('0x2d')]=_0x23e90b[_0x188b('0x2d')][_0x188b('0x30')]?_0x23e90b[_0x188b('0x2d')]:_0x524e20['model'];if(_0xcff4fa[_0x188b('0x2b')]['includeAll']){_0x23e90b['include']=[{'all':!![]}];}_0x23e90b=_[_0x188b('0x37')]({},_0x23e90b,_0xcff4fa[_0x188b('0x39')]);return db[_0x188b('0x3a')]['find'](_0x23e90b)[_0x188b('0x1e')](handleEntityNotFound(_0xd1e350,null))[_0x188b('0x1e')](respondWithResult(_0xd1e350,null))[_0x188b('0x40')](handleError(_0xd1e350,null));};exports[_0x188b('0x41')]=function(_0x1880b9,_0x19138c){return db[_0x188b('0x3a')][_0x188b('0x41')](_0x1880b9[_0x188b('0x42')],{})['then'](respondWithResult(_0x19138c,0xc9))[_0x188b('0x40')](handleError(_0x19138c,null));};exports[_0x188b('0x43')]=function(_0x1c7c76,_0x3c7337){if(_0x1c7c76[_0x188b('0x42')]['id']){delete _0x1c7c76['body']['id'];}return db[_0x188b('0x3a')][_0x188b('0x44')]({'where':{'id':_0x1c7c76[_0x188b('0x3f')]['id']}})[_0x188b('0x1e')](handleEntityNotFound(_0x3c7337,null))[_0x188b('0x1e')](saveUpdates(_0x1c7c76[_0x188b('0x42')],null))[_0x188b('0x1e')](respondWithResult(_0x3c7337,null))[_0x188b('0x40')](handleError(_0x3c7337,null));};exports[_0x188b('0x1f')]=function(_0x4e288b,_0xab254f){return db[_0x188b('0x3a')]['find']({'where':{'id':_0x4e288b[_0x188b('0x3f')]['id']}})['then'](handleEntityNotFound(_0xab254f,null))['then'](removeEntity(_0xab254f,null))[_0x188b('0x40')](handleError(_0xab254f,null));};