deb5ed14e17d13101a7faa4fd4c9bac05bc1a563
[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 _0xe0c4=['moment','bluebird','sox','to-csv','fs-extra','lodash','squel','crypto','jsforce','desk.js','querystring','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/logger','api','../../config/utils','../../config/environment','sendStatus','status','end','json','offset','undefined','limit','count','set','reject','then','error','stack','name','send','index','map','SmsApplication','rawAttributes','type','key','model','keys','filters','intersection','attributes','fields','query','nolimit','order','sort','pick','filter','where','merge','VIRTUAL','include','findAll','show','params','length','options','catch','create','body','update','find','eml-format','zip-dir','fast-json-patch','request-promise'];(function(_0x459b74,_0x5773bd){var _0x46cb16=function(_0x97867f){while(--_0x97867f){_0x459b74['push'](_0x459b74['shift']());}};_0x46cb16(++_0x5773bd);}(_0xe0c4,0x15a));var _0x4e0c=function(_0x2bb787,_0x41bf02){_0x2bb787=_0x2bb787-0x0;var _0x425b33=_0xe0c4[_0x2bb787];return _0x425b33;};'use strict';var emlformat=require(_0x4e0c('0x0'));var rimraf=require('rimraf');var zipdir=require(_0x4e0c('0x1'));var jsonpatch=require(_0x4e0c('0x2'));var rp=require(_0x4e0c('0x3'));var moment=require(_0x4e0c('0x4'));var BPromise=require(_0x4e0c('0x5'));var Mustache=require('mustache');var util=require('util');var path=require('path');var sox=require(_0x4e0c('0x6'));var csv=require(_0x4e0c('0x7'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require(_0x4e0c('0x8'));var _=require(_0x4e0c('0x9'));var squel=require(_0x4e0c('0xa'));var crypto=require(_0x4e0c('0xb'));var jsforce=require(_0x4e0c('0xc'));var deskjs=require(_0x4e0c('0xd'));var toCsv=require(_0x4e0c('0x7'));var querystring=require(_0x4e0c('0xe'));var Papa=require('papaparse');var Redis=require(_0x4e0c('0xf'));var authService=require(_0x4e0c('0x10'));var qs=require(_0x4e0c('0x11'));var as=require(_0x4e0c('0x12'));var hardwareService=require('../../config/license/hardware');var logger=require(_0x4e0c('0x13'))(_0x4e0c('0x14'));var utils=require(_0x4e0c('0x15'));var config=require(_0x4e0c('0x16'));var licenseUtil=require('../../config/license/util');var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x141f0d,_0x34a82e){_0x34a82e=_0x34a82e||0xcc;return function(_0x5a652a){if(_0x5a652a){return _0x141f0d[_0x4e0c('0x17')](_0x34a82e);}return _0x141f0d[_0x4e0c('0x18')](_0x34a82e)[_0x4e0c('0x19')]();};}function respondWithResult(_0xd101cc,_0x52b941){_0x52b941=_0x52b941||0xc8;return function(_0x2024e1){if(_0x2024e1){return _0xd101cc[_0x4e0c('0x18')](_0x52b941)[_0x4e0c('0x1a')](_0x2024e1);}};}function respondWithFilteredResult(_0x233f6f,_0x42dc23){return function(_0x16fd1f){if(_0x16fd1f){var _0x576a0b=typeof _0x42dc23[_0x4e0c('0x1b')]===_0x4e0c('0x1c')&&typeof _0x42dc23[_0x4e0c('0x1d')]===_0x4e0c('0x1c');var _0x5cb422=_0x16fd1f[_0x4e0c('0x1e')];var _0x49ec20=_0x576a0b?0x0:_0x42dc23[_0x4e0c('0x1b')];var _0x595749=_0x576a0b?_0x16fd1f['count']:_0x42dc23[_0x4e0c('0x1b')]+_0x42dc23[_0x4e0c('0x1d')];var _0x41f388;if(_0x595749>=_0x5cb422){_0x595749=_0x5cb422;_0x41f388=0xc8;}else{_0x41f388=0xce;}_0x233f6f['status'](_0x41f388);return _0x233f6f[_0x4e0c('0x1f')]('Content-Range',_0x49ec20+'-'+_0x595749+'/'+_0x5cb422)[_0x4e0c('0x1a')](_0x16fd1f);}return null;};}function patchUpdates(_0x8f2350){return function(_0x12cf78){try{jsonpatch['apply'](_0x12cf78,_0x8f2350,!![]);}catch(_0x20e30a){return BPromise[_0x4e0c('0x20')](_0x20e30a);}return _0x12cf78['save']();};}function saveUpdates(_0x1e3509,_0xa14398){return function(_0x4eec6d){if(_0x4eec6d){return _0x4eec6d['update'](_0x1e3509)['then'](function(_0x171faf){return _0x171faf;});}return null;};}function removeEntity(_0x17eb92,_0x1ed0de){return function(_0x270ef4){if(_0x270ef4){return _0x270ef4['destroy']()[_0x4e0c('0x21')](function(){_0x17eb92[_0x4e0c('0x18')](0xcc)['end']();});}};}function handleEntityNotFound(_0xe82510,_0x29e4ec){return function(_0x28ddb8){if(!_0x28ddb8){_0xe82510[_0x4e0c('0x17')](0x194);}return _0x28ddb8;};}function handleError(_0x419402,_0x152552){_0x152552=_0x152552||0x1f4;return function(_0x3a17ea){logger[_0x4e0c('0x22')](_0x3a17ea[_0x4e0c('0x23')]);if(_0x3a17ea[_0x4e0c('0x24')]){delete _0x3a17ea[_0x4e0c('0x24')];}_0x419402[_0x4e0c('0x18')](_0x152552)[_0x4e0c('0x25')](_0x3a17ea);};}exports[_0x4e0c('0x26')]=function(_0x2b2d57,_0x95aade){var _0x16c498={},_0x33c524={},_0x2fd40f={'count':0x0,'rows':[]};var _0x49a886=_[_0x4e0c('0x27')](db[_0x4e0c('0x28')][_0x4e0c('0x29')],function(_0x25c7c7){return{'name':_0x25c7c7['fieldName'],'type':_0x25c7c7[_0x4e0c('0x2a')][_0x4e0c('0x2b')]};});_0x33c524[_0x4e0c('0x2c')]=_[_0x4e0c('0x27')](_0x49a886,'name');_0x33c524['query']=_[_0x4e0c('0x2d')](_0x2b2d57['query']);_0x33c524[_0x4e0c('0x2e')]=_[_0x4e0c('0x2f')](_0x33c524[_0x4e0c('0x2c')],_0x33c524['query']);_0x16c498[_0x4e0c('0x30')]=_[_0x4e0c('0x2f')](_0x33c524[_0x4e0c('0x2c')],qs[_0x4e0c('0x31')](_0x2b2d57[_0x4e0c('0x32')][_0x4e0c('0x31')]));_0x16c498[_0x4e0c('0x30')]=_0x16c498[_0x4e0c('0x30')]['length']?_0x16c498[_0x4e0c('0x30')]:_0x33c524[_0x4e0c('0x2c')];if(!_0x2b2d57[_0x4e0c('0x32')]['hasOwnProperty'](_0x4e0c('0x33'))){_0x16c498['limit']=qs[_0x4e0c('0x1d')](_0x2b2d57[_0x4e0c('0x32')][_0x4e0c('0x1d')]);_0x16c498['offset']=qs[_0x4e0c('0x1b')](_0x2b2d57[_0x4e0c('0x32')][_0x4e0c('0x1b')]);}_0x16c498[_0x4e0c('0x34')]=qs['sort'](_0x2b2d57['query'][_0x4e0c('0x35')]);_0x16c498['where']=qs[_0x4e0c('0x2e')](_[_0x4e0c('0x36')](_0x2b2d57['query'],_0x33c524['filters']),_0x49a886);if(_0x2b2d57[_0x4e0c('0x32')][_0x4e0c('0x37')]){_0x16c498[_0x4e0c('0x38')]=_[_0x4e0c('0x39')](_0x16c498[_0x4e0c('0x38')],{'$or':_['map'](_0x49a886,function(_0x464266){if(_0x464266[_0x4e0c('0x2a')]!==_0x4e0c('0x3a')){var _0x51d921={};_0x51d921[_0x464266[_0x4e0c('0x24')]]={'$like':'%'+_0x2b2d57['query'][_0x4e0c('0x37')]+'%'};return _0x51d921;}})});}_0x16c498=_[_0x4e0c('0x39')]({},_0x16c498,_0x2b2d57['options']);var _0x37987f={'where':_0x16c498[_0x4e0c('0x38')]};return db[_0x4e0c('0x28')][_0x4e0c('0x1e')](_0x37987f)[_0x4e0c('0x21')](function(_0x144a3c){_0x2fd40f['count']=_0x144a3c;if(_0x2b2d57['query']['includeAll']){_0x16c498[_0x4e0c('0x3b')]=[{'all':!![]}];}return db[_0x4e0c('0x28')][_0x4e0c('0x3c')](_0x16c498);})[_0x4e0c('0x21')](function(_0x37b930){_0x2fd40f['rows']=_0x37b930;return _0x2fd40f;})[_0x4e0c('0x21')](respondWithFilteredResult(_0x95aade,_0x16c498))['catch'](handleError(_0x95aade,null));};exports[_0x4e0c('0x3d')]=function(_0x5d7fd0,_0x3d54bd){var _0x203b38={'raw':!![],'where':{'id':_0x5d7fd0[_0x4e0c('0x3e')]['id']}},_0x2cf6a5={};_0x2cf6a5[_0x4e0c('0x2c')]=_['keys'](db[_0x4e0c('0x28')]['rawAttributes']);_0x2cf6a5[_0x4e0c('0x32')]=_[_0x4e0c('0x2d')](_0x5d7fd0[_0x4e0c('0x32')]);_0x2cf6a5[_0x4e0c('0x2e')]=_[_0x4e0c('0x2f')](_0x2cf6a5['model'],_0x2cf6a5[_0x4e0c('0x32')]);_0x203b38['attributes']=_['intersection'](_0x2cf6a5[_0x4e0c('0x2c')],qs['fields'](_0x5d7fd0[_0x4e0c('0x32')][_0x4e0c('0x31')]));_0x203b38['attributes']=_0x203b38['attributes'][_0x4e0c('0x3f')]?_0x203b38[_0x4e0c('0x30')]:_0x2cf6a5[_0x4e0c('0x2c')];if(_0x5d7fd0[_0x4e0c('0x32')]['includeAll']){_0x203b38['include']=[{'all':!![]}];}_0x203b38=_['merge']({},_0x203b38,_0x5d7fd0[_0x4e0c('0x40')]);return db[_0x4e0c('0x28')]['find'](_0x203b38)['then'](handleEntityNotFound(_0x3d54bd,null))[_0x4e0c('0x21')](respondWithResult(_0x3d54bd,null))[_0x4e0c('0x41')](handleError(_0x3d54bd,null));};exports[_0x4e0c('0x42')]=function(_0x5b449a,_0x160371){return db['SmsApplication'][_0x4e0c('0x42')](_0x5b449a[_0x4e0c('0x43')],{})['then'](respondWithResult(_0x160371,0xc9))[_0x4e0c('0x41')](handleError(_0x160371,null));};exports[_0x4e0c('0x44')]=function(_0xebbcf9,_0x53a24a){if(_0xebbcf9['body']['id']){delete _0xebbcf9[_0x4e0c('0x43')]['id'];}return db[_0x4e0c('0x28')][_0x4e0c('0x45')]({'where':{'id':_0xebbcf9[_0x4e0c('0x3e')]['id']}})[_0x4e0c('0x21')](handleEntityNotFound(_0x53a24a,null))[_0x4e0c('0x21')](saveUpdates(_0xebbcf9[_0x4e0c('0x43')],null))[_0x4e0c('0x21')](respondWithResult(_0x53a24a,null))[_0x4e0c('0x41')](handleError(_0x53a24a,null));};exports['destroy']=function(_0x253bd0,_0x30a49d){return db[_0x4e0c('0x28')][_0x4e0c('0x45')]({'where':{'id':_0x253bd0[_0x4e0c('0x3e')]['id']}})[_0x4e0c('0x21')](handleEntityNotFound(_0x30a49d,null))['then'](removeEntity(_0x30a49d,null))[_0x4e0c('0x41')](handleError(_0x30a49d,null));};