Built motion from commit f3da74b7.|2.5.36
[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 _0xfb83=['eml-format','rimraf','zip-dir','fast-json-patch','request-promise','mustache','util','path','sox','to-csv','lodash','squel','crypto','desk.js','querystring','ioredis','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../mysqldb','status','end','offset','undefined','limit','count','set','Content-Range','json','apply','reject','save','update','then','name','send','index','map','Dynamics365Field','fieldName','type','key','model','query','keys','filters','intersection','attributes','fields','hasOwnProperty','order','sort','pick','filter','merge','where','VIRTUAL','includeAll','include','findAll','show','rawAttributes','options','catch','create','body','find','params','destroy'];(function(_0x40ac5e,_0x2de228){var _0x2839d6=function(_0x123d47){while(--_0x123d47){_0x40ac5e['push'](_0x40ac5e['shift']());}};_0x2839d6(++_0x2de228);}(_0xfb83,0x124));var _0x3fb8=function(_0x329437,_0x1de73a){_0x329437=_0x329437-0x0;var _0x3789d9=_0xfb83[_0x329437];return _0x3789d9;};'use strict';var emlformat=require(_0x3fb8('0x0'));var rimraf=require(_0x3fb8('0x1'));var zipdir=require(_0x3fb8('0x2'));var jsonpatch=require(_0x3fb8('0x3'));var rp=require(_0x3fb8('0x4'));var moment=require('moment');var BPromise=require('bluebird');var Mustache=require(_0x3fb8('0x5'));var util=require(_0x3fb8('0x6'));var path=require(_0x3fb8('0x7'));var sox=require(_0x3fb8('0x8'));var csv=require(_0x3fb8('0x9'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require('fs-extra');var _=require(_0x3fb8('0xa'));var squel=require(_0x3fb8('0xb'));var crypto=require(_0x3fb8('0xc'));var jsforce=require('jsforce');var deskjs=require(_0x3fb8('0xd'));var toCsv=require(_0x3fb8('0x9'));var querystring=require(_0x3fb8('0xe'));var Papa=require('papaparse');var Redis=require(_0x3fb8('0xf'));var authService=require('../../components/auth/service');var qs=require(_0x3fb8('0x10'));var as=require(_0x3fb8('0x11'));var hardwareService=require(_0x3fb8('0x12'));var logger=require(_0x3fb8('0x13'))(_0x3fb8('0x14'));var utils=require(_0x3fb8('0x15'));var config=require(_0x3fb8('0x16'));var licenseUtil=require('../../config/license/util');var db=require(_0x3fb8('0x17'))['db'];function respondWithStatusCode(_0x33f72d,_0x447727){_0x447727=_0x447727||0xcc;return function(_0x1f38ba){if(_0x1f38ba){return _0x33f72d['sendStatus'](_0x447727);}return _0x33f72d[_0x3fb8('0x18')](_0x447727)[_0x3fb8('0x19')]();};}function respondWithResult(_0x4e7e89,_0x5ac8){_0x5ac8=_0x5ac8||0xc8;return function(_0x790740){if(_0x790740){return _0x4e7e89[_0x3fb8('0x18')](_0x5ac8)['json'](_0x790740);}};}function respondWithFilteredResult(_0x3eed79,_0x573951){return function(_0x41baf2){if(_0x41baf2){var _0x5a3374=typeof _0x573951[_0x3fb8('0x1a')]===_0x3fb8('0x1b')&&typeof _0x573951[_0x3fb8('0x1c')]===_0x3fb8('0x1b');var _0x2d6bbb=_0x41baf2['count'];var _0x333ed5=_0x5a3374?0x0:_0x573951['offset'];var _0x373d38=_0x5a3374?_0x41baf2[_0x3fb8('0x1d')]:_0x573951[_0x3fb8('0x1a')]+_0x573951['limit'];var _0x389cc5;if(_0x373d38>=_0x2d6bbb){_0x373d38=_0x2d6bbb;_0x389cc5=0xc8;}else{_0x389cc5=0xce;}_0x3eed79[_0x3fb8('0x18')](_0x389cc5);return _0x3eed79[_0x3fb8('0x1e')](_0x3fb8('0x1f'),_0x333ed5+'-'+_0x373d38+'/'+_0x2d6bbb)[_0x3fb8('0x20')](_0x41baf2);}return null;};}function patchUpdates(_0x5b4869){return function(_0x48250){try{jsonpatch[_0x3fb8('0x21')](_0x48250,_0x5b4869,!![]);}catch(_0x1ecf7f){return BPromise[_0x3fb8('0x22')](_0x1ecf7f);}return _0x48250[_0x3fb8('0x23')]();};}function saveUpdates(_0x12b207,_0x36e62a){return function(_0x5649e2){if(_0x5649e2){return _0x5649e2[_0x3fb8('0x24')](_0x12b207)[_0x3fb8('0x25')](function(_0x3a1d44){return _0x3a1d44;});}return null;};}function removeEntity(_0x131c85,_0x2ee4b7){return function(_0x4ca39e){if(_0x4ca39e){return _0x4ca39e['destroy']()[_0x3fb8('0x25')](function(){_0x131c85[_0x3fb8('0x18')](0xcc)[_0x3fb8('0x19')]();});}};}function handleEntityNotFound(_0x241f14,_0x42e368){return function(_0x55d949){if(!_0x55d949){_0x241f14['sendStatus'](0x194);}return _0x55d949;};}function handleError(_0x39b5cc,_0x57905a){_0x57905a=_0x57905a||0x1f4;return function(_0x33fe12){logger['error'](_0x33fe12['stack']);if(_0x33fe12[_0x3fb8('0x26')]){delete _0x33fe12['name'];}_0x39b5cc[_0x3fb8('0x18')](_0x57905a)[_0x3fb8('0x27')](_0x33fe12);};}exports[_0x3fb8('0x28')]=function(_0x12202d,_0x584c5c){var _0x5b6d63={},_0x2dc1cc={},_0x2904f9={'count':0x0,'rows':[]};var _0x5ba5c1=_[_0x3fb8('0x29')](db[_0x3fb8('0x2a')]['rawAttributes'],function(_0x2f7219){return{'name':_0x2f7219[_0x3fb8('0x2b')],'type':_0x2f7219[_0x3fb8('0x2c')][_0x3fb8('0x2d')]};});_0x2dc1cc[_0x3fb8('0x2e')]=_[_0x3fb8('0x29')](_0x5ba5c1,'name');_0x2dc1cc[_0x3fb8('0x2f')]=_[_0x3fb8('0x30')](_0x12202d[_0x3fb8('0x2f')]);_0x2dc1cc[_0x3fb8('0x31')]=_[_0x3fb8('0x32')](_0x2dc1cc[_0x3fb8('0x2e')],_0x2dc1cc[_0x3fb8('0x2f')]);_0x5b6d63[_0x3fb8('0x33')]=_[_0x3fb8('0x32')](_0x2dc1cc['model'],qs[_0x3fb8('0x34')](_0x12202d[_0x3fb8('0x2f')][_0x3fb8('0x34')]));_0x5b6d63[_0x3fb8('0x33')]=_0x5b6d63[_0x3fb8('0x33')]['length']?_0x5b6d63[_0x3fb8('0x33')]:_0x2dc1cc['model'];if(!_0x12202d[_0x3fb8('0x2f')][_0x3fb8('0x35')]('nolimit')){_0x5b6d63[_0x3fb8('0x1c')]=qs[_0x3fb8('0x1c')](_0x12202d[_0x3fb8('0x2f')][_0x3fb8('0x1c')]);_0x5b6d63[_0x3fb8('0x1a')]=qs[_0x3fb8('0x1a')](_0x12202d[_0x3fb8('0x2f')]['offset']);}_0x5b6d63[_0x3fb8('0x36')]=qs[_0x3fb8('0x37')](_0x12202d[_0x3fb8('0x2f')]['sort']);_0x5b6d63['where']=qs['filters'](_[_0x3fb8('0x38')](_0x12202d[_0x3fb8('0x2f')],_0x2dc1cc[_0x3fb8('0x31')]),_0x5ba5c1);if(_0x12202d[_0x3fb8('0x2f')][_0x3fb8('0x39')]){_0x5b6d63['where']=_[_0x3fb8('0x3a')](_0x5b6d63[_0x3fb8('0x3b')],{'$or':_[_0x3fb8('0x29')](_0x5ba5c1,function(_0x199724){if(_0x199724['type']!==_0x3fb8('0x3c')){var _0x43424e={};_0x43424e[_0x199724[_0x3fb8('0x26')]]={'$like':'%'+_0x12202d[_0x3fb8('0x2f')][_0x3fb8('0x39')]+'%'};return _0x43424e;}})});}_0x5b6d63=_[_0x3fb8('0x3a')]({},_0x5b6d63,_0x12202d['options']);var _0x3b39f0={'where':_0x5b6d63['where']};return db[_0x3fb8('0x2a')][_0x3fb8('0x1d')](_0x3b39f0)[_0x3fb8('0x25')](function(_0x4d9516){_0x2904f9[_0x3fb8('0x1d')]=_0x4d9516;if(_0x12202d[_0x3fb8('0x2f')][_0x3fb8('0x3d')]){_0x5b6d63[_0x3fb8('0x3e')]=[{'all':!![]}];}return db[_0x3fb8('0x2a')][_0x3fb8('0x3f')](_0x5b6d63);})[_0x3fb8('0x25')](function(_0x428155){_0x2904f9['rows']=_0x428155;return _0x2904f9;})[_0x3fb8('0x25')](respondWithFilteredResult(_0x584c5c,_0x5b6d63))['catch'](handleError(_0x584c5c,null));};exports[_0x3fb8('0x40')]=function(_0x20b323,_0x3a65ac){var _0x254a99={'raw':!![],'where':{'id':_0x20b323['params']['id']}},_0x51d53c={};_0x51d53c[_0x3fb8('0x2e')]=_['keys'](db[_0x3fb8('0x2a')][_0x3fb8('0x41')]);_0x51d53c[_0x3fb8('0x2f')]=_[_0x3fb8('0x30')](_0x20b323[_0x3fb8('0x2f')]);_0x51d53c[_0x3fb8('0x31')]=_[_0x3fb8('0x32')](_0x51d53c['model'],_0x51d53c[_0x3fb8('0x2f')]);_0x254a99[_0x3fb8('0x33')]=_[_0x3fb8('0x32')](_0x51d53c[_0x3fb8('0x2e')],qs[_0x3fb8('0x34')](_0x20b323[_0x3fb8('0x2f')][_0x3fb8('0x34')]));_0x254a99[_0x3fb8('0x33')]=_0x254a99[_0x3fb8('0x33')]['length']?_0x254a99[_0x3fb8('0x33')]:_0x51d53c[_0x3fb8('0x2e')];if(_0x20b323[_0x3fb8('0x2f')][_0x3fb8('0x3d')]){_0x254a99[_0x3fb8('0x3e')]=[{'all':!![]}];}_0x254a99=_[_0x3fb8('0x3a')]({},_0x254a99,_0x20b323[_0x3fb8('0x42')]);return db['Dynamics365Field']['find'](_0x254a99)['then'](handleEntityNotFound(_0x3a65ac,null))[_0x3fb8('0x25')](respondWithResult(_0x3a65ac,null))[_0x3fb8('0x43')](handleError(_0x3a65ac,null));};exports[_0x3fb8('0x44')]=function(_0x1e6d72,_0x208923){return db[_0x3fb8('0x2a')][_0x3fb8('0x44')](_0x1e6d72[_0x3fb8('0x45')],{})[_0x3fb8('0x25')](respondWithResult(_0x208923,0xc9))[_0x3fb8('0x43')](handleError(_0x208923,null));};exports['update']=function(_0x1ac0b3,_0x5c2c49){if(_0x1ac0b3[_0x3fb8('0x45')]['id']){delete _0x1ac0b3[_0x3fb8('0x45')]['id'];}return db[_0x3fb8('0x2a')][_0x3fb8('0x46')]({'where':{'id':_0x1ac0b3[_0x3fb8('0x47')]['id']}})[_0x3fb8('0x25')](handleEntityNotFound(_0x5c2c49,null))[_0x3fb8('0x25')](saveUpdates(_0x1ac0b3[_0x3fb8('0x45')],null))[_0x3fb8('0x25')](respondWithResult(_0x5c2c49,null))[_0x3fb8('0x43')](handleError(_0x5c2c49,null));};exports[_0x3fb8('0x48')]=function(_0x485be1,_0x28b23c){return db['Dynamics365Field'][_0x3fb8('0x46')]({'where':{'id':_0x485be1[_0x3fb8('0x47')]['id']}})['then'](handleEntityNotFound(_0x28b23c,null))[_0x3fb8('0x25')](removeEntity(_0x28b23c,null))['catch'](handleError(_0x28b23c,null));};