c5ac7a9e86471debb5e6ea3988c640aaf79b884c
[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 _0xd01d=['destroy','error','stack','name','send','index','map','ServicenowField','rawAttributes','fieldName','type','key','model','query','keys','intersection','attributes','fields','length','hasOwnProperty','nolimit','limit','order','sort','where','filters','pick','filter','merge','VIRTUAL','options','findAll','rows','catch','params','includeAll','include','find','create','body','eml-format','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','util','path','sox','to-csv','squel','crypto','jsforce','desk.js','papaparse','ioredis','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/license/util','sendStatus','status','end','json','count','offset','set','Content-Range','apply','reject','update','then'];(function(_0x4da382,_0x4cfc5d){var _0x10073f=function(_0x32dc45){while(--_0x32dc45){_0x4da382['push'](_0x4da382['shift']());}};_0x10073f(++_0x4cfc5d);}(_0xd01d,0xbe));var _0xdd01=function(_0x1b4d4c,_0x2ad55c){_0x1b4d4c=_0x1b4d4c-0x0;var _0xe92d20=_0xd01d[_0x1b4d4c];return _0xe92d20;};'use strict';var pdf=require('html-pdf');var emlformat=require(_0xdd01('0x0'));var rimraf=require('rimraf');var zipdir=require(_0xdd01('0x1'));var jsonpatch=require(_0xdd01('0x2'));var rp=require(_0xdd01('0x3'));var moment=require(_0xdd01('0x4'));var BPromise=require(_0xdd01('0x5'));var Mustache=require(_0xdd01('0x6'));var util=require(_0xdd01('0x7'));var path=require(_0xdd01('0x8'));var sox=require(_0xdd01('0x9'));var csv=require(_0xdd01('0xa'));var ejs=require('ejs');var fs=require('fs');var _=require('lodash');var squel=require(_0xdd01('0xb'));var crypto=require(_0xdd01('0xc'));var jsforce=require(_0xdd01('0xd'));var deskjs=require(_0xdd01('0xe'));var toCsv=require(_0xdd01('0xa'));var querystring=require('querystring');var Papa=require(_0xdd01('0xf'));var Redis=require(_0xdd01('0x10'));var authService=require('../../components/auth/service');var qs=require('../../components/parsers/qs');var as=require(_0xdd01('0x11'));var hardwareService=require(_0xdd01('0x12'));var logger=require(_0xdd01('0x13'))(_0xdd01('0x14'));var utils=require(_0xdd01('0x15'));var config=require('../../config/environment');var licenseUtil=require(_0xdd01('0x16'));var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x503227,_0x23e7e3){_0x23e7e3=_0x23e7e3||0xcc;return function(_0x40fe9d){if(_0x40fe9d){return _0x503227[_0xdd01('0x17')](_0x23e7e3);}return _0x503227[_0xdd01('0x18')](_0x23e7e3)[_0xdd01('0x19')]();};}function respondWithResult(_0x49dac7,_0x33ab6a){_0x33ab6a=_0x33ab6a||0xc8;return function(_0x592613){if(_0x592613){return _0x49dac7[_0xdd01('0x18')](_0x33ab6a)[_0xdd01('0x1a')](_0x592613);}};}function respondWithFilteredResult(_0x47ff49,_0x113b25){return function(_0x580efc){if(_0x580efc){var _0xcc7985=_0x580efc[_0xdd01('0x1b')],_0x449241=_0x113b25[_0xdd01('0x1c')],_0x90c77d=_0x113b25[_0xdd01('0x1c')]+_0x113b25['limit'],_0x4ce145;if(_0x90c77d>=_0xcc7985){_0x90c77d=_0xcc7985;_0x4ce145=0xc8;}else{_0x4ce145=0xce;}_0x47ff49[_0xdd01('0x18')](_0x4ce145);return _0x47ff49[_0xdd01('0x1d')](_0xdd01('0x1e'),_0x449241+'-'+_0x90c77d+'/'+_0xcc7985)[_0xdd01('0x1a')](_0x580efc);}return null;};}function patchUpdates(_0x19cae7){return function(_0xf9f29){try{jsonpatch[_0xdd01('0x1f')](_0xf9f29,_0x19cae7,!![]);}catch(_0x351331){return BPromise[_0xdd01('0x20')](_0x351331);}return _0xf9f29['save']();};}function saveUpdates(_0x297198,_0x4c2333){return function(_0x2b26f4){if(_0x2b26f4){return _0x2b26f4[_0xdd01('0x21')](_0x297198)[_0xdd01('0x22')](function(_0x2bc983){return _0x2bc983;});}return null;};}function removeEntity(_0x18c594,_0x3e4feb){return function(_0x17a6d9){if(_0x17a6d9){return _0x17a6d9[_0xdd01('0x23')]()['then'](function(){_0x18c594[_0xdd01('0x18')](0xcc)[_0xdd01('0x19')]();});}};}function handleEntityNotFound(_0x40e654,_0x59611c){return function(_0x4093c2){if(!_0x4093c2){_0x40e654[_0xdd01('0x17')](0x194);}return _0x4093c2;};}function handleError(_0x386172,_0x53152b){_0x53152b=_0x53152b||0x1f4;return function(_0x317f0f){logger[_0xdd01('0x24')](_0x317f0f[_0xdd01('0x25')]);if(_0x317f0f['name']){delete _0x317f0f[_0xdd01('0x26')];}_0x386172['status'](_0x53152b)[_0xdd01('0x27')](_0x317f0f);};}exports[_0xdd01('0x28')]=function(_0x470514,_0xaef454){var _0x3581c8={},_0x4e43a2={},_0x46424c={'count':0x0,'rows':[]};var _0x57cf5f=_[_0xdd01('0x29')](db[_0xdd01('0x2a')][_0xdd01('0x2b')],function(_0x17181f){return{'name':_0x17181f[_0xdd01('0x2c')],'type':_0x17181f[_0xdd01('0x2d')][_0xdd01('0x2e')]};});_0x4e43a2[_0xdd01('0x2f')]=_[_0xdd01('0x29')](_0x57cf5f,_0xdd01('0x26'));_0x4e43a2[_0xdd01('0x30')]=_[_0xdd01('0x31')](_0x470514[_0xdd01('0x30')]);_0x4e43a2['filters']=_[_0xdd01('0x32')](_0x4e43a2[_0xdd01('0x2f')],_0x4e43a2[_0xdd01('0x30')]);_0x3581c8[_0xdd01('0x33')]=_[_0xdd01('0x32')](_0x4e43a2[_0xdd01('0x2f')],qs[_0xdd01('0x34')](_0x470514[_0xdd01('0x30')]['fields']));_0x3581c8[_0xdd01('0x33')]=_0x3581c8[_0xdd01('0x33')][_0xdd01('0x35')]?_0x3581c8[_0xdd01('0x33')]:_0x4e43a2['model'];if(!_0x470514[_0xdd01('0x30')][_0xdd01('0x36')](_0xdd01('0x37'))){_0x3581c8[_0xdd01('0x38')]=qs[_0xdd01('0x38')](_0x470514[_0xdd01('0x30')][_0xdd01('0x38')]);_0x3581c8['offset']=qs[_0xdd01('0x1c')](_0x470514[_0xdd01('0x30')]['offset']);}_0x3581c8[_0xdd01('0x39')]=qs[_0xdd01('0x3a')](_0x470514[_0xdd01('0x30')][_0xdd01('0x3a')]);_0x3581c8[_0xdd01('0x3b')]=qs[_0xdd01('0x3c')](_[_0xdd01('0x3d')](_0x470514['query'],_0x4e43a2[_0xdd01('0x3c')]),_0x57cf5f);if(_0x470514[_0xdd01('0x30')][_0xdd01('0x3e')]){_0x3581c8[_0xdd01('0x3b')]=_[_0xdd01('0x3f')](_0x3581c8[_0xdd01('0x3b')],{'$or':_['map'](_0x57cf5f,function(_0x5e7999){if(_0x5e7999[_0xdd01('0x2d')]!==_0xdd01('0x40')){var _0x3210b2={};_0x3210b2[_0x5e7999['name']]={'$like':'%'+_0x470514[_0xdd01('0x30')]['filter']+'%'};return _0x3210b2;}})});}_0x3581c8=_['merge']({},_0x3581c8,_0x470514[_0xdd01('0x41')]);var _0x10b7ae={'where':_0x3581c8[_0xdd01('0x3b')]};return db[_0xdd01('0x2a')][_0xdd01('0x1b')](_0x10b7ae)[_0xdd01('0x22')](function(_0x4b81b2){_0x46424c[_0xdd01('0x1b')]=_0x4b81b2;if(_0x470514['query']['includeAll']){_0x3581c8['include']=[{'all':!![]}];}return db[_0xdd01('0x2a')][_0xdd01('0x42')](_0x3581c8);})[_0xdd01('0x22')](function(_0x217aef){_0x46424c[_0xdd01('0x43')]=_0x217aef;return _0x46424c;})[_0xdd01('0x22')](respondWithFilteredResult(_0xaef454,_0x3581c8))[_0xdd01('0x44')](handleError(_0xaef454,null));};exports['show']=function(_0x208f08,_0x46d5ce){var _0x205453={'raw':!![],'where':{'id':_0x208f08[_0xdd01('0x45')]['id']}},_0x25a4e0={};_0x25a4e0[_0xdd01('0x2f')]=_[_0xdd01('0x31')](db[_0xdd01('0x2a')][_0xdd01('0x2b')]);_0x25a4e0['query']=_[_0xdd01('0x31')](_0x208f08[_0xdd01('0x30')]);_0x25a4e0[_0xdd01('0x3c')]=_[_0xdd01('0x32')](_0x25a4e0['model'],_0x25a4e0['query']);_0x205453[_0xdd01('0x33')]=_[_0xdd01('0x32')](_0x25a4e0[_0xdd01('0x2f')],qs[_0xdd01('0x34')](_0x208f08[_0xdd01('0x30')][_0xdd01('0x34')]));_0x205453['attributes']=_0x205453['attributes']['length']?_0x205453['attributes']:_0x25a4e0[_0xdd01('0x2f')];if(_0x208f08[_0xdd01('0x30')][_0xdd01('0x46')]){_0x205453[_0xdd01('0x47')]=[{'all':!![]}];}_0x205453=_[_0xdd01('0x3f')]({},_0x205453,_0x208f08[_0xdd01('0x41')]);return db[_0xdd01('0x2a')][_0xdd01('0x48')](_0x205453)[_0xdd01('0x22')](handleEntityNotFound(_0x46d5ce,null))[_0xdd01('0x22')](respondWithResult(_0x46d5ce,null))[_0xdd01('0x44')](handleError(_0x46d5ce,null));};exports['create']=function(_0x58e18a,_0x54ddf7){return db[_0xdd01('0x2a')][_0xdd01('0x49')](_0x58e18a['body'],{})[_0xdd01('0x22')](respondWithResult(_0x54ddf7,0xc9))[_0xdd01('0x44')](handleError(_0x54ddf7,null));};exports[_0xdd01('0x21')]=function(_0x525963,_0x2b9e57){if(_0x525963[_0xdd01('0x4a')]['id']){delete _0x525963['body']['id'];}return db[_0xdd01('0x2a')][_0xdd01('0x48')]({'where':{'id':_0x525963[_0xdd01('0x45')]['id']}})[_0xdd01('0x22')](handleEntityNotFound(_0x2b9e57,null))[_0xdd01('0x22')](saveUpdates(_0x525963['body'],null))[_0xdd01('0x22')](respondWithResult(_0x2b9e57,null))[_0xdd01('0x44')](handleError(_0x2b9e57,null));};exports[_0xdd01('0x23')]=function(_0xaaf96a,_0x2e2bc5){return db['ServicenowField'][_0xdd01('0x48')]({'where':{'id':_0xaaf96a[_0xdd01('0x45')]['id']}})[_0xdd01('0x22')](handleEntityNotFound(_0x2e2bc5,null))[_0xdd01('0x22')](removeEntity(_0x2e2bc5,null))[_0xdd01('0x44')](handleError(_0x2e2bc5,null));};