0f9895ee934a021773e0d1bdf4667b6b38cddec5
[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 _0x5b5f=['eml-format','zip-dir','fast-json-patch','request-promise','bluebird','util','path','sox','to-csv','ejs','fs-extra','lodash','jsforce','querystring','papaparse','ioredis','../../components/auth/service','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','json','offset','undefined','count','limit','set','Content-Range','apply','save','update','then','destroy','end','error','stack','name','send','map','ServicenowField','rawAttributes','fieldName','type','key','model','query','intersection','attributes','fields','length','hasOwnProperty','nolimit','order','sort','pick','filters','filter','where','merge','VIRTUAL','includeAll','include','findAll','catch','show','params','keys','options','create','body','find'];(function(_0x5b34a7,_0x3f1c19){var _0x136c49=function(_0xa77a47){while(--_0xa77a47){_0x5b34a7['push'](_0x5b34a7['shift']());}};_0x136c49(++_0x3f1c19);}(_0x5b5f,0x1c2));var _0xf5b5=function(_0x57163b,_0x41db5f){_0x57163b=_0x57163b-0x0;var _0x13c1ea=_0x5b5f[_0x57163b];return _0x13c1ea;};'use strict';var emlformat=require(_0xf5b5('0x0'));var rimraf=require('rimraf');var zipdir=require(_0xf5b5('0x1'));var jsonpatch=require(_0xf5b5('0x2'));var rp=require(_0xf5b5('0x3'));var moment=require('moment');var BPromise=require(_0xf5b5('0x4'));var Mustache=require('mustache');var util=require(_0xf5b5('0x5'));var path=require(_0xf5b5('0x6'));var sox=require(_0xf5b5('0x7'));var csv=require(_0xf5b5('0x8'));var ejs=require(_0xf5b5('0x9'));var fs=require('fs');var fs_extra=require(_0xf5b5('0xa'));var _=require(_0xf5b5('0xb'));var squel=require('squel');var crypto=require('crypto');var jsforce=require(_0xf5b5('0xc'));var deskjs=require('desk.js');var toCsv=require(_0xf5b5('0x8'));var querystring=require(_0xf5b5('0xd'));var Papa=require(_0xf5b5('0xe'));var Redis=require(_0xf5b5('0xf'));var authService=require(_0xf5b5('0x10'));var qs=require('../../components/parsers/qs');var as=require('../../components/parsers/advancedSearch');var hardwareService=require('../../config/license/hardware');var logger=require(_0xf5b5('0x11'))(_0xf5b5('0x12'));var utils=require(_0xf5b5('0x13'));var config=require(_0xf5b5('0x14'));var licenseUtil=require(_0xf5b5('0x15'));var db=require(_0xf5b5('0x16'))['db'];function respondWithStatusCode(_0x1ca48d,_0x26b756){_0x26b756=_0x26b756||0xcc;return function(_0x28dc84){if(_0x28dc84){return _0x1ca48d[_0xf5b5('0x17')](_0x26b756);}return _0x1ca48d[_0xf5b5('0x18')](_0x26b756)['end']();};}function respondWithResult(_0x2eb737,_0x4588dd){_0x4588dd=_0x4588dd||0xc8;return function(_0x172be3){if(_0x172be3){return _0x2eb737[_0xf5b5('0x18')](_0x4588dd)[_0xf5b5('0x19')](_0x172be3);}};}function respondWithFilteredResult(_0x396c6c,_0x56b9f0){return function(_0x41c8cc){if(_0x41c8cc){var _0x349f32=typeof _0x56b9f0[_0xf5b5('0x1a')]==='undefined'&&typeof _0x56b9f0['limit']===_0xf5b5('0x1b');var _0x431681=_0x41c8cc[_0xf5b5('0x1c')];var _0x1487fb=_0x349f32?0x0:_0x56b9f0[_0xf5b5('0x1a')];var _0x362f04=_0x349f32?_0x41c8cc[_0xf5b5('0x1c')]:_0x56b9f0[_0xf5b5('0x1a')]+_0x56b9f0[_0xf5b5('0x1d')];var _0x20ff18;if(_0x362f04>=_0x431681){_0x362f04=_0x431681;_0x20ff18=0xc8;}else{_0x20ff18=0xce;}_0x396c6c['status'](_0x20ff18);return _0x396c6c[_0xf5b5('0x1e')](_0xf5b5('0x1f'),_0x1487fb+'-'+_0x362f04+'/'+_0x431681)[_0xf5b5('0x19')](_0x41c8cc);}return null;};}function patchUpdates(_0x4a3d1f){return function(_0x3b4eab){try{jsonpatch[_0xf5b5('0x20')](_0x3b4eab,_0x4a3d1f,!![]);}catch(_0x1be063){return BPromise['reject'](_0x1be063);}return _0x3b4eab[_0xf5b5('0x21')]();};}function saveUpdates(_0x1b48f0,_0x456703){return function(_0x42614f){if(_0x42614f){return _0x42614f[_0xf5b5('0x22')](_0x1b48f0)[_0xf5b5('0x23')](function(_0x2ee67f){return _0x2ee67f;});}return null;};}function removeEntity(_0x57330e,_0x51b7e7){return function(_0x241b44){if(_0x241b44){return _0x241b44[_0xf5b5('0x24')]()[_0xf5b5('0x23')](function(){_0x57330e[_0xf5b5('0x18')](0xcc)[_0xf5b5('0x25')]();});}};}function handleEntityNotFound(_0x5868bc,_0x273342){return function(_0x5c60ab){if(!_0x5c60ab){_0x5868bc[_0xf5b5('0x17')](0x194);}return _0x5c60ab;};}function handleError(_0x57ae15,_0x3f8e8d){_0x3f8e8d=_0x3f8e8d||0x1f4;return function(_0x31529a){logger[_0xf5b5('0x26')](_0x31529a[_0xf5b5('0x27')]);if(_0x31529a[_0xf5b5('0x28')]){delete _0x31529a[_0xf5b5('0x28')];}_0x57ae15[_0xf5b5('0x18')](_0x3f8e8d)[_0xf5b5('0x29')](_0x31529a);};}exports['index']=function(_0x257910,_0x510555){var _0x4b7bd7={},_0x329fb8={},_0x53fa22={'count':0x0,'rows':[]};var _0x567a98=_[_0xf5b5('0x2a')](db[_0xf5b5('0x2b')][_0xf5b5('0x2c')],function(_0x4e923f){return{'name':_0x4e923f[_0xf5b5('0x2d')],'type':_0x4e923f[_0xf5b5('0x2e')][_0xf5b5('0x2f')]};});_0x329fb8[_0xf5b5('0x30')]=_[_0xf5b5('0x2a')](_0x567a98,'name');_0x329fb8[_0xf5b5('0x31')]=_['keys'](_0x257910[_0xf5b5('0x31')]);_0x329fb8['filters']=_[_0xf5b5('0x32')](_0x329fb8['model'],_0x329fb8[_0xf5b5('0x31')]);_0x4b7bd7[_0xf5b5('0x33')]=_['intersection'](_0x329fb8[_0xf5b5('0x30')],qs[_0xf5b5('0x34')](_0x257910[_0xf5b5('0x31')]['fields']));_0x4b7bd7[_0xf5b5('0x33')]=_0x4b7bd7[_0xf5b5('0x33')][_0xf5b5('0x35')]?_0x4b7bd7[_0xf5b5('0x33')]:_0x329fb8[_0xf5b5('0x30')];if(!_0x257910['query'][_0xf5b5('0x36')](_0xf5b5('0x37'))){_0x4b7bd7[_0xf5b5('0x1d')]=qs[_0xf5b5('0x1d')](_0x257910[_0xf5b5('0x31')][_0xf5b5('0x1d')]);_0x4b7bd7[_0xf5b5('0x1a')]=qs[_0xf5b5('0x1a')](_0x257910['query'][_0xf5b5('0x1a')]);}_0x4b7bd7[_0xf5b5('0x38')]=qs[_0xf5b5('0x39')](_0x257910[_0xf5b5('0x31')][_0xf5b5('0x39')]);_0x4b7bd7['where']=qs['filters'](_[_0xf5b5('0x3a')](_0x257910['query'],_0x329fb8[_0xf5b5('0x3b')]),_0x567a98);if(_0x257910[_0xf5b5('0x31')][_0xf5b5('0x3c')]){_0x4b7bd7[_0xf5b5('0x3d')]=_[_0xf5b5('0x3e')](_0x4b7bd7[_0xf5b5('0x3d')],{'$or':_[_0xf5b5('0x2a')](_0x567a98,function(_0x3429d1){if(_0x3429d1[_0xf5b5('0x2e')]!==_0xf5b5('0x3f')){var _0x4536ea={};_0x4536ea[_0x3429d1['name']]={'$like':'%'+_0x257910['query'][_0xf5b5('0x3c')]+'%'};return _0x4536ea;}})});}_0x4b7bd7=_[_0xf5b5('0x3e')]({},_0x4b7bd7,_0x257910['options']);var _0x27ce36={'where':_0x4b7bd7['where']};return db[_0xf5b5('0x2b')][_0xf5b5('0x1c')](_0x27ce36)[_0xf5b5('0x23')](function(_0x3a6470){_0x53fa22[_0xf5b5('0x1c')]=_0x3a6470;if(_0x257910[_0xf5b5('0x31')][_0xf5b5('0x40')]){_0x4b7bd7[_0xf5b5('0x41')]=[{'all':!![]}];}return db[_0xf5b5('0x2b')][_0xf5b5('0x42')](_0x4b7bd7);})[_0xf5b5('0x23')](function(_0x303a3a){_0x53fa22['rows']=_0x303a3a;return _0x53fa22;})[_0xf5b5('0x23')](respondWithFilteredResult(_0x510555,_0x4b7bd7))[_0xf5b5('0x43')](handleError(_0x510555,null));};exports[_0xf5b5('0x44')]=function(_0x5cd681,_0x453164){var _0x16d153={'raw':!![],'where':{'id':_0x5cd681[_0xf5b5('0x45')]['id']}},_0x1d4d3d={};_0x1d4d3d['model']=_[_0xf5b5('0x46')](db['ServicenowField'][_0xf5b5('0x2c')]);_0x1d4d3d[_0xf5b5('0x31')]=_[_0xf5b5('0x46')](_0x5cd681[_0xf5b5('0x31')]);_0x1d4d3d['filters']=_[_0xf5b5('0x32')](_0x1d4d3d[_0xf5b5('0x30')],_0x1d4d3d['query']);_0x16d153[_0xf5b5('0x33')]=_[_0xf5b5('0x32')](_0x1d4d3d['model'],qs['fields'](_0x5cd681[_0xf5b5('0x31')][_0xf5b5('0x34')]));_0x16d153[_0xf5b5('0x33')]=_0x16d153[_0xf5b5('0x33')]['length']?_0x16d153[_0xf5b5('0x33')]:_0x1d4d3d[_0xf5b5('0x30')];if(_0x5cd681[_0xf5b5('0x31')][_0xf5b5('0x40')]){_0x16d153[_0xf5b5('0x41')]=[{'all':!![]}];}_0x16d153=_[_0xf5b5('0x3e')]({},_0x16d153,_0x5cd681[_0xf5b5('0x47')]);return db[_0xf5b5('0x2b')]['find'](_0x16d153)['then'](handleEntityNotFound(_0x453164,null))[_0xf5b5('0x23')](respondWithResult(_0x453164,null))[_0xf5b5('0x43')](handleError(_0x453164,null));};exports['create']=function(_0x2c7791,_0xfcf16e){return db[_0xf5b5('0x2b')][_0xf5b5('0x48')](_0x2c7791[_0xf5b5('0x49')],{})['then'](respondWithResult(_0xfcf16e,0xc9))[_0xf5b5('0x43')](handleError(_0xfcf16e,null));};exports[_0xf5b5('0x22')]=function(_0x414fce,_0x51c401){if(_0x414fce[_0xf5b5('0x49')]['id']){delete _0x414fce[_0xf5b5('0x49')]['id'];}return db['ServicenowField']['find']({'where':{'id':_0x414fce[_0xf5b5('0x45')]['id']}})[_0xf5b5('0x23')](handleEntityNotFound(_0x51c401,null))['then'](saveUpdates(_0x414fce[_0xf5b5('0x49')],null))[_0xf5b5('0x23')](respondWithResult(_0x51c401,null))['catch'](handleError(_0x51c401,null));};exports[_0xf5b5('0x24')]=function(_0x16db96,_0x32a079){return db['ServicenowField'][_0xf5b5('0x4a')]({'where':{'id':_0x16db96['params']['id']}})[_0xf5b5('0x23')](handleEntityNotFound(_0x32a079,null))[_0xf5b5('0x23')](removeEntity(_0x32a079,null))['catch'](handleError(_0x32a079,null));};