115b8c251215d119d4589003d66f9825c9b33f6d
[motion2.git] / server / api / cmHopperBlack / cmHopperBlack.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 _0x3988=['fast-json-patch','request-promise','moment','util','path','sox','fs-extra','lodash','squel','jsforce','desk.js','to-csv','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','end','json','offset','undefined','count','limit','set','Content-Range','reject','save','update','destroy','then','error','stack','name','send','index','map','CmHopperBlack','rawAttributes','fieldName','type','query','filters','intersection','attributes','fields','length','model','hasOwnProperty','nolimit','order','sort','where','pick','filter','merge','VIRTUAL','includeAll','include','findAll','rows','show','params','keys','options','find','catch','body','describe','eml-format','rimraf'];(function(_0x4fd7e1,_0x55edd2){var _0xd878ae=function(_0x2d9ae4){while(--_0x2d9ae4){_0x4fd7e1['push'](_0x4fd7e1['shift']());}};_0xd878ae(++_0x55edd2);}(_0x3988,0x1cc));var _0x8398=function(_0xd3caf8,_0x56c6e5){_0xd3caf8=_0xd3caf8-0x0;var _0x409f01=_0x3988[_0xd3caf8];return _0x409f01;};'use strict';var emlformat=require(_0x8398('0x0'));var rimraf=require(_0x8398('0x1'));var zipdir=require('zip-dir');var jsonpatch=require(_0x8398('0x2'));var rp=require(_0x8398('0x3'));var moment=require(_0x8398('0x4'));var BPromise=require('bluebird');var Mustache=require('mustache');var util=require(_0x8398('0x5'));var path=require(_0x8398('0x6'));var sox=require(_0x8398('0x7'));var csv=require('to-csv');var ejs=require('ejs');var fs=require('fs');var fs_extra=require(_0x8398('0x8'));var _=require(_0x8398('0x9'));var squel=require(_0x8398('0xa'));var crypto=require('crypto');var jsforce=require(_0x8398('0xb'));var deskjs=require(_0x8398('0xc'));var toCsv=require(_0x8398('0xd'));var querystring=require(_0x8398('0xe'));var Papa=require(_0x8398('0xf'));var Redis=require(_0x8398('0x10'));var authService=require(_0x8398('0x11'));var qs=require('../../components/parsers/qs');var as=require(_0x8398('0x12'));var hardwareService=require(_0x8398('0x13'));var logger=require(_0x8398('0x14'))('api');var utils=require('../../config/utils');var config=require(_0x8398('0x15'));var licenseUtil=require(_0x8398('0x16'));var db=require(_0x8398('0x17'))['db'];function respondWithStatusCode(_0x1e7cd9,_0x56292a){_0x56292a=_0x56292a||0xcc;return function(_0x7c9009){if(_0x7c9009){return _0x1e7cd9[_0x8398('0x18')](_0x56292a);}return _0x1e7cd9[_0x8398('0x19')](_0x56292a)[_0x8398('0x1a')]();};}function respondWithResult(_0x1f1930,_0x59bd02){_0x59bd02=_0x59bd02||0xc8;return function(_0x4c728f){if(_0x4c728f){return _0x1f1930[_0x8398('0x19')](_0x59bd02)[_0x8398('0x1b')](_0x4c728f);}};}function respondWithFilteredResult(_0x57d2b9,_0x2febef){return function(_0x36d246){if(_0x36d246){var _0x13a3ee=typeof _0x2febef[_0x8398('0x1c')]==='undefined'&&typeof _0x2febef['limit']===_0x8398('0x1d');var _0x142d8b=_0x36d246['count'];var _0x2d560d=_0x13a3ee?0x0:_0x2febef['offset'];var _0x145f8f=_0x13a3ee?_0x36d246[_0x8398('0x1e')]:_0x2febef[_0x8398('0x1c')]+_0x2febef[_0x8398('0x1f')];var _0x3101fc;if(_0x145f8f>=_0x142d8b){_0x145f8f=_0x142d8b;_0x3101fc=0xc8;}else{_0x3101fc=0xce;}_0x57d2b9[_0x8398('0x19')](_0x3101fc);return _0x57d2b9[_0x8398('0x20')](_0x8398('0x21'),_0x2d560d+'-'+_0x145f8f+'/'+_0x142d8b)['json'](_0x36d246);}return null;};}function patchUpdates(_0x23185b){return function(_0x15e6f7){try{jsonpatch['apply'](_0x15e6f7,_0x23185b,!![]);}catch(_0x479a7d){return BPromise[_0x8398('0x22')](_0x479a7d);}return _0x15e6f7[_0x8398('0x23')]();};}function saveUpdates(_0x3a05cb,_0xa26df0){return function(_0x33981c){if(_0x33981c){return _0x33981c[_0x8398('0x24')](_0x3a05cb)['then'](function(_0x135c5a){return _0x135c5a;});}return null;};}function removeEntity(_0x13934b,_0x5dd8da){return function(_0x30cff5){if(_0x30cff5){return _0x30cff5[_0x8398('0x25')]()[_0x8398('0x26')](function(){_0x13934b['status'](0xcc)[_0x8398('0x1a')]();});}};}function handleEntityNotFound(_0x2e7ded,_0x1307c8){return function(_0x585fde){if(!_0x585fde){_0x2e7ded[_0x8398('0x18')](0x194);}return _0x585fde;};}function handleError(_0x1e9b5c,_0x56f2e5){_0x56f2e5=_0x56f2e5||0x1f4;return function(_0x35ca00){logger[_0x8398('0x27')](_0x35ca00[_0x8398('0x28')]);if(_0x35ca00['name']){delete _0x35ca00[_0x8398('0x29')];}_0x1e9b5c[_0x8398('0x19')](_0x56f2e5)[_0x8398('0x2a')](_0x35ca00);};}exports[_0x8398('0x2b')]=function(_0x38b566,_0x1c1292){var _0x11373f={},_0x236ecd={},_0x79abf9={'count':0x0,'rows':[]};var _0x489b97=_[_0x8398('0x2c')](db[_0x8398('0x2d')][_0x8398('0x2e')],function(_0x329840){return{'name':_0x329840[_0x8398('0x2f')],'type':_0x329840[_0x8398('0x30')]['key']};});_0x236ecd['model']=_[_0x8398('0x2c')](_0x489b97,'name');_0x236ecd[_0x8398('0x31')]=_['keys'](_0x38b566[_0x8398('0x31')]);_0x236ecd[_0x8398('0x32')]=_[_0x8398('0x33')](_0x236ecd['model'],_0x236ecd['query']);_0x11373f[_0x8398('0x34')]=_['intersection'](_0x236ecd['model'],qs[_0x8398('0x35')](_0x38b566[_0x8398('0x31')][_0x8398('0x35')]));_0x11373f['attributes']=_0x11373f[_0x8398('0x34')][_0x8398('0x36')]?_0x11373f[_0x8398('0x34')]:_0x236ecd[_0x8398('0x37')];if(!_0x38b566[_0x8398('0x31')][_0x8398('0x38')](_0x8398('0x39'))){_0x11373f['limit']=qs[_0x8398('0x1f')](_0x38b566[_0x8398('0x31')][_0x8398('0x1f')]);_0x11373f[_0x8398('0x1c')]=qs[_0x8398('0x1c')](_0x38b566['query'][_0x8398('0x1c')]);}_0x11373f[_0x8398('0x3a')]=qs[_0x8398('0x3b')](_0x38b566[_0x8398('0x31')]['sort']);_0x11373f[_0x8398('0x3c')]=qs[_0x8398('0x32')](_[_0x8398('0x3d')](_0x38b566['query'],_0x236ecd[_0x8398('0x32')]),_0x489b97);if(_0x38b566[_0x8398('0x31')][_0x8398('0x3e')]){_0x11373f[_0x8398('0x3c')]=_[_0x8398('0x3f')](_0x11373f[_0x8398('0x3c')],{'$or':_['map'](_0x489b97,function(_0x5c4664){if(_0x5c4664[_0x8398('0x30')]!==_0x8398('0x40')){var _0x3ae661={};_0x3ae661[_0x5c4664['name']]={'$like':'%'+_0x38b566[_0x8398('0x31')][_0x8398('0x3e')]+'%'};return _0x3ae661;}})});}_0x11373f=_['merge']({},_0x11373f,_0x38b566['options']);var _0x1eefcb={'where':_0x11373f['where']};return db[_0x8398('0x2d')][_0x8398('0x1e')](_0x1eefcb)['then'](function(_0x576494){_0x79abf9[_0x8398('0x1e')]=_0x576494;if(_0x38b566['query'][_0x8398('0x41')]){_0x11373f[_0x8398('0x42')]=[{'all':!![]}];}return db[_0x8398('0x2d')][_0x8398('0x43')](_0x11373f);})[_0x8398('0x26')](function(_0x194938){_0x79abf9[_0x8398('0x44')]=_0x194938;return _0x79abf9;})[_0x8398('0x26')](respondWithFilteredResult(_0x1c1292,_0x11373f))['catch'](handleError(_0x1c1292,null));};exports[_0x8398('0x45')]=function(_0x32d8f1,_0x258f62){var _0x53fa8c={'raw':!![],'where':{'id':_0x32d8f1[_0x8398('0x46')]['id']}},_0x42d09d={};_0x42d09d['model']=_['keys'](db[_0x8398('0x2d')][_0x8398('0x2e')]);_0x42d09d[_0x8398('0x31')]=_[_0x8398('0x47')](_0x32d8f1[_0x8398('0x31')]);_0x42d09d[_0x8398('0x32')]=_[_0x8398('0x33')](_0x42d09d[_0x8398('0x37')],_0x42d09d[_0x8398('0x31')]);_0x53fa8c[_0x8398('0x34')]=_[_0x8398('0x33')](_0x42d09d[_0x8398('0x37')],qs[_0x8398('0x35')](_0x32d8f1['query'][_0x8398('0x35')]));_0x53fa8c['attributes']=_0x53fa8c[_0x8398('0x34')][_0x8398('0x36')]?_0x53fa8c['attributes']:_0x42d09d[_0x8398('0x37')];if(_0x32d8f1[_0x8398('0x31')][_0x8398('0x41')]){_0x53fa8c['include']=[{'all':!![]}];}_0x53fa8c=_[_0x8398('0x3f')]({},_0x53fa8c,_0x32d8f1[_0x8398('0x48')]);return db[_0x8398('0x2d')][_0x8398('0x49')](_0x53fa8c)['then'](handleEntityNotFound(_0x258f62,null))[_0x8398('0x26')](respondWithResult(_0x258f62,null))[_0x8398('0x4a')](handleError(_0x258f62,null));};exports[_0x8398('0x24')]=function(_0x27a610,_0xf68fde){if(_0x27a610[_0x8398('0x4b')]['id']){delete _0x27a610[_0x8398('0x4b')]['id'];}return db['CmHopperBlack'][_0x8398('0x49')]({'where':{'id':_0x27a610[_0x8398('0x46')]['id']}})[_0x8398('0x26')](handleEntityNotFound(_0xf68fde,null))[_0x8398('0x26')](saveUpdates(_0x27a610['body'],null))['then'](respondWithResult(_0xf68fde,null))['catch'](handleError(_0xf68fde,null));};exports[_0x8398('0x25')]=function(_0x18c070,_0x8308e0){return db[_0x8398('0x2d')][_0x8398('0x49')]({'where':{'id':_0x18c070[_0x8398('0x46')]['id']}})['then'](handleEntityNotFound(_0x8308e0,null))[_0x8398('0x26')](removeEntity(_0x8308e0,null))[_0x8398('0x4a')](handleError(_0x8308e0,null));};exports[_0x8398('0x4c')]=function(_0x24e9a8,_0x171f68){return db['CmHopperBlack'][_0x8398('0x4c')]()[_0x8398('0x26')](respondWithResult(_0x171f68,null))[_0x8398('0x4a')](handleError(_0x171f68,null));};