4a0a4f93c2d34e7cb4a9718767215cf9449fde24
[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 _0x23b9=['rimraf','fast-json-patch','request-promise','moment','util','path','lodash','crypto','jsforce','desk.js','to-csv','querystring','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/environment','../../mysqldb','sendStatus','end','count','offset','status','set','Content-Range','json','apply','reject','save','update','then','destroy','stack','name','send','map','ServicenowField','type','model','query','keys','filters','intersection','attributes','fields','length','hasOwnProperty','nolimit','limit','sort','pick','filter','merge','VIRTUAL','options','where','includeAll','findAll','rows','catch','show','params','create','body','find','eml-format'];(function(_0x26acda,_0x506025){var _0x5a01d8=function(_0x4a7cfb){while(--_0x4a7cfb){_0x26acda['push'](_0x26acda['shift']());}};_0x5a01d8(++_0x506025);}(_0x23b9,0xce));var _0x923b=function(_0x3d231a,_0x2e2d09){_0x3d231a=_0x3d231a-0x0;var _0x5c0148=_0x23b9[_0x3d231a];return _0x5c0148;};'use strict';var pdf=require('html-pdf');var emlformat=require(_0x923b('0x0'));var rimraf=require(_0x923b('0x1'));var zipdir=require('zip-dir');var jsonpatch=require(_0x923b('0x2'));var rp=require(_0x923b('0x3'));var moment=require(_0x923b('0x4'));var BPromise=require('bluebird');var Mustache=require('mustache');var util=require(_0x923b('0x5'));var path=require(_0x923b('0x6'));var sox=require('sox');var csv=require('to-csv');var ejs=require('ejs');var fs=require('fs');var _=require(_0x923b('0x7'));var squel=require('squel');var crypto=require(_0x923b('0x8'));var jsforce=require(_0x923b('0x9'));var deskjs=require(_0x923b('0xa'));var toCsv=require(_0x923b('0xb'));var querystring=require(_0x923b('0xc'));var Papa=require('papaparse');var Redis=require(_0x923b('0xd'));var authService=require(_0x923b('0xe'));var qs=require(_0x923b('0xf'));var as=require(_0x923b('0x10'));var hardwareService=require(_0x923b('0x11'));var logger=require(_0x923b('0x12'))(_0x923b('0x13'));var utils=require('../../config/utils');var config=require(_0x923b('0x14'));var db=require(_0x923b('0x15'))['db'];function respondWithStatusCode(_0x568860,_0x1996f5){_0x1996f5=_0x1996f5||0xcc;return function(_0x17d4ab){if(_0x17d4ab){return _0x568860[_0x923b('0x16')](_0x1996f5);}return _0x568860['status'](_0x1996f5)[_0x923b('0x17')]();};}function respondWithResult(_0x29cbde,_0x4858bf){_0x4858bf=_0x4858bf||0xc8;return function(_0x48b61e){if(_0x48b61e){return _0x29cbde['status'](_0x4858bf)['json'](_0x48b61e);}};}function respondWithFilteredResult(_0x41aa9f,_0x3a5a70){return function(_0x1cdc1a){if(_0x1cdc1a){var _0x310d48=_0x1cdc1a[_0x923b('0x18')],_0x5057b1=_0x3a5a70[_0x923b('0x19')],_0x1405a5=_0x3a5a70[_0x923b('0x19')]+_0x3a5a70['limit'],_0x5754cb;if(_0x1405a5>=_0x310d48){_0x1405a5=_0x310d48;_0x5754cb=0xc8;}else{_0x5754cb=0xce;}_0x41aa9f[_0x923b('0x1a')](_0x5754cb);return _0x41aa9f[_0x923b('0x1b')](_0x923b('0x1c'),_0x5057b1+'-'+_0x1405a5+'/'+_0x310d48)[_0x923b('0x1d')](_0x1cdc1a);}return null;};}function patchUpdates(_0x17bd75){return function(_0x2a0be5){try{jsonpatch[_0x923b('0x1e')](_0x2a0be5,_0x17bd75,!![]);}catch(_0x350502){return BPromise[_0x923b('0x1f')](_0x350502);}return _0x2a0be5[_0x923b('0x20')]();};}function saveUpdates(_0x5826dd,_0x180489){return function(_0x3fcd0d){if(_0x3fcd0d){return _0x3fcd0d[_0x923b('0x21')](_0x5826dd)[_0x923b('0x22')](function(_0x5e851c){return _0x5e851c;});}return null;};}function removeEntity(_0x357104,_0x4f8c43){return function(_0x5ae515){if(_0x5ae515){return _0x5ae515[_0x923b('0x23')]()[_0x923b('0x22')](function(){_0x357104[_0x923b('0x1a')](0xcc)[_0x923b('0x17')]();});}};}function handleEntityNotFound(_0x4d8bf7,_0x6ea10d){return function(_0x1cce0e){if(!_0x1cce0e){_0x4d8bf7['sendStatus'](0x194);}return _0x1cce0e;};}function handleError(_0xdbd17e,_0x334995){_0x334995=_0x334995||0x1f4;return function(_0x32f806){logger['error'](_0x32f806[_0x923b('0x24')]);if(_0x32f806[_0x923b('0x25')]){delete _0x32f806[_0x923b('0x25')];}_0xdbd17e[_0x923b('0x1a')](_0x334995)[_0x923b('0x26')](_0x32f806);};}exports['index']=function(_0x5ecdd6,_0x2df490){var _0x3c209b={},_0x1824eb={},_0x4c348f={'count':0x0,'rows':[]};var _0x3dbbd7=_[_0x923b('0x27')](db[_0x923b('0x28')]['rawAttributes'],function(_0x115212){return{'name':_0x115212['fieldName'],'type':_0x115212[_0x923b('0x29')]['key']};});_0x1824eb[_0x923b('0x2a')]=_['map'](_0x3dbbd7,_0x923b('0x25'));_0x1824eb[_0x923b('0x2b')]=_[_0x923b('0x2c')](_0x5ecdd6[_0x923b('0x2b')]);_0x1824eb[_0x923b('0x2d')]=_[_0x923b('0x2e')](_0x1824eb[_0x923b('0x2a')],_0x1824eb[_0x923b('0x2b')]);_0x3c209b[_0x923b('0x2f')]=_['intersection'](_0x1824eb['model'],qs['fields'](_0x5ecdd6['query'][_0x923b('0x30')]));_0x3c209b[_0x923b('0x2f')]=_0x3c209b[_0x923b('0x2f')][_0x923b('0x31')]?_0x3c209b[_0x923b('0x2f')]:_0x1824eb[_0x923b('0x2a')];if(!_0x5ecdd6['query'][_0x923b('0x32')](_0x923b('0x33'))){_0x3c209b[_0x923b('0x34')]=qs[_0x923b('0x34')](_0x5ecdd6[_0x923b('0x2b')][_0x923b('0x34')]);_0x3c209b[_0x923b('0x19')]=qs[_0x923b('0x19')](_0x5ecdd6['query'][_0x923b('0x19')]);}_0x3c209b['order']=qs[_0x923b('0x35')](_0x5ecdd6[_0x923b('0x2b')]['sort']);_0x3c209b['where']=qs[_0x923b('0x2d')](_[_0x923b('0x36')](_0x5ecdd6[_0x923b('0x2b')],_0x1824eb[_0x923b('0x2d')]));if(_0x5ecdd6[_0x923b('0x2b')][_0x923b('0x37')]){_0x3c209b['where']=_[_0x923b('0x38')](_0x3c209b['where'],{'$or':_[_0x923b('0x27')](_0x3dbbd7,function(_0x4e574e){if(_0x4e574e['type']!==_0x923b('0x39')){var _0x5adbb4={};_0x5adbb4[_0x4e574e[_0x923b('0x25')]]={'$like':'%'+_0x5ecdd6['query'][_0x923b('0x37')]+'%'};return _0x5adbb4;}})});}_0x3c209b=_[_0x923b('0x38')]({},_0x3c209b,_0x5ecdd6[_0x923b('0x3a')]);var _0x31d557={'where':_0x3c209b[_0x923b('0x3b')]};return db[_0x923b('0x28')][_0x923b('0x18')](_0x31d557)[_0x923b('0x22')](function(_0x29f3be){_0x4c348f[_0x923b('0x18')]=_0x29f3be;if(_0x5ecdd6[_0x923b('0x2b')][_0x923b('0x3c')]){_0x3c209b['include']=[{'all':!![]}];}return db[_0x923b('0x28')][_0x923b('0x3d')](_0x3c209b);})[_0x923b('0x22')](function(_0x2ad90b){_0x4c348f[_0x923b('0x3e')]=_0x2ad90b;return _0x4c348f;})[_0x923b('0x22')](respondWithFilteredResult(_0x2df490,_0x3c209b))[_0x923b('0x3f')](handleError(_0x2df490,null));};exports[_0x923b('0x40')]=function(_0x240f39,_0x320d5d){var _0x4ac24f={'raw':!![],'where':{'id':_0x240f39[_0x923b('0x41')]['id']}},_0x5064ff={};_0x5064ff[_0x923b('0x2a')]=_['keys'](db[_0x923b('0x28')]['rawAttributes']);_0x5064ff[_0x923b('0x2b')]=_[_0x923b('0x2c')](_0x240f39[_0x923b('0x2b')]);_0x5064ff[_0x923b('0x2d')]=_['intersection'](_0x5064ff[_0x923b('0x2a')],_0x5064ff[_0x923b('0x2b')]);_0x4ac24f[_0x923b('0x2f')]=_['intersection'](_0x5064ff['model'],qs[_0x923b('0x30')](_0x240f39[_0x923b('0x2b')][_0x923b('0x30')]));_0x4ac24f[_0x923b('0x2f')]=_0x4ac24f['attributes']['length']?_0x4ac24f['attributes']:_0x5064ff[_0x923b('0x2a')];if(_0x240f39[_0x923b('0x2b')][_0x923b('0x3c')]){_0x4ac24f['include']=[{'all':!![]}];}_0x4ac24f=_['merge']({},_0x4ac24f,_0x240f39[_0x923b('0x3a')]);return db[_0x923b('0x28')]['find'](_0x4ac24f)[_0x923b('0x22')](handleEntityNotFound(_0x320d5d,null))['then'](respondWithResult(_0x320d5d,null))[_0x923b('0x3f')](handleError(_0x320d5d,null));};exports[_0x923b('0x42')]=function(_0x4439eb,_0x35d804){return db['ServicenowField'][_0x923b('0x42')](_0x4439eb[_0x923b('0x43')],{})['then'](respondWithResult(_0x35d804,0xc9))[_0x923b('0x3f')](handleError(_0x35d804,null));};exports[_0x923b('0x21')]=function(_0x4eca06,_0xf2ace7){if(_0x4eca06['body']['id']){delete _0x4eca06[_0x923b('0x43')]['id'];}return db[_0x923b('0x28')][_0x923b('0x44')]({'where':{'id':_0x4eca06[_0x923b('0x41')]['id']}})[_0x923b('0x22')](handleEntityNotFound(_0xf2ace7,null))['then'](saveUpdates(_0x4eca06['body'],null))['then'](respondWithResult(_0xf2ace7,null))[_0x923b('0x3f')](handleError(_0xf2ace7,null));};exports['destroy']=function(_0x3a430c,_0x48eb46){return db['ServicenowField'][_0x923b('0x44')]({'where':{'id':_0x3a430c['params']['id']}})[_0x923b('0x22')](handleEntityNotFound(_0x48eb46,null))[_0x923b('0x22')](removeEntity(_0x48eb46,null))[_0x923b('0x3f')](handleError(_0x48eb46,null));};