4a721a953d7bd00ec3c55dbf756e3a29a27ec1b7
[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 _0x8a14=['model','map','query','keys','intersection','attributes','length','hasOwnProperty','nolimit','order','sort','where','filters','pick','VIRTUAL','filter','includeAll','include','rows','catch','show','params','rawAttributes','fields','merge','options','create','body','find','fast-json-patch','request-promise','moment','sox','to-csv','ejs','fs-extra','lodash','squel','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/advancedSearch','../../config/logger','api','../../config/utils','../../config/environment','../../mysqldb','status','json','undefined','limit','count','offset','set','apply','reject','save','update','then','destroy','end','sendStatus','error','stack','name','send','index','ServicenowField','fieldName','type','key'];(function(_0x13ea00,_0x12f610){var _0x1f7347=function(_0x34ae63){while(--_0x34ae63){_0x13ea00['push'](_0x13ea00['shift']());}};_0x1f7347(++_0x12f610);}(_0x8a14,0x149));var _0x48a1=function(_0xe602df,_0x25d7f9){_0xe602df=_0xe602df-0x0;var _0x51e635=_0x8a14[_0xe602df];return _0x51e635;};'use strict';var emlformat=require('eml-format');var rimraf=require('rimraf');var zipdir=require('zip-dir');var jsonpatch=require(_0x48a1('0x0'));var rp=require(_0x48a1('0x1'));var moment=require(_0x48a1('0x2'));var BPromise=require('bluebird');var Mustache=require('mustache');var util=require('util');var path=require('path');var sox=require(_0x48a1('0x3'));var csv=require(_0x48a1('0x4'));var ejs=require(_0x48a1('0x5'));var fs=require('fs');var fs_extra=require(_0x48a1('0x6'));var _=require(_0x48a1('0x7'));var squel=require(_0x48a1('0x8'));var crypto=require(_0x48a1('0x9'));var jsforce=require(_0x48a1('0xa'));var deskjs=require(_0x48a1('0xb'));var toCsv=require(_0x48a1('0x4'));var querystring=require(_0x48a1('0xc'));var Papa=require(_0x48a1('0xd'));var Redis=require(_0x48a1('0xe'));var authService=require(_0x48a1('0xf'));var qs=require('../../components/parsers/qs');var as=require(_0x48a1('0x10'));var hardwareService=require('../../config/license/hardware');var logger=require(_0x48a1('0x11'))(_0x48a1('0x12'));var utils=require(_0x48a1('0x13'));var config=require(_0x48a1('0x14'));var licenseUtil=require('../../config/license/util');var db=require(_0x48a1('0x15'))['db'];function respondWithStatusCode(_0x3fec41,_0x2c3fbb){_0x2c3fbb=_0x2c3fbb||0xcc;return function(_0xc123f9){if(_0xc123f9){return _0x3fec41['sendStatus'](_0x2c3fbb);}return _0x3fec41[_0x48a1('0x16')](_0x2c3fbb)['end']();};}function respondWithResult(_0x1bbd2a,_0x17d1c2){_0x17d1c2=_0x17d1c2||0xc8;return function(_0x40ce73){if(_0x40ce73){return _0x1bbd2a[_0x48a1('0x16')](_0x17d1c2)[_0x48a1('0x17')](_0x40ce73);}};}function respondWithFilteredResult(_0x3c3e8b,_0x1658ec){return function(_0xeaf51e){if(_0xeaf51e){var _0x58db0f=typeof _0x1658ec['offset']===_0x48a1('0x18')&&typeof _0x1658ec[_0x48a1('0x19')]===_0x48a1('0x18');var _0x413c98=_0xeaf51e[_0x48a1('0x1a')];var _0x1b7a89=_0x58db0f?0x0:_0x1658ec[_0x48a1('0x1b')];var _0x1ffe70=_0x58db0f?_0xeaf51e[_0x48a1('0x1a')]:_0x1658ec['offset']+_0x1658ec['limit'];var _0x41e2b3;if(_0x1ffe70>=_0x413c98){_0x1ffe70=_0x413c98;_0x41e2b3=0xc8;}else{_0x41e2b3=0xce;}_0x3c3e8b['status'](_0x41e2b3);return _0x3c3e8b[_0x48a1('0x1c')]('Content-Range',_0x1b7a89+'-'+_0x1ffe70+'/'+_0x413c98)[_0x48a1('0x17')](_0xeaf51e);}return null;};}function patchUpdates(_0x438650){return function(_0x30d2fc){try{jsonpatch[_0x48a1('0x1d')](_0x30d2fc,_0x438650,!![]);}catch(_0x2ff0bb){return BPromise[_0x48a1('0x1e')](_0x2ff0bb);}return _0x30d2fc[_0x48a1('0x1f')]();};}function saveUpdates(_0x1fdcfa,_0x4a1018){return function(_0xbe3259){if(_0xbe3259){return _0xbe3259[_0x48a1('0x20')](_0x1fdcfa)[_0x48a1('0x21')](function(_0x7b585e){return _0x7b585e;});}return null;};}function removeEntity(_0x22b7a4,_0x2774f5){return function(_0x3ffae5){if(_0x3ffae5){return _0x3ffae5[_0x48a1('0x22')]()[_0x48a1('0x21')](function(){_0x22b7a4['status'](0xcc)[_0x48a1('0x23')]();});}};}function handleEntityNotFound(_0x45da7d,_0x4ce126){return function(_0x1e996c){if(!_0x1e996c){_0x45da7d[_0x48a1('0x24')](0x194);}return _0x1e996c;};}function handleError(_0x57c63d,_0x15055a){_0x15055a=_0x15055a||0x1f4;return function(_0xdddf62){logger[_0x48a1('0x25')](_0xdddf62[_0x48a1('0x26')]);if(_0xdddf62['name']){delete _0xdddf62[_0x48a1('0x27')];}_0x57c63d[_0x48a1('0x16')](_0x15055a)[_0x48a1('0x28')](_0xdddf62);};}exports[_0x48a1('0x29')]=function(_0x3a3b1c,_0x2fee8d){var _0x5b8f5d={},_0x276d9a={},_0x3a3606={'count':0x0,'rows':[]};var _0x20bbe1=_['map'](db[_0x48a1('0x2a')]['rawAttributes'],function(_0xdcc9a){return{'name':_0xdcc9a[_0x48a1('0x2b')],'type':_0xdcc9a[_0x48a1('0x2c')][_0x48a1('0x2d')]};});_0x276d9a[_0x48a1('0x2e')]=_[_0x48a1('0x2f')](_0x20bbe1,_0x48a1('0x27'));_0x276d9a[_0x48a1('0x30')]=_[_0x48a1('0x31')](_0x3a3b1c[_0x48a1('0x30')]);_0x276d9a['filters']=_[_0x48a1('0x32')](_0x276d9a[_0x48a1('0x2e')],_0x276d9a[_0x48a1('0x30')]);_0x5b8f5d[_0x48a1('0x33')]=_['intersection'](_0x276d9a[_0x48a1('0x2e')],qs['fields'](_0x3a3b1c[_0x48a1('0x30')]['fields']));_0x5b8f5d['attributes']=_0x5b8f5d['attributes'][_0x48a1('0x34')]?_0x5b8f5d[_0x48a1('0x33')]:_0x276d9a[_0x48a1('0x2e')];if(!_0x3a3b1c['query'][_0x48a1('0x35')](_0x48a1('0x36'))){_0x5b8f5d[_0x48a1('0x19')]=qs[_0x48a1('0x19')](_0x3a3b1c[_0x48a1('0x30')][_0x48a1('0x19')]);_0x5b8f5d['offset']=qs[_0x48a1('0x1b')](_0x3a3b1c[_0x48a1('0x30')]['offset']);}_0x5b8f5d[_0x48a1('0x37')]=qs[_0x48a1('0x38')](_0x3a3b1c['query'][_0x48a1('0x38')]);_0x5b8f5d[_0x48a1('0x39')]=qs[_0x48a1('0x3a')](_[_0x48a1('0x3b')](_0x3a3b1c[_0x48a1('0x30')],_0x276d9a['filters']),_0x20bbe1);if(_0x3a3b1c[_0x48a1('0x30')]['filter']){_0x5b8f5d[_0x48a1('0x39')]=_['merge'](_0x5b8f5d['where'],{'$or':_[_0x48a1('0x2f')](_0x20bbe1,function(_0xe0df12){if(_0xe0df12[_0x48a1('0x2c')]!==_0x48a1('0x3c')){var _0x3147d9={};_0x3147d9[_0xe0df12[_0x48a1('0x27')]]={'$like':'%'+_0x3a3b1c['query'][_0x48a1('0x3d')]+'%'};return _0x3147d9;}})});}_0x5b8f5d=_['merge']({},_0x5b8f5d,_0x3a3b1c['options']);var _0x53fc25={'where':_0x5b8f5d[_0x48a1('0x39')]};return db[_0x48a1('0x2a')][_0x48a1('0x1a')](_0x53fc25)[_0x48a1('0x21')](function(_0x216486){_0x3a3606['count']=_0x216486;if(_0x3a3b1c[_0x48a1('0x30')][_0x48a1('0x3e')]){_0x5b8f5d[_0x48a1('0x3f')]=[{'all':!![]}];}return db[_0x48a1('0x2a')]['findAll'](_0x5b8f5d);})[_0x48a1('0x21')](function(_0x229feb){_0x3a3606[_0x48a1('0x40')]=_0x229feb;return _0x3a3606;})[_0x48a1('0x21')](respondWithFilteredResult(_0x2fee8d,_0x5b8f5d))[_0x48a1('0x41')](handleError(_0x2fee8d,null));};exports[_0x48a1('0x42')]=function(_0x23d026,_0x551acb){var _0x7d4aff={'raw':!![],'where':{'id':_0x23d026[_0x48a1('0x43')]['id']}},_0x5e67f9={};_0x5e67f9[_0x48a1('0x2e')]=_[_0x48a1('0x31')](db['ServicenowField'][_0x48a1('0x44')]);_0x5e67f9[_0x48a1('0x30')]=_['keys'](_0x23d026[_0x48a1('0x30')]);_0x5e67f9[_0x48a1('0x3a')]=_[_0x48a1('0x32')](_0x5e67f9[_0x48a1('0x2e')],_0x5e67f9['query']);_0x7d4aff[_0x48a1('0x33')]=_[_0x48a1('0x32')](_0x5e67f9[_0x48a1('0x2e')],qs[_0x48a1('0x45')](_0x23d026[_0x48a1('0x30')]['fields']));_0x7d4aff[_0x48a1('0x33')]=_0x7d4aff[_0x48a1('0x33')][_0x48a1('0x34')]?_0x7d4aff['attributes']:_0x5e67f9[_0x48a1('0x2e')];if(_0x23d026['query']['includeAll']){_0x7d4aff[_0x48a1('0x3f')]=[{'all':!![]}];}_0x7d4aff=_[_0x48a1('0x46')]({},_0x7d4aff,_0x23d026[_0x48a1('0x47')]);return db['ServicenowField']['find'](_0x7d4aff)['then'](handleEntityNotFound(_0x551acb,null))[_0x48a1('0x21')](respondWithResult(_0x551acb,null))[_0x48a1('0x41')](handleError(_0x551acb,null));};exports[_0x48a1('0x48')]=function(_0x17093a,_0x28f15e){return db['ServicenowField'][_0x48a1('0x48')](_0x17093a[_0x48a1('0x49')],{})[_0x48a1('0x21')](respondWithResult(_0x28f15e,0xc9))[_0x48a1('0x41')](handleError(_0x28f15e,null));};exports['update']=function(_0x4c4135,_0x3e97fd){if(_0x4c4135['body']['id']){delete _0x4c4135['body']['id'];}return db[_0x48a1('0x2a')][_0x48a1('0x4a')]({'where':{'id':_0x4c4135[_0x48a1('0x43')]['id']}})[_0x48a1('0x21')](handleEntityNotFound(_0x3e97fd,null))[_0x48a1('0x21')](saveUpdates(_0x4c4135[_0x48a1('0x49')],null))[_0x48a1('0x21')](respondWithResult(_0x3e97fd,null))[_0x48a1('0x41')](handleError(_0x3e97fd,null));};exports[_0x48a1('0x22')]=function(_0xf6c949,_0x1a05c7){return db['ServicenowField'][_0x48a1('0x4a')]({'where':{'id':_0xf6c949[_0x48a1('0x43')]['id']}})[_0x48a1('0x21')](handleEntityNotFound(_0x1a05c7,null))[_0x48a1('0x21')](removeEntity(_0x1a05c7,null))['catch'](handleError(_0x1a05c7,null));};