37d4c644c6ce9028dab0f7cb286b3ca872768d08
[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 _0x354f=['../../components/parsers/advancedSearch','../../config/license/hardware','api','../../config/utils','../../config/license/util','../../mysqldb','sendStatus','status','end','json','offset','undefined','limit','count','set','Content-Range','apply','reject','save','then','destroy','error','stack','name','index','Dynamics365Field','rawAttributes','fieldName','type','map','query','filters','intersection','model','attributes','fields','length','nolimit','order','sort','where','pick','filter','merge','VIRTUAL','includeAll','rows','catch','show','params','keys','include','options','find','create','body','update','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','mustache','path','sox','to-csv','ejs','fs-extra','squel','crypto','desk.js','papaparse','ioredis'];(function(_0x40c402,_0x42ee7d){var _0x4e7680=function(_0x52b150){while(--_0x52b150){_0x40c402['push'](_0x40c402['shift']());}};_0x4e7680(++_0x42ee7d);}(_0x354f,0xcb));var _0xf354=function(_0x1da527,_0x2dc953){_0x1da527=_0x1da527-0x0;var _0x40fc7c=_0x354f[_0x1da527];return _0x40fc7c;};'use strict';var emlformat=require(_0xf354('0x0'));var rimraf=require(_0xf354('0x1'));var zipdir=require(_0xf354('0x2'));var jsonpatch=require(_0xf354('0x3'));var rp=require(_0xf354('0x4'));var moment=require('moment');var BPromise=require('bluebird');var Mustache=require(_0xf354('0x5'));var util=require('util');var path=require(_0xf354('0x6'));var sox=require(_0xf354('0x7'));var csv=require(_0xf354('0x8'));var ejs=require(_0xf354('0x9'));var fs=require('fs');var fs_extra=require(_0xf354('0xa'));var _=require('lodash');var squel=require(_0xf354('0xb'));var crypto=require(_0xf354('0xc'));var jsforce=require('jsforce');var deskjs=require(_0xf354('0xd'));var toCsv=require(_0xf354('0x8'));var querystring=require('querystring');var Papa=require(_0xf354('0xe'));var Redis=require(_0xf354('0xf'));var authService=require('../../components/auth/service');var qs=require('../../components/parsers/qs');var as=require(_0xf354('0x10'));var hardwareService=require(_0xf354('0x11'));var logger=require('../../config/logger')(_0xf354('0x12'));var utils=require(_0xf354('0x13'));var config=require('../../config/environment');var licenseUtil=require(_0xf354('0x14'));var db=require(_0xf354('0x15'))['db'];function respondWithStatusCode(_0xb18112,_0x498925){_0x498925=_0x498925||0xcc;return function(_0x59c370){if(_0x59c370){return _0xb18112[_0xf354('0x16')](_0x498925);}return _0xb18112[_0xf354('0x17')](_0x498925)[_0xf354('0x18')]();};}function respondWithResult(_0x430b68,_0x30d4f5){_0x30d4f5=_0x30d4f5||0xc8;return function(_0x459257){if(_0x459257){return _0x430b68[_0xf354('0x17')](_0x30d4f5)[_0xf354('0x19')](_0x459257);}};}function respondWithFilteredResult(_0x40b380,_0x1b930a){return function(_0x2420d3){if(_0x2420d3){var _0x49d9fa=typeof _0x1b930a[_0xf354('0x1a')]===_0xf354('0x1b')&&typeof _0x1b930a[_0xf354('0x1c')]==='undefined';var _0x50e1a5=_0x2420d3[_0xf354('0x1d')];var _0x6139d1=_0x49d9fa?0x0:_0x1b930a[_0xf354('0x1a')];var _0x38f356=_0x49d9fa?_0x2420d3[_0xf354('0x1d')]:_0x1b930a[_0xf354('0x1a')]+_0x1b930a[_0xf354('0x1c')];var _0x46758f;if(_0x38f356>=_0x50e1a5){_0x38f356=_0x50e1a5;_0x46758f=0xc8;}else{_0x46758f=0xce;}_0x40b380['status'](_0x46758f);return _0x40b380[_0xf354('0x1e')](_0xf354('0x1f'),_0x6139d1+'-'+_0x38f356+'/'+_0x50e1a5)[_0xf354('0x19')](_0x2420d3);}return null;};}function patchUpdates(_0x2f8253){return function(_0x9b0db1){try{jsonpatch[_0xf354('0x20')](_0x9b0db1,_0x2f8253,!![]);}catch(_0x253e01){return BPromise[_0xf354('0x21')](_0x253e01);}return _0x9b0db1[_0xf354('0x22')]();};}function saveUpdates(_0x4239f3,_0x48e62d){return function(_0x288893){if(_0x288893){return _0x288893['update'](_0x4239f3)[_0xf354('0x23')](function(_0x1b775f){return _0x1b775f;});}return null;};}function removeEntity(_0x4f8f44,_0x572618){return function(_0xfadc27){if(_0xfadc27){return _0xfadc27[_0xf354('0x24')]()[_0xf354('0x23')](function(){_0x4f8f44[_0xf354('0x17')](0xcc)[_0xf354('0x18')]();});}};}function handleEntityNotFound(_0x403f7f,_0xc1d749){return function(_0x4b54af){if(!_0x4b54af){_0x403f7f[_0xf354('0x16')](0x194);}return _0x4b54af;};}function handleError(_0x4f0e6d,_0x318792){_0x318792=_0x318792||0x1f4;return function(_0x58650d){logger[_0xf354('0x25')](_0x58650d[_0xf354('0x26')]);if(_0x58650d[_0xf354('0x27')]){delete _0x58650d['name'];}_0x4f0e6d[_0xf354('0x17')](_0x318792)['send'](_0x58650d);};}exports[_0xf354('0x28')]=function(_0x1f7436,_0x11be04){var _0x3191cc={},_0x334a21={},_0x5ef280={'count':0x0,'rows':[]};var _0x3da444=_['map'](db[_0xf354('0x29')][_0xf354('0x2a')],function(_0x5bbb16){return{'name':_0x5bbb16[_0xf354('0x2b')],'type':_0x5bbb16[_0xf354('0x2c')]['key']};});_0x334a21['model']=_[_0xf354('0x2d')](_0x3da444,_0xf354('0x27'));_0x334a21['query']=_['keys'](_0x1f7436[_0xf354('0x2e')]);_0x334a21[_0xf354('0x2f')]=_[_0xf354('0x30')](_0x334a21[_0xf354('0x31')],_0x334a21[_0xf354('0x2e')]);_0x3191cc[_0xf354('0x32')]=_[_0xf354('0x30')](_0x334a21[_0xf354('0x31')],qs['fields'](_0x1f7436[_0xf354('0x2e')][_0xf354('0x33')]));_0x3191cc['attributes']=_0x3191cc[_0xf354('0x32')][_0xf354('0x34')]?_0x3191cc[_0xf354('0x32')]:_0x334a21[_0xf354('0x31')];if(!_0x1f7436[_0xf354('0x2e')]['hasOwnProperty'](_0xf354('0x35'))){_0x3191cc[_0xf354('0x1c')]=qs[_0xf354('0x1c')](_0x1f7436[_0xf354('0x2e')][_0xf354('0x1c')]);_0x3191cc[_0xf354('0x1a')]=qs[_0xf354('0x1a')](_0x1f7436[_0xf354('0x2e')][_0xf354('0x1a')]);}_0x3191cc[_0xf354('0x36')]=qs[_0xf354('0x37')](_0x1f7436['query']['sort']);_0x3191cc[_0xf354('0x38')]=qs['filters'](_[_0xf354('0x39')](_0x1f7436[_0xf354('0x2e')],_0x334a21[_0xf354('0x2f')]),_0x3da444);if(_0x1f7436[_0xf354('0x2e')][_0xf354('0x3a')]){_0x3191cc[_0xf354('0x38')]=_[_0xf354('0x3b')](_0x3191cc['where'],{'$or':_[_0xf354('0x2d')](_0x3da444,function(_0x3dd5fe){if(_0x3dd5fe[_0xf354('0x2c')]!==_0xf354('0x3c')){var _0x566f99={};_0x566f99[_0x3dd5fe['name']]={'$like':'%'+_0x1f7436['query']['filter']+'%'};return _0x566f99;}})});}_0x3191cc=_['merge']({},_0x3191cc,_0x1f7436['options']);var _0x4944a2={'where':_0x3191cc['where']};return db['Dynamics365Field'][_0xf354('0x1d')](_0x4944a2)[_0xf354('0x23')](function(_0x53e0a2){_0x5ef280['count']=_0x53e0a2;if(_0x1f7436[_0xf354('0x2e')][_0xf354('0x3d')]){_0x3191cc['include']=[{'all':!![]}];}return db[_0xf354('0x29')]['findAll'](_0x3191cc);})['then'](function(_0x3cf6fc){_0x5ef280[_0xf354('0x3e')]=_0x3cf6fc;return _0x5ef280;})[_0xf354('0x23')](respondWithFilteredResult(_0x11be04,_0x3191cc))[_0xf354('0x3f')](handleError(_0x11be04,null));};exports[_0xf354('0x40')]=function(_0x3ce7dc,_0x5c7a1c){var _0x14b454={'raw':!![],'where':{'id':_0x3ce7dc[_0xf354('0x41')]['id']}},_0x419a02={};_0x419a02[_0xf354('0x31')]=_[_0xf354('0x42')](db['Dynamics365Field'][_0xf354('0x2a')]);_0x419a02[_0xf354('0x2e')]=_[_0xf354('0x42')](_0x3ce7dc[_0xf354('0x2e')]);_0x419a02[_0xf354('0x2f')]=_[_0xf354('0x30')](_0x419a02[_0xf354('0x31')],_0x419a02[_0xf354('0x2e')]);_0x14b454[_0xf354('0x32')]=_[_0xf354('0x30')](_0x419a02[_0xf354('0x31')],qs[_0xf354('0x33')](_0x3ce7dc[_0xf354('0x2e')][_0xf354('0x33')]));_0x14b454[_0xf354('0x32')]=_0x14b454[_0xf354('0x32')][_0xf354('0x34')]?_0x14b454[_0xf354('0x32')]:_0x419a02[_0xf354('0x31')];if(_0x3ce7dc[_0xf354('0x2e')][_0xf354('0x3d')]){_0x14b454[_0xf354('0x43')]=[{'all':!![]}];}_0x14b454=_['merge']({},_0x14b454,_0x3ce7dc[_0xf354('0x44')]);return db[_0xf354('0x29')][_0xf354('0x45')](_0x14b454)[_0xf354('0x23')](handleEntityNotFound(_0x5c7a1c,null))[_0xf354('0x23')](respondWithResult(_0x5c7a1c,null))[_0xf354('0x3f')](handleError(_0x5c7a1c,null));};exports[_0xf354('0x46')]=function(_0x80ad0e,_0x499d42){return db[_0xf354('0x29')]['create'](_0x80ad0e[_0xf354('0x47')],{})[_0xf354('0x23')](respondWithResult(_0x499d42,0xc9))[_0xf354('0x3f')](handleError(_0x499d42,null));};exports[_0xf354('0x48')]=function(_0x34f998,_0x9091ce){if(_0x34f998[_0xf354('0x47')]['id']){delete _0x34f998[_0xf354('0x47')]['id'];}return db[_0xf354('0x29')][_0xf354('0x45')]({'where':{'id':_0x34f998[_0xf354('0x41')]['id']}})[_0xf354('0x23')](handleEntityNotFound(_0x9091ce,null))[_0xf354('0x23')](saveUpdates(_0x34f998[_0xf354('0x47')],null))[_0xf354('0x23')](respondWithResult(_0x9091ce,null))['catch'](handleError(_0x9091ce,null));};exports[_0xf354('0x24')]=function(_0x1c97fb,_0x35b956){return db[_0xf354('0x29')]['find']({'where':{'id':_0x1c97fb[_0xf354('0x41')]['id']}})[_0xf354('0x23')](handleEntityNotFound(_0x35b956,null))[_0xf354('0x23')](removeEntity(_0x35b956,null))[_0xf354('0x3f')](handleError(_0x35b956,null));};