Built motion from commit fe909640.|2.6.8
[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 _0x4d7d=['index','map','ServicenowField','fieldName','type','key','model','query','keys','intersection','fields','attributes','nolimit','limit','order','sort','where','filters','pick','filter','merge','VIRTUAL','options','includeAll','include','rows','catch','show','rawAttributes','length','find','create','body','params','destroy','eml-format','request-promise','moment','bluebird','mustache','util','sox','to-csv','ejs','fs-extra','lodash','squel','crypto','desk.js','querystring','papaparse','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','api','../../config/environment','../../mysqldb','status','undefined','count','offset','set','Content-Range','json','apply','save','update','then','sendStatus','error','stack','name','send'];(function(_0x4f345d,_0x22f2ea){var _0x4e75d5=function(_0x5e8c24){while(--_0x5e8c24){_0x4f345d['push'](_0x4f345d['shift']());}};_0x4e75d5(++_0x22f2ea);}(_0x4d7d,0x101));var _0xd4d7=function(_0x413727,_0x17adb1){_0x413727=_0x413727-0x0;var _0x5f46d7=_0x4d7d[_0x413727];return _0x5f46d7;};'use strict';var emlformat=require(_0xd4d7('0x0'));var rimraf=require('rimraf');var zipdir=require('zip-dir');var jsonpatch=require('fast-json-patch');var rp=require(_0xd4d7('0x1'));var moment=require(_0xd4d7('0x2'));var BPromise=require(_0xd4d7('0x3'));var Mustache=require(_0xd4d7('0x4'));var util=require(_0xd4d7('0x5'));var path=require('path');var sox=require(_0xd4d7('0x6'));var csv=require(_0xd4d7('0x7'));var ejs=require(_0xd4d7('0x8'));var fs=require('fs');var fs_extra=require(_0xd4d7('0x9'));var _=require(_0xd4d7('0xa'));var squel=require(_0xd4d7('0xb'));var crypto=require(_0xd4d7('0xc'));var jsforce=require('jsforce');var deskjs=require(_0xd4d7('0xd'));var toCsv=require(_0xd4d7('0x7'));var querystring=require(_0xd4d7('0xe'));var Papa=require(_0xd4d7('0xf'));var Redis=require('ioredis');var authService=require(_0xd4d7('0x10'));var qs=require(_0xd4d7('0x11'));var as=require(_0xd4d7('0x12'));var hardwareService=require(_0xd4d7('0x13'));var logger=require('../../config/logger')(_0xd4d7('0x14'));var utils=require('../../config/utils');var config=require(_0xd4d7('0x15'));var licenseUtil=require('../../config/license/util');var db=require(_0xd4d7('0x16'))['db'];function respondWithStatusCode(_0x2a5a31,_0x1072bf){_0x1072bf=_0x1072bf||0xcc;return function(_0x253c17){if(_0x253c17){return _0x2a5a31['sendStatus'](_0x1072bf);}return _0x2a5a31[_0xd4d7('0x17')](_0x1072bf)['end']();};}function respondWithResult(_0x37992b,_0x2b4488){_0x2b4488=_0x2b4488||0xc8;return function(_0x429ffa){if(_0x429ffa){return _0x37992b[_0xd4d7('0x17')](_0x2b4488)['json'](_0x429ffa);}};}function respondWithFilteredResult(_0x1c3405,_0xebb143){return function(_0x33fd34){if(_0x33fd34){var _0x15dc09=typeof _0xebb143['offset']===_0xd4d7('0x18')&&typeof _0xebb143['limit']===_0xd4d7('0x18');var _0x477650=_0x33fd34[_0xd4d7('0x19')];var _0x32fb68=_0x15dc09?0x0:_0xebb143['offset'];var _0x9b1f5b=_0x15dc09?_0x33fd34[_0xd4d7('0x19')]:_0xebb143[_0xd4d7('0x1a')]+_0xebb143['limit'];var _0x319fb7;if(_0x9b1f5b>=_0x477650){_0x9b1f5b=_0x477650;_0x319fb7=0xc8;}else{_0x319fb7=0xce;}_0x1c3405['status'](_0x319fb7);return _0x1c3405[_0xd4d7('0x1b')](_0xd4d7('0x1c'),_0x32fb68+'-'+_0x9b1f5b+'/'+_0x477650)[_0xd4d7('0x1d')](_0x33fd34);}return null;};}function patchUpdates(_0x197c59){return function(_0x34ff30){try{jsonpatch[_0xd4d7('0x1e')](_0x34ff30,_0x197c59,!![]);}catch(_0x5a5cab){return BPromise['reject'](_0x5a5cab);}return _0x34ff30[_0xd4d7('0x1f')]();};}function saveUpdates(_0x497a3d,_0xbbdd63){return function(_0x3c9fb5){if(_0x3c9fb5){return _0x3c9fb5[_0xd4d7('0x20')](_0x497a3d)['then'](function(_0x4ad600){return _0x4ad600;});}return null;};}function removeEntity(_0x1707e1,_0x39109b){return function(_0x5eb0e2){if(_0x5eb0e2){return _0x5eb0e2['destroy']()[_0xd4d7('0x21')](function(){_0x1707e1[_0xd4d7('0x17')](0xcc)['end']();});}};}function handleEntityNotFound(_0x52b870,_0x455bc8){return function(_0x4928bd){if(!_0x4928bd){_0x52b870[_0xd4d7('0x22')](0x194);}return _0x4928bd;};}function handleError(_0x257d7d,_0x3ca33f){_0x3ca33f=_0x3ca33f||0x1f4;return function(_0x45e837){logger[_0xd4d7('0x23')](_0x45e837[_0xd4d7('0x24')]);if(_0x45e837[_0xd4d7('0x25')]){delete _0x45e837[_0xd4d7('0x25')];}_0x257d7d[_0xd4d7('0x17')](_0x3ca33f)[_0xd4d7('0x26')](_0x45e837);};}exports[_0xd4d7('0x27')]=function(_0x55aa75,_0xc9ba0){var _0x221b74={},_0x263478={},_0x306158={'count':0x0,'rows':[]};var _0x31ab1b=_[_0xd4d7('0x28')](db[_0xd4d7('0x29')]['rawAttributes'],function(_0x2fb08b){return{'name':_0x2fb08b[_0xd4d7('0x2a')],'type':_0x2fb08b[_0xd4d7('0x2b')][_0xd4d7('0x2c')]};});_0x263478[_0xd4d7('0x2d')]=_[_0xd4d7('0x28')](_0x31ab1b,_0xd4d7('0x25'));_0x263478[_0xd4d7('0x2e')]=_[_0xd4d7('0x2f')](_0x55aa75[_0xd4d7('0x2e')]);_0x263478['filters']=_[_0xd4d7('0x30')](_0x263478['model'],_0x263478[_0xd4d7('0x2e')]);_0x221b74['attributes']=_[_0xd4d7('0x30')](_0x263478['model'],qs[_0xd4d7('0x31')](_0x55aa75['query'][_0xd4d7('0x31')]));_0x221b74['attributes']=_0x221b74['attributes']['length']?_0x221b74[_0xd4d7('0x32')]:_0x263478[_0xd4d7('0x2d')];if(!_0x55aa75[_0xd4d7('0x2e')]['hasOwnProperty'](_0xd4d7('0x33'))){_0x221b74[_0xd4d7('0x34')]=qs[_0xd4d7('0x34')](_0x55aa75[_0xd4d7('0x2e')]['limit']);_0x221b74[_0xd4d7('0x1a')]=qs[_0xd4d7('0x1a')](_0x55aa75[_0xd4d7('0x2e')][_0xd4d7('0x1a')]);}_0x221b74[_0xd4d7('0x35')]=qs[_0xd4d7('0x36')](_0x55aa75[_0xd4d7('0x2e')]['sort']);_0x221b74[_0xd4d7('0x37')]=qs[_0xd4d7('0x38')](_[_0xd4d7('0x39')](_0x55aa75['query'],_0x263478[_0xd4d7('0x38')]),_0x31ab1b);if(_0x55aa75[_0xd4d7('0x2e')][_0xd4d7('0x3a')]){_0x221b74[_0xd4d7('0x37')]=_[_0xd4d7('0x3b')](_0x221b74[_0xd4d7('0x37')],{'$or':_[_0xd4d7('0x28')](_0x31ab1b,function(_0x50b692){if(_0x50b692['type']!==_0xd4d7('0x3c')){var _0x47f905={};_0x47f905[_0x50b692[_0xd4d7('0x25')]]={'$like':'%'+_0x55aa75[_0xd4d7('0x2e')][_0xd4d7('0x3a')]+'%'};return _0x47f905;}})});}_0x221b74=_['merge']({},_0x221b74,_0x55aa75[_0xd4d7('0x3d')]);var _0x3241e3={'where':_0x221b74[_0xd4d7('0x37')]};return db[_0xd4d7('0x29')][_0xd4d7('0x19')](_0x3241e3)[_0xd4d7('0x21')](function(_0x24c997){_0x306158[_0xd4d7('0x19')]=_0x24c997;if(_0x55aa75[_0xd4d7('0x2e')][_0xd4d7('0x3e')]){_0x221b74[_0xd4d7('0x3f')]=[{'all':!![]}];}return db[_0xd4d7('0x29')]['findAll'](_0x221b74);})[_0xd4d7('0x21')](function(_0x282e24){_0x306158[_0xd4d7('0x40')]=_0x282e24;return _0x306158;})[_0xd4d7('0x21')](respondWithFilteredResult(_0xc9ba0,_0x221b74))[_0xd4d7('0x41')](handleError(_0xc9ba0,null));};exports[_0xd4d7('0x42')]=function(_0x2c6bd0,_0xa553b2){var _0x10f736={'raw':!![],'where':{'id':_0x2c6bd0['params']['id']}},_0x3d6fd6={};_0x3d6fd6[_0xd4d7('0x2d')]=_['keys'](db['ServicenowField'][_0xd4d7('0x43')]);_0x3d6fd6[_0xd4d7('0x2e')]=_[_0xd4d7('0x2f')](_0x2c6bd0[_0xd4d7('0x2e')]);_0x3d6fd6[_0xd4d7('0x38')]=_[_0xd4d7('0x30')](_0x3d6fd6[_0xd4d7('0x2d')],_0x3d6fd6['query']);_0x10f736[_0xd4d7('0x32')]=_[_0xd4d7('0x30')](_0x3d6fd6[_0xd4d7('0x2d')],qs[_0xd4d7('0x31')](_0x2c6bd0[_0xd4d7('0x2e')][_0xd4d7('0x31')]));_0x10f736['attributes']=_0x10f736[_0xd4d7('0x32')][_0xd4d7('0x44')]?_0x10f736[_0xd4d7('0x32')]:_0x3d6fd6[_0xd4d7('0x2d')];if(_0x2c6bd0[_0xd4d7('0x2e')][_0xd4d7('0x3e')]){_0x10f736[_0xd4d7('0x3f')]=[{'all':!![]}];}_0x10f736=_[_0xd4d7('0x3b')]({},_0x10f736,_0x2c6bd0[_0xd4d7('0x3d')]);return db['ServicenowField'][_0xd4d7('0x45')](_0x10f736)['then'](handleEntityNotFound(_0xa553b2,null))[_0xd4d7('0x21')](respondWithResult(_0xa553b2,null))[_0xd4d7('0x41')](handleError(_0xa553b2,null));};exports['create']=function(_0x3ff44a,_0x4c89d1){return db['ServicenowField'][_0xd4d7('0x46')](_0x3ff44a[_0xd4d7('0x47')],{})[_0xd4d7('0x21')](respondWithResult(_0x4c89d1,0xc9))[_0xd4d7('0x41')](handleError(_0x4c89d1,null));};exports[_0xd4d7('0x20')]=function(_0xeeea42,_0x583703){if(_0xeeea42['body']['id']){delete _0xeeea42[_0xd4d7('0x47')]['id'];}return db[_0xd4d7('0x29')][_0xd4d7('0x45')]({'where':{'id':_0xeeea42[_0xd4d7('0x48')]['id']}})['then'](handleEntityNotFound(_0x583703,null))['then'](saveUpdates(_0xeeea42['body'],null))[_0xd4d7('0x21')](respondWithResult(_0x583703,null))[_0xd4d7('0x41')](handleError(_0x583703,null));};exports[_0xd4d7('0x49')]=function(_0x1f2987,_0x4ed1df){return db[_0xd4d7('0x29')][_0xd4d7('0x45')]({'where':{'id':_0x1f2987['params']['id']}})[_0xd4d7('0x21')](handleEntityNotFound(_0x4ed1df,null))[_0xd4d7('0x21')](removeEntity(_0x4ed1df,null))[_0xd4d7('0x41')](handleError(_0x4ed1df,null));};