b91f69c72044cb30c53349d584475beb4acf1d73
[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 _0x833d=['path','sox','to-csv','ejs','fs-extra','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','end','json','offset','undefined','limit','count','set','reject','save','update','then','destroy','error','stack','name','send','index','map','Dynamics365Field','rawAttributes','type','key','model','query','filters','intersection','attributes','fields','length','hasOwnProperty','nolimit','order','sort','pick','filter','merge','VIRTUAL','where','includeAll','include','rows','catch','params','create','body','find','eml-format','rimraf','zip-dir','fast-json-patch','bluebird','mustache','util'];(function(_0x5ef14c,_0x4b8ce1){var _0x3ed7a1=function(_0x4262e1){while(--_0x4262e1){_0x5ef14c['push'](_0x5ef14c['shift']());}};_0x3ed7a1(++_0x4b8ce1);}(_0x833d,0x8b));var _0xd833=function(_0x5a8ef0,_0x310bd4){_0x5a8ef0=_0x5a8ef0-0x0;var _0x4fc6dd=_0x833d[_0x5a8ef0];return _0x4fc6dd;};'use strict';var emlformat=require(_0xd833('0x0'));var rimraf=require(_0xd833('0x1'));var zipdir=require(_0xd833('0x2'));var jsonpatch=require(_0xd833('0x3'));var rp=require('request-promise');var moment=require('moment');var BPromise=require(_0xd833('0x4'));var Mustache=require(_0xd833('0x5'));var util=require(_0xd833('0x6'));var path=require(_0xd833('0x7'));var sox=require(_0xd833('0x8'));var csv=require(_0xd833('0x9'));var ejs=require(_0xd833('0xa'));var fs=require('fs');var fs_extra=require(_0xd833('0xb'));var _=require('lodash');var squel=require('squel');var crypto=require(_0xd833('0xc'));var jsforce=require(_0xd833('0xd'));var deskjs=require(_0xd833('0xe'));var toCsv=require(_0xd833('0x9'));var querystring=require(_0xd833('0xf'));var Papa=require(_0xd833('0x10'));var Redis=require(_0xd833('0x11'));var authService=require('../../components/auth/service');var qs=require('../../components/parsers/qs');var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0xd833('0x12'));var logger=require(_0xd833('0x13'))(_0xd833('0x14'));var utils=require(_0xd833('0x15'));var config=require(_0xd833('0x16'));var licenseUtil=require(_0xd833('0x17'));var db=require(_0xd833('0x18'))['db'];function respondWithStatusCode(_0x38c5e5,_0xb92593){_0xb92593=_0xb92593||0xcc;return function(_0x105d18){if(_0x105d18){return _0x38c5e5[_0xd833('0x19')](_0xb92593);}return _0x38c5e5[_0xd833('0x1a')](_0xb92593)[_0xd833('0x1b')]();};}function respondWithResult(_0x23a220,_0x50101d){_0x50101d=_0x50101d||0xc8;return function(_0x51c1fd){if(_0x51c1fd){return _0x23a220['status'](_0x50101d)[_0xd833('0x1c')](_0x51c1fd);}};}function respondWithFilteredResult(_0x466c32,_0x21b4c6){return function(_0x3a9feb){if(_0x3a9feb){var _0x331f26=typeof _0x21b4c6[_0xd833('0x1d')]===_0xd833('0x1e')&&typeof _0x21b4c6[_0xd833('0x1f')]===_0xd833('0x1e');var _0x30c64c=_0x3a9feb[_0xd833('0x20')];var _0xc27f16=_0x331f26?0x0:_0x21b4c6[_0xd833('0x1d')];var _0x32f6f7=_0x331f26?_0x3a9feb[_0xd833('0x20')]:_0x21b4c6[_0xd833('0x1d')]+_0x21b4c6[_0xd833('0x1f')];var _0x384f2c;if(_0x32f6f7>=_0x30c64c){_0x32f6f7=_0x30c64c;_0x384f2c=0xc8;}else{_0x384f2c=0xce;}_0x466c32[_0xd833('0x1a')](_0x384f2c);return _0x466c32[_0xd833('0x21')]('Content-Range',_0xc27f16+'-'+_0x32f6f7+'/'+_0x30c64c)[_0xd833('0x1c')](_0x3a9feb);}return null;};}function patchUpdates(_0x175b0b){return function(_0x8588f4){try{jsonpatch['apply'](_0x8588f4,_0x175b0b,!![]);}catch(_0x5eb336){return BPromise[_0xd833('0x22')](_0x5eb336);}return _0x8588f4[_0xd833('0x23')]();};}function saveUpdates(_0x20c63d,_0x338b9b){return function(_0x537b28){if(_0x537b28){return _0x537b28[_0xd833('0x24')](_0x20c63d)[_0xd833('0x25')](function(_0x4b0dab){return _0x4b0dab;});}return null;};}function removeEntity(_0x558da8,_0xf6e7fb){return function(_0x394e81){if(_0x394e81){return _0x394e81[_0xd833('0x26')]()[_0xd833('0x25')](function(){_0x558da8[_0xd833('0x1a')](0xcc)[_0xd833('0x1b')]();});}};}function handleEntityNotFound(_0x50fff3,_0x13f516){return function(_0x4e1abf){if(!_0x4e1abf){_0x50fff3[_0xd833('0x19')](0x194);}return _0x4e1abf;};}function handleError(_0xe27292,_0xf1d8f2){_0xf1d8f2=_0xf1d8f2||0x1f4;return function(_0x57f220){logger[_0xd833('0x27')](_0x57f220[_0xd833('0x28')]);if(_0x57f220[_0xd833('0x29')]){delete _0x57f220['name'];}_0xe27292[_0xd833('0x1a')](_0xf1d8f2)[_0xd833('0x2a')](_0x57f220);};}exports[_0xd833('0x2b')]=function(_0x3241a9,_0x5ed020){var _0x538886={},_0x4f9bea={},_0xb5d0e8={'count':0x0,'rows':[]};var _0x3a5dd3=_[_0xd833('0x2c')](db[_0xd833('0x2d')][_0xd833('0x2e')],function(_0x396a21){return{'name':_0x396a21['fieldName'],'type':_0x396a21[_0xd833('0x2f')][_0xd833('0x30')]};});_0x4f9bea[_0xd833('0x31')]=_[_0xd833('0x2c')](_0x3a5dd3,_0xd833('0x29'));_0x4f9bea[_0xd833('0x32')]=_['keys'](_0x3241a9[_0xd833('0x32')]);_0x4f9bea[_0xd833('0x33')]=_[_0xd833('0x34')](_0x4f9bea[_0xd833('0x31')],_0x4f9bea[_0xd833('0x32')]);_0x538886[_0xd833('0x35')]=_[_0xd833('0x34')](_0x4f9bea['model'],qs[_0xd833('0x36')](_0x3241a9[_0xd833('0x32')][_0xd833('0x36')]));_0x538886[_0xd833('0x35')]=_0x538886[_0xd833('0x35')][_0xd833('0x37')]?_0x538886[_0xd833('0x35')]:_0x4f9bea['model'];if(!_0x3241a9[_0xd833('0x32')][_0xd833('0x38')](_0xd833('0x39'))){_0x538886['limit']=qs[_0xd833('0x1f')](_0x3241a9[_0xd833('0x32')]['limit']);_0x538886['offset']=qs[_0xd833('0x1d')](_0x3241a9[_0xd833('0x32')]['offset']);}_0x538886[_0xd833('0x3a')]=qs[_0xd833('0x3b')](_0x3241a9[_0xd833('0x32')]['sort']);_0x538886['where']=qs[_0xd833('0x33')](_[_0xd833('0x3c')](_0x3241a9[_0xd833('0x32')],_0x4f9bea[_0xd833('0x33')]),_0x3a5dd3);if(_0x3241a9['query'][_0xd833('0x3d')]){_0x538886['where']=_[_0xd833('0x3e')](_0x538886['where'],{'$or':_[_0xd833('0x2c')](_0x3a5dd3,function(_0x24f495){if(_0x24f495[_0xd833('0x2f')]!==_0xd833('0x3f')){var _0xe766bc={};_0xe766bc[_0x24f495['name']]={'$like':'%'+_0x3241a9[_0xd833('0x32')][_0xd833('0x3d')]+'%'};return _0xe766bc;}})});}_0x538886=_[_0xd833('0x3e')]({},_0x538886,_0x3241a9['options']);var _0x49c958={'where':_0x538886[_0xd833('0x40')]};return db[_0xd833('0x2d')][_0xd833('0x20')](_0x49c958)[_0xd833('0x25')](function(_0x274b4c){_0xb5d0e8[_0xd833('0x20')]=_0x274b4c;if(_0x3241a9[_0xd833('0x32')][_0xd833('0x41')]){_0x538886[_0xd833('0x42')]=[{'all':!![]}];}return db[_0xd833('0x2d')]['findAll'](_0x538886);})[_0xd833('0x25')](function(_0x372c3a){_0xb5d0e8[_0xd833('0x43')]=_0x372c3a;return _0xb5d0e8;})[_0xd833('0x25')](respondWithFilteredResult(_0x5ed020,_0x538886))[_0xd833('0x44')](handleError(_0x5ed020,null));};exports['show']=function(_0x235d58,_0x2696c0){var _0x3a8fc0={'raw':!![],'where':{'id':_0x235d58[_0xd833('0x45')]['id']}},_0x2b2914={};_0x2b2914[_0xd833('0x31')]=_['keys'](db[_0xd833('0x2d')][_0xd833('0x2e')]);_0x2b2914[_0xd833('0x32')]=_['keys'](_0x235d58[_0xd833('0x32')]);_0x2b2914[_0xd833('0x33')]=_['intersection'](_0x2b2914[_0xd833('0x31')],_0x2b2914[_0xd833('0x32')]);_0x3a8fc0[_0xd833('0x35')]=_[_0xd833('0x34')](_0x2b2914[_0xd833('0x31')],qs[_0xd833('0x36')](_0x235d58[_0xd833('0x32')][_0xd833('0x36')]));_0x3a8fc0[_0xd833('0x35')]=_0x3a8fc0[_0xd833('0x35')][_0xd833('0x37')]?_0x3a8fc0[_0xd833('0x35')]:_0x2b2914['model'];if(_0x235d58[_0xd833('0x32')]['includeAll']){_0x3a8fc0['include']=[{'all':!![]}];}_0x3a8fc0=_[_0xd833('0x3e')]({},_0x3a8fc0,_0x235d58['options']);return db[_0xd833('0x2d')]['find'](_0x3a8fc0)[_0xd833('0x25')](handleEntityNotFound(_0x2696c0,null))[_0xd833('0x25')](respondWithResult(_0x2696c0,null))[_0xd833('0x44')](handleError(_0x2696c0,null));};exports['create']=function(_0x1fbf5b,_0x1ae445){return db[_0xd833('0x2d')][_0xd833('0x46')](_0x1fbf5b[_0xd833('0x47')],{})[_0xd833('0x25')](respondWithResult(_0x1ae445,0xc9))[_0xd833('0x44')](handleError(_0x1ae445,null));};exports[_0xd833('0x24')]=function(_0x5c3064,_0x420b8f){if(_0x5c3064[_0xd833('0x47')]['id']){delete _0x5c3064[_0xd833('0x47')]['id'];}return db[_0xd833('0x2d')][_0xd833('0x48')]({'where':{'id':_0x5c3064[_0xd833('0x45')]['id']}})[_0xd833('0x25')](handleEntityNotFound(_0x420b8f,null))[_0xd833('0x25')](saveUpdates(_0x5c3064['body'],null))[_0xd833('0x25')](respondWithResult(_0x420b8f,null))['catch'](handleError(_0x420b8f,null));};exports[_0xd833('0x26')]=function(_0xd9b40e,_0x3ea19d){return db[_0xd833('0x2d')][_0xd833('0x48')]({'where':{'id':_0xd9b40e['params']['id']}})[_0xd833('0x25')](handleEntityNotFound(_0x3ea19d,null))[_0xd833('0x25')](removeEntity(_0x3ea19d,null))[_0xd833('0x44')](handleError(_0x3ea19d,null));};