Built motion from commit (unavailable).|2.5.30
[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 _0xc2e7=['name','send','index','map','rawAttributes','type','model','query','keys','filters','intersection','attributes','fields','length','nolimit','order','sort','where','filter','VIRTUAL','merge','options','Dynamics365Field','includeAll','rows','catch','show','params','include','find','create','body','update','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','bluebird','util','path','sox','to-csv','ejs','fs-extra','lodash','crypto','desk.js','querystring','papaparse','../../components/auth/service','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','status','json','offset','undefined','limit','count','set','Content-Range','reject','save','then','end','sendStatus','error','stack'];(function(_0x45dbc6,_0x38f3a3){var _0x23d6cc=function(_0x3125eb){while(--_0x3125eb){_0x45dbc6['push'](_0x45dbc6['shift']());}};_0x23d6cc(++_0x38f3a3);}(_0xc2e7,0x193));var _0x7c2e=function(_0x51e213,_0x5e28a9){_0x51e213=_0x51e213-0x0;var _0x5dd82b=_0xc2e7[_0x51e213];return _0x5dd82b;};'use strict';var emlformat=require(_0x7c2e('0x0'));var rimraf=require(_0x7c2e('0x1'));var zipdir=require(_0x7c2e('0x2'));var jsonpatch=require(_0x7c2e('0x3'));var rp=require(_0x7c2e('0x4'));var moment=require('moment');var BPromise=require(_0x7c2e('0x5'));var Mustache=require('mustache');var util=require(_0x7c2e('0x6'));var path=require(_0x7c2e('0x7'));var sox=require(_0x7c2e('0x8'));var csv=require(_0x7c2e('0x9'));var ejs=require(_0x7c2e('0xa'));var fs=require('fs');var fs_extra=require(_0x7c2e('0xb'));var _=require(_0x7c2e('0xc'));var squel=require('squel');var crypto=require(_0x7c2e('0xd'));var jsforce=require('jsforce');var deskjs=require(_0x7c2e('0xe'));var toCsv=require(_0x7c2e('0x9'));var querystring=require(_0x7c2e('0xf'));var Papa=require(_0x7c2e('0x10'));var Redis=require('ioredis');var authService=require(_0x7c2e('0x11'));var qs=require('../../components/parsers/qs');var as=require(_0x7c2e('0x12'));var hardwareService=require(_0x7c2e('0x13'));var logger=require(_0x7c2e('0x14'))(_0x7c2e('0x15'));var utils=require(_0x7c2e('0x16'));var config=require(_0x7c2e('0x17'));var licenseUtil=require(_0x7c2e('0x18'));var db=require(_0x7c2e('0x19'))['db'];function respondWithStatusCode(_0x2f30a3,_0x527e9d){_0x527e9d=_0x527e9d||0xcc;return function(_0x558c39){if(_0x558c39){return _0x2f30a3['sendStatus'](_0x527e9d);}return _0x2f30a3['status'](_0x527e9d)['end']();};}function respondWithResult(_0x5e63e0,_0x882b4f){_0x882b4f=_0x882b4f||0xc8;return function(_0x46da9c){if(_0x46da9c){return _0x5e63e0[_0x7c2e('0x1a')](_0x882b4f)[_0x7c2e('0x1b')](_0x46da9c);}};}function respondWithFilteredResult(_0x44f4cb,_0x6508fa){return function(_0x397706){if(_0x397706){var _0x58697e=typeof _0x6508fa[_0x7c2e('0x1c')]===_0x7c2e('0x1d')&&typeof _0x6508fa[_0x7c2e('0x1e')]===_0x7c2e('0x1d');var _0x3f4c61=_0x397706[_0x7c2e('0x1f')];var _0xa3208e=_0x58697e?0x0:_0x6508fa['offset'];var _0x311ca4=_0x58697e?_0x397706[_0x7c2e('0x1f')]:_0x6508fa[_0x7c2e('0x1c')]+_0x6508fa[_0x7c2e('0x1e')];var _0x3f713d;if(_0x311ca4>=_0x3f4c61){_0x311ca4=_0x3f4c61;_0x3f713d=0xc8;}else{_0x3f713d=0xce;}_0x44f4cb[_0x7c2e('0x1a')](_0x3f713d);return _0x44f4cb[_0x7c2e('0x20')](_0x7c2e('0x21'),_0xa3208e+'-'+_0x311ca4+'/'+_0x3f4c61)['json'](_0x397706);}return null;};}function patchUpdates(_0x10e6fb){return function(_0x5dddce){try{jsonpatch['apply'](_0x5dddce,_0x10e6fb,!![]);}catch(_0x3989fd){return BPromise[_0x7c2e('0x22')](_0x3989fd);}return _0x5dddce[_0x7c2e('0x23')]();};}function saveUpdates(_0xbb1aad,_0x25e563){return function(_0x3b42fd){if(_0x3b42fd){return _0x3b42fd['update'](_0xbb1aad)[_0x7c2e('0x24')](function(_0x543ae8){return _0x543ae8;});}return null;};}function removeEntity(_0xbe4f47,_0x5a9c60){return function(_0x1500ad){if(_0x1500ad){return _0x1500ad['destroy']()['then'](function(){_0xbe4f47[_0x7c2e('0x1a')](0xcc)[_0x7c2e('0x25')]();});}};}function handleEntityNotFound(_0x577d3e,_0x57927a){return function(_0x303850){if(!_0x303850){_0x577d3e[_0x7c2e('0x26')](0x194);}return _0x303850;};}function handleError(_0x59b2f0,_0x15e231){_0x15e231=_0x15e231||0x1f4;return function(_0x5db822){logger[_0x7c2e('0x27')](_0x5db822[_0x7c2e('0x28')]);if(_0x5db822[_0x7c2e('0x29')]){delete _0x5db822[_0x7c2e('0x29')];}_0x59b2f0[_0x7c2e('0x1a')](_0x15e231)[_0x7c2e('0x2a')](_0x5db822);};}exports[_0x7c2e('0x2b')]=function(_0x453838,_0x226708){var _0x96c277={},_0x178b80={},_0xa2de9f={'count':0x0,'rows':[]};var _0x24fb84=_[_0x7c2e('0x2c')](db['Dynamics365Field'][_0x7c2e('0x2d')],function(_0xf41bbc){return{'name':_0xf41bbc['fieldName'],'type':_0xf41bbc[_0x7c2e('0x2e')]['key']};});_0x178b80[_0x7c2e('0x2f')]=_[_0x7c2e('0x2c')](_0x24fb84,_0x7c2e('0x29'));_0x178b80[_0x7c2e('0x30')]=_[_0x7c2e('0x31')](_0x453838[_0x7c2e('0x30')]);_0x178b80[_0x7c2e('0x32')]=_[_0x7c2e('0x33')](_0x178b80[_0x7c2e('0x2f')],_0x178b80[_0x7c2e('0x30')]);_0x96c277[_0x7c2e('0x34')]=_[_0x7c2e('0x33')](_0x178b80[_0x7c2e('0x2f')],qs['fields'](_0x453838[_0x7c2e('0x30')][_0x7c2e('0x35')]));_0x96c277[_0x7c2e('0x34')]=_0x96c277['attributes'][_0x7c2e('0x36')]?_0x96c277[_0x7c2e('0x34')]:_0x178b80[_0x7c2e('0x2f')];if(!_0x453838[_0x7c2e('0x30')]['hasOwnProperty'](_0x7c2e('0x37'))){_0x96c277[_0x7c2e('0x1e')]=qs[_0x7c2e('0x1e')](_0x453838[_0x7c2e('0x30')][_0x7c2e('0x1e')]);_0x96c277[_0x7c2e('0x1c')]=qs[_0x7c2e('0x1c')](_0x453838['query'][_0x7c2e('0x1c')]);}_0x96c277[_0x7c2e('0x38')]=qs[_0x7c2e('0x39')](_0x453838[_0x7c2e('0x30')]['sort']);_0x96c277[_0x7c2e('0x3a')]=qs['filters'](_['pick'](_0x453838[_0x7c2e('0x30')],_0x178b80['filters']),_0x24fb84);if(_0x453838['query'][_0x7c2e('0x3b')]){_0x96c277[_0x7c2e('0x3a')]=_['merge'](_0x96c277[_0x7c2e('0x3a')],{'$or':_[_0x7c2e('0x2c')](_0x24fb84,function(_0x75aa97){if(_0x75aa97[_0x7c2e('0x2e')]!==_0x7c2e('0x3c')){var _0x16aa1f={};_0x16aa1f[_0x75aa97[_0x7c2e('0x29')]]={'$like':'%'+_0x453838[_0x7c2e('0x30')][_0x7c2e('0x3b')]+'%'};return _0x16aa1f;}})});}_0x96c277=_[_0x7c2e('0x3d')]({},_0x96c277,_0x453838[_0x7c2e('0x3e')]);var _0xd9a293={'where':_0x96c277[_0x7c2e('0x3a')]};return db[_0x7c2e('0x3f')][_0x7c2e('0x1f')](_0xd9a293)[_0x7c2e('0x24')](function(_0x2e1238){_0xa2de9f[_0x7c2e('0x1f')]=_0x2e1238;if(_0x453838['query'][_0x7c2e('0x40')]){_0x96c277['include']=[{'all':!![]}];}return db[_0x7c2e('0x3f')]['findAll'](_0x96c277);})[_0x7c2e('0x24')](function(_0x31a15d){_0xa2de9f[_0x7c2e('0x41')]=_0x31a15d;return _0xa2de9f;})['then'](respondWithFilteredResult(_0x226708,_0x96c277))[_0x7c2e('0x42')](handleError(_0x226708,null));};exports[_0x7c2e('0x43')]=function(_0x322f62,_0x51f5cc){var _0x1db483={'raw':!![],'where':{'id':_0x322f62[_0x7c2e('0x44')]['id']}},_0x4321c8={};_0x4321c8['model']=_[_0x7c2e('0x31')](db[_0x7c2e('0x3f')][_0x7c2e('0x2d')]);_0x4321c8[_0x7c2e('0x30')]=_[_0x7c2e('0x31')](_0x322f62[_0x7c2e('0x30')]);_0x4321c8[_0x7c2e('0x32')]=_[_0x7c2e('0x33')](_0x4321c8[_0x7c2e('0x2f')],_0x4321c8['query']);_0x1db483[_0x7c2e('0x34')]=_[_0x7c2e('0x33')](_0x4321c8[_0x7c2e('0x2f')],qs[_0x7c2e('0x35')](_0x322f62[_0x7c2e('0x30')][_0x7c2e('0x35')]));_0x1db483[_0x7c2e('0x34')]=_0x1db483[_0x7c2e('0x34')][_0x7c2e('0x36')]?_0x1db483[_0x7c2e('0x34')]:_0x4321c8['model'];if(_0x322f62['query']['includeAll']){_0x1db483[_0x7c2e('0x45')]=[{'all':!![]}];}_0x1db483=_[_0x7c2e('0x3d')]({},_0x1db483,_0x322f62[_0x7c2e('0x3e')]);return db[_0x7c2e('0x3f')][_0x7c2e('0x46')](_0x1db483)[_0x7c2e('0x24')](handleEntityNotFound(_0x51f5cc,null))[_0x7c2e('0x24')](respondWithResult(_0x51f5cc,null))[_0x7c2e('0x42')](handleError(_0x51f5cc,null));};exports['create']=function(_0x2003d8,_0x4c53ed){return db['Dynamics365Field'][_0x7c2e('0x47')](_0x2003d8[_0x7c2e('0x48')],{})['then'](respondWithResult(_0x4c53ed,0xc9))[_0x7c2e('0x42')](handleError(_0x4c53ed,null));};exports[_0x7c2e('0x49')]=function(_0x2aeba3,_0x3702fb){if(_0x2aeba3[_0x7c2e('0x48')]['id']){delete _0x2aeba3['body']['id'];}return db[_0x7c2e('0x3f')]['find']({'where':{'id':_0x2aeba3['params']['id']}})[_0x7c2e('0x24')](handleEntityNotFound(_0x3702fb,null))[_0x7c2e('0x24')](saveUpdates(_0x2aeba3['body'],null))[_0x7c2e('0x24')](respondWithResult(_0x3702fb,null))[_0x7c2e('0x42')](handleError(_0x3702fb,null));};exports['destroy']=function(_0x27bc02,_0x5529a0){return db[_0x7c2e('0x3f')][_0x7c2e('0x46')]({'where':{'id':_0x27bc02[_0x7c2e('0x44')]['id']}})['then'](handleEntityNotFound(_0x5529a0,null))[_0x7c2e('0x24')](removeEntity(_0x5529a0,null))[_0x7c2e('0x42')](handleError(_0x5529a0,null));};