8cedf77ce015997f8a615652bea6ccd9daf9bd9a
[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 _0x6fe0=['count','set','Content-Range','destroy','then','stack','name','send','index','map','SmsApplication','rawAttributes','key','keys','query','filters','model','attributes','intersection','fields','length','nolimit','sort','where','pick','filter','merge','type','options','includeAll','include','findAll','catch','params','find','create','update','body','eml-format','fast-json-patch','moment','mustache','util','to-csv','lodash','squel','crypto','querystring','ioredis','../../components/auth/service','../../components/parsers/advancedSearch','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','end','offset','undefined','limit'];(function(_0x3718b7,_0x2da677){var _0xf8c91e=function(_0x2519b4){while(--_0x2519b4){_0x3718b7['push'](_0x3718b7['shift']());}};_0xf8c91e(++_0x2da677);}(_0x6fe0,0x1a0));var _0x06fe=function(_0x31b5a5,_0x44376a){_0x31b5a5=_0x31b5a5-0x0;var _0x364cc9=_0x6fe0[_0x31b5a5];return _0x364cc9;};'use strict';var emlformat=require(_0x06fe('0x0'));var rimraf=require('rimraf');var zipdir=require('zip-dir');var jsonpatch=require(_0x06fe('0x1'));var rp=require('request-promise');var moment=require(_0x06fe('0x2'));var BPromise=require('bluebird');var Mustache=require(_0x06fe('0x3'));var util=require(_0x06fe('0x4'));var path=require('path');var sox=require('sox');var csv=require(_0x06fe('0x5'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require('fs-extra');var _=require(_0x06fe('0x6'));var squel=require(_0x06fe('0x7'));var crypto=require(_0x06fe('0x8'));var jsforce=require('jsforce');var deskjs=require('desk.js');var toCsv=require('to-csv');var querystring=require(_0x06fe('0x9'));var Papa=require('papaparse');var Redis=require(_0x06fe('0xa'));var authService=require(_0x06fe('0xb'));var qs=require('../../components/parsers/qs');var as=require(_0x06fe('0xc'));var hardwareService=require('../../config/license/hardware');var logger=require(_0x06fe('0xd'))(_0x06fe('0xe'));var utils=require(_0x06fe('0xf'));var config=require(_0x06fe('0x10'));var licenseUtil=require(_0x06fe('0x11'));var db=require(_0x06fe('0x12'))['db'];function respondWithStatusCode(_0x46977f,_0x1afd30){_0x1afd30=_0x1afd30||0xcc;return function(_0x3a270f){if(_0x3a270f){return _0x46977f[_0x06fe('0x13')](_0x1afd30);}return _0x46977f[_0x06fe('0x14')](_0x1afd30)[_0x06fe('0x15')]();};}function respondWithResult(_0x3186a9,_0x4c55d){_0x4c55d=_0x4c55d||0xc8;return function(_0x6b5e9e){if(_0x6b5e9e){return _0x3186a9['status'](_0x4c55d)['json'](_0x6b5e9e);}};}function respondWithFilteredResult(_0xceea09,_0x5365ae){return function(_0x5a5b1b){if(_0x5a5b1b){var _0xc4e474=typeof _0x5365ae[_0x06fe('0x16')]===_0x06fe('0x17')&&typeof _0x5365ae[_0x06fe('0x18')]==='undefined';var _0x3a255a=_0x5a5b1b[_0x06fe('0x19')];var _0x5dacfe=_0xc4e474?0x0:_0x5365ae[_0x06fe('0x16')];var _0x350f9b=_0xc4e474?_0x5a5b1b[_0x06fe('0x19')]:_0x5365ae['offset']+_0x5365ae[_0x06fe('0x18')];var _0x317ccb;if(_0x350f9b>=_0x3a255a){_0x350f9b=_0x3a255a;_0x317ccb=0xc8;}else{_0x317ccb=0xce;}_0xceea09[_0x06fe('0x14')](_0x317ccb);return _0xceea09[_0x06fe('0x1a')](_0x06fe('0x1b'),_0x5dacfe+'-'+_0x350f9b+'/'+_0x3a255a)['json'](_0x5a5b1b);}return null;};}function patchUpdates(_0x25a434){return function(_0x356f6c){try{jsonpatch['apply'](_0x356f6c,_0x25a434,!![]);}catch(_0x3f5b31){return BPromise['reject'](_0x3f5b31);}return _0x356f6c['save']();};}function saveUpdates(_0x42a395,_0x4d19f6){return function(_0xe61f8e){if(_0xe61f8e){return _0xe61f8e['update'](_0x42a395)['then'](function(_0x195b28){return _0x195b28;});}return null;};}function removeEntity(_0x2a9943,_0x5cd7b0){return function(_0x42f906){if(_0x42f906){return _0x42f906[_0x06fe('0x1c')]()[_0x06fe('0x1d')](function(){_0x2a9943[_0x06fe('0x14')](0xcc)[_0x06fe('0x15')]();});}};}function handleEntityNotFound(_0x25ca2d,_0x3ba8f8){return function(_0x15a696){if(!_0x15a696){_0x25ca2d[_0x06fe('0x13')](0x194);}return _0x15a696;};}function handleError(_0x145949,_0xe0035a){_0xe0035a=_0xe0035a||0x1f4;return function(_0xb6d688){logger['error'](_0xb6d688[_0x06fe('0x1e')]);if(_0xb6d688[_0x06fe('0x1f')]){delete _0xb6d688[_0x06fe('0x1f')];}_0x145949[_0x06fe('0x14')](_0xe0035a)[_0x06fe('0x20')](_0xb6d688);};}exports[_0x06fe('0x21')]=function(_0x52ce91,_0x2c0912){var _0x15f5c9={},_0x20aba2={},_0x3c3d46={'count':0x0,'rows':[]};var _0x347517=_[_0x06fe('0x22')](db[_0x06fe('0x23')][_0x06fe('0x24')],function(_0x3de439){return{'name':_0x3de439['fieldName'],'type':_0x3de439['type'][_0x06fe('0x25')]};});_0x20aba2['model']=_[_0x06fe('0x22')](_0x347517,_0x06fe('0x1f'));_0x20aba2['query']=_[_0x06fe('0x26')](_0x52ce91[_0x06fe('0x27')]);_0x20aba2[_0x06fe('0x28')]=_['intersection'](_0x20aba2[_0x06fe('0x29')],_0x20aba2['query']);_0x15f5c9[_0x06fe('0x2a')]=_[_0x06fe('0x2b')](_0x20aba2[_0x06fe('0x29')],qs[_0x06fe('0x2c')](_0x52ce91[_0x06fe('0x27')][_0x06fe('0x2c')]));_0x15f5c9[_0x06fe('0x2a')]=_0x15f5c9['attributes'][_0x06fe('0x2d')]?_0x15f5c9[_0x06fe('0x2a')]:_0x20aba2[_0x06fe('0x29')];if(!_0x52ce91[_0x06fe('0x27')]['hasOwnProperty'](_0x06fe('0x2e'))){_0x15f5c9[_0x06fe('0x18')]=qs[_0x06fe('0x18')](_0x52ce91[_0x06fe('0x27')][_0x06fe('0x18')]);_0x15f5c9[_0x06fe('0x16')]=qs[_0x06fe('0x16')](_0x52ce91['query']['offset']);}_0x15f5c9['order']=qs[_0x06fe('0x2f')](_0x52ce91['query'][_0x06fe('0x2f')]);_0x15f5c9[_0x06fe('0x30')]=qs[_0x06fe('0x28')](_[_0x06fe('0x31')](_0x52ce91[_0x06fe('0x27')],_0x20aba2[_0x06fe('0x28')]),_0x347517);if(_0x52ce91[_0x06fe('0x27')][_0x06fe('0x32')]){_0x15f5c9[_0x06fe('0x30')]=_[_0x06fe('0x33')](_0x15f5c9['where'],{'$or':_[_0x06fe('0x22')](_0x347517,function(_0x1d5fa1){if(_0x1d5fa1[_0x06fe('0x34')]!=='VIRTUAL'){var _0xfe6a7f={};_0xfe6a7f[_0x1d5fa1[_0x06fe('0x1f')]]={'$like':'%'+_0x52ce91[_0x06fe('0x27')][_0x06fe('0x32')]+'%'};return _0xfe6a7f;}})});}_0x15f5c9=_[_0x06fe('0x33')]({},_0x15f5c9,_0x52ce91[_0x06fe('0x35')]);var _0x11dfb1={'where':_0x15f5c9['where']};return db[_0x06fe('0x23')][_0x06fe('0x19')](_0x11dfb1)['then'](function(_0x3d296a){_0x3c3d46[_0x06fe('0x19')]=_0x3d296a;if(_0x52ce91[_0x06fe('0x27')][_0x06fe('0x36')]){_0x15f5c9[_0x06fe('0x37')]=[{'all':!![]}];}return db['SmsApplication'][_0x06fe('0x38')](_0x15f5c9);})[_0x06fe('0x1d')](function(_0x485eee){_0x3c3d46['rows']=_0x485eee;return _0x3c3d46;})['then'](respondWithFilteredResult(_0x2c0912,_0x15f5c9))[_0x06fe('0x39')](handleError(_0x2c0912,null));};exports['show']=function(_0x4adc30,_0x57c91e){var _0x302217={'raw':!![],'where':{'id':_0x4adc30[_0x06fe('0x3a')]['id']}},_0x3b4908={};_0x3b4908[_0x06fe('0x29')]=_[_0x06fe('0x26')](db['SmsApplication'][_0x06fe('0x24')]);_0x3b4908[_0x06fe('0x27')]=_[_0x06fe('0x26')](_0x4adc30[_0x06fe('0x27')]);_0x3b4908['filters']=_['intersection'](_0x3b4908[_0x06fe('0x29')],_0x3b4908[_0x06fe('0x27')]);_0x302217['attributes']=_[_0x06fe('0x2b')](_0x3b4908[_0x06fe('0x29')],qs[_0x06fe('0x2c')](_0x4adc30['query'][_0x06fe('0x2c')]));_0x302217['attributes']=_0x302217[_0x06fe('0x2a')]['length']?_0x302217[_0x06fe('0x2a')]:_0x3b4908[_0x06fe('0x29')];if(_0x4adc30[_0x06fe('0x27')]['includeAll']){_0x302217[_0x06fe('0x37')]=[{'all':!![]}];}_0x302217=_[_0x06fe('0x33')]({},_0x302217,_0x4adc30['options']);return db[_0x06fe('0x23')][_0x06fe('0x3b')](_0x302217)['then'](handleEntityNotFound(_0x57c91e,null))[_0x06fe('0x1d')](respondWithResult(_0x57c91e,null))[_0x06fe('0x39')](handleError(_0x57c91e,null));};exports[_0x06fe('0x3c')]=function(_0x18d41a,_0x3a4474){return db[_0x06fe('0x23')][_0x06fe('0x3c')](_0x18d41a['body'],{})[_0x06fe('0x1d')](respondWithResult(_0x3a4474,0xc9))[_0x06fe('0x39')](handleError(_0x3a4474,null));};exports[_0x06fe('0x3d')]=function(_0x50c87a,_0x1742a7){if(_0x50c87a[_0x06fe('0x3e')]['id']){delete _0x50c87a[_0x06fe('0x3e')]['id'];}return db[_0x06fe('0x23')][_0x06fe('0x3b')]({'where':{'id':_0x50c87a['params']['id']}})[_0x06fe('0x1d')](handleEntityNotFound(_0x1742a7,null))[_0x06fe('0x1d')](saveUpdates(_0x50c87a[_0x06fe('0x3e')],null))[_0x06fe('0x1d')](respondWithResult(_0x1742a7,null))[_0x06fe('0x39')](handleError(_0x1742a7,null));};exports['destroy']=function(_0x27fe6b,_0x26be52){return db[_0x06fe('0x23')][_0x06fe('0x3b')]({'where':{'id':_0x27fe6b[_0x06fe('0x3a')]['id']}})[_0x06fe('0x1d')](handleEntityNotFound(_0x26be52,null))[_0x06fe('0x1d')](removeEntity(_0x26be52,null))['catch'](handleError(_0x26be52,null));};