Built motion from commit 56a37f2a.|2.6.21
[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 _0x63b5=['sendStatus','status','end','json','offset','limit','count','set','Content-Range','apply','reject','save','then','destroy','error','name','map','rawAttributes','fieldName','type','key','model','query','keys','intersection','attributes','fields','length','hasOwnProperty','nolimit','order','sort','where','filters','pick','options','ServicenowField','includeAll','findAll','rows','catch','show','params','include','merge','find','create','body','eml-format','rimraf','zip-dir','request-promise','bluebird','mustache','util','sox','fs-extra','squel','crypto','to-csv','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../config/license/hardware','../../config/logger','api','../../config/environment','../../config/license/util','../../mysqldb'];(function(_0x14add3,_0x13ce8d){var _0x4a174f=function(_0x2b3ed7){while(--_0x2b3ed7){_0x14add3['push'](_0x14add3['shift']());}};_0x4a174f(++_0x13ce8d);}(_0x63b5,0x76));var _0x563b=function(_0x3f7e48,_0x72d357){_0x3f7e48=_0x3f7e48-0x0;var _0x5d04bc=_0x63b5[_0x3f7e48];return _0x5d04bc;};'use strict';var emlformat=require(_0x563b('0x0'));var rimraf=require(_0x563b('0x1'));var zipdir=require(_0x563b('0x2'));var jsonpatch=require('fast-json-patch');var rp=require(_0x563b('0x3'));var moment=require('moment');var BPromise=require(_0x563b('0x4'));var Mustache=require(_0x563b('0x5'));var util=require(_0x563b('0x6'));var path=require('path');var sox=require(_0x563b('0x7'));var csv=require('to-csv');var ejs=require('ejs');var fs=require('fs');var fs_extra=require(_0x563b('0x8'));var _=require('lodash');var squel=require(_0x563b('0x9'));var crypto=require(_0x563b('0xa'));var jsforce=require('jsforce');var deskjs=require('desk.js');var toCsv=require(_0x563b('0xb'));var querystring=require('querystring');var Papa=require(_0x563b('0xc'));var Redis=require(_0x563b('0xd'));var authService=require(_0x563b('0xe'));var qs=require(_0x563b('0xf'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0x563b('0x10'));var logger=require(_0x563b('0x11'))(_0x563b('0x12'));var utils=require('../../config/utils');var config=require(_0x563b('0x13'));var licenseUtil=require(_0x563b('0x14'));var db=require(_0x563b('0x15'))['db'];function respondWithStatusCode(_0x1d1719,_0x2a8896){_0x2a8896=_0x2a8896||0xcc;return function(_0x309231){if(_0x309231){return _0x1d1719[_0x563b('0x16')](_0x2a8896);}return _0x1d1719[_0x563b('0x17')](_0x2a8896)[_0x563b('0x18')]();};}function respondWithResult(_0x4d9fdf,_0x14a307){_0x14a307=_0x14a307||0xc8;return function(_0x324f6f){if(_0x324f6f){return _0x4d9fdf[_0x563b('0x17')](_0x14a307)[_0x563b('0x19')](_0x324f6f);}};}function respondWithFilteredResult(_0x5afa36,_0x4102b6){return function(_0x4a0265){if(_0x4a0265){var _0x3ec5b0=typeof _0x4102b6[_0x563b('0x1a')]==='undefined'&&typeof _0x4102b6[_0x563b('0x1b')]==='undefined';var _0xf1a5df=_0x4a0265['count'];var _0x72d71=_0x3ec5b0?0x0:_0x4102b6[_0x563b('0x1a')];var _0x32e1e3=_0x3ec5b0?_0x4a0265[_0x563b('0x1c')]:_0x4102b6[_0x563b('0x1a')]+_0x4102b6[_0x563b('0x1b')];var _0x1c852a;if(_0x32e1e3>=_0xf1a5df){_0x32e1e3=_0xf1a5df;_0x1c852a=0xc8;}else{_0x1c852a=0xce;}_0x5afa36[_0x563b('0x17')](_0x1c852a);return _0x5afa36[_0x563b('0x1d')](_0x563b('0x1e'),_0x72d71+'-'+_0x32e1e3+'/'+_0xf1a5df)[_0x563b('0x19')](_0x4a0265);}return null;};}function patchUpdates(_0x2a1a40){return function(_0x1d9d2a){try{jsonpatch[_0x563b('0x1f')](_0x1d9d2a,_0x2a1a40,!![]);}catch(_0xf0d8cc){return BPromise[_0x563b('0x20')](_0xf0d8cc);}return _0x1d9d2a[_0x563b('0x21')]();};}function saveUpdates(_0x1e46e5,_0x405625){return function(_0x45f216){if(_0x45f216){return _0x45f216['update'](_0x1e46e5)[_0x563b('0x22')](function(_0x474376){return _0x474376;});}return null;};}function removeEntity(_0x1ff0c2,_0x3647e6){return function(_0x1a23ba){if(_0x1a23ba){return _0x1a23ba[_0x563b('0x23')]()['then'](function(){_0x1ff0c2[_0x563b('0x17')](0xcc)[_0x563b('0x18')]();});}};}function handleEntityNotFound(_0x473411,_0xf8768b){return function(_0x5f5679){if(!_0x5f5679){_0x473411[_0x563b('0x16')](0x194);}return _0x5f5679;};}function handleError(_0x69f97e,_0x45c61f){_0x45c61f=_0x45c61f||0x1f4;return function(_0x306f8f){logger[_0x563b('0x24')](_0x306f8f['stack']);if(_0x306f8f[_0x563b('0x25')]){delete _0x306f8f['name'];}_0x69f97e['status'](_0x45c61f)['send'](_0x306f8f);};}exports['index']=function(_0x2e0d29,_0xe1aad9){var _0x2e66f5={},_0x340f4e={},_0x584583={'count':0x0,'rows':[]};var _0x2892a0=_[_0x563b('0x26')](db['ServicenowField'][_0x563b('0x27')],function(_0x578bec){return{'name':_0x578bec[_0x563b('0x28')],'type':_0x578bec[_0x563b('0x29')][_0x563b('0x2a')]};});_0x340f4e[_0x563b('0x2b')]=_[_0x563b('0x26')](_0x2892a0,_0x563b('0x25'));_0x340f4e[_0x563b('0x2c')]=_[_0x563b('0x2d')](_0x2e0d29[_0x563b('0x2c')]);_0x340f4e['filters']=_[_0x563b('0x2e')](_0x340f4e[_0x563b('0x2b')],_0x340f4e['query']);_0x2e66f5[_0x563b('0x2f')]=_[_0x563b('0x2e')](_0x340f4e[_0x563b('0x2b')],qs[_0x563b('0x30')](_0x2e0d29[_0x563b('0x2c')][_0x563b('0x30')]));_0x2e66f5['attributes']=_0x2e66f5[_0x563b('0x2f')][_0x563b('0x31')]?_0x2e66f5['attributes']:_0x340f4e[_0x563b('0x2b')];if(!_0x2e0d29['query'][_0x563b('0x32')](_0x563b('0x33'))){_0x2e66f5[_0x563b('0x1b')]=qs[_0x563b('0x1b')](_0x2e0d29[_0x563b('0x2c')][_0x563b('0x1b')]);_0x2e66f5[_0x563b('0x1a')]=qs['offset'](_0x2e0d29[_0x563b('0x2c')][_0x563b('0x1a')]);}_0x2e66f5[_0x563b('0x34')]=qs[_0x563b('0x35')](_0x2e0d29['query'][_0x563b('0x35')]);_0x2e66f5[_0x563b('0x36')]=qs[_0x563b('0x37')](_[_0x563b('0x38')](_0x2e0d29['query'],_0x340f4e[_0x563b('0x37')]),_0x2892a0);if(_0x2e0d29[_0x563b('0x2c')]['filter']){_0x2e66f5['where']=_['merge'](_0x2e66f5[_0x563b('0x36')],{'$or':_[_0x563b('0x26')](_0x2892a0,function(_0x52ad27){if(_0x52ad27[_0x563b('0x29')]!=='VIRTUAL'){var _0x12511f={};_0x12511f[_0x52ad27[_0x563b('0x25')]]={'$like':'%'+_0x2e0d29[_0x563b('0x2c')]['filter']+'%'};return _0x12511f;}})});}_0x2e66f5=_['merge']({},_0x2e66f5,_0x2e0d29[_0x563b('0x39')]);var _0x255597={'where':_0x2e66f5['where']};return db[_0x563b('0x3a')]['count'](_0x255597)['then'](function(_0x401366){_0x584583[_0x563b('0x1c')]=_0x401366;if(_0x2e0d29[_0x563b('0x2c')][_0x563b('0x3b')]){_0x2e66f5['include']=[{'all':!![]}];}return db[_0x563b('0x3a')][_0x563b('0x3c')](_0x2e66f5);})['then'](function(_0x5e678a){_0x584583[_0x563b('0x3d')]=_0x5e678a;return _0x584583;})[_0x563b('0x22')](respondWithFilteredResult(_0xe1aad9,_0x2e66f5))[_0x563b('0x3e')](handleError(_0xe1aad9,null));};exports[_0x563b('0x3f')]=function(_0x4f12de,_0x38ed03){var _0x285be7={'raw':!![],'where':{'id':_0x4f12de[_0x563b('0x40')]['id']}},_0x3150bc={};_0x3150bc[_0x563b('0x2b')]=_[_0x563b('0x2d')](db['ServicenowField'][_0x563b('0x27')]);_0x3150bc[_0x563b('0x2c')]=_['keys'](_0x4f12de['query']);_0x3150bc[_0x563b('0x37')]=_[_0x563b('0x2e')](_0x3150bc[_0x563b('0x2b')],_0x3150bc['query']);_0x285be7[_0x563b('0x2f')]=_[_0x563b('0x2e')](_0x3150bc[_0x563b('0x2b')],qs['fields'](_0x4f12de[_0x563b('0x2c')][_0x563b('0x30')]));_0x285be7[_0x563b('0x2f')]=_0x285be7[_0x563b('0x2f')][_0x563b('0x31')]?_0x285be7[_0x563b('0x2f')]:_0x3150bc[_0x563b('0x2b')];if(_0x4f12de[_0x563b('0x2c')][_0x563b('0x3b')]){_0x285be7[_0x563b('0x41')]=[{'all':!![]}];}_0x285be7=_[_0x563b('0x42')]({},_0x285be7,_0x4f12de[_0x563b('0x39')]);return db[_0x563b('0x3a')][_0x563b('0x43')](_0x285be7)['then'](handleEntityNotFound(_0x38ed03,null))[_0x563b('0x22')](respondWithResult(_0x38ed03,null))[_0x563b('0x3e')](handleError(_0x38ed03,null));};exports['create']=function(_0x207b74,_0xd4785d){return db[_0x563b('0x3a')][_0x563b('0x44')](_0x207b74[_0x563b('0x45')],{})['then'](respondWithResult(_0xd4785d,0xc9))[_0x563b('0x3e')](handleError(_0xd4785d,null));};exports['update']=function(_0x20bd00,_0x484b47){if(_0x20bd00[_0x563b('0x45')]['id']){delete _0x20bd00[_0x563b('0x45')]['id'];}return db['ServicenowField'][_0x563b('0x43')]({'where':{'id':_0x20bd00[_0x563b('0x40')]['id']}})[_0x563b('0x22')](handleEntityNotFound(_0x484b47,null))[_0x563b('0x22')](saveUpdates(_0x20bd00[_0x563b('0x45')],null))[_0x563b('0x22')](respondWithResult(_0x484b47,null))[_0x563b('0x3e')](handleError(_0x484b47,null));};exports[_0x563b('0x23')]=function(_0xea7a3b,_0x2abb6c){return db[_0x563b('0x3a')][_0x563b('0x43')]({'where':{'id':_0xea7a3b[_0x563b('0x40')]['id']}})[_0x563b('0x22')](handleEntityNotFound(_0x2abb6c,null))[_0x563b('0x22')](removeEntity(_0x2abb6c,null))['catch'](handleError(_0x2abb6c,null));};