3bd20149177b86a998885b24a46f9a5fd66b7133
[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 _0xdf5e=['index','map','fieldName','type','key','query','keys','filters','intersection','model','fields','attributes','nolimit','limit','sort','where','pick','filter','merge','SmsApplication','includeAll','include','findAll','catch','show','params','rawAttributes','length','options','find','create','body','html-pdf','rimraf','fast-json-patch','request-promise','moment','bluebird','mustache','util','sox','to-csv','ejs','lodash','squel','crypto','desk.js','querystring','papaparse','ioredis','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','sendStatus','status','end','count','offset','json','reject','save','update','then','destroy','name','send'];(function(_0x39669b,_0x30d4f9){var _0xdc1bb=function(_0x40a5b5){while(--_0x40a5b5){_0x39669b['push'](_0x39669b['shift']());}};_0xdc1bb(++_0x30d4f9);}(_0xdf5e,0xac));var _0xedf5=function(_0x3f8a03,_0x319b9c){_0x3f8a03=_0x3f8a03-0x0;var _0x147fb2=_0xdf5e[_0x3f8a03];return _0x147fb2;};'use strict';var pdf=require(_0xedf5('0x0'));var emlformat=require('eml-format');var rimraf=require(_0xedf5('0x1'));var zipdir=require('zip-dir');var jsonpatch=require(_0xedf5('0x2'));var rp=require(_0xedf5('0x3'));var moment=require(_0xedf5('0x4'));var BPromise=require(_0xedf5('0x5'));var Mustache=require(_0xedf5('0x6'));var util=require(_0xedf5('0x7'));var path=require('path');var sox=require(_0xedf5('0x8'));var csv=require(_0xedf5('0x9'));var ejs=require(_0xedf5('0xa'));var fs=require('fs');var _=require(_0xedf5('0xb'));var squel=require(_0xedf5('0xc'));var crypto=require(_0xedf5('0xd'));var jsforce=require('jsforce');var deskjs=require(_0xedf5('0xe'));var toCsv=require(_0xedf5('0x9'));var querystring=require(_0xedf5('0xf'));var Papa=require(_0xedf5('0x10'));var Redis=require(_0xedf5('0x11'));var authService=require('../../components/auth/service');var qs=require(_0xedf5('0x12'));var as=require(_0xedf5('0x13'));var hardwareService=require(_0xedf5('0x14'));var logger=require(_0xedf5('0x15'))(_0xedf5('0x16'));var utils=require(_0xedf5('0x17'));var config=require(_0xedf5('0x18'));var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x3942c1,_0x55b604){_0x55b604=_0x55b604||0xcc;return function(_0x226251){if(_0x226251){return _0x3942c1[_0xedf5('0x19')](_0x55b604);}return _0x3942c1[_0xedf5('0x1a')](_0x55b604)[_0xedf5('0x1b')]();};}function respondWithResult(_0x37568,_0x345d19){_0x345d19=_0x345d19||0xc8;return function(_0x4622e0){if(_0x4622e0){return _0x37568['status'](_0x345d19)['json'](_0x4622e0);}};}function respondWithFilteredResult(_0x3f1a5b,_0x42a311){return function(_0x5dcb06){if(_0x5dcb06){var _0x525bad=_0x5dcb06[_0xedf5('0x1c')],_0x38ea5d=_0x42a311[_0xedf5('0x1d')],_0x114b58=_0x42a311['offset']+_0x42a311['limit'],_0x114cfd;if(_0x114b58>=_0x525bad){_0x114b58=_0x525bad;_0x114cfd=0xc8;}else{_0x114cfd=0xce;}_0x3f1a5b[_0xedf5('0x1a')](_0x114cfd);return _0x3f1a5b['set']('Content-Range',_0x38ea5d+'-'+_0x114b58+'/'+_0x525bad)[_0xedf5('0x1e')](_0x5dcb06);}return null;};}function patchUpdates(_0x1b8d0f){return function(_0x22561f){try{jsonpatch['apply'](_0x22561f,_0x1b8d0f,!![]);}catch(_0x19f1a4){return BPromise[_0xedf5('0x1f')](_0x19f1a4);}return _0x22561f[_0xedf5('0x20')]();};}function saveUpdates(_0x3121e2,_0x4d93a4){return function(_0x4f8f78){if(_0x4f8f78){return _0x4f8f78[_0xedf5('0x21')](_0x3121e2)[_0xedf5('0x22')](function(_0x2338ef){return _0x2338ef;});}return null;};}function removeEntity(_0x24ade6,_0x3f6b82){return function(_0x467ff5){if(_0x467ff5){return _0x467ff5[_0xedf5('0x23')]()[_0xedf5('0x22')](function(){_0x24ade6[_0xedf5('0x1a')](0xcc)[_0xedf5('0x1b')]();});}};}function handleEntityNotFound(_0x2bf5a7,_0x178987){return function(_0x2b852b){if(!_0x2b852b){_0x2bf5a7[_0xedf5('0x19')](0x194);}return _0x2b852b;};}function handleError(_0x16f54c,_0x8bb70f){_0x8bb70f=_0x8bb70f||0x1f4;return function(_0xf93910){logger['error'](_0xf93910['stack']);if(_0xf93910[_0xedf5('0x24')]){delete _0xf93910['name'];}_0x16f54c[_0xedf5('0x1a')](_0x8bb70f)[_0xedf5('0x25')](_0xf93910);};}exports[_0xedf5('0x26')]=function(_0x22df16,_0x3c7651){var _0x1417c3={},_0x1efcfc={},_0x24d4f6={'count':0x0,'rows':[]};var _0x2a3f40=_[_0xedf5('0x27')](db['SmsApplication']['rawAttributes'],function(_0x120f4a){return{'name':_0x120f4a[_0xedf5('0x28')],'type':_0x120f4a[_0xedf5('0x29')][_0xedf5('0x2a')]};});_0x1efcfc['model']=_[_0xedf5('0x27')](_0x2a3f40,_0xedf5('0x24'));_0x1efcfc[_0xedf5('0x2b')]=_[_0xedf5('0x2c')](_0x22df16['query']);_0x1efcfc[_0xedf5('0x2d')]=_[_0xedf5('0x2e')](_0x1efcfc[_0xedf5('0x2f')],_0x1efcfc['query']);_0x1417c3['attributes']=_[_0xedf5('0x2e')](_0x1efcfc[_0xedf5('0x2f')],qs[_0xedf5('0x30')](_0x22df16[_0xedf5('0x2b')]['fields']));_0x1417c3['attributes']=_0x1417c3[_0xedf5('0x31')]['length']?_0x1417c3['attributes']:_0x1efcfc[_0xedf5('0x2f')];if(!_0x22df16[_0xedf5('0x2b')]['hasOwnProperty'](_0xedf5('0x32'))){_0x1417c3[_0xedf5('0x33')]=qs['limit'](_0x22df16[_0xedf5('0x2b')]['limit']);_0x1417c3[_0xedf5('0x1d')]=qs[_0xedf5('0x1d')](_0x22df16[_0xedf5('0x2b')][_0xedf5('0x1d')]);}_0x1417c3['order']=qs[_0xedf5('0x34')](_0x22df16[_0xedf5('0x2b')]['sort']);_0x1417c3[_0xedf5('0x35')]=qs[_0xedf5('0x2d')](_[_0xedf5('0x36')](_0x22df16[_0xedf5('0x2b')],_0x1efcfc[_0xedf5('0x2d')]));if(_0x22df16['query'][_0xedf5('0x37')]){_0x1417c3[_0xedf5('0x35')]=_[_0xedf5('0x38')](_0x1417c3[_0xedf5('0x35')],{'$or':_[_0xedf5('0x27')](_0x2a3f40,function(_0x2b606f){if(_0x2b606f['type']!=='VIRTUAL'){var _0x39bd07={};_0x39bd07[_0x2b606f[_0xedf5('0x24')]]={'$like':'%'+_0x22df16[_0xedf5('0x2b')][_0xedf5('0x37')]+'%'};return _0x39bd07;}})});}_0x1417c3=_[_0xedf5('0x38')]({},_0x1417c3,_0x22df16['options']);var _0x1ebe6f={'where':_0x1417c3[_0xedf5('0x35')]};return db[_0xedf5('0x39')][_0xedf5('0x1c')](_0x1ebe6f)[_0xedf5('0x22')](function(_0x245338){_0x24d4f6['count']=_0x245338;if(_0x22df16[_0xedf5('0x2b')][_0xedf5('0x3a')]){_0x1417c3[_0xedf5('0x3b')]=[{'all':!![]}];}return db[_0xedf5('0x39')][_0xedf5('0x3c')](_0x1417c3);})[_0xedf5('0x22')](function(_0x304588){_0x24d4f6['rows']=_0x304588;return _0x24d4f6;})[_0xedf5('0x22')](respondWithFilteredResult(_0x3c7651,_0x1417c3))[_0xedf5('0x3d')](handleError(_0x3c7651,null));};exports[_0xedf5('0x3e')]=function(_0x4e76da,_0x8d5594){var _0x1838ea={'raw':!![],'where':{'id':_0x4e76da[_0xedf5('0x3f')]['id']}},_0xcf2146={};_0xcf2146['model']=_[_0xedf5('0x2c')](db[_0xedf5('0x39')][_0xedf5('0x40')]);_0xcf2146[_0xedf5('0x2b')]=_[_0xedf5('0x2c')](_0x4e76da[_0xedf5('0x2b')]);_0xcf2146['filters']=_[_0xedf5('0x2e')](_0xcf2146[_0xedf5('0x2f')],_0xcf2146[_0xedf5('0x2b')]);_0x1838ea[_0xedf5('0x31')]=_['intersection'](_0xcf2146[_0xedf5('0x2f')],qs[_0xedf5('0x30')](_0x4e76da[_0xedf5('0x2b')][_0xedf5('0x30')]));_0x1838ea[_0xedf5('0x31')]=_0x1838ea[_0xedf5('0x31')][_0xedf5('0x41')]?_0x1838ea['attributes']:_0xcf2146[_0xedf5('0x2f')];if(_0x4e76da[_0xedf5('0x2b')]['includeAll']){_0x1838ea['include']=[{'all':!![]}];}_0x1838ea=_[_0xedf5('0x38')]({},_0x1838ea,_0x4e76da[_0xedf5('0x42')]);return db[_0xedf5('0x39')][_0xedf5('0x43')](_0x1838ea)[_0xedf5('0x22')](handleEntityNotFound(_0x8d5594,null))[_0xedf5('0x22')](respondWithResult(_0x8d5594,null))[_0xedf5('0x3d')](handleError(_0x8d5594,null));};exports[_0xedf5('0x44')]=function(_0x3db1d0,_0x52665e){return db['SmsApplication']['create'](_0x3db1d0['body'],{})[_0xedf5('0x22')](respondWithResult(_0x52665e,0xc9))[_0xedf5('0x3d')](handleError(_0x52665e,null));};exports[_0xedf5('0x21')]=function(_0x2db330,_0x3bbb9e){if(_0x2db330[_0xedf5('0x45')]['id']){delete _0x2db330['body']['id'];}return db['SmsApplication']['find']({'where':{'id':_0x2db330[_0xedf5('0x3f')]['id']}})[_0xedf5('0x22')](handleEntityNotFound(_0x3bbb9e,null))['then'](saveUpdates(_0x2db330[_0xedf5('0x45')],null))['then'](respondWithResult(_0x3bbb9e,null))[_0xedf5('0x3d')](handleError(_0x3bbb9e,null));};exports[_0xedf5('0x23')]=function(_0x4efa73,_0x46ca08){return db[_0xedf5('0x39')][_0xedf5('0x43')]({'where':{'id':_0x4efa73['params']['id']}})[_0xedf5('0x22')](handleEntityNotFound(_0x46ca08,null))[_0xedf5('0x22')](removeEntity(_0x46ca08,null))['catch'](handleError(_0x46ca08,null));};