Built motion from commit 9d1906d1.|2.5.40
[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 _0x25e7=['../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','api','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','end','json','undefined','limit','count','offset','set','Content-Range','apply','reject','save','destroy','then','error','stack','name','send','Dynamics365Field','rawAttributes','key','model','map','query','attributes','intersection','fields','nolimit','sort','filters','pick','where','merge','VIRTUAL','filter','options','includeAll','include','rows','show','params','keys','length','find','catch','create','body','rimraf','zip-dir','request-promise','moment','bluebird','path','sox','to-csv','ejs','fs-extra','squel','crypto','jsforce','desk.js','querystring','ioredis','../../components/auth/service'];(function(_0xd07e81,_0x1ccacd){var _0x379364=function(_0x8f8eec){while(--_0x8f8eec){_0xd07e81['push'](_0xd07e81['shift']());}};_0x379364(++_0x1ccacd);}(_0x25e7,0x7f));var _0x725e=function(_0x4c432d,_0x435c91){_0x4c432d=_0x4c432d-0x0;var _0x4213b0=_0x25e7[_0x4c432d];return _0x4213b0;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0x725e('0x0'));var zipdir=require(_0x725e('0x1'));var jsonpatch=require('fast-json-patch');var rp=require(_0x725e('0x2'));var moment=require(_0x725e('0x3'));var BPromise=require(_0x725e('0x4'));var Mustache=require('mustache');var util=require('util');var path=require(_0x725e('0x5'));var sox=require(_0x725e('0x6'));var csv=require(_0x725e('0x7'));var ejs=require(_0x725e('0x8'));var fs=require('fs');var fs_extra=require(_0x725e('0x9'));var _=require('lodash');var squel=require(_0x725e('0xa'));var crypto=require(_0x725e('0xb'));var jsforce=require(_0x725e('0xc'));var deskjs=require(_0x725e('0xd'));var toCsv=require('to-csv');var querystring=require(_0x725e('0xe'));var Papa=require('papaparse');var Redis=require(_0x725e('0xf'));var authService=require(_0x725e('0x10'));var qs=require(_0x725e('0x11'));var as=require(_0x725e('0x12'));var hardwareService=require(_0x725e('0x13'));var logger=require('../../config/logger')(_0x725e('0x14'));var utils=require('../../config/utils');var config=require(_0x725e('0x15'));var licenseUtil=require(_0x725e('0x16'));var db=require(_0x725e('0x17'))['db'];function respondWithStatusCode(_0x450122,_0x18e6d3){_0x18e6d3=_0x18e6d3||0xcc;return function(_0x404c35){if(_0x404c35){return _0x450122[_0x725e('0x18')](_0x18e6d3);}return _0x450122[_0x725e('0x19')](_0x18e6d3)[_0x725e('0x1a')]();};}function respondWithResult(_0x3f5af2,_0x4bfea4){_0x4bfea4=_0x4bfea4||0xc8;return function(_0x328330){if(_0x328330){return _0x3f5af2[_0x725e('0x19')](_0x4bfea4)[_0x725e('0x1b')](_0x328330);}};}function respondWithFilteredResult(_0x2e38e6,_0x4dfcf2){return function(_0x59e0df){if(_0x59e0df){var _0x676e53=typeof _0x4dfcf2['offset']===_0x725e('0x1c')&&typeof _0x4dfcf2[_0x725e('0x1d')]==='undefined';var _0x49c264=_0x59e0df[_0x725e('0x1e')];var _0x51c88b=_0x676e53?0x0:_0x4dfcf2[_0x725e('0x1f')];var _0x10263d=_0x676e53?_0x59e0df[_0x725e('0x1e')]:_0x4dfcf2['offset']+_0x4dfcf2[_0x725e('0x1d')];var _0x551f35;if(_0x10263d>=_0x49c264){_0x10263d=_0x49c264;_0x551f35=0xc8;}else{_0x551f35=0xce;}_0x2e38e6[_0x725e('0x19')](_0x551f35);return _0x2e38e6[_0x725e('0x20')](_0x725e('0x21'),_0x51c88b+'-'+_0x10263d+'/'+_0x49c264)[_0x725e('0x1b')](_0x59e0df);}return null;};}function patchUpdates(_0x53e083){return function(_0xd513f5){try{jsonpatch[_0x725e('0x22')](_0xd513f5,_0x53e083,!![]);}catch(_0x4f676c){return BPromise[_0x725e('0x23')](_0x4f676c);}return _0xd513f5[_0x725e('0x24')]();};}function saveUpdates(_0x10e507,_0x18a71a){return function(_0x14c498){if(_0x14c498){return _0x14c498['update'](_0x10e507)['then'](function(_0x3e93f6){return _0x3e93f6;});}return null;};}function removeEntity(_0x14b9ee,_0x2c33fe){return function(_0x2d05d8){if(_0x2d05d8){return _0x2d05d8[_0x725e('0x25')]()[_0x725e('0x26')](function(){_0x14b9ee['status'](0xcc)[_0x725e('0x1a')]();});}};}function handleEntityNotFound(_0x3e9ed1,_0x5e0c6c){return function(_0x15a8ac){if(!_0x15a8ac){_0x3e9ed1[_0x725e('0x18')](0x194);}return _0x15a8ac;};}function handleError(_0x3ee969,_0x1b5a0d){_0x1b5a0d=_0x1b5a0d||0x1f4;return function(_0x53c488){logger[_0x725e('0x27')](_0x53c488[_0x725e('0x28')]);if(_0x53c488[_0x725e('0x29')]){delete _0x53c488[_0x725e('0x29')];}_0x3ee969[_0x725e('0x19')](_0x1b5a0d)[_0x725e('0x2a')](_0x53c488);};}exports['index']=function(_0x4f430a,_0x1c839b){var _0x2ac5d3={},_0x366414={},_0x9f19d5={'count':0x0,'rows':[]};var _0x1d2010=_['map'](db[_0x725e('0x2b')][_0x725e('0x2c')],function(_0x5ac58f){return{'name':_0x5ac58f['fieldName'],'type':_0x5ac58f['type'][_0x725e('0x2d')]};});_0x366414[_0x725e('0x2e')]=_[_0x725e('0x2f')](_0x1d2010,'name');_0x366414['query']=_['keys'](_0x4f430a[_0x725e('0x30')]);_0x366414['filters']=_['intersection'](_0x366414['model'],_0x366414['query']);_0x2ac5d3[_0x725e('0x31')]=_[_0x725e('0x32')](_0x366414[_0x725e('0x2e')],qs['fields'](_0x4f430a[_0x725e('0x30')][_0x725e('0x33')]));_0x2ac5d3[_0x725e('0x31')]=_0x2ac5d3[_0x725e('0x31')]['length']?_0x2ac5d3[_0x725e('0x31')]:_0x366414[_0x725e('0x2e')];if(!_0x4f430a[_0x725e('0x30')]['hasOwnProperty'](_0x725e('0x34'))){_0x2ac5d3['limit']=qs['limit'](_0x4f430a[_0x725e('0x30')][_0x725e('0x1d')]);_0x2ac5d3[_0x725e('0x1f')]=qs['offset'](_0x4f430a[_0x725e('0x30')][_0x725e('0x1f')]);}_0x2ac5d3['order']=qs[_0x725e('0x35')](_0x4f430a[_0x725e('0x30')][_0x725e('0x35')]);_0x2ac5d3['where']=qs[_0x725e('0x36')](_[_0x725e('0x37')](_0x4f430a[_0x725e('0x30')],_0x366414[_0x725e('0x36')]),_0x1d2010);if(_0x4f430a[_0x725e('0x30')]['filter']){_0x2ac5d3[_0x725e('0x38')]=_[_0x725e('0x39')](_0x2ac5d3[_0x725e('0x38')],{'$or':_[_0x725e('0x2f')](_0x1d2010,function(_0x54a57c){if(_0x54a57c['type']!==_0x725e('0x3a')){var _0x436053={};_0x436053[_0x54a57c[_0x725e('0x29')]]={'$like':'%'+_0x4f430a['query'][_0x725e('0x3b')]+'%'};return _0x436053;}})});}_0x2ac5d3=_[_0x725e('0x39')]({},_0x2ac5d3,_0x4f430a[_0x725e('0x3c')]);var _0x4111d9={'where':_0x2ac5d3[_0x725e('0x38')]};return db[_0x725e('0x2b')][_0x725e('0x1e')](_0x4111d9)[_0x725e('0x26')](function(_0x3e5c91){_0x9f19d5[_0x725e('0x1e')]=_0x3e5c91;if(_0x4f430a[_0x725e('0x30')][_0x725e('0x3d')]){_0x2ac5d3[_0x725e('0x3e')]=[{'all':!![]}];}return db[_0x725e('0x2b')]['findAll'](_0x2ac5d3);})[_0x725e('0x26')](function(_0x4e8788){_0x9f19d5[_0x725e('0x3f')]=_0x4e8788;return _0x9f19d5;})[_0x725e('0x26')](respondWithFilteredResult(_0x1c839b,_0x2ac5d3))['catch'](handleError(_0x1c839b,null));};exports[_0x725e('0x40')]=function(_0x119d52,_0xc9a9b9){var _0xbecc30={'raw':!![],'where':{'id':_0x119d52[_0x725e('0x41')]['id']}},_0x3f4c48={};_0x3f4c48[_0x725e('0x2e')]=_[_0x725e('0x42')](db[_0x725e('0x2b')][_0x725e('0x2c')]);_0x3f4c48[_0x725e('0x30')]=_['keys'](_0x119d52[_0x725e('0x30')]);_0x3f4c48['filters']=_[_0x725e('0x32')](_0x3f4c48[_0x725e('0x2e')],_0x3f4c48[_0x725e('0x30')]);_0xbecc30[_0x725e('0x31')]=_[_0x725e('0x32')](_0x3f4c48[_0x725e('0x2e')],qs['fields'](_0x119d52[_0x725e('0x30')][_0x725e('0x33')]));_0xbecc30['attributes']=_0xbecc30[_0x725e('0x31')][_0x725e('0x43')]?_0xbecc30[_0x725e('0x31')]:_0x3f4c48[_0x725e('0x2e')];if(_0x119d52[_0x725e('0x30')][_0x725e('0x3d')]){_0xbecc30[_0x725e('0x3e')]=[{'all':!![]}];}_0xbecc30=_[_0x725e('0x39')]({},_0xbecc30,_0x119d52['options']);return db[_0x725e('0x2b')][_0x725e('0x44')](_0xbecc30)['then'](handleEntityNotFound(_0xc9a9b9,null))['then'](respondWithResult(_0xc9a9b9,null))[_0x725e('0x45')](handleError(_0xc9a9b9,null));};exports[_0x725e('0x46')]=function(_0x314a31,_0x2043cc){return db[_0x725e('0x2b')][_0x725e('0x46')](_0x314a31[_0x725e('0x47')],{})[_0x725e('0x26')](respondWithResult(_0x2043cc,0xc9))[_0x725e('0x45')](handleError(_0x2043cc,null));};exports['update']=function(_0x56b494,_0x163de5){if(_0x56b494[_0x725e('0x47')]['id']){delete _0x56b494[_0x725e('0x47')]['id'];}return db[_0x725e('0x2b')][_0x725e('0x44')]({'where':{'id':_0x56b494[_0x725e('0x41')]['id']}})[_0x725e('0x26')](handleEntityNotFound(_0x163de5,null))[_0x725e('0x26')](saveUpdates(_0x56b494['body'],null))[_0x725e('0x26')](respondWithResult(_0x163de5,null))[_0x725e('0x45')](handleError(_0x163de5,null));};exports[_0x725e('0x25')]=function(_0x2efa97,_0x301a85){return db['Dynamics365Field'][_0x725e('0x44')]({'where':{'id':_0x2efa97[_0x725e('0x41')]['id']}})[_0x725e('0x26')](handleEntityNotFound(_0x301a85,null))[_0x725e('0x26')](removeEntity(_0x301a85,null))['catch'](handleError(_0x301a85,null));};