cd353bf942ff15c24deff3049d5804af2d7dd6f9
[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 _0x3ceb=['catch','show','params','create','body','destroy','find','eml-format','zip-dir','fast-json-patch','request-promise','moment','bluebird','util','path','sox','to-csv','ejs','fs-extra','lodash','crypto','jsforce','desk.js','papaparse','ioredis','../../components/auth/service','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','sendStatus','status','end','json','count','offset','limit','set','Content-Range','apply','reject','update','then','error','stack','name','index','map','ServicenowField','fieldName','key','model','query','keys','filters','intersection','attributes','fields','hasOwnProperty','nolimit','order','sort','filter','where','merge','type','options','includeAll','include','rows'];(function(_0xa0bac4,_0x248a16){var _0x1312ff=function(_0x3eb7a9){while(--_0x3eb7a9){_0xa0bac4['push'](_0xa0bac4['shift']());}};_0x1312ff(++_0x248a16);}(_0x3ceb,0xdf));var _0xb3ce=function(_0x2be63f,_0x184496){_0x2be63f=_0x2be63f-0x0;var _0x8b9219=_0x3ceb[_0x2be63f];return _0x8b9219;};'use strict';var emlformat=require(_0xb3ce('0x0'));var rimraf=require('rimraf');var zipdir=require(_0xb3ce('0x1'));var jsonpatch=require(_0xb3ce('0x2'));var rp=require(_0xb3ce('0x3'));var moment=require(_0xb3ce('0x4'));var BPromise=require(_0xb3ce('0x5'));var Mustache=require('mustache');var util=require(_0xb3ce('0x6'));var path=require(_0xb3ce('0x7'));var sox=require(_0xb3ce('0x8'));var csv=require(_0xb3ce('0x9'));var ejs=require(_0xb3ce('0xa'));var fs=require('fs');var fs_extra=require(_0xb3ce('0xb'));var _=require(_0xb3ce('0xc'));var squel=require('squel');var crypto=require(_0xb3ce('0xd'));var jsforce=require(_0xb3ce('0xe'));var deskjs=require(_0xb3ce('0xf'));var toCsv=require(_0xb3ce('0x9'));var querystring=require('querystring');var Papa=require(_0xb3ce('0x10'));var Redis=require(_0xb3ce('0x11'));var authService=require(_0xb3ce('0x12'));var qs=require('../../components/parsers/qs');var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0xb3ce('0x13'));var logger=require(_0xb3ce('0x14'))(_0xb3ce('0x15'));var utils=require(_0xb3ce('0x16'));var config=require(_0xb3ce('0x17'));var licenseUtil=require(_0xb3ce('0x18'));var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x4fe84f,_0x3ca364){_0x3ca364=_0x3ca364||0xcc;return function(_0x87cf2d){if(_0x87cf2d){return _0x4fe84f[_0xb3ce('0x19')](_0x3ca364);}return _0x4fe84f[_0xb3ce('0x1a')](_0x3ca364)[_0xb3ce('0x1b')]();};}function respondWithResult(_0xe3fab7,_0x1b8485){_0x1b8485=_0x1b8485||0xc8;return function(_0x31c497){if(_0x31c497){return _0xe3fab7['status'](_0x1b8485)[_0xb3ce('0x1c')](_0x31c497);}};}function respondWithFilteredResult(_0x5b3850,_0x5cc5a1){return function(_0x1cfa6a){if(_0x1cfa6a){var _0x461010=_0x1cfa6a[_0xb3ce('0x1d')],_0xa1ccab=_0x5cc5a1[_0xb3ce('0x1e')],_0x453f75=_0x5cc5a1[_0xb3ce('0x1e')]+_0x5cc5a1[_0xb3ce('0x1f')],_0x3997fe;if(_0x453f75>=_0x461010){_0x453f75=_0x461010;_0x3997fe=0xc8;}else{_0x3997fe=0xce;}_0x5b3850['status'](_0x3997fe);return _0x5b3850[_0xb3ce('0x20')](_0xb3ce('0x21'),_0xa1ccab+'-'+_0x453f75+'/'+_0x461010)[_0xb3ce('0x1c')](_0x1cfa6a);}return null;};}function patchUpdates(_0x571604){return function(_0x4c7206){try{jsonpatch[_0xb3ce('0x22')](_0x4c7206,_0x571604,!![]);}catch(_0x561e0d){return BPromise[_0xb3ce('0x23')](_0x561e0d);}return _0x4c7206['save']();};}function saveUpdates(_0x4522b1,_0x9122b4){return function(_0x4b6685){if(_0x4b6685){return _0x4b6685[_0xb3ce('0x24')](_0x4522b1)[_0xb3ce('0x25')](function(_0x3d40bc){return _0x3d40bc;});}return null;};}function removeEntity(_0x3aea9e,_0x418dba){return function(_0x4a2daf){if(_0x4a2daf){return _0x4a2daf['destroy']()['then'](function(){_0x3aea9e[_0xb3ce('0x1a')](0xcc)[_0xb3ce('0x1b')]();});}};}function handleEntityNotFound(_0xb25176,_0x3830c6){return function(_0x35ed05){if(!_0x35ed05){_0xb25176[_0xb3ce('0x19')](0x194);}return _0x35ed05;};}function handleError(_0x3ccdae,_0xcfbbd5){_0xcfbbd5=_0xcfbbd5||0x1f4;return function(_0x1e87b8){logger[_0xb3ce('0x26')](_0x1e87b8[_0xb3ce('0x27')]);if(_0x1e87b8['name']){delete _0x1e87b8[_0xb3ce('0x28')];}_0x3ccdae[_0xb3ce('0x1a')](_0xcfbbd5)['send'](_0x1e87b8);};}exports[_0xb3ce('0x29')]=function(_0x2e11d6,_0x42b808){var _0x3f75b8={},_0x1f8df2={},_0x569241={'count':0x0,'rows':[]};var _0x6cbb45=_[_0xb3ce('0x2a')](db[_0xb3ce('0x2b')]['rawAttributes'],function(_0x49707a){return{'name':_0x49707a[_0xb3ce('0x2c')],'type':_0x49707a['type'][_0xb3ce('0x2d')]};});_0x1f8df2[_0xb3ce('0x2e')]=_['map'](_0x6cbb45,_0xb3ce('0x28'));_0x1f8df2[_0xb3ce('0x2f')]=_[_0xb3ce('0x30')](_0x2e11d6[_0xb3ce('0x2f')]);_0x1f8df2[_0xb3ce('0x31')]=_[_0xb3ce('0x32')](_0x1f8df2[_0xb3ce('0x2e')],_0x1f8df2['query']);_0x3f75b8[_0xb3ce('0x33')]=_[_0xb3ce('0x32')](_0x1f8df2['model'],qs[_0xb3ce('0x34')](_0x2e11d6[_0xb3ce('0x2f')]['fields']));_0x3f75b8[_0xb3ce('0x33')]=_0x3f75b8[_0xb3ce('0x33')]['length']?_0x3f75b8[_0xb3ce('0x33')]:_0x1f8df2[_0xb3ce('0x2e')];if(!_0x2e11d6['query'][_0xb3ce('0x35')](_0xb3ce('0x36'))){_0x3f75b8['limit']=qs[_0xb3ce('0x1f')](_0x2e11d6['query'][_0xb3ce('0x1f')]);_0x3f75b8['offset']=qs['offset'](_0x2e11d6[_0xb3ce('0x2f')][_0xb3ce('0x1e')]);}_0x3f75b8[_0xb3ce('0x37')]=qs['sort'](_0x2e11d6[_0xb3ce('0x2f')][_0xb3ce('0x38')]);_0x3f75b8['where']=qs['filters'](_['pick'](_0x2e11d6[_0xb3ce('0x2f')],_0x1f8df2[_0xb3ce('0x31')]),_0x6cbb45);if(_0x2e11d6[_0xb3ce('0x2f')][_0xb3ce('0x39')]){_0x3f75b8[_0xb3ce('0x3a')]=_[_0xb3ce('0x3b')](_0x3f75b8[_0xb3ce('0x3a')],{'$or':_[_0xb3ce('0x2a')](_0x6cbb45,function(_0x2e418d){if(_0x2e418d[_0xb3ce('0x3c')]!=='VIRTUAL'){var _0x54eac9={};_0x54eac9[_0x2e418d['name']]={'$like':'%'+_0x2e11d6[_0xb3ce('0x2f')]['filter']+'%'};return _0x54eac9;}})});}_0x3f75b8=_['merge']({},_0x3f75b8,_0x2e11d6[_0xb3ce('0x3d')]);var _0xb4e96c={'where':_0x3f75b8[_0xb3ce('0x3a')]};return db[_0xb3ce('0x2b')][_0xb3ce('0x1d')](_0xb4e96c)['then'](function(_0x1a7013){_0x569241[_0xb3ce('0x1d')]=_0x1a7013;if(_0x2e11d6[_0xb3ce('0x2f')][_0xb3ce('0x3e')]){_0x3f75b8[_0xb3ce('0x3f')]=[{'all':!![]}];}return db[_0xb3ce('0x2b')]['findAll'](_0x3f75b8);})[_0xb3ce('0x25')](function(_0x3d6de9){_0x569241[_0xb3ce('0x40')]=_0x3d6de9;return _0x569241;})[_0xb3ce('0x25')](respondWithFilteredResult(_0x42b808,_0x3f75b8))[_0xb3ce('0x41')](handleError(_0x42b808,null));};exports[_0xb3ce('0x42')]=function(_0x42cde6,_0x3186fd){var _0x3fcb78={'raw':!![],'where':{'id':_0x42cde6[_0xb3ce('0x43')]['id']}},_0x30dc7b={};_0x30dc7b[_0xb3ce('0x2e')]=_[_0xb3ce('0x30')](db[_0xb3ce('0x2b')]['rawAttributes']);_0x30dc7b[_0xb3ce('0x2f')]=_[_0xb3ce('0x30')](_0x42cde6[_0xb3ce('0x2f')]);_0x30dc7b[_0xb3ce('0x31')]=_[_0xb3ce('0x32')](_0x30dc7b['model'],_0x30dc7b[_0xb3ce('0x2f')]);_0x3fcb78[_0xb3ce('0x33')]=_[_0xb3ce('0x32')](_0x30dc7b[_0xb3ce('0x2e')],qs[_0xb3ce('0x34')](_0x42cde6['query'][_0xb3ce('0x34')]));_0x3fcb78[_0xb3ce('0x33')]=_0x3fcb78[_0xb3ce('0x33')]['length']?_0x3fcb78[_0xb3ce('0x33')]:_0x30dc7b['model'];if(_0x42cde6[_0xb3ce('0x2f')][_0xb3ce('0x3e')]){_0x3fcb78[_0xb3ce('0x3f')]=[{'all':!![]}];}_0x3fcb78=_[_0xb3ce('0x3b')]({},_0x3fcb78,_0x42cde6['options']);return db['ServicenowField']['find'](_0x3fcb78)[_0xb3ce('0x25')](handleEntityNotFound(_0x3186fd,null))[_0xb3ce('0x25')](respondWithResult(_0x3186fd,null))[_0xb3ce('0x41')](handleError(_0x3186fd,null));};exports[_0xb3ce('0x44')]=function(_0x12277,_0xffdfba){return db[_0xb3ce('0x2b')][_0xb3ce('0x44')](_0x12277[_0xb3ce('0x45')],{})[_0xb3ce('0x25')](respondWithResult(_0xffdfba,0xc9))[_0xb3ce('0x41')](handleError(_0xffdfba,null));};exports[_0xb3ce('0x24')]=function(_0x182b8b,_0x201ce3){if(_0x182b8b[_0xb3ce('0x45')]['id']){delete _0x182b8b['body']['id'];}return db[_0xb3ce('0x2b')]['find']({'where':{'id':_0x182b8b[_0xb3ce('0x43')]['id']}})['then'](handleEntityNotFound(_0x201ce3,null))[_0xb3ce('0x25')](saveUpdates(_0x182b8b[_0xb3ce('0x45')],null))[_0xb3ce('0x25')](respondWithResult(_0x201ce3,null))[_0xb3ce('0x41')](handleError(_0x201ce3,null));};exports[_0xb3ce('0x46')]=function(_0x49ce52,_0x88a5c4){return db['ServicenowField'][_0xb3ce('0x47')]({'where':{'id':_0x49ce52[_0xb3ce('0x43')]['id']}})[_0xb3ce('0x25')](handleEntityNotFound(_0x88a5c4,null))[_0xb3ce('0x25')](removeEntity(_0x88a5c4,null))[_0xb3ce('0x41')](handleError(_0x88a5c4,null));};