1b9e6c3a39def504592bbd58743e6e18b20dc7f7
[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 _0xb522=['Content-Range','apply','save','then','destroy','error','name','send','index','map','ServicenowField','rawAttributes','key','model','query','keys','filters','intersection','attributes','fields','hasOwnProperty','nolimit','order','sort','pick','filter','where','merge','type','VIRTUAL','include','findAll','rows','catch','show','includeAll','options','create','update','find','params','body','eml-format','rimraf','zip-dir','fast-json-patch','bluebird','mustache','util','sox','to-csv','ejs','lodash','crypto','jsforce','desk.js','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','end','json','offset','undefined','limit','count','set'];(function(_0x5e3b04,_0xbb6795){var _0x1fc44d=function(_0x3472a1){while(--_0x3472a1){_0x5e3b04['push'](_0x5e3b04['shift']());}};_0x1fc44d(++_0xbb6795);}(_0xb522,0x15e));var _0x2b52=function(_0x3dd15e,_0x1f0015){_0x3dd15e=_0x3dd15e-0x0;var _0x231fd0=_0xb522[_0x3dd15e];return _0x231fd0;};'use strict';var emlformat=require(_0x2b52('0x0'));var rimraf=require(_0x2b52('0x1'));var zipdir=require(_0x2b52('0x2'));var jsonpatch=require(_0x2b52('0x3'));var rp=require('request-promise');var moment=require('moment');var BPromise=require(_0x2b52('0x4'));var Mustache=require(_0x2b52('0x5'));var util=require(_0x2b52('0x6'));var path=require('path');var sox=require(_0x2b52('0x7'));var csv=require(_0x2b52('0x8'));var ejs=require(_0x2b52('0x9'));var fs=require('fs');var fs_extra=require('fs-extra');var _=require(_0x2b52('0xa'));var squel=require('squel');var crypto=require(_0x2b52('0xb'));var jsforce=require(_0x2b52('0xc'));var deskjs=require(_0x2b52('0xd'));var toCsv=require(_0x2b52('0x8'));var querystring=require('querystring');var Papa=require(_0x2b52('0xe'));var Redis=require(_0x2b52('0xf'));var authService=require(_0x2b52('0x10'));var qs=require(_0x2b52('0x11'));var as=require(_0x2b52('0x12'));var hardwareService=require(_0x2b52('0x13'));var logger=require(_0x2b52('0x14'))(_0x2b52('0x15'));var utils=require(_0x2b52('0x16'));var config=require(_0x2b52('0x17'));var licenseUtil=require(_0x2b52('0x18'));var db=require(_0x2b52('0x19'))['db'];function respondWithStatusCode(_0x308be0,_0x1818b8){_0x1818b8=_0x1818b8||0xcc;return function(_0x3a868c){if(_0x3a868c){return _0x308be0[_0x2b52('0x1a')](_0x1818b8);}return _0x308be0[_0x2b52('0x1b')](_0x1818b8)[_0x2b52('0x1c')]();};}function respondWithResult(_0x3a8d38,_0x5960e8){_0x5960e8=_0x5960e8||0xc8;return function(_0x81cb6){if(_0x81cb6){return _0x3a8d38[_0x2b52('0x1b')](_0x5960e8)[_0x2b52('0x1d')](_0x81cb6);}};}function respondWithFilteredResult(_0xf47802,_0xe094d9){return function(_0x2ad0fd){if(_0x2ad0fd){var _0x53a1f1=typeof _0xe094d9[_0x2b52('0x1e')]===_0x2b52('0x1f')&&typeof _0xe094d9[_0x2b52('0x20')]===_0x2b52('0x1f');var _0x141641=_0x2ad0fd['count'];var _0x210188=_0x53a1f1?0x0:_0xe094d9['offset'];var _0x54a274=_0x53a1f1?_0x2ad0fd[_0x2b52('0x21')]:_0xe094d9['offset']+_0xe094d9[_0x2b52('0x20')];var _0x4b4ad6;if(_0x54a274>=_0x141641){_0x54a274=_0x141641;_0x4b4ad6=0xc8;}else{_0x4b4ad6=0xce;}_0xf47802['status'](_0x4b4ad6);return _0xf47802[_0x2b52('0x22')](_0x2b52('0x23'),_0x210188+'-'+_0x54a274+'/'+_0x141641)['json'](_0x2ad0fd);}return null;};}function patchUpdates(_0x14f5a0){return function(_0x1700c1){try{jsonpatch[_0x2b52('0x24')](_0x1700c1,_0x14f5a0,!![]);}catch(_0x165cad){return BPromise['reject'](_0x165cad);}return _0x1700c1[_0x2b52('0x25')]();};}function saveUpdates(_0xb51571,_0x21942d){return function(_0x7e3a66){if(_0x7e3a66){return _0x7e3a66['update'](_0xb51571)[_0x2b52('0x26')](function(_0x591cb5){return _0x591cb5;});}return null;};}function removeEntity(_0x3cd934,_0x2e559b){return function(_0x5c6ae6){if(_0x5c6ae6){return _0x5c6ae6[_0x2b52('0x27')]()['then'](function(){_0x3cd934[_0x2b52('0x1b')](0xcc)[_0x2b52('0x1c')]();});}};}function handleEntityNotFound(_0x21c91e,_0x15c8f3){return function(_0xe6643c){if(!_0xe6643c){_0x21c91e[_0x2b52('0x1a')](0x194);}return _0xe6643c;};}function handleError(_0x22f0c9,_0x499045){_0x499045=_0x499045||0x1f4;return function(_0x5a0283){logger[_0x2b52('0x28')](_0x5a0283['stack']);if(_0x5a0283[_0x2b52('0x29')]){delete _0x5a0283[_0x2b52('0x29')];}_0x22f0c9[_0x2b52('0x1b')](_0x499045)[_0x2b52('0x2a')](_0x5a0283);};}exports[_0x2b52('0x2b')]=function(_0x2aa8bf,_0x45f08a){var _0x2af71d={},_0x560bb1={},_0x2fa450={'count':0x0,'rows':[]};var _0x57faf4=_[_0x2b52('0x2c')](db[_0x2b52('0x2d')][_0x2b52('0x2e')],function(_0x2a2b71){return{'name':_0x2a2b71['fieldName'],'type':_0x2a2b71['type'][_0x2b52('0x2f')]};});_0x560bb1[_0x2b52('0x30')]=_[_0x2b52('0x2c')](_0x57faf4,_0x2b52('0x29'));_0x560bb1[_0x2b52('0x31')]=_[_0x2b52('0x32')](_0x2aa8bf[_0x2b52('0x31')]);_0x560bb1[_0x2b52('0x33')]=_[_0x2b52('0x34')](_0x560bb1[_0x2b52('0x30')],_0x560bb1[_0x2b52('0x31')]);_0x2af71d[_0x2b52('0x35')]=_[_0x2b52('0x34')](_0x560bb1[_0x2b52('0x30')],qs['fields'](_0x2aa8bf[_0x2b52('0x31')][_0x2b52('0x36')]));_0x2af71d[_0x2b52('0x35')]=_0x2af71d[_0x2b52('0x35')]['length']?_0x2af71d[_0x2b52('0x35')]:_0x560bb1['model'];if(!_0x2aa8bf[_0x2b52('0x31')][_0x2b52('0x37')](_0x2b52('0x38'))){_0x2af71d[_0x2b52('0x20')]=qs[_0x2b52('0x20')](_0x2aa8bf[_0x2b52('0x31')][_0x2b52('0x20')]);_0x2af71d[_0x2b52('0x1e')]=qs[_0x2b52('0x1e')](_0x2aa8bf['query']['offset']);}_0x2af71d[_0x2b52('0x39')]=qs['sort'](_0x2aa8bf[_0x2b52('0x31')][_0x2b52('0x3a')]);_0x2af71d['where']=qs['filters'](_[_0x2b52('0x3b')](_0x2aa8bf[_0x2b52('0x31')],_0x560bb1[_0x2b52('0x33')]),_0x57faf4);if(_0x2aa8bf[_0x2b52('0x31')][_0x2b52('0x3c')]){_0x2af71d[_0x2b52('0x3d')]=_[_0x2b52('0x3e')](_0x2af71d[_0x2b52('0x3d')],{'$or':_[_0x2b52('0x2c')](_0x57faf4,function(_0x1141ce){if(_0x1141ce[_0x2b52('0x3f')]!==_0x2b52('0x40')){var _0x169bc0={};_0x169bc0[_0x1141ce[_0x2b52('0x29')]]={'$like':'%'+_0x2aa8bf[_0x2b52('0x31')][_0x2b52('0x3c')]+'%'};return _0x169bc0;}})});}_0x2af71d=_[_0x2b52('0x3e')]({},_0x2af71d,_0x2aa8bf['options']);var _0x38f1b2={'where':_0x2af71d[_0x2b52('0x3d')]};return db[_0x2b52('0x2d')][_0x2b52('0x21')](_0x38f1b2)[_0x2b52('0x26')](function(_0x2322bc){_0x2fa450[_0x2b52('0x21')]=_0x2322bc;if(_0x2aa8bf[_0x2b52('0x31')]['includeAll']){_0x2af71d[_0x2b52('0x41')]=[{'all':!![]}];}return db[_0x2b52('0x2d')][_0x2b52('0x42')](_0x2af71d);})['then'](function(_0x248f7b){_0x2fa450[_0x2b52('0x43')]=_0x248f7b;return _0x2fa450;})['then'](respondWithFilteredResult(_0x45f08a,_0x2af71d))[_0x2b52('0x44')](handleError(_0x45f08a,null));};exports[_0x2b52('0x45')]=function(_0xab913f,_0x4b8c4c){var _0x37f0b6={'raw':!![],'where':{'id':_0xab913f['params']['id']}},_0x510c58={};_0x510c58['model']=_[_0x2b52('0x32')](db[_0x2b52('0x2d')][_0x2b52('0x2e')]);_0x510c58['query']=_[_0x2b52('0x32')](_0xab913f[_0x2b52('0x31')]);_0x510c58[_0x2b52('0x33')]=_[_0x2b52('0x34')](_0x510c58[_0x2b52('0x30')],_0x510c58[_0x2b52('0x31')]);_0x37f0b6[_0x2b52('0x35')]=_['intersection'](_0x510c58[_0x2b52('0x30')],qs[_0x2b52('0x36')](_0xab913f[_0x2b52('0x31')]['fields']));_0x37f0b6['attributes']=_0x37f0b6[_0x2b52('0x35')]['length']?_0x37f0b6['attributes']:_0x510c58['model'];if(_0xab913f[_0x2b52('0x31')][_0x2b52('0x46')]){_0x37f0b6['include']=[{'all':!![]}];}_0x37f0b6=_[_0x2b52('0x3e')]({},_0x37f0b6,_0xab913f[_0x2b52('0x47')]);return db[_0x2b52('0x2d')]['find'](_0x37f0b6)[_0x2b52('0x26')](handleEntityNotFound(_0x4b8c4c,null))[_0x2b52('0x26')](respondWithResult(_0x4b8c4c,null))[_0x2b52('0x44')](handleError(_0x4b8c4c,null));};exports[_0x2b52('0x48')]=function(_0x1eaf21,_0xa6a5b0){return db[_0x2b52('0x2d')][_0x2b52('0x48')](_0x1eaf21['body'],{})[_0x2b52('0x26')](respondWithResult(_0xa6a5b0,0xc9))['catch'](handleError(_0xa6a5b0,null));};exports[_0x2b52('0x49')]=function(_0x5f3d9e,_0x497479){if(_0x5f3d9e['body']['id']){delete _0x5f3d9e['body']['id'];}return db['ServicenowField'][_0x2b52('0x4a')]({'where':{'id':_0x5f3d9e[_0x2b52('0x4b')]['id']}})['then'](handleEntityNotFound(_0x497479,null))['then'](saveUpdates(_0x5f3d9e[_0x2b52('0x4c')],null))['then'](respondWithResult(_0x497479,null))[_0x2b52('0x44')](handleError(_0x497479,null));};exports[_0x2b52('0x27')]=function(_0x37ff27,_0x4013b2){return db[_0x2b52('0x2d')][_0x2b52('0x4a')]({'where':{'id':_0x37ff27['params']['id']}})[_0x2b52('0x26')](handleEntityNotFound(_0x4013b2,null))[_0x2b52('0x26')](removeEntity(_0x4013b2,null))[_0x2b52('0x44')](handleError(_0x4013b2,null));};