Built motion from commit 6db1674d.|2.6.23
[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 _0x9a91=['update','then','stack','send','index','map','SmsApplication','rawAttributes','fieldName','type','key','model','name','query','keys','filters','intersection','attributes','fields','hasOwnProperty','limit','order','sort','where','merge','VIRTUAL','includeAll','include','findAll','rows','catch','show','params','options','find','create','body','destroy','rimraf','fast-json-patch','moment','bluebird','util','path','sox','to-csv','fs-extra','lodash','jsforce','desk.js','querystring','papaparse','ioredis','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','api','../../config/utils','../../config/environment','../../mysqldb','sendStatus','status','json','offset','undefined','count','set','Content-Range','reject','save'];(function(_0x4c057f,_0x1ed571){var _0x154bbd=function(_0x390c4e){while(--_0x390c4e){_0x4c057f['push'](_0x4c057f['shift']());}};_0x154bbd(++_0x1ed571);}(_0x9a91,0x184));var _0x19a9=function(_0x173f7f,_0x40a968){_0x173f7f=_0x173f7f-0x0;var _0x16b0dc=_0x9a91[_0x173f7f];return _0x16b0dc;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0x19a9('0x0'));var zipdir=require('zip-dir');var jsonpatch=require(_0x19a9('0x1'));var rp=require('request-promise');var moment=require(_0x19a9('0x2'));var BPromise=require(_0x19a9('0x3'));var Mustache=require('mustache');var util=require(_0x19a9('0x4'));var path=require(_0x19a9('0x5'));var sox=require(_0x19a9('0x6'));var csv=require(_0x19a9('0x7'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require(_0x19a9('0x8'));var _=require(_0x19a9('0x9'));var squel=require('squel');var crypto=require('crypto');var jsforce=require(_0x19a9('0xa'));var deskjs=require(_0x19a9('0xb'));var toCsv=require(_0x19a9('0x7'));var querystring=require(_0x19a9('0xc'));var Papa=require(_0x19a9('0xd'));var Redis=require(_0x19a9('0xe'));var authService=require('../../components/auth/service');var qs=require(_0x19a9('0xf'));var as=require(_0x19a9('0x10'));var hardwareService=require(_0x19a9('0x11'));var logger=require('../../config/logger')(_0x19a9('0x12'));var utils=require(_0x19a9('0x13'));var config=require(_0x19a9('0x14'));var licenseUtil=require('../../config/license/util');var db=require(_0x19a9('0x15'))['db'];function respondWithStatusCode(_0x4ba582,_0x7e59b){_0x7e59b=_0x7e59b||0xcc;return function(_0x516c7f){if(_0x516c7f){return _0x4ba582[_0x19a9('0x16')](_0x7e59b);}return _0x4ba582[_0x19a9('0x17')](_0x7e59b)['end']();};}function respondWithResult(_0x3720eb,_0x3c0718){_0x3c0718=_0x3c0718||0xc8;return function(_0x52aa4d){if(_0x52aa4d){return _0x3720eb[_0x19a9('0x17')](_0x3c0718)[_0x19a9('0x18')](_0x52aa4d);}};}function respondWithFilteredResult(_0x1fee0a,_0x3ea8c5){return function(_0x41e778){if(_0x41e778){var _0x1454c3=typeof _0x3ea8c5[_0x19a9('0x19')]===_0x19a9('0x1a')&&typeof _0x3ea8c5['limit']===_0x19a9('0x1a');var _0x199276=_0x41e778[_0x19a9('0x1b')];var _0x344029=_0x1454c3?0x0:_0x3ea8c5['offset'];var _0x46214a=_0x1454c3?_0x41e778[_0x19a9('0x1b')]:_0x3ea8c5[_0x19a9('0x19')]+_0x3ea8c5['limit'];var _0x155efd;if(_0x46214a>=_0x199276){_0x46214a=_0x199276;_0x155efd=0xc8;}else{_0x155efd=0xce;}_0x1fee0a[_0x19a9('0x17')](_0x155efd);return _0x1fee0a[_0x19a9('0x1c')](_0x19a9('0x1d'),_0x344029+'-'+_0x46214a+'/'+_0x199276)[_0x19a9('0x18')](_0x41e778);}return null;};}function patchUpdates(_0x1fe45f){return function(_0x21245d){try{jsonpatch['apply'](_0x21245d,_0x1fe45f,!![]);}catch(_0x17fa10){return BPromise[_0x19a9('0x1e')](_0x17fa10);}return _0x21245d[_0x19a9('0x1f')]();};}function saveUpdates(_0x1154b0,_0x926faa){return function(_0x1377e2){if(_0x1377e2){return _0x1377e2[_0x19a9('0x20')](_0x1154b0)['then'](function(_0x2ca540){return _0x2ca540;});}return null;};}function removeEntity(_0x4a766b,_0x4b8c18){return function(_0xf674a8){if(_0xf674a8){return _0xf674a8['destroy']()[_0x19a9('0x21')](function(){_0x4a766b[_0x19a9('0x17')](0xcc)['end']();});}};}function handleEntityNotFound(_0x88901d,_0x27ea3e){return function(_0x3da539){if(!_0x3da539){_0x88901d[_0x19a9('0x16')](0x194);}return _0x3da539;};}function handleError(_0x1f1ed0,_0x470e22){_0x470e22=_0x470e22||0x1f4;return function(_0x35a307){logger['error'](_0x35a307[_0x19a9('0x22')]);if(_0x35a307['name']){delete _0x35a307['name'];}_0x1f1ed0['status'](_0x470e22)[_0x19a9('0x23')](_0x35a307);};}exports[_0x19a9('0x24')]=function(_0x2fbd97,_0x1beaac){var _0x2725e0={},_0x442c41={},_0x390bcf={'count':0x0,'rows':[]};var _0x18d754=_[_0x19a9('0x25')](db[_0x19a9('0x26')][_0x19a9('0x27')],function(_0x43dbcd){return{'name':_0x43dbcd[_0x19a9('0x28')],'type':_0x43dbcd[_0x19a9('0x29')][_0x19a9('0x2a')]};});_0x442c41[_0x19a9('0x2b')]=_['map'](_0x18d754,_0x19a9('0x2c'));_0x442c41[_0x19a9('0x2d')]=_[_0x19a9('0x2e')](_0x2fbd97['query']);_0x442c41[_0x19a9('0x2f')]=_[_0x19a9('0x30')](_0x442c41[_0x19a9('0x2b')],_0x442c41['query']);_0x2725e0[_0x19a9('0x31')]=_['intersection'](_0x442c41[_0x19a9('0x2b')],qs[_0x19a9('0x32')](_0x2fbd97[_0x19a9('0x2d')][_0x19a9('0x32')]));_0x2725e0['attributes']=_0x2725e0['attributes']['length']?_0x2725e0[_0x19a9('0x31')]:_0x442c41['model'];if(!_0x2fbd97['query'][_0x19a9('0x33')]('nolimit')){_0x2725e0[_0x19a9('0x34')]=qs[_0x19a9('0x34')](_0x2fbd97[_0x19a9('0x2d')][_0x19a9('0x34')]);_0x2725e0[_0x19a9('0x19')]=qs['offset'](_0x2fbd97[_0x19a9('0x2d')]['offset']);}_0x2725e0[_0x19a9('0x35')]=qs[_0x19a9('0x36')](_0x2fbd97[_0x19a9('0x2d')][_0x19a9('0x36')]);_0x2725e0[_0x19a9('0x37')]=qs[_0x19a9('0x2f')](_['pick'](_0x2fbd97[_0x19a9('0x2d')],_0x442c41['filters']),_0x18d754);if(_0x2fbd97[_0x19a9('0x2d')]['filter']){_0x2725e0['where']=_[_0x19a9('0x38')](_0x2725e0[_0x19a9('0x37')],{'$or':_[_0x19a9('0x25')](_0x18d754,function(_0x4bc25d){if(_0x4bc25d[_0x19a9('0x29')]!==_0x19a9('0x39')){var _0x4a2138={};_0x4a2138[_0x4bc25d[_0x19a9('0x2c')]]={'$like':'%'+_0x2fbd97['query']['filter']+'%'};return _0x4a2138;}})});}_0x2725e0=_['merge']({},_0x2725e0,_0x2fbd97['options']);var _0x274ec0={'where':_0x2725e0['where']};return db['SmsApplication'][_0x19a9('0x1b')](_0x274ec0)[_0x19a9('0x21')](function(_0x459a56){_0x390bcf[_0x19a9('0x1b')]=_0x459a56;if(_0x2fbd97[_0x19a9('0x2d')][_0x19a9('0x3a')]){_0x2725e0[_0x19a9('0x3b')]=[{'all':!![]}];}return db[_0x19a9('0x26')][_0x19a9('0x3c')](_0x2725e0);})[_0x19a9('0x21')](function(_0x24a106){_0x390bcf[_0x19a9('0x3d')]=_0x24a106;return _0x390bcf;})[_0x19a9('0x21')](respondWithFilteredResult(_0x1beaac,_0x2725e0))[_0x19a9('0x3e')](handleError(_0x1beaac,null));};exports[_0x19a9('0x3f')]=function(_0x5ccf90,_0x23b3d7){var _0x3f675d={'raw':!![],'where':{'id':_0x5ccf90[_0x19a9('0x40')]['id']}},_0x1a8f60={};_0x1a8f60[_0x19a9('0x2b')]=_[_0x19a9('0x2e')](db[_0x19a9('0x26')][_0x19a9('0x27')]);_0x1a8f60[_0x19a9('0x2d')]=_[_0x19a9('0x2e')](_0x5ccf90[_0x19a9('0x2d')]);_0x1a8f60[_0x19a9('0x2f')]=_[_0x19a9('0x30')](_0x1a8f60['model'],_0x1a8f60[_0x19a9('0x2d')]);_0x3f675d['attributes']=_[_0x19a9('0x30')](_0x1a8f60[_0x19a9('0x2b')],qs[_0x19a9('0x32')](_0x5ccf90['query']['fields']));_0x3f675d['attributes']=_0x3f675d[_0x19a9('0x31')]['length']?_0x3f675d[_0x19a9('0x31')]:_0x1a8f60[_0x19a9('0x2b')];if(_0x5ccf90[_0x19a9('0x2d')]['includeAll']){_0x3f675d[_0x19a9('0x3b')]=[{'all':!![]}];}_0x3f675d=_['merge']({},_0x3f675d,_0x5ccf90[_0x19a9('0x41')]);return db[_0x19a9('0x26')][_0x19a9('0x42')](_0x3f675d)[_0x19a9('0x21')](handleEntityNotFound(_0x23b3d7,null))[_0x19a9('0x21')](respondWithResult(_0x23b3d7,null))['catch'](handleError(_0x23b3d7,null));};exports[_0x19a9('0x43')]=function(_0x53d346,_0x53a90b){return db[_0x19a9('0x26')]['create'](_0x53d346[_0x19a9('0x44')],{})[_0x19a9('0x21')](respondWithResult(_0x53a90b,0xc9))[_0x19a9('0x3e')](handleError(_0x53a90b,null));};exports['update']=function(_0x123510,_0x244cbb){if(_0x123510[_0x19a9('0x44')]['id']){delete _0x123510['body']['id'];}return db[_0x19a9('0x26')]['find']({'where':{'id':_0x123510[_0x19a9('0x40')]['id']}})[_0x19a9('0x21')](handleEntityNotFound(_0x244cbb,null))[_0x19a9('0x21')](saveUpdates(_0x123510[_0x19a9('0x44')],null))[_0x19a9('0x21')](respondWithResult(_0x244cbb,null))['catch'](handleError(_0x244cbb,null));};exports[_0x19a9('0x45')]=function(_0x337eb4,_0x177348){return db['SmsApplication'][_0x19a9('0x42')]({'where':{'id':_0x337eb4['params']['id']}})['then'](handleEntityNotFound(_0x177348,null))[_0x19a9('0x21')](removeEntity(_0x177348,null))[_0x19a9('0x3e')](handleError(_0x177348,null));};