6beccaff3c08c86cb57d2388f38a7a02f175ec40
[motion2.git] / server / api / smsApplication / smsApplication.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 _0x729f=['end','json','offset','undefined','limit','count','Content-Range','reject','save','then','error','stack','name','send','SmsApplication','rawAttributes','fieldName','type','key','model','map','query','keys','intersection','attributes','fields','length','hasOwnProperty','nolimit','order','sort','filters','merge','where','VIRTUAL','options','includeAll','include','findAll','rows','catch','show','params','find','create','destroy','eml-format','rimraf','fast-json-patch','request-promise','moment','bluebird','mustache','util','path','to-csv','ejs','fs-extra','squel','crypto','jsforce','querystring','papaparse','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status'];(function(_0x2e8fe5,_0x2ceea0){var _0x19eca6=function(_0x1cc3e4){while(--_0x1cc3e4){_0x2e8fe5['push'](_0x2e8fe5['shift']());}};_0x19eca6(++_0x2ceea0);}(_0x729f,0xc2));var _0xf729=function(_0x5bdbfd,_0x3aaf24){_0x5bdbfd=_0x5bdbfd-0x0;var _0x5711c0=_0x729f[_0x5bdbfd];return _0x5711c0;};'use strict';var emlformat=require(_0xf729('0x0'));var rimraf=require(_0xf729('0x1'));var zipdir=require('zip-dir');var jsonpatch=require(_0xf729('0x2'));var rp=require(_0xf729('0x3'));var moment=require(_0xf729('0x4'));var BPromise=require(_0xf729('0x5'));var Mustache=require(_0xf729('0x6'));var util=require(_0xf729('0x7'));var path=require(_0xf729('0x8'));var sox=require('sox');var csv=require(_0xf729('0x9'));var ejs=require(_0xf729('0xa'));var fs=require('fs');var fs_extra=require(_0xf729('0xb'));var _=require('lodash');var squel=require(_0xf729('0xc'));var crypto=require(_0xf729('0xd'));var jsforce=require(_0xf729('0xe'));var deskjs=require('desk.js');var toCsv=require('to-csv');var querystring=require(_0xf729('0xf'));var Papa=require(_0xf729('0x10'));var Redis=require('ioredis');var authService=require(_0xf729('0x11'));var qs=require(_0xf729('0x12'));var as=require(_0xf729('0x13'));var hardwareService=require(_0xf729('0x14'));var logger=require(_0xf729('0x15'))('api');var utils=require(_0xf729('0x16'));var config=require(_0xf729('0x17'));var licenseUtil=require(_0xf729('0x18'));var db=require(_0xf729('0x19'))['db'];function respondWithStatusCode(_0x4da316,_0x4b9c3d){_0x4b9c3d=_0x4b9c3d||0xcc;return function(_0x330a7a){if(_0x330a7a){return _0x4da316[_0xf729('0x1a')](_0x4b9c3d);}return _0x4da316[_0xf729('0x1b')](_0x4b9c3d)[_0xf729('0x1c')]();};}function respondWithResult(_0x20fd16,_0x51eb03){_0x51eb03=_0x51eb03||0xc8;return function(_0x2f4d4e){if(_0x2f4d4e){return _0x20fd16[_0xf729('0x1b')](_0x51eb03)[_0xf729('0x1d')](_0x2f4d4e);}};}function respondWithFilteredResult(_0x1662bb,_0x58b42f){return function(_0x1dca21){if(_0x1dca21){var _0x3021e=typeof _0x58b42f[_0xf729('0x1e')]===_0xf729('0x1f')&&typeof _0x58b42f[_0xf729('0x20')]==='undefined';var _0x324d5a=_0x1dca21[_0xf729('0x21')];var _0x5ab2ab=_0x3021e?0x0:_0x58b42f[_0xf729('0x1e')];var _0x502c90=_0x3021e?_0x1dca21[_0xf729('0x21')]:_0x58b42f[_0xf729('0x1e')]+_0x58b42f[_0xf729('0x20')];var _0x1b7642;if(_0x502c90>=_0x324d5a){_0x502c90=_0x324d5a;_0x1b7642=0xc8;}else{_0x1b7642=0xce;}_0x1662bb[_0xf729('0x1b')](_0x1b7642);return _0x1662bb['set'](_0xf729('0x22'),_0x5ab2ab+'-'+_0x502c90+'/'+_0x324d5a)[_0xf729('0x1d')](_0x1dca21);}return null;};}function patchUpdates(_0x24f773){return function(_0x3be2fe){try{jsonpatch['apply'](_0x3be2fe,_0x24f773,!![]);}catch(_0x22f002){return BPromise[_0xf729('0x23')](_0x22f002);}return _0x3be2fe[_0xf729('0x24')]();};}function saveUpdates(_0x78f50,_0x25ba53){return function(_0x3d7888){if(_0x3d7888){return _0x3d7888['update'](_0x78f50)['then'](function(_0x6531a){return _0x6531a;});}return null;};}function removeEntity(_0x4fb573,_0x4b2eb0){return function(_0x128c33){if(_0x128c33){return _0x128c33['destroy']()[_0xf729('0x25')](function(){_0x4fb573['status'](0xcc)[_0xf729('0x1c')]();});}};}function handleEntityNotFound(_0x38a9fa,_0x4372fe){return function(_0x38d6e9){if(!_0x38d6e9){_0x38a9fa[_0xf729('0x1a')](0x194);}return _0x38d6e9;};}function handleError(_0x100e8f,_0x12e6b0){_0x12e6b0=_0x12e6b0||0x1f4;return function(_0x34f5ea){logger[_0xf729('0x26')](_0x34f5ea[_0xf729('0x27')]);if(_0x34f5ea[_0xf729('0x28')]){delete _0x34f5ea['name'];}_0x100e8f[_0xf729('0x1b')](_0x12e6b0)[_0xf729('0x29')](_0x34f5ea);};}exports['index']=function(_0x43c04b,_0x255501){var _0x3351b0={},_0x5a2d05={},_0x38bda7={'count':0x0,'rows':[]};var _0x4dcf0f=_['map'](db[_0xf729('0x2a')][_0xf729('0x2b')],function(_0x1b9d98){return{'name':_0x1b9d98[_0xf729('0x2c')],'type':_0x1b9d98[_0xf729('0x2d')][_0xf729('0x2e')]};});_0x5a2d05[_0xf729('0x2f')]=_[_0xf729('0x30')](_0x4dcf0f,_0xf729('0x28'));_0x5a2d05[_0xf729('0x31')]=_[_0xf729('0x32')](_0x43c04b[_0xf729('0x31')]);_0x5a2d05['filters']=_[_0xf729('0x33')](_0x5a2d05[_0xf729('0x2f')],_0x5a2d05[_0xf729('0x31')]);_0x3351b0[_0xf729('0x34')]=_[_0xf729('0x33')](_0x5a2d05['model'],qs[_0xf729('0x35')](_0x43c04b[_0xf729('0x31')]['fields']));_0x3351b0['attributes']=_0x3351b0[_0xf729('0x34')][_0xf729('0x36')]?_0x3351b0[_0xf729('0x34')]:_0x5a2d05[_0xf729('0x2f')];if(!_0x43c04b[_0xf729('0x31')][_0xf729('0x37')](_0xf729('0x38'))){_0x3351b0[_0xf729('0x20')]=qs[_0xf729('0x20')](_0x43c04b[_0xf729('0x31')][_0xf729('0x20')]);_0x3351b0[_0xf729('0x1e')]=qs[_0xf729('0x1e')](_0x43c04b['query']['offset']);}_0x3351b0[_0xf729('0x39')]=qs['sort'](_0x43c04b[_0xf729('0x31')][_0xf729('0x3a')]);_0x3351b0['where']=qs['filters'](_['pick'](_0x43c04b[_0xf729('0x31')],_0x5a2d05[_0xf729('0x3b')]),_0x4dcf0f);if(_0x43c04b[_0xf729('0x31')]['filter']){_0x3351b0['where']=_[_0xf729('0x3c')](_0x3351b0[_0xf729('0x3d')],{'$or':_[_0xf729('0x30')](_0x4dcf0f,function(_0x1b637f){if(_0x1b637f[_0xf729('0x2d')]!==_0xf729('0x3e')){var _0x3af3ca={};_0x3af3ca[_0x1b637f['name']]={'$like':'%'+_0x43c04b[_0xf729('0x31')]['filter']+'%'};return _0x3af3ca;}})});}_0x3351b0=_[_0xf729('0x3c')]({},_0x3351b0,_0x43c04b[_0xf729('0x3f')]);var _0x36e097={'where':_0x3351b0[_0xf729('0x3d')]};return db['SmsApplication'][_0xf729('0x21')](_0x36e097)['then'](function(_0x10dc80){_0x38bda7[_0xf729('0x21')]=_0x10dc80;if(_0x43c04b[_0xf729('0x31')][_0xf729('0x40')]){_0x3351b0[_0xf729('0x41')]=[{'all':!![]}];}return db[_0xf729('0x2a')][_0xf729('0x42')](_0x3351b0);})['then'](function(_0x16980c){_0x38bda7[_0xf729('0x43')]=_0x16980c;return _0x38bda7;})['then'](respondWithFilteredResult(_0x255501,_0x3351b0))[_0xf729('0x44')](handleError(_0x255501,null));};exports[_0xf729('0x45')]=function(_0x1cd298,_0x58246b){var _0x1665e3={'raw':!![],'where':{'id':_0x1cd298[_0xf729('0x46')]['id']}},_0x567a58={};_0x567a58[_0xf729('0x2f')]=_[_0xf729('0x32')](db['SmsApplication'][_0xf729('0x2b')]);_0x567a58[_0xf729('0x31')]=_[_0xf729('0x32')](_0x1cd298[_0xf729('0x31')]);_0x567a58[_0xf729('0x3b')]=_[_0xf729('0x33')](_0x567a58['model'],_0x567a58[_0xf729('0x31')]);_0x1665e3[_0xf729('0x34')]=_['intersection'](_0x567a58[_0xf729('0x2f')],qs[_0xf729('0x35')](_0x1cd298[_0xf729('0x31')][_0xf729('0x35')]));_0x1665e3[_0xf729('0x34')]=_0x1665e3['attributes'][_0xf729('0x36')]?_0x1665e3[_0xf729('0x34')]:_0x567a58[_0xf729('0x2f')];if(_0x1cd298[_0xf729('0x31')][_0xf729('0x40')]){_0x1665e3[_0xf729('0x41')]=[{'all':!![]}];}_0x1665e3=_[_0xf729('0x3c')]({},_0x1665e3,_0x1cd298[_0xf729('0x3f')]);return db[_0xf729('0x2a')][_0xf729('0x47')](_0x1665e3)[_0xf729('0x25')](handleEntityNotFound(_0x58246b,null))[_0xf729('0x25')](respondWithResult(_0x58246b,null))['catch'](handleError(_0x58246b,null));};exports[_0xf729('0x48')]=function(_0x511738,_0x418cbf){return db['SmsApplication'][_0xf729('0x48')](_0x511738['body'],{})[_0xf729('0x25')](respondWithResult(_0x418cbf,0xc9))['catch'](handleError(_0x418cbf,null));};exports['update']=function(_0x1fc1f0,_0x5d96d7){if(_0x1fc1f0['body']['id']){delete _0x1fc1f0['body']['id'];}return db['SmsApplication'][_0xf729('0x47')]({'where':{'id':_0x1fc1f0[_0xf729('0x46')]['id']}})[_0xf729('0x25')](handleEntityNotFound(_0x5d96d7,null))[_0xf729('0x25')](saveUpdates(_0x1fc1f0['body'],null))['then'](respondWithResult(_0x5d96d7,null))[_0xf729('0x44')](handleError(_0x5d96d7,null));};exports[_0xf729('0x49')]=function(_0x4d9817,_0x3a7e35){return db[_0xf729('0x2a')]['find']({'where':{'id':_0x4d9817[_0xf729('0x46')]['id']}})[_0xf729('0x25')](handleEntityNotFound(_0x3a7e35,null))['then'](removeEntity(_0x3a7e35,null))[_0xf729('0x44')](handleError(_0x3a7e35,null));};