e4a060616c51c67aeaf959e2956844cec2abad8a
[motion2.git] / server / api / intServicenowField / intServicenowField.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 _0xbe29=['intersection','fields','hasOwnProperty','nolimit','order','sort','where','merge','type','VIRTUAL','filter','options','includeAll','rows','show','params','include','find','create','body','eml-format','rimraf','fast-json-patch','moment','mustache','util','path','sox','to-csv','ejs','fs-extra','lodash','squel','crypto','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../config/license/hardware','../../config/logger','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','end','status','json','undefined','limit','count','offset','Content-Range','apply','reject','save','update','then','destroy','error','stack','name','send','index','map','ServicenowField','model','keys','query','filters','attributes'];(function(_0xec7170,_0x123be6){var _0x18e9ec=function(_0x45b33f){while(--_0x45b33f){_0xec7170['push'](_0xec7170['shift']());}};_0x18e9ec(++_0x123be6);}(_0xbe29,0x1ca));var _0x9be2=function(_0x4347ec,_0x41c4b8){_0x4347ec=_0x4347ec-0x0;var _0x4c8314=_0xbe29[_0x4347ec];return _0x4c8314;};'use strict';var emlformat=require(_0x9be2('0x0'));var rimraf=require(_0x9be2('0x1'));var zipdir=require('zip-dir');var jsonpatch=require(_0x9be2('0x2'));var rp=require('request-promise');var moment=require(_0x9be2('0x3'));var BPromise=require('bluebird');var Mustache=require(_0x9be2('0x4'));var util=require(_0x9be2('0x5'));var path=require(_0x9be2('0x6'));var sox=require(_0x9be2('0x7'));var csv=require(_0x9be2('0x8'));var ejs=require(_0x9be2('0x9'));var fs=require('fs');var fs_extra=require(_0x9be2('0xa'));var _=require(_0x9be2('0xb'));var squel=require(_0x9be2('0xc'));var crypto=require(_0x9be2('0xd'));var jsforce=require('jsforce');var deskjs=require(_0x9be2('0xe'));var toCsv=require(_0x9be2('0x8'));var querystring=require(_0x9be2('0xf'));var Papa=require(_0x9be2('0x10'));var Redis=require(_0x9be2('0x11'));var authService=require(_0x9be2('0x12'));var qs=require(_0x9be2('0x13'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0x9be2('0x14'));var logger=require(_0x9be2('0x15'))('api');var utils=require(_0x9be2('0x16'));var config=require(_0x9be2('0x17'));var licenseUtil=require(_0x9be2('0x18'));var db=require(_0x9be2('0x19'))['db'];function respondWithStatusCode(_0x22609a,_0x4c76cd){_0x4c76cd=_0x4c76cd||0xcc;return function(_0x5ae6e9){if(_0x5ae6e9){return _0x22609a[_0x9be2('0x1a')](_0x4c76cd);}return _0x22609a['status'](_0x4c76cd)[_0x9be2('0x1b')]();};}function respondWithResult(_0x3dd8a6,_0x4a482b){_0x4a482b=_0x4a482b||0xc8;return function(_0x5931fe){if(_0x5931fe){return _0x3dd8a6[_0x9be2('0x1c')](_0x4a482b)[_0x9be2('0x1d')](_0x5931fe);}};}function respondWithFilteredResult(_0x60d663,_0x3e1e9e){return function(_0x5ccb5c){if(_0x5ccb5c){var _0x299487=typeof _0x3e1e9e['offset']===_0x9be2('0x1e')&&typeof _0x3e1e9e[_0x9be2('0x1f')]==='undefined';var _0x53dd99=_0x5ccb5c[_0x9be2('0x20')];var _0x1e8f4f=_0x299487?0x0:_0x3e1e9e['offset'];var _0x4a33f0=_0x299487?_0x5ccb5c[_0x9be2('0x20')]:_0x3e1e9e[_0x9be2('0x21')]+_0x3e1e9e[_0x9be2('0x1f')];var _0x268921;if(_0x4a33f0>=_0x53dd99){_0x4a33f0=_0x53dd99;_0x268921=0xc8;}else{_0x268921=0xce;}_0x60d663[_0x9be2('0x1c')](_0x268921);return _0x60d663['set'](_0x9be2('0x22'),_0x1e8f4f+'-'+_0x4a33f0+'/'+_0x53dd99)['json'](_0x5ccb5c);}return null;};}function patchUpdates(_0x38c148){return function(_0x4b8353){try{jsonpatch[_0x9be2('0x23')](_0x4b8353,_0x38c148,!![]);}catch(_0x20bd01){return BPromise[_0x9be2('0x24')](_0x20bd01);}return _0x4b8353[_0x9be2('0x25')]();};}function saveUpdates(_0x58e0ff,_0x4ba4b2){return function(_0x4daa11){if(_0x4daa11){return _0x4daa11[_0x9be2('0x26')](_0x58e0ff)[_0x9be2('0x27')](function(_0x22fda8){return _0x22fda8;});}return null;};}function removeEntity(_0x13dba6,_0x252f0d){return function(_0x851801){if(_0x851801){return _0x851801[_0x9be2('0x28')]()['then'](function(){_0x13dba6[_0x9be2('0x1c')](0xcc)[_0x9be2('0x1b')]();});}};}function handleEntityNotFound(_0x1f6894,_0x26af4a){return function(_0x3705d1){if(!_0x3705d1){_0x1f6894[_0x9be2('0x1a')](0x194);}return _0x3705d1;};}function handleError(_0x5e13ba,_0x4d7916){_0x4d7916=_0x4d7916||0x1f4;return function(_0x56baaa){logger[_0x9be2('0x29')](_0x56baaa[_0x9be2('0x2a')]);if(_0x56baaa[_0x9be2('0x2b')]){delete _0x56baaa[_0x9be2('0x2b')];}_0x5e13ba[_0x9be2('0x1c')](_0x4d7916)[_0x9be2('0x2c')](_0x56baaa);};}exports[_0x9be2('0x2d')]=function(_0x241eb5,_0x33c5a5){var _0x145ae5={},_0x5795d4={},_0x19137d={'count':0x0,'rows':[]};var _0x5778c2=_[_0x9be2('0x2e')](db[_0x9be2('0x2f')]['rawAttributes'],function(_0x1f28ac){return{'name':_0x1f28ac['fieldName'],'type':_0x1f28ac['type']['key']};});_0x5795d4[_0x9be2('0x30')]=_['map'](_0x5778c2,_0x9be2('0x2b'));_0x5795d4['query']=_[_0x9be2('0x31')](_0x241eb5[_0x9be2('0x32')]);_0x5795d4[_0x9be2('0x33')]=_['intersection'](_0x5795d4[_0x9be2('0x30')],_0x5795d4[_0x9be2('0x32')]);_0x145ae5[_0x9be2('0x34')]=_[_0x9be2('0x35')](_0x5795d4[_0x9be2('0x30')],qs[_0x9be2('0x36')](_0x241eb5['query'][_0x9be2('0x36')]));_0x145ae5[_0x9be2('0x34')]=_0x145ae5[_0x9be2('0x34')]['length']?_0x145ae5[_0x9be2('0x34')]:_0x5795d4[_0x9be2('0x30')];if(!_0x241eb5[_0x9be2('0x32')][_0x9be2('0x37')](_0x9be2('0x38'))){_0x145ae5[_0x9be2('0x1f')]=qs['limit'](_0x241eb5[_0x9be2('0x32')][_0x9be2('0x1f')]);_0x145ae5[_0x9be2('0x21')]=qs['offset'](_0x241eb5[_0x9be2('0x32')][_0x9be2('0x21')]);}_0x145ae5[_0x9be2('0x39')]=qs[_0x9be2('0x3a')](_0x241eb5['query']['sort']);_0x145ae5[_0x9be2('0x3b')]=qs[_0x9be2('0x33')](_['pick'](_0x241eb5[_0x9be2('0x32')],_0x5795d4[_0x9be2('0x33')]),_0x5778c2);if(_0x241eb5['query']['filter']){_0x145ae5[_0x9be2('0x3b')]=_[_0x9be2('0x3c')](_0x145ae5[_0x9be2('0x3b')],{'$or':_[_0x9be2('0x2e')](_0x5778c2,function(_0x1531e3){if(_0x1531e3[_0x9be2('0x3d')]!==_0x9be2('0x3e')){var _0xc8ad41={};_0xc8ad41[_0x1531e3[_0x9be2('0x2b')]]={'$like':'%'+_0x241eb5[_0x9be2('0x32')][_0x9be2('0x3f')]+'%'};return _0xc8ad41;}})});}_0x145ae5=_[_0x9be2('0x3c')]({},_0x145ae5,_0x241eb5[_0x9be2('0x40')]);var _0x311e9b={'where':_0x145ae5[_0x9be2('0x3b')]};return db[_0x9be2('0x2f')][_0x9be2('0x20')](_0x311e9b)[_0x9be2('0x27')](function(_0x22b6a8){_0x19137d[_0x9be2('0x20')]=_0x22b6a8;if(_0x241eb5[_0x9be2('0x32')][_0x9be2('0x41')]){_0x145ae5['include']=[{'all':!![]}];}return db[_0x9be2('0x2f')]['findAll'](_0x145ae5);})['then'](function(_0x19b4f5){_0x19137d[_0x9be2('0x42')]=_0x19b4f5;return _0x19137d;})['then'](respondWithFilteredResult(_0x33c5a5,_0x145ae5))['catch'](handleError(_0x33c5a5,null));};exports[_0x9be2('0x43')]=function(_0x2fd20c,_0x2fea22){var _0x2b5d6b={'raw':!![],'where':{'id':_0x2fd20c[_0x9be2('0x44')]['id']}},_0x2dd0e0={};_0x2dd0e0[_0x9be2('0x30')]=_[_0x9be2('0x31')](db['ServicenowField']['rawAttributes']);_0x2dd0e0['query']=_['keys'](_0x2fd20c['query']);_0x2dd0e0[_0x9be2('0x33')]=_[_0x9be2('0x35')](_0x2dd0e0[_0x9be2('0x30')],_0x2dd0e0[_0x9be2('0x32')]);_0x2b5d6b['attributes']=_[_0x9be2('0x35')](_0x2dd0e0['model'],qs[_0x9be2('0x36')](_0x2fd20c[_0x9be2('0x32')][_0x9be2('0x36')]));_0x2b5d6b[_0x9be2('0x34')]=_0x2b5d6b[_0x9be2('0x34')]['length']?_0x2b5d6b['attributes']:_0x2dd0e0['model'];if(_0x2fd20c[_0x9be2('0x32')][_0x9be2('0x41')]){_0x2b5d6b[_0x9be2('0x45')]=[{'all':!![]}];}_0x2b5d6b=_['merge']({},_0x2b5d6b,_0x2fd20c[_0x9be2('0x40')]);return db['ServicenowField'][_0x9be2('0x46')](_0x2b5d6b)[_0x9be2('0x27')](handleEntityNotFound(_0x2fea22,null))[_0x9be2('0x27')](respondWithResult(_0x2fea22,null))['catch'](handleError(_0x2fea22,null));};exports[_0x9be2('0x47')]=function(_0x36d6a5,_0x370b9b){return db[_0x9be2('0x2f')][_0x9be2('0x47')](_0x36d6a5[_0x9be2('0x48')],{})[_0x9be2('0x27')](respondWithResult(_0x370b9b,0xc9))['catch'](handleError(_0x370b9b,null));};exports[_0x9be2('0x26')]=function(_0x41f38b,_0x1ee3a1){if(_0x41f38b[_0x9be2('0x48')]['id']){delete _0x41f38b[_0x9be2('0x48')]['id'];}return db['ServicenowField'][_0x9be2('0x46')]({'where':{'id':_0x41f38b[_0x9be2('0x44')]['id']}})['then'](handleEntityNotFound(_0x1ee3a1,null))[_0x9be2('0x27')](saveUpdates(_0x41f38b[_0x9be2('0x48')],null))[_0x9be2('0x27')](respondWithResult(_0x1ee3a1,null))['catch'](handleError(_0x1ee3a1,null));};exports[_0x9be2('0x28')]=function(_0x36307e,_0x4723a6){return db['ServicenowField'][_0x9be2('0x46')]({'where':{'id':_0x36307e['params']['id']}})[_0x9be2('0x27')](handleEntityNotFound(_0x4723a6,null))[_0x9be2('0x27')](removeEntity(_0x4723a6,null))['catch'](handleError(_0x4723a6,null));};