Built motion from commit (unavailable).|2.5.27
[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 _0x453d=['mustache','util','path','sox','to-csv','ejs','fs-extra','lodash','squel','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../config/license/hardware','../../config/logger','api','../../config/environment','sendStatus','status','end','count','offset','limit','set','Content-Range','json','apply','reject','save','update','destroy','then','name','index','map','Dynamics365Field','rawAttributes','fieldName','type','key','keys','query','filters','intersection','model','attributes','fields','length','hasOwnProperty','sort','where','filter','merge','VIRTUAL','includeAll','findAll','rows','catch','params','include','options','find','create','body','rimraf','zip-dir','request-promise','moment','bluebird'];(function(_0x535430,_0x1951a2){var _0x5094cf=function(_0x15d8d2){while(--_0x15d8d2){_0x535430['push'](_0x535430['shift']());}};_0x5094cf(++_0x1951a2);}(_0x453d,0xd6));var _0xd453=function(_0x184876,_0x1bb7be){_0x184876=_0x184876-0x0;var _0x40f0d8=_0x453d[_0x184876];return _0x40f0d8;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0xd453('0x0'));var zipdir=require(_0xd453('0x1'));var jsonpatch=require('fast-json-patch');var rp=require(_0xd453('0x2'));var moment=require(_0xd453('0x3'));var BPromise=require(_0xd453('0x4'));var Mustache=require(_0xd453('0x5'));var util=require(_0xd453('0x6'));var path=require(_0xd453('0x7'));var sox=require(_0xd453('0x8'));var csv=require(_0xd453('0x9'));var ejs=require(_0xd453('0xa'));var fs=require('fs');var fs_extra=require(_0xd453('0xb'));var _=require(_0xd453('0xc'));var squel=require(_0xd453('0xd'));var crypto=require(_0xd453('0xe'));var jsforce=require(_0xd453('0xf'));var deskjs=require(_0xd453('0x10'));var toCsv=require(_0xd453('0x9'));var querystring=require(_0xd453('0x11'));var Papa=require(_0xd453('0x12'));var Redis=require(_0xd453('0x13'));var authService=require(_0xd453('0x14'));var qs=require(_0xd453('0x15'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0xd453('0x16'));var logger=require(_0xd453('0x17'))(_0xd453('0x18'));var utils=require('../../config/utils');var config=require(_0xd453('0x19'));var licenseUtil=require('../../config/license/util');var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x1fd5cc,_0x2dbebb){_0x2dbebb=_0x2dbebb||0xcc;return function(_0xd9e664){if(_0xd9e664){return _0x1fd5cc[_0xd453('0x1a')](_0x2dbebb);}return _0x1fd5cc[_0xd453('0x1b')](_0x2dbebb)[_0xd453('0x1c')]();};}function respondWithResult(_0x462b56,_0x3129e3){_0x3129e3=_0x3129e3||0xc8;return function(_0x2701b6){if(_0x2701b6){return _0x462b56[_0xd453('0x1b')](_0x3129e3)['json'](_0x2701b6);}};}function respondWithFilteredResult(_0x1d1781,_0xf44211){return function(_0x33e13b){if(_0x33e13b){var _0x15d703=_0x33e13b[_0xd453('0x1d')],_0x4c5e16=_0xf44211[_0xd453('0x1e')],_0x3eeb6a=_0xf44211[_0xd453('0x1e')]+_0xf44211[_0xd453('0x1f')],_0x2ad424;if(_0x3eeb6a>=_0x15d703){_0x3eeb6a=_0x15d703;_0x2ad424=0xc8;}else{_0x2ad424=0xce;}_0x1d1781['status'](_0x2ad424);return _0x1d1781[_0xd453('0x20')](_0xd453('0x21'),_0x4c5e16+'-'+_0x3eeb6a+'/'+_0x15d703)[_0xd453('0x22')](_0x33e13b);}return null;};}function patchUpdates(_0x273c14){return function(_0x3a0bd8){try{jsonpatch[_0xd453('0x23')](_0x3a0bd8,_0x273c14,!![]);}catch(_0x2bb375){return BPromise[_0xd453('0x24')](_0x2bb375);}return _0x3a0bd8[_0xd453('0x25')]();};}function saveUpdates(_0x138242,_0x4c3a93){return function(_0x2a9514){if(_0x2a9514){return _0x2a9514[_0xd453('0x26')](_0x138242)['then'](function(_0x2e2b5f){return _0x2e2b5f;});}return null;};}function removeEntity(_0x12e588,_0x233062){return function(_0x2a78a0){if(_0x2a78a0){return _0x2a78a0[_0xd453('0x27')]()[_0xd453('0x28')](function(){_0x12e588['status'](0xcc)[_0xd453('0x1c')]();});}};}function handleEntityNotFound(_0x20368b,_0x7fbe3f){return function(_0x615c85){if(!_0x615c85){_0x20368b[_0xd453('0x1a')](0x194);}return _0x615c85;};}function handleError(_0x52d4fe,_0x53e610){_0x53e610=_0x53e610||0x1f4;return function(_0x27e89d){logger['error'](_0x27e89d['stack']);if(_0x27e89d[_0xd453('0x29')]){delete _0x27e89d['name'];}_0x52d4fe[_0xd453('0x1b')](_0x53e610)['send'](_0x27e89d);};}exports[_0xd453('0x2a')]=function(_0x2d4f7f,_0x1be4b6){var _0xf83c8f={},_0x13ac33={},_0xa91784={'count':0x0,'rows':[]};var _0x85990f=_[_0xd453('0x2b')](db[_0xd453('0x2c')][_0xd453('0x2d')],function(_0x4b55cd){return{'name':_0x4b55cd[_0xd453('0x2e')],'type':_0x4b55cd[_0xd453('0x2f')][_0xd453('0x30')]};});_0x13ac33['model']=_[_0xd453('0x2b')](_0x85990f,'name');_0x13ac33['query']=_[_0xd453('0x31')](_0x2d4f7f[_0xd453('0x32')]);_0x13ac33[_0xd453('0x33')]=_[_0xd453('0x34')](_0x13ac33[_0xd453('0x35')],_0x13ac33[_0xd453('0x32')]);_0xf83c8f[_0xd453('0x36')]=_['intersection'](_0x13ac33['model'],qs['fields'](_0x2d4f7f[_0xd453('0x32')][_0xd453('0x37')]));_0xf83c8f[_0xd453('0x36')]=_0xf83c8f[_0xd453('0x36')][_0xd453('0x38')]?_0xf83c8f[_0xd453('0x36')]:_0x13ac33[_0xd453('0x35')];if(!_0x2d4f7f[_0xd453('0x32')][_0xd453('0x39')]('nolimit')){_0xf83c8f[_0xd453('0x1f')]=qs[_0xd453('0x1f')](_0x2d4f7f[_0xd453('0x32')][_0xd453('0x1f')]);_0xf83c8f[_0xd453('0x1e')]=qs[_0xd453('0x1e')](_0x2d4f7f[_0xd453('0x32')]['offset']);}_0xf83c8f['order']=qs[_0xd453('0x3a')](_0x2d4f7f[_0xd453('0x32')][_0xd453('0x3a')]);_0xf83c8f[_0xd453('0x3b')]=qs['filters'](_['pick'](_0x2d4f7f[_0xd453('0x32')],_0x13ac33['filters']),_0x85990f);if(_0x2d4f7f['query'][_0xd453('0x3c')]){_0xf83c8f[_0xd453('0x3b')]=_[_0xd453('0x3d')](_0xf83c8f[_0xd453('0x3b')],{'$or':_[_0xd453('0x2b')](_0x85990f,function(_0x7ec1d5){if(_0x7ec1d5[_0xd453('0x2f')]!==_0xd453('0x3e')){var _0x379fd6={};_0x379fd6[_0x7ec1d5[_0xd453('0x29')]]={'$like':'%'+_0x2d4f7f['query'][_0xd453('0x3c')]+'%'};return _0x379fd6;}})});}_0xf83c8f=_[_0xd453('0x3d')]({},_0xf83c8f,_0x2d4f7f['options']);var _0x33a112={'where':_0xf83c8f['where']};return db[_0xd453('0x2c')][_0xd453('0x1d')](_0x33a112)[_0xd453('0x28')](function(_0x52f832){_0xa91784[_0xd453('0x1d')]=_0x52f832;if(_0x2d4f7f[_0xd453('0x32')][_0xd453('0x3f')]){_0xf83c8f['include']=[{'all':!![]}];}return db[_0xd453('0x2c')][_0xd453('0x40')](_0xf83c8f);})['then'](function(_0x2e6d40){_0xa91784[_0xd453('0x41')]=_0x2e6d40;return _0xa91784;})[_0xd453('0x28')](respondWithFilteredResult(_0x1be4b6,_0xf83c8f))[_0xd453('0x42')](handleError(_0x1be4b6,null));};exports['show']=function(_0x1058e0,_0x24a7e3){var _0x3aaac7={'raw':!![],'where':{'id':_0x1058e0[_0xd453('0x43')]['id']}},_0x14d19f={};_0x14d19f[_0xd453('0x35')]=_['keys'](db[_0xd453('0x2c')]['rawAttributes']);_0x14d19f[_0xd453('0x32')]=_[_0xd453('0x31')](_0x1058e0[_0xd453('0x32')]);_0x14d19f['filters']=_[_0xd453('0x34')](_0x14d19f[_0xd453('0x35')],_0x14d19f[_0xd453('0x32')]);_0x3aaac7[_0xd453('0x36')]=_[_0xd453('0x34')](_0x14d19f[_0xd453('0x35')],qs[_0xd453('0x37')](_0x1058e0[_0xd453('0x32')][_0xd453('0x37')]));_0x3aaac7[_0xd453('0x36')]=_0x3aaac7['attributes'][_0xd453('0x38')]?_0x3aaac7[_0xd453('0x36')]:_0x14d19f[_0xd453('0x35')];if(_0x1058e0[_0xd453('0x32')]['includeAll']){_0x3aaac7[_0xd453('0x44')]=[{'all':!![]}];}_0x3aaac7=_[_0xd453('0x3d')]({},_0x3aaac7,_0x1058e0[_0xd453('0x45')]);return db[_0xd453('0x2c')][_0xd453('0x46')](_0x3aaac7)[_0xd453('0x28')](handleEntityNotFound(_0x24a7e3,null))[_0xd453('0x28')](respondWithResult(_0x24a7e3,null))[_0xd453('0x42')](handleError(_0x24a7e3,null));};exports[_0xd453('0x47')]=function(_0x13065f,_0x4d99b9){return db['Dynamics365Field'][_0xd453('0x47')](_0x13065f[_0xd453('0x48')],{})[_0xd453('0x28')](respondWithResult(_0x4d99b9,0xc9))[_0xd453('0x42')](handleError(_0x4d99b9,null));};exports[_0xd453('0x26')]=function(_0x4044e7,_0x5c1366){if(_0x4044e7['body']['id']){delete _0x4044e7[_0xd453('0x48')]['id'];}return db[_0xd453('0x2c')][_0xd453('0x46')]({'where':{'id':_0x4044e7[_0xd453('0x43')]['id']}})['then'](handleEntityNotFound(_0x5c1366,null))['then'](saveUpdates(_0x4044e7[_0xd453('0x48')],null))[_0xd453('0x28')](respondWithResult(_0x5c1366,null))[_0xd453('0x42')](handleError(_0x5c1366,null));};exports[_0xd453('0x27')]=function(_0x349a50,_0x5ae679){return db['Dynamics365Field'][_0xd453('0x46')]({'where':{'id':_0x349a50[_0xd453('0x43')]['id']}})[_0xd453('0x28')](handleEntityNotFound(_0x5ae679,null))['then'](removeEntity(_0x5ae679,null))['catch'](handleError(_0x5ae679,null));};