bfb15dabdb5e11f704cade45ab77ae0daed66ec4
[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 _0xdcdd=['fast-json-patch','request-promise','moment','mustache','util','path','sox','to-csv','ejs','fs-extra','lodash','crypto','desk.js','querystring','papaparse','ioredis','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','api','../../config/license/util','../../mysqldb','sendStatus','status','json','offset','undefined','limit','set','Content-Range','reject','save','update','then','destroy','error','stack','name','send','index','ServicenowField','rawAttributes','fieldName','key','model','map','query','keys','intersection','attributes','fields','hasOwnProperty','nolimit','order','sort','where','filters','pick','filter','merge','type','VIRTUAL','options','count','findAll','show','params','length','includeAll','find','catch','create','body','rimraf'];(function(_0x3c8c50,_0x221422){var _0x387422=function(_0x4db194){while(--_0x4db194){_0x3c8c50['push'](_0x3c8c50['shift']());}};_0x387422(++_0x221422);}(_0xdcdd,0x127));var _0xddcd=function(_0x4e4fd1,_0x21322d){_0x4e4fd1=_0x4e4fd1-0x0;var _0x3f895d=_0xdcdd[_0x4e4fd1];return _0x3f895d;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0xddcd('0x0'));var zipdir=require('zip-dir');var jsonpatch=require(_0xddcd('0x1'));var rp=require(_0xddcd('0x2'));var moment=require(_0xddcd('0x3'));var BPromise=require('bluebird');var Mustache=require(_0xddcd('0x4'));var util=require(_0xddcd('0x5'));var path=require(_0xddcd('0x6'));var sox=require(_0xddcd('0x7'));var csv=require(_0xddcd('0x8'));var ejs=require(_0xddcd('0x9'));var fs=require('fs');var fs_extra=require(_0xddcd('0xa'));var _=require(_0xddcd('0xb'));var squel=require('squel');var crypto=require(_0xddcd('0xc'));var jsforce=require('jsforce');var deskjs=require(_0xddcd('0xd'));var toCsv=require(_0xddcd('0x8'));var querystring=require(_0xddcd('0xe'));var Papa=require(_0xddcd('0xf'));var Redis=require(_0xddcd('0x10'));var authService=require('../../components/auth/service');var qs=require(_0xddcd('0x11'));var as=require(_0xddcd('0x12'));var hardwareService=require(_0xddcd('0x13'));var logger=require('../../config/logger')(_0xddcd('0x14'));var utils=require('../../config/utils');var config=require('../../config/environment');var licenseUtil=require(_0xddcd('0x15'));var db=require(_0xddcd('0x16'))['db'];function respondWithStatusCode(_0x156cd3,_0x4f4d3f){_0x4f4d3f=_0x4f4d3f||0xcc;return function(_0x37ffd4){if(_0x37ffd4){return _0x156cd3[_0xddcd('0x17')](_0x4f4d3f);}return _0x156cd3[_0xddcd('0x18')](_0x4f4d3f)['end']();};}function respondWithResult(_0x5646e2,_0x1f4f51){_0x1f4f51=_0x1f4f51||0xc8;return function(_0x2ba90a){if(_0x2ba90a){return _0x5646e2[_0xddcd('0x18')](_0x1f4f51)[_0xddcd('0x19')](_0x2ba90a);}};}function respondWithFilteredResult(_0x4f748b,_0x18ee85){return function(_0x252365){if(_0x252365){var _0x54b72f=typeof _0x18ee85[_0xddcd('0x1a')]===_0xddcd('0x1b')&&typeof _0x18ee85[_0xddcd('0x1c')]===_0xddcd('0x1b');var _0xb4eb4=_0x252365['count'];var _0x1189eb=_0x54b72f?0x0:_0x18ee85[_0xddcd('0x1a')];var _0x76445f=_0x54b72f?_0x252365['count']:_0x18ee85[_0xddcd('0x1a')]+_0x18ee85['limit'];var _0x18c0e0;if(_0x76445f>=_0xb4eb4){_0x76445f=_0xb4eb4;_0x18c0e0=0xc8;}else{_0x18c0e0=0xce;}_0x4f748b[_0xddcd('0x18')](_0x18c0e0);return _0x4f748b[_0xddcd('0x1d')](_0xddcd('0x1e'),_0x1189eb+'-'+_0x76445f+'/'+_0xb4eb4)[_0xddcd('0x19')](_0x252365);}return null;};}function patchUpdates(_0x386a9f){return function(_0x1981e5){try{jsonpatch['apply'](_0x1981e5,_0x386a9f,!![]);}catch(_0x5913bb){return BPromise[_0xddcd('0x1f')](_0x5913bb);}return _0x1981e5[_0xddcd('0x20')]();};}function saveUpdates(_0x50fff7,_0x35e4c3){return function(_0x25f8e4){if(_0x25f8e4){return _0x25f8e4[_0xddcd('0x21')](_0x50fff7)[_0xddcd('0x22')](function(_0x36eeae){return _0x36eeae;});}return null;};}function removeEntity(_0x57c448,_0x383d26){return function(_0x477f99){if(_0x477f99){return _0x477f99[_0xddcd('0x23')]()[_0xddcd('0x22')](function(){_0x57c448[_0xddcd('0x18')](0xcc)['end']();});}};}function handleEntityNotFound(_0xda6fdc,_0x157808){return function(_0x14500d){if(!_0x14500d){_0xda6fdc[_0xddcd('0x17')](0x194);}return _0x14500d;};}function handleError(_0x2a0027,_0x113081){_0x113081=_0x113081||0x1f4;return function(_0x27d200){logger[_0xddcd('0x24')](_0x27d200[_0xddcd('0x25')]);if(_0x27d200['name']){delete _0x27d200[_0xddcd('0x26')];}_0x2a0027[_0xddcd('0x18')](_0x113081)[_0xddcd('0x27')](_0x27d200);};}exports[_0xddcd('0x28')]=function(_0x479b98,_0x537f57){var _0x57f27e={},_0x2249cf={},_0xf5e3eb={'count':0x0,'rows':[]};var _0x2dc422=_['map'](db[_0xddcd('0x29')][_0xddcd('0x2a')],function(_0x23bdc2){return{'name':_0x23bdc2[_0xddcd('0x2b')],'type':_0x23bdc2['type'][_0xddcd('0x2c')]};});_0x2249cf[_0xddcd('0x2d')]=_[_0xddcd('0x2e')](_0x2dc422,'name');_0x2249cf[_0xddcd('0x2f')]=_[_0xddcd('0x30')](_0x479b98['query']);_0x2249cf['filters']=_[_0xddcd('0x31')](_0x2249cf[_0xddcd('0x2d')],_0x2249cf[_0xddcd('0x2f')]);_0x57f27e[_0xddcd('0x32')]=_[_0xddcd('0x31')](_0x2249cf[_0xddcd('0x2d')],qs[_0xddcd('0x33')](_0x479b98[_0xddcd('0x2f')]['fields']));_0x57f27e['attributes']=_0x57f27e[_0xddcd('0x32')]['length']?_0x57f27e[_0xddcd('0x32')]:_0x2249cf[_0xddcd('0x2d')];if(!_0x479b98[_0xddcd('0x2f')][_0xddcd('0x34')](_0xddcd('0x35'))){_0x57f27e['limit']=qs[_0xddcd('0x1c')](_0x479b98[_0xddcd('0x2f')][_0xddcd('0x1c')]);_0x57f27e['offset']=qs[_0xddcd('0x1a')](_0x479b98[_0xddcd('0x2f')][_0xddcd('0x1a')]);}_0x57f27e[_0xddcd('0x36')]=qs[_0xddcd('0x37')](_0x479b98['query']['sort']);_0x57f27e[_0xddcd('0x38')]=qs[_0xddcd('0x39')](_[_0xddcd('0x3a')](_0x479b98['query'],_0x2249cf['filters']),_0x2dc422);if(_0x479b98[_0xddcd('0x2f')][_0xddcd('0x3b')]){_0x57f27e[_0xddcd('0x38')]=_[_0xddcd('0x3c')](_0x57f27e[_0xddcd('0x38')],{'$or':_[_0xddcd('0x2e')](_0x2dc422,function(_0x109556){if(_0x109556[_0xddcd('0x3d')]!==_0xddcd('0x3e')){var _0x52acdc={};_0x52acdc[_0x109556[_0xddcd('0x26')]]={'$like':'%'+_0x479b98['query'][_0xddcd('0x3b')]+'%'};return _0x52acdc;}})});}_0x57f27e=_['merge']({},_0x57f27e,_0x479b98[_0xddcd('0x3f')]);var _0x1d5804={'where':_0x57f27e[_0xddcd('0x38')]};return db[_0xddcd('0x29')][_0xddcd('0x40')](_0x1d5804)[_0xddcd('0x22')](function(_0x27642b){_0xf5e3eb['count']=_0x27642b;if(_0x479b98[_0xddcd('0x2f')]['includeAll']){_0x57f27e['include']=[{'all':!![]}];}return db['ServicenowField'][_0xddcd('0x41')](_0x57f27e);})[_0xddcd('0x22')](function(_0x1b6415){_0xf5e3eb['rows']=_0x1b6415;return _0xf5e3eb;})[_0xddcd('0x22')](respondWithFilteredResult(_0x537f57,_0x57f27e))['catch'](handleError(_0x537f57,null));};exports[_0xddcd('0x42')]=function(_0x2bf445,_0x3a3d6c){var _0x50f26f={'raw':!![],'where':{'id':_0x2bf445[_0xddcd('0x43')]['id']}},_0x473f02={};_0x473f02['model']=_[_0xddcd('0x30')](db[_0xddcd('0x29')]['rawAttributes']);_0x473f02['query']=_[_0xddcd('0x30')](_0x2bf445[_0xddcd('0x2f')]);_0x473f02['filters']=_['intersection'](_0x473f02['model'],_0x473f02[_0xddcd('0x2f')]);_0x50f26f[_0xddcd('0x32')]=_[_0xddcd('0x31')](_0x473f02['model'],qs[_0xddcd('0x33')](_0x2bf445[_0xddcd('0x2f')][_0xddcd('0x33')]));_0x50f26f['attributes']=_0x50f26f[_0xddcd('0x32')][_0xddcd('0x44')]?_0x50f26f[_0xddcd('0x32')]:_0x473f02[_0xddcd('0x2d')];if(_0x2bf445[_0xddcd('0x2f')][_0xddcd('0x45')]){_0x50f26f['include']=[{'all':!![]}];}_0x50f26f=_['merge']({},_0x50f26f,_0x2bf445[_0xddcd('0x3f')]);return db[_0xddcd('0x29')][_0xddcd('0x46')](_0x50f26f)[_0xddcd('0x22')](handleEntityNotFound(_0x3a3d6c,null))['then'](respondWithResult(_0x3a3d6c,null))[_0xddcd('0x47')](handleError(_0x3a3d6c,null));};exports[_0xddcd('0x48')]=function(_0x378f54,_0x5baff6){return db[_0xddcd('0x29')][_0xddcd('0x48')](_0x378f54[_0xddcd('0x49')],{})[_0xddcd('0x22')](respondWithResult(_0x5baff6,0xc9))['catch'](handleError(_0x5baff6,null));};exports[_0xddcd('0x21')]=function(_0x3aad7a,_0x576e88){if(_0x3aad7a['body']['id']){delete _0x3aad7a['body']['id'];}return db[_0xddcd('0x29')][_0xddcd('0x46')]({'where':{'id':_0x3aad7a['params']['id']}})[_0xddcd('0x22')](handleEntityNotFound(_0x576e88,null))[_0xddcd('0x22')](saveUpdates(_0x3aad7a[_0xddcd('0x49')],null))[_0xddcd('0x22')](respondWithResult(_0x576e88,null))['catch'](handleError(_0x576e88,null));};exports[_0xddcd('0x23')]=function(_0x13d7f5,_0x195a63){return db['ServicenowField'][_0xddcd('0x46')]({'where':{'id':_0x13d7f5[_0xddcd('0x43')]['id']}})[_0xddcd('0x22')](handleEntityNotFound(_0x195a63,null))['then'](removeEntity(_0x195a63,null))[_0xddcd('0x47')](handleError(_0x195a63,null));};