Built motion from commit 9c91e9f5.|2.6.29
[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 _0x088e=['fast-json-patch','request-promise','moment','bluebird','mustache','util','path','sox','to-csv','ejs','fs-extra','squel','crypto','jsforce','desk.js','querystring','papaparse','../../components/auth/service','../../components/parsers/qs','../../config/license/hardware','../../config/logger','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','status','end','offset','undefined','count','limit','set','json','apply','reject','save','update','then','sendStatus','error','stack','name','send','ServicenowField','rawAttributes','type','key','model','map','query','intersection','attributes','fields','length','nolimit','order','filters','filter','merge','where','includeAll','findAll','rows','show','params','keys','include','options','find','catch','create','body','destroy','rimraf','zip-dir'];(function(_0x20a584,_0xe384a5){var _0x4b41a8=function(_0x2127c6){while(--_0x2127c6){_0x20a584['push'](_0x20a584['shift']());}};_0x4b41a8(++_0xe384a5);}(_0x088e,0xdf));var _0xe088=function(_0x15e024,_0x552471){_0x15e024=_0x15e024-0x0;var _0x5747d5=_0x088e[_0x15e024];return _0x5747d5;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0xe088('0x0'));var zipdir=require(_0xe088('0x1'));var jsonpatch=require(_0xe088('0x2'));var rp=require(_0xe088('0x3'));var moment=require(_0xe088('0x4'));var BPromise=require(_0xe088('0x5'));var Mustache=require(_0xe088('0x6'));var util=require(_0xe088('0x7'));var path=require(_0xe088('0x8'));var sox=require(_0xe088('0x9'));var csv=require(_0xe088('0xa'));var ejs=require(_0xe088('0xb'));var fs=require('fs');var fs_extra=require(_0xe088('0xc'));var _=require('lodash');var squel=require(_0xe088('0xd'));var crypto=require(_0xe088('0xe'));var jsforce=require(_0xe088('0xf'));var deskjs=require(_0xe088('0x10'));var toCsv=require(_0xe088('0xa'));var querystring=require(_0xe088('0x11'));var Papa=require(_0xe088('0x12'));var Redis=require('ioredis');var authService=require(_0xe088('0x13'));var qs=require(_0xe088('0x14'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0xe088('0x15'));var logger=require(_0xe088('0x16'))('api');var utils=require(_0xe088('0x17'));var config=require(_0xe088('0x18'));var licenseUtil=require(_0xe088('0x19'));var db=require(_0xe088('0x1a'))['db'];function respondWithStatusCode(_0x28626d,_0x4ddb80){_0x4ddb80=_0x4ddb80||0xcc;return function(_0xbbd6c7){if(_0xbbd6c7){return _0x28626d['sendStatus'](_0x4ddb80);}return _0x28626d[_0xe088('0x1b')](_0x4ddb80)[_0xe088('0x1c')]();};}function respondWithResult(_0x1149cd,_0xc7e886){_0xc7e886=_0xc7e886||0xc8;return function(_0x2fd3a2){if(_0x2fd3a2){return _0x1149cd[_0xe088('0x1b')](_0xc7e886)['json'](_0x2fd3a2);}};}function respondWithFilteredResult(_0x59b6da,_0x4ec71e){return function(_0x23f758){if(_0x23f758){var _0x2d37c2=typeof _0x4ec71e[_0xe088('0x1d')]===_0xe088('0x1e')&&typeof _0x4ec71e['limit']===_0xe088('0x1e');var _0xa8cb99=_0x23f758[_0xe088('0x1f')];var _0x1a7544=_0x2d37c2?0x0:_0x4ec71e[_0xe088('0x1d')];var _0x5158ba=_0x2d37c2?_0x23f758['count']:_0x4ec71e[_0xe088('0x1d')]+_0x4ec71e[_0xe088('0x20')];var _0x228e05;if(_0x5158ba>=_0xa8cb99){_0x5158ba=_0xa8cb99;_0x228e05=0xc8;}else{_0x228e05=0xce;}_0x59b6da[_0xe088('0x1b')](_0x228e05);return _0x59b6da[_0xe088('0x21')]('Content-Range',_0x1a7544+'-'+_0x5158ba+'/'+_0xa8cb99)[_0xe088('0x22')](_0x23f758);}return null;};}function patchUpdates(_0x565c46){return function(_0xd72da8){try{jsonpatch[_0xe088('0x23')](_0xd72da8,_0x565c46,!![]);}catch(_0x11fb05){return BPromise[_0xe088('0x24')](_0x11fb05);}return _0xd72da8[_0xe088('0x25')]();};}function saveUpdates(_0x80d49d,_0x81d22){return function(_0x3e75b5){if(_0x3e75b5){return _0x3e75b5[_0xe088('0x26')](_0x80d49d)[_0xe088('0x27')](function(_0x2336c6){return _0x2336c6;});}return null;};}function removeEntity(_0x2c48a5,_0x250b60){return function(_0x20db4a){if(_0x20db4a){return _0x20db4a['destroy']()[_0xe088('0x27')](function(){_0x2c48a5[_0xe088('0x1b')](0xcc)['end']();});}};}function handleEntityNotFound(_0x27e85,_0x4507d0){return function(_0x71cc5b){if(!_0x71cc5b){_0x27e85[_0xe088('0x28')](0x194);}return _0x71cc5b;};}function handleError(_0x150f9d,_0x1a279c){_0x1a279c=_0x1a279c||0x1f4;return function(_0x14ba7a){logger[_0xe088('0x29')](_0x14ba7a[_0xe088('0x2a')]);if(_0x14ba7a[_0xe088('0x2b')]){delete _0x14ba7a[_0xe088('0x2b')];}_0x150f9d[_0xe088('0x1b')](_0x1a279c)[_0xe088('0x2c')](_0x14ba7a);};}exports['index']=function(_0x489cd5,_0x1c4ecb){var _0x4f9849={},_0x2618a1={},_0xec7fab={'count':0x0,'rows':[]};var _0x5a2666=_['map'](db[_0xe088('0x2d')][_0xe088('0x2e')],function(_0x3488c3){return{'name':_0x3488c3['fieldName'],'type':_0x3488c3[_0xe088('0x2f')][_0xe088('0x30')]};});_0x2618a1[_0xe088('0x31')]=_[_0xe088('0x32')](_0x5a2666,_0xe088('0x2b'));_0x2618a1[_0xe088('0x33')]=_['keys'](_0x489cd5[_0xe088('0x33')]);_0x2618a1['filters']=_[_0xe088('0x34')](_0x2618a1[_0xe088('0x31')],_0x2618a1[_0xe088('0x33')]);_0x4f9849[_0xe088('0x35')]=_[_0xe088('0x34')](_0x2618a1[_0xe088('0x31')],qs[_0xe088('0x36')](_0x489cd5[_0xe088('0x33')][_0xe088('0x36')]));_0x4f9849[_0xe088('0x35')]=_0x4f9849[_0xe088('0x35')][_0xe088('0x37')]?_0x4f9849['attributes']:_0x2618a1[_0xe088('0x31')];if(!_0x489cd5[_0xe088('0x33')]['hasOwnProperty'](_0xe088('0x38'))){_0x4f9849[_0xe088('0x20')]=qs['limit'](_0x489cd5[_0xe088('0x33')]['limit']);_0x4f9849[_0xe088('0x1d')]=qs[_0xe088('0x1d')](_0x489cd5[_0xe088('0x33')]['offset']);}_0x4f9849[_0xe088('0x39')]=qs['sort'](_0x489cd5[_0xe088('0x33')]['sort']);_0x4f9849['where']=qs['filters'](_['pick'](_0x489cd5['query'],_0x2618a1[_0xe088('0x3a')]),_0x5a2666);if(_0x489cd5[_0xe088('0x33')][_0xe088('0x3b')]){_0x4f9849['where']=_[_0xe088('0x3c')](_0x4f9849[_0xe088('0x3d')],{'$or':_[_0xe088('0x32')](_0x5a2666,function(_0x779498){if(_0x779498[_0xe088('0x2f')]!=='VIRTUAL'){var _0x24611d={};_0x24611d[_0x779498[_0xe088('0x2b')]]={'$like':'%'+_0x489cd5[_0xe088('0x33')]['filter']+'%'};return _0x24611d;}})});}_0x4f9849=_[_0xe088('0x3c')]({},_0x4f9849,_0x489cd5['options']);var _0x14c855={'where':_0x4f9849['where']};return db[_0xe088('0x2d')][_0xe088('0x1f')](_0x14c855)[_0xe088('0x27')](function(_0x285bfe){_0xec7fab['count']=_0x285bfe;if(_0x489cd5[_0xe088('0x33')][_0xe088('0x3e')]){_0x4f9849['include']=[{'all':!![]}];}return db[_0xe088('0x2d')][_0xe088('0x3f')](_0x4f9849);})[_0xe088('0x27')](function(_0x2ca480){_0xec7fab[_0xe088('0x40')]=_0x2ca480;return _0xec7fab;})[_0xe088('0x27')](respondWithFilteredResult(_0x1c4ecb,_0x4f9849))['catch'](handleError(_0x1c4ecb,null));};exports[_0xe088('0x41')]=function(_0x4a4ee7,_0x2b4382){var _0x31912b={'raw':!![],'where':{'id':_0x4a4ee7[_0xe088('0x42')]['id']}},_0x5ecd0e={};_0x5ecd0e['model']=_[_0xe088('0x43')](db[_0xe088('0x2d')][_0xe088('0x2e')]);_0x5ecd0e['query']=_[_0xe088('0x43')](_0x4a4ee7[_0xe088('0x33')]);_0x5ecd0e[_0xe088('0x3a')]=_[_0xe088('0x34')](_0x5ecd0e[_0xe088('0x31')],_0x5ecd0e[_0xe088('0x33')]);_0x31912b['attributes']=_['intersection'](_0x5ecd0e[_0xe088('0x31')],qs[_0xe088('0x36')](_0x4a4ee7[_0xe088('0x33')][_0xe088('0x36')]));_0x31912b[_0xe088('0x35')]=_0x31912b[_0xe088('0x35')]['length']?_0x31912b['attributes']:_0x5ecd0e['model'];if(_0x4a4ee7['query'][_0xe088('0x3e')]){_0x31912b[_0xe088('0x44')]=[{'all':!![]}];}_0x31912b=_[_0xe088('0x3c')]({},_0x31912b,_0x4a4ee7[_0xe088('0x45')]);return db[_0xe088('0x2d')][_0xe088('0x46')](_0x31912b)['then'](handleEntityNotFound(_0x2b4382,null))[_0xe088('0x27')](respondWithResult(_0x2b4382,null))[_0xe088('0x47')](handleError(_0x2b4382,null));};exports[_0xe088('0x48')]=function(_0x43756a,_0x4260e3){return db['ServicenowField'][_0xe088('0x48')](_0x43756a['body'],{})[_0xe088('0x27')](respondWithResult(_0x4260e3,0xc9))[_0xe088('0x47')](handleError(_0x4260e3,null));};exports['update']=function(_0x56d807,_0x1c042e){if(_0x56d807[_0xe088('0x49')]['id']){delete _0x56d807[_0xe088('0x49')]['id'];}return db[_0xe088('0x2d')][_0xe088('0x46')]({'where':{'id':_0x56d807[_0xe088('0x42')]['id']}})[_0xe088('0x27')](handleEntityNotFound(_0x1c042e,null))['then'](saveUpdates(_0x56d807[_0xe088('0x49')],null))[_0xe088('0x27')](respondWithResult(_0x1c042e,null))['catch'](handleError(_0x1c042e,null));};exports[_0xe088('0x4a')]=function(_0x4770df,_0x6523b2){return db[_0xe088('0x2d')]['find']({'where':{'id':_0x4770df[_0xe088('0x42')]['id']}})[_0xe088('0x27')](handleEntityNotFound(_0x6523b2,null))['then'](removeEntity(_0x6523b2,null))[_0xe088('0x47')](handleError(_0x6523b2,null));};