Built motion from commit 497d3d92.|2.5.43
[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 _0x7eed=['zip-dir','fast-json-patch','moment','bluebird','mustache','sox','to-csv','fs-extra','lodash','squel','crypto','jsforce','desk.js','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','end','offset','undefined','limit','count','set','json','apply','update','then','error','stack','name','send','index','map','ServicenowField','type','key','query','keys','filters','intersection','attributes','model','fields','length','hasOwnProperty','nolimit','order','sort','where','pick','merge','VIRTUAL','filter','options','includeAll','findAll','rows','catch','show','params','rawAttributes','include','create','body','destroy','eml-format','rimraf'];(function(_0x119c90,_0x19d34f){var _0x33aecb=function(_0x3ee2f9){while(--_0x3ee2f9){_0x119c90['push'](_0x119c90['shift']());}};_0x33aecb(++_0x19d34f);}(_0x7eed,0x1c6));var _0xd7ee=function(_0x45f4ba,_0x5498c8){_0x45f4ba=_0x45f4ba-0x0;var _0x44db14=_0x7eed[_0x45f4ba];return _0x44db14;};'use strict';var emlformat=require(_0xd7ee('0x0'));var rimraf=require(_0xd7ee('0x1'));var zipdir=require(_0xd7ee('0x2'));var jsonpatch=require(_0xd7ee('0x3'));var rp=require('request-promise');var moment=require(_0xd7ee('0x4'));var BPromise=require(_0xd7ee('0x5'));var Mustache=require(_0xd7ee('0x6'));var util=require('util');var path=require('path');var sox=require(_0xd7ee('0x7'));var csv=require(_0xd7ee('0x8'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require(_0xd7ee('0x9'));var _=require(_0xd7ee('0xa'));var squel=require(_0xd7ee('0xb'));var crypto=require(_0xd7ee('0xc'));var jsforce=require(_0xd7ee('0xd'));var deskjs=require(_0xd7ee('0xe'));var toCsv=require(_0xd7ee('0x8'));var querystring=require('querystring');var Papa=require(_0xd7ee('0xf'));var Redis=require(_0xd7ee('0x10'));var authService=require(_0xd7ee('0x11'));var qs=require(_0xd7ee('0x12'));var as=require(_0xd7ee('0x13'));var hardwareService=require(_0xd7ee('0x14'));var logger=require(_0xd7ee('0x15'))('api');var utils=require(_0xd7ee('0x16'));var config=require(_0xd7ee('0x17'));var licenseUtil=require(_0xd7ee('0x18'));var db=require(_0xd7ee('0x19'))['db'];function respondWithStatusCode(_0x517477,_0x510ef1){_0x510ef1=_0x510ef1||0xcc;return function(_0x286a58){if(_0x286a58){return _0x517477[_0xd7ee('0x1a')](_0x510ef1);}return _0x517477[_0xd7ee('0x1b')](_0x510ef1)[_0xd7ee('0x1c')]();};}function respondWithResult(_0x1be7a3,_0x47b366){_0x47b366=_0x47b366||0xc8;return function(_0x1e9e5c){if(_0x1e9e5c){return _0x1be7a3[_0xd7ee('0x1b')](_0x47b366)['json'](_0x1e9e5c);}};}function respondWithFilteredResult(_0x3607ee,_0x3e46cc){return function(_0x50db82){if(_0x50db82){var _0x5a89c8=typeof _0x3e46cc[_0xd7ee('0x1d')]===_0xd7ee('0x1e')&&typeof _0x3e46cc[_0xd7ee('0x1f')]==='undefined';var _0x252573=_0x50db82[_0xd7ee('0x20')];var _0x511725=_0x5a89c8?0x0:_0x3e46cc[_0xd7ee('0x1d')];var _0x316308=_0x5a89c8?_0x50db82['count']:_0x3e46cc['offset']+_0x3e46cc['limit'];var _0xe73282;if(_0x316308>=_0x252573){_0x316308=_0x252573;_0xe73282=0xc8;}else{_0xe73282=0xce;}_0x3607ee[_0xd7ee('0x1b')](_0xe73282);return _0x3607ee[_0xd7ee('0x21')]('Content-Range',_0x511725+'-'+_0x316308+'/'+_0x252573)[_0xd7ee('0x22')](_0x50db82);}return null;};}function patchUpdates(_0x1ed7de){return function(_0x4e00bb){try{jsonpatch[_0xd7ee('0x23')](_0x4e00bb,_0x1ed7de,!![]);}catch(_0x52e124){return BPromise['reject'](_0x52e124);}return _0x4e00bb['save']();};}function saveUpdates(_0x509df3,_0x413019){return function(_0x24976e){if(_0x24976e){return _0x24976e[_0xd7ee('0x24')](_0x509df3)[_0xd7ee('0x25')](function(_0x4e2a5b){return _0x4e2a5b;});}return null;};}function removeEntity(_0x2520d9,_0x3d936a){return function(_0x590f9a){if(_0x590f9a){return _0x590f9a['destroy']()[_0xd7ee('0x25')](function(){_0x2520d9['status'](0xcc)[_0xd7ee('0x1c')]();});}};}function handleEntityNotFound(_0x867c5d,_0x2c7e42){return function(_0x32d5fc){if(!_0x32d5fc){_0x867c5d[_0xd7ee('0x1a')](0x194);}return _0x32d5fc;};}function handleError(_0x4f87b3,_0xee1b8c){_0xee1b8c=_0xee1b8c||0x1f4;return function(_0x2fb7c6){logger[_0xd7ee('0x26')](_0x2fb7c6[_0xd7ee('0x27')]);if(_0x2fb7c6[_0xd7ee('0x28')]){delete _0x2fb7c6[_0xd7ee('0x28')];}_0x4f87b3['status'](_0xee1b8c)[_0xd7ee('0x29')](_0x2fb7c6);};}exports[_0xd7ee('0x2a')]=function(_0x5e4cf2,_0x1ad73a){var _0x2cfe2e={},_0x5e9687={},_0xe6c148={'count':0x0,'rows':[]};var _0x5b0d34=_[_0xd7ee('0x2b')](db[_0xd7ee('0x2c')]['rawAttributes'],function(_0x501276){return{'name':_0x501276['fieldName'],'type':_0x501276[_0xd7ee('0x2d')][_0xd7ee('0x2e')]};});_0x5e9687['model']=_[_0xd7ee('0x2b')](_0x5b0d34,_0xd7ee('0x28'));_0x5e9687[_0xd7ee('0x2f')]=_[_0xd7ee('0x30')](_0x5e4cf2[_0xd7ee('0x2f')]);_0x5e9687[_0xd7ee('0x31')]=_[_0xd7ee('0x32')](_0x5e9687['model'],_0x5e9687[_0xd7ee('0x2f')]);_0x2cfe2e[_0xd7ee('0x33')]=_[_0xd7ee('0x32')](_0x5e9687[_0xd7ee('0x34')],qs[_0xd7ee('0x35')](_0x5e4cf2[_0xd7ee('0x2f')][_0xd7ee('0x35')]));_0x2cfe2e[_0xd7ee('0x33')]=_0x2cfe2e[_0xd7ee('0x33')][_0xd7ee('0x36')]?_0x2cfe2e['attributes']:_0x5e9687['model'];if(!_0x5e4cf2[_0xd7ee('0x2f')][_0xd7ee('0x37')](_0xd7ee('0x38'))){_0x2cfe2e['limit']=qs[_0xd7ee('0x1f')](_0x5e4cf2[_0xd7ee('0x2f')][_0xd7ee('0x1f')]);_0x2cfe2e['offset']=qs[_0xd7ee('0x1d')](_0x5e4cf2[_0xd7ee('0x2f')][_0xd7ee('0x1d')]);}_0x2cfe2e[_0xd7ee('0x39')]=qs[_0xd7ee('0x3a')](_0x5e4cf2['query'][_0xd7ee('0x3a')]);_0x2cfe2e[_0xd7ee('0x3b')]=qs['filters'](_[_0xd7ee('0x3c')](_0x5e4cf2['query'],_0x5e9687[_0xd7ee('0x31')]),_0x5b0d34);if(_0x5e4cf2[_0xd7ee('0x2f')]['filter']){_0x2cfe2e['where']=_[_0xd7ee('0x3d')](_0x2cfe2e[_0xd7ee('0x3b')],{'$or':_['map'](_0x5b0d34,function(_0x1d9b25){if(_0x1d9b25[_0xd7ee('0x2d')]!==_0xd7ee('0x3e')){var _0xb5a6dd={};_0xb5a6dd[_0x1d9b25['name']]={'$like':'%'+_0x5e4cf2['query'][_0xd7ee('0x3f')]+'%'};return _0xb5a6dd;}})});}_0x2cfe2e=_[_0xd7ee('0x3d')]({},_0x2cfe2e,_0x5e4cf2[_0xd7ee('0x40')]);var _0x5718cc={'where':_0x2cfe2e[_0xd7ee('0x3b')]};return db[_0xd7ee('0x2c')][_0xd7ee('0x20')](_0x5718cc)[_0xd7ee('0x25')](function(_0x3442fa){_0xe6c148[_0xd7ee('0x20')]=_0x3442fa;if(_0x5e4cf2[_0xd7ee('0x2f')][_0xd7ee('0x41')]){_0x2cfe2e['include']=[{'all':!![]}];}return db['ServicenowField'][_0xd7ee('0x42')](_0x2cfe2e);})[_0xd7ee('0x25')](function(_0x42e4e5){_0xe6c148[_0xd7ee('0x43')]=_0x42e4e5;return _0xe6c148;})[_0xd7ee('0x25')](respondWithFilteredResult(_0x1ad73a,_0x2cfe2e))[_0xd7ee('0x44')](handleError(_0x1ad73a,null));};exports[_0xd7ee('0x45')]=function(_0x344502,_0x2dd963){var _0x20aed4={'raw':!![],'where':{'id':_0x344502[_0xd7ee('0x46')]['id']}},_0x3172c7={};_0x3172c7[_0xd7ee('0x34')]=_['keys'](db[_0xd7ee('0x2c')][_0xd7ee('0x47')]);_0x3172c7['query']=_[_0xd7ee('0x30')](_0x344502[_0xd7ee('0x2f')]);_0x3172c7['filters']=_[_0xd7ee('0x32')](_0x3172c7['model'],_0x3172c7['query']);_0x20aed4[_0xd7ee('0x33')]=_[_0xd7ee('0x32')](_0x3172c7[_0xd7ee('0x34')],qs[_0xd7ee('0x35')](_0x344502[_0xd7ee('0x2f')]['fields']));_0x20aed4[_0xd7ee('0x33')]=_0x20aed4[_0xd7ee('0x33')][_0xd7ee('0x36')]?_0x20aed4[_0xd7ee('0x33')]:_0x3172c7['model'];if(_0x344502[_0xd7ee('0x2f')]['includeAll']){_0x20aed4[_0xd7ee('0x48')]=[{'all':!![]}];}_0x20aed4=_['merge']({},_0x20aed4,_0x344502[_0xd7ee('0x40')]);return db[_0xd7ee('0x2c')]['find'](_0x20aed4)['then'](handleEntityNotFound(_0x2dd963,null))[_0xd7ee('0x25')](respondWithResult(_0x2dd963,null))[_0xd7ee('0x44')](handleError(_0x2dd963,null));};exports[_0xd7ee('0x49')]=function(_0x1094de,_0x746d2f){return db[_0xd7ee('0x2c')][_0xd7ee('0x49')](_0x1094de['body'],{})['then'](respondWithResult(_0x746d2f,0xc9))[_0xd7ee('0x44')](handleError(_0x746d2f,null));};exports[_0xd7ee('0x24')]=function(_0xe1c254,_0x4db5c1){if(_0xe1c254[_0xd7ee('0x4a')]['id']){delete _0xe1c254[_0xd7ee('0x4a')]['id'];}return db[_0xd7ee('0x2c')]['find']({'where':{'id':_0xe1c254[_0xd7ee('0x46')]['id']}})[_0xd7ee('0x25')](handleEntityNotFound(_0x4db5c1,null))[_0xd7ee('0x25')](saveUpdates(_0xe1c254[_0xd7ee('0x4a')],null))[_0xd7ee('0x25')](respondWithResult(_0x4db5c1,null))['catch'](handleError(_0x4db5c1,null));};exports[_0xd7ee('0x4b')]=function(_0x3371af,_0x39447b){return db[_0xd7ee('0x2c')]['find']({'where':{'id':_0x3371af[_0xd7ee('0x46')]['id']}})[_0xd7ee('0x25')](handleEntityNotFound(_0x39447b,null))['then'](removeEntity(_0x39447b,null))[_0xd7ee('0x44')](handleError(_0x39447b,null));};