45aa313895e276474661f2403e9b3cef731344f4
[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 _0xc219=['bluebird','mustache','util','sox','to-csv','crypto','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','end','json','undefined','limit','count','offset','set','Content-Range','apply','reject','save','update','then','destroy','error','name','send','index','fieldName','type','key','model','map','query','filters','intersection','fields','attributes','length','hasOwnProperty','nolimit','order','sort','where','pick','filter','merge','options','ServicenowField','findAll','catch','show','params','keys','rawAttributes','find','create','body','eml-format','zip-dir','request-promise','moment'];(function(_0x3bdb96,_0x1f7b30){var _0x2d6ea0=function(_0x90430f){while(--_0x90430f){_0x3bdb96['push'](_0x3bdb96['shift']());}};_0x2d6ea0(++_0x1f7b30);}(_0xc219,0x1ac));var _0x9c21=function(_0x389832,_0x10a4a9){_0x389832=_0x389832-0x0;var _0x59429e=_0xc219[_0x389832];return _0x59429e;};'use strict';var emlformat=require(_0x9c21('0x0'));var rimraf=require('rimraf');var zipdir=require(_0x9c21('0x1'));var jsonpatch=require('fast-json-patch');var rp=require(_0x9c21('0x2'));var moment=require(_0x9c21('0x3'));var BPromise=require(_0x9c21('0x4'));var Mustache=require(_0x9c21('0x5'));var util=require(_0x9c21('0x6'));var path=require('path');var sox=require(_0x9c21('0x7'));var csv=require(_0x9c21('0x8'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require('fs-extra');var _=require('lodash');var squel=require('squel');var crypto=require(_0x9c21('0x9'));var jsforce=require('jsforce');var deskjs=require(_0x9c21('0xa'));var toCsv=require(_0x9c21('0x8'));var querystring=require(_0x9c21('0xb'));var Papa=require(_0x9c21('0xc'));var Redis=require(_0x9c21('0xd'));var authService=require(_0x9c21('0xe'));var qs=require(_0x9c21('0xf'));var as=require(_0x9c21('0x10'));var hardwareService=require('../../config/license/hardware');var logger=require('../../config/logger')(_0x9c21('0x11'));var utils=require(_0x9c21('0x12'));var config=require(_0x9c21('0x13'));var licenseUtil=require(_0x9c21('0x14'));var db=require(_0x9c21('0x15'))['db'];function respondWithStatusCode(_0x51c27f,_0x577a13){_0x577a13=_0x577a13||0xcc;return function(_0x1ef7db){if(_0x1ef7db){return _0x51c27f[_0x9c21('0x16')](_0x577a13);}return _0x51c27f[_0x9c21('0x17')](_0x577a13)[_0x9c21('0x18')]();};}function respondWithResult(_0x13ea2e,_0x3003a1){_0x3003a1=_0x3003a1||0xc8;return function(_0x51bd6a){if(_0x51bd6a){return _0x13ea2e[_0x9c21('0x17')](_0x3003a1)[_0x9c21('0x19')](_0x51bd6a);}};}function respondWithFilteredResult(_0x222225,_0x5be144){return function(_0x483424){if(_0x483424){var _0x5437cc=typeof _0x5be144['offset']===_0x9c21('0x1a')&&typeof _0x5be144[_0x9c21('0x1b')]==='undefined';var _0x2bbe3b=_0x483424[_0x9c21('0x1c')];var _0xd3bf03=_0x5437cc?0x0:_0x5be144[_0x9c21('0x1d')];var _0x379652=_0x5437cc?_0x483424[_0x9c21('0x1c')]:_0x5be144['offset']+_0x5be144[_0x9c21('0x1b')];var _0x3985f2;if(_0x379652>=_0x2bbe3b){_0x379652=_0x2bbe3b;_0x3985f2=0xc8;}else{_0x3985f2=0xce;}_0x222225['status'](_0x3985f2);return _0x222225[_0x9c21('0x1e')](_0x9c21('0x1f'),_0xd3bf03+'-'+_0x379652+'/'+_0x2bbe3b)[_0x9c21('0x19')](_0x483424);}return null;};}function patchUpdates(_0x40ecbc){return function(_0x391e25){try{jsonpatch[_0x9c21('0x20')](_0x391e25,_0x40ecbc,!![]);}catch(_0x3a5c22){return BPromise[_0x9c21('0x21')](_0x3a5c22);}return _0x391e25[_0x9c21('0x22')]();};}function saveUpdates(_0x115a2a,_0x15ed4d){return function(_0x34567d){if(_0x34567d){return _0x34567d[_0x9c21('0x23')](_0x115a2a)[_0x9c21('0x24')](function(_0x2b6035){return _0x2b6035;});}return null;};}function removeEntity(_0x44e4c4,_0xde50f2){return function(_0x1d7456){if(_0x1d7456){return _0x1d7456[_0x9c21('0x25')]()[_0x9c21('0x24')](function(){_0x44e4c4['status'](0xcc)[_0x9c21('0x18')]();});}};}function handleEntityNotFound(_0x231475,_0x21f05){return function(_0x32fd8c){if(!_0x32fd8c){_0x231475['sendStatus'](0x194);}return _0x32fd8c;};}function handleError(_0xfbd0ed,_0x445c33){_0x445c33=_0x445c33||0x1f4;return function(_0x4680e7){logger[_0x9c21('0x26')](_0x4680e7['stack']);if(_0x4680e7[_0x9c21('0x27')]){delete _0x4680e7[_0x9c21('0x27')];}_0xfbd0ed[_0x9c21('0x17')](_0x445c33)[_0x9c21('0x28')](_0x4680e7);};}exports[_0x9c21('0x29')]=function(_0x42d406,_0x46c12b){var _0x3a9080={},_0x5e0ae9={},_0x41da99={'count':0x0,'rows':[]};var _0x4eafe5=_['map'](db['ServicenowField']['rawAttributes'],function(_0x33763f){return{'name':_0x33763f[_0x9c21('0x2a')],'type':_0x33763f[_0x9c21('0x2b')][_0x9c21('0x2c')]};});_0x5e0ae9[_0x9c21('0x2d')]=_[_0x9c21('0x2e')](_0x4eafe5,_0x9c21('0x27'));_0x5e0ae9[_0x9c21('0x2f')]=_['keys'](_0x42d406[_0x9c21('0x2f')]);_0x5e0ae9[_0x9c21('0x30')]=_[_0x9c21('0x31')](_0x5e0ae9['model'],_0x5e0ae9['query']);_0x3a9080['attributes']=_[_0x9c21('0x31')](_0x5e0ae9[_0x9c21('0x2d')],qs[_0x9c21('0x32')](_0x42d406[_0x9c21('0x2f')][_0x9c21('0x32')]));_0x3a9080[_0x9c21('0x33')]=_0x3a9080[_0x9c21('0x33')][_0x9c21('0x34')]?_0x3a9080['attributes']:_0x5e0ae9[_0x9c21('0x2d')];if(!_0x42d406[_0x9c21('0x2f')][_0x9c21('0x35')](_0x9c21('0x36'))){_0x3a9080[_0x9c21('0x1b')]=qs[_0x9c21('0x1b')](_0x42d406[_0x9c21('0x2f')][_0x9c21('0x1b')]);_0x3a9080['offset']=qs[_0x9c21('0x1d')](_0x42d406[_0x9c21('0x2f')][_0x9c21('0x1d')]);}_0x3a9080[_0x9c21('0x37')]=qs[_0x9c21('0x38')](_0x42d406[_0x9c21('0x2f')]['sort']);_0x3a9080[_0x9c21('0x39')]=qs['filters'](_[_0x9c21('0x3a')](_0x42d406['query'],_0x5e0ae9[_0x9c21('0x30')]),_0x4eafe5);if(_0x42d406[_0x9c21('0x2f')][_0x9c21('0x3b')]){_0x3a9080[_0x9c21('0x39')]=_[_0x9c21('0x3c')](_0x3a9080['where'],{'$or':_['map'](_0x4eafe5,function(_0x19def1){if(_0x19def1['type']!=='VIRTUAL'){var _0x5517be={};_0x5517be[_0x19def1[_0x9c21('0x27')]]={'$like':'%'+_0x42d406['query'][_0x9c21('0x3b')]+'%'};return _0x5517be;}})});}_0x3a9080=_[_0x9c21('0x3c')]({},_0x3a9080,_0x42d406[_0x9c21('0x3d')]);var _0x5dd060={'where':_0x3a9080[_0x9c21('0x39')]};return db[_0x9c21('0x3e')][_0x9c21('0x1c')](_0x5dd060)['then'](function(_0x34dfb6){_0x41da99[_0x9c21('0x1c')]=_0x34dfb6;if(_0x42d406['query']['includeAll']){_0x3a9080['include']=[{'all':!![]}];}return db[_0x9c21('0x3e')][_0x9c21('0x3f')](_0x3a9080);})[_0x9c21('0x24')](function(_0x5e1ba2){_0x41da99['rows']=_0x5e1ba2;return _0x41da99;})[_0x9c21('0x24')](respondWithFilteredResult(_0x46c12b,_0x3a9080))[_0x9c21('0x40')](handleError(_0x46c12b,null));};exports[_0x9c21('0x41')]=function(_0x709a44,_0x11dea2){var _0x41c7c2={'raw':!![],'where':{'id':_0x709a44[_0x9c21('0x42')]['id']}},_0x56f26f={};_0x56f26f[_0x9c21('0x2d')]=_[_0x9c21('0x43')](db[_0x9c21('0x3e')][_0x9c21('0x44')]);_0x56f26f[_0x9c21('0x2f')]=_['keys'](_0x709a44[_0x9c21('0x2f')]);_0x56f26f[_0x9c21('0x30')]=_['intersection'](_0x56f26f[_0x9c21('0x2d')],_0x56f26f[_0x9c21('0x2f')]);_0x41c7c2[_0x9c21('0x33')]=_['intersection'](_0x56f26f['model'],qs[_0x9c21('0x32')](_0x709a44[_0x9c21('0x2f')][_0x9c21('0x32')]));_0x41c7c2[_0x9c21('0x33')]=_0x41c7c2[_0x9c21('0x33')][_0x9c21('0x34')]?_0x41c7c2[_0x9c21('0x33')]:_0x56f26f[_0x9c21('0x2d')];if(_0x709a44[_0x9c21('0x2f')]['includeAll']){_0x41c7c2['include']=[{'all':!![]}];}_0x41c7c2=_[_0x9c21('0x3c')]({},_0x41c7c2,_0x709a44['options']);return db[_0x9c21('0x3e')][_0x9c21('0x45')](_0x41c7c2)[_0x9c21('0x24')](handleEntityNotFound(_0x11dea2,null))[_0x9c21('0x24')](respondWithResult(_0x11dea2,null))[_0x9c21('0x40')](handleError(_0x11dea2,null));};exports['create']=function(_0x1cc65d,_0x4608fe){return db['ServicenowField'][_0x9c21('0x46')](_0x1cc65d[_0x9c21('0x47')],{})[_0x9c21('0x24')](respondWithResult(_0x4608fe,0xc9))[_0x9c21('0x40')](handleError(_0x4608fe,null));};exports[_0x9c21('0x23')]=function(_0x47507a,_0x5c07d6){if(_0x47507a['body']['id']){delete _0x47507a[_0x9c21('0x47')]['id'];}return db[_0x9c21('0x3e')][_0x9c21('0x45')]({'where':{'id':_0x47507a['params']['id']}})[_0x9c21('0x24')](handleEntityNotFound(_0x5c07d6,null))[_0x9c21('0x24')](saveUpdates(_0x47507a[_0x9c21('0x47')],null))[_0x9c21('0x24')](respondWithResult(_0x5c07d6,null))[_0x9c21('0x40')](handleError(_0x5c07d6,null));};exports['destroy']=function(_0x4bf13d,_0x7a04c3){return db[_0x9c21('0x3e')][_0x9c21('0x45')]({'where':{'id':_0x4bf13d['params']['id']}})[_0x9c21('0x24')](handleEntityNotFound(_0x7a04c3,null))['then'](removeEntity(_0x7a04c3,null))[_0x9c21('0x40')](handleError(_0x7a04c3,null));};