Built motion from commit 775e2a94.|2.6.3
[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 _0x1303=['lodash','squel','crypto','jsforce','desk.js','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','end','offset','limit','undefined','count','set','Content-Range','json','apply','reject','destroy','then','stack','name','send','map','rawAttributes','key','query','keys','filters','intersection','model','fields','attributes','length','hasOwnProperty','nolimit','order','sort','where','pick','merge','type','VIRTUAL','filter','options','ServicenowField','includeAll','include','findAll','catch','show','params','find','create','update','body','eml-format','rimraf','fast-json-patch','bluebird','mustache','util','sox','to-csv','fs-extra'];(function(_0x7239aa,_0x270ee5){var _0xd16b3a=function(_0x40cc68){while(--_0x40cc68){_0x7239aa['push'](_0x7239aa['shift']());}};_0xd16b3a(++_0x270ee5);}(_0x1303,0x1b9));var _0x3130=function(_0xc09b83,_0x4a8f7c){_0xc09b83=_0xc09b83-0x0;var _0x986879=_0x1303[_0xc09b83];return _0x986879;};'use strict';var emlformat=require(_0x3130('0x0'));var rimraf=require(_0x3130('0x1'));var zipdir=require('zip-dir');var jsonpatch=require(_0x3130('0x2'));var rp=require('request-promise');var moment=require('moment');var BPromise=require(_0x3130('0x3'));var Mustache=require(_0x3130('0x4'));var util=require(_0x3130('0x5'));var path=require('path');var sox=require(_0x3130('0x6'));var csv=require(_0x3130('0x7'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require(_0x3130('0x8'));var _=require(_0x3130('0x9'));var squel=require(_0x3130('0xa'));var crypto=require(_0x3130('0xb'));var jsforce=require(_0x3130('0xc'));var deskjs=require(_0x3130('0xd'));var toCsv=require(_0x3130('0x7'));var querystring=require('querystring');var Papa=require(_0x3130('0xe'));var Redis=require(_0x3130('0xf'));var authService=require(_0x3130('0x10'));var qs=require(_0x3130('0x11'));var as=require(_0x3130('0x12'));var hardwareService=require(_0x3130('0x13'));var logger=require(_0x3130('0x14'))(_0x3130('0x15'));var utils=require('../../config/utils');var config=require(_0x3130('0x16'));var licenseUtil=require(_0x3130('0x17'));var db=require(_0x3130('0x18'))['db'];function respondWithStatusCode(_0x117961,_0x12dafd){_0x12dafd=_0x12dafd||0xcc;return function(_0x422830){if(_0x422830){return _0x117961[_0x3130('0x19')](_0x12dafd);}return _0x117961[_0x3130('0x1a')](_0x12dafd)[_0x3130('0x1b')]();};}function respondWithResult(_0xc26fe8,_0x34a10d){_0x34a10d=_0x34a10d||0xc8;return function(_0x3281dc){if(_0x3281dc){return _0xc26fe8[_0x3130('0x1a')](_0x34a10d)['json'](_0x3281dc);}};}function respondWithFilteredResult(_0x3f103c,_0x55287a){return function(_0x2c5c82){if(_0x2c5c82){var _0xb2891d=typeof _0x55287a[_0x3130('0x1c')]==='undefined'&&typeof _0x55287a[_0x3130('0x1d')]===_0x3130('0x1e');var _0x5ca69a=_0x2c5c82[_0x3130('0x1f')];var _0x36e0f8=_0xb2891d?0x0:_0x55287a[_0x3130('0x1c')];var _0x31a20e=_0xb2891d?_0x2c5c82[_0x3130('0x1f')]:_0x55287a[_0x3130('0x1c')]+_0x55287a[_0x3130('0x1d')];var _0x3d0a1f;if(_0x31a20e>=_0x5ca69a){_0x31a20e=_0x5ca69a;_0x3d0a1f=0xc8;}else{_0x3d0a1f=0xce;}_0x3f103c[_0x3130('0x1a')](_0x3d0a1f);return _0x3f103c[_0x3130('0x20')](_0x3130('0x21'),_0x36e0f8+'-'+_0x31a20e+'/'+_0x5ca69a)[_0x3130('0x22')](_0x2c5c82);}return null;};}function patchUpdates(_0xfd0f9f){return function(_0x40c777){try{jsonpatch[_0x3130('0x23')](_0x40c777,_0xfd0f9f,!![]);}catch(_0x3cefae){return BPromise[_0x3130('0x24')](_0x3cefae);}return _0x40c777['save']();};}function saveUpdates(_0x2b8a9b,_0x46230c){return function(_0x516fff){if(_0x516fff){return _0x516fff['update'](_0x2b8a9b)['then'](function(_0x55ee73){return _0x55ee73;});}return null;};}function removeEntity(_0x13d28b,_0xf134b2){return function(_0x35f2fb){if(_0x35f2fb){return _0x35f2fb[_0x3130('0x25')]()[_0x3130('0x26')](function(){_0x13d28b[_0x3130('0x1a')](0xcc)[_0x3130('0x1b')]();});}};}function handleEntityNotFound(_0x21e3de,_0x5c6aa0){return function(_0x5b4f11){if(!_0x5b4f11){_0x21e3de[_0x3130('0x19')](0x194);}return _0x5b4f11;};}function handleError(_0x49699a,_0xb7d714){_0xb7d714=_0xb7d714||0x1f4;return function(_0x49184a){logger['error'](_0x49184a[_0x3130('0x27')]);if(_0x49184a[_0x3130('0x28')]){delete _0x49184a[_0x3130('0x28')];}_0x49699a[_0x3130('0x1a')](_0xb7d714)[_0x3130('0x29')](_0x49184a);};}exports['index']=function(_0x10e411,_0x4bb928){var _0x3ee7e4={},_0x535b07={},_0x9831a4={'count':0x0,'rows':[]};var _0x1a49c7=_[_0x3130('0x2a')](db['ServicenowField'][_0x3130('0x2b')],function(_0x47aac1){return{'name':_0x47aac1['fieldName'],'type':_0x47aac1['type'][_0x3130('0x2c')]};});_0x535b07['model']=_['map'](_0x1a49c7,_0x3130('0x28'));_0x535b07[_0x3130('0x2d')]=_[_0x3130('0x2e')](_0x10e411[_0x3130('0x2d')]);_0x535b07[_0x3130('0x2f')]=_[_0x3130('0x30')](_0x535b07[_0x3130('0x31')],_0x535b07[_0x3130('0x2d')]);_0x3ee7e4['attributes']=_[_0x3130('0x30')](_0x535b07[_0x3130('0x31')],qs[_0x3130('0x32')](_0x10e411['query'][_0x3130('0x32')]));_0x3ee7e4[_0x3130('0x33')]=_0x3ee7e4[_0x3130('0x33')][_0x3130('0x34')]?_0x3ee7e4['attributes']:_0x535b07[_0x3130('0x31')];if(!_0x10e411[_0x3130('0x2d')][_0x3130('0x35')](_0x3130('0x36'))){_0x3ee7e4[_0x3130('0x1d')]=qs[_0x3130('0x1d')](_0x10e411[_0x3130('0x2d')][_0x3130('0x1d')]);_0x3ee7e4['offset']=qs[_0x3130('0x1c')](_0x10e411[_0x3130('0x2d')]['offset']);}_0x3ee7e4[_0x3130('0x37')]=qs[_0x3130('0x38')](_0x10e411['query']['sort']);_0x3ee7e4[_0x3130('0x39')]=qs[_0x3130('0x2f')](_[_0x3130('0x3a')](_0x10e411[_0x3130('0x2d')],_0x535b07['filters']),_0x1a49c7);if(_0x10e411[_0x3130('0x2d')]['filter']){_0x3ee7e4['where']=_[_0x3130('0x3b')](_0x3ee7e4[_0x3130('0x39')],{'$or':_[_0x3130('0x2a')](_0x1a49c7,function(_0x54c92f){if(_0x54c92f[_0x3130('0x3c')]!==_0x3130('0x3d')){var _0x142c33={};_0x142c33[_0x54c92f[_0x3130('0x28')]]={'$like':'%'+_0x10e411['query'][_0x3130('0x3e')]+'%'};return _0x142c33;}})});}_0x3ee7e4=_[_0x3130('0x3b')]({},_0x3ee7e4,_0x10e411[_0x3130('0x3f')]);var _0x3709b1={'where':_0x3ee7e4[_0x3130('0x39')]};return db[_0x3130('0x40')]['count'](_0x3709b1)[_0x3130('0x26')](function(_0x3e3dc7){_0x9831a4[_0x3130('0x1f')]=_0x3e3dc7;if(_0x10e411['query'][_0x3130('0x41')]){_0x3ee7e4[_0x3130('0x42')]=[{'all':!![]}];}return db[_0x3130('0x40')][_0x3130('0x43')](_0x3ee7e4);})[_0x3130('0x26')](function(_0x4e999d){_0x9831a4['rows']=_0x4e999d;return _0x9831a4;})['then'](respondWithFilteredResult(_0x4bb928,_0x3ee7e4))[_0x3130('0x44')](handleError(_0x4bb928,null));};exports[_0x3130('0x45')]=function(_0x5588ef,_0x334c7a){var _0x225306={'raw':!![],'where':{'id':_0x5588ef[_0x3130('0x46')]['id']}},_0x237ff9={};_0x237ff9[_0x3130('0x31')]=_['keys'](db[_0x3130('0x40')]['rawAttributes']);_0x237ff9[_0x3130('0x2d')]=_[_0x3130('0x2e')](_0x5588ef[_0x3130('0x2d')]);_0x237ff9['filters']=_[_0x3130('0x30')](_0x237ff9['model'],_0x237ff9['query']);_0x225306['attributes']=_[_0x3130('0x30')](_0x237ff9['model'],qs[_0x3130('0x32')](_0x5588ef[_0x3130('0x2d')][_0x3130('0x32')]));_0x225306[_0x3130('0x33')]=_0x225306[_0x3130('0x33')][_0x3130('0x34')]?_0x225306['attributes']:_0x237ff9[_0x3130('0x31')];if(_0x5588ef['query'][_0x3130('0x41')]){_0x225306[_0x3130('0x42')]=[{'all':!![]}];}_0x225306=_[_0x3130('0x3b')]({},_0x225306,_0x5588ef[_0x3130('0x3f')]);return db[_0x3130('0x40')][_0x3130('0x47')](_0x225306)[_0x3130('0x26')](handleEntityNotFound(_0x334c7a,null))[_0x3130('0x26')](respondWithResult(_0x334c7a,null))[_0x3130('0x44')](handleError(_0x334c7a,null));};exports[_0x3130('0x48')]=function(_0x370873,_0x185785){return db[_0x3130('0x40')]['create'](_0x370873['body'],{})[_0x3130('0x26')](respondWithResult(_0x185785,0xc9))['catch'](handleError(_0x185785,null));};exports[_0x3130('0x49')]=function(_0x4ed440,_0x10e013){if(_0x4ed440[_0x3130('0x4a')]['id']){delete _0x4ed440[_0x3130('0x4a')]['id'];}return db[_0x3130('0x40')][_0x3130('0x47')]({'where':{'id':_0x4ed440[_0x3130('0x46')]['id']}})[_0x3130('0x26')](handleEntityNotFound(_0x10e013,null))[_0x3130('0x26')](saveUpdates(_0x4ed440['body'],null))[_0x3130('0x26')](respondWithResult(_0x10e013,null))[_0x3130('0x44')](handleError(_0x10e013,null));};exports[_0x3130('0x25')]=function(_0x2761de,_0x1e8a9a){return db[_0x3130('0x40')][_0x3130('0x47')]({'where':{'id':_0x2761de['params']['id']}})[_0x3130('0x26')](handleEntityNotFound(_0x1e8a9a,null))['then'](removeEntity(_0x1e8a9a,null))[_0x3130('0x44')](handleError(_0x1e8a9a,null));};